Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

C#-C#-C#-C#-C#anges...

Pete Olihenge
Registered User
Join date: 9 Nov 2009
Posts: 315
01-27-2010 03:55
I understand (from various comments made in this forum) that sometime in the future languages other than LSL will be implemented for writing SL scripts. I'd be very interested to hear any advice on what my best bet might be when in comes to learning a new SL scripting language (or languages), and what resources are recommended for doing so.

My programming experience is rather limited and shallow; languages I've used include BASIC, Algol, FORTRAN, assembly language, MODULA 2 (still my favourite, aesthetically at least - you just gotta love something that had different types for ORDINAL, CARDINAL and INTEGER), Visual Basic, Visual C++, JavaScript and LSL. While it'd be nice to find something familiar enough to learn easily, the challenge of learning radically new concepts is also appealing.
Kornscope Komachi
Transitional human
Join date: 30 Aug 2006
Posts: 1,041
01-27-2010 05:20
I don't know much about programming but I might think there would be no additions to SL languages in the short to medium term. It took years to get mono involved as far as I know.

But other worlds are different. I believe OpenSim can use C#, Perl and some others and BlueMars uses Lua atm.
_____________________
SCOPE Homes, Bangu
-----------------------------------------------------------------
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
01-27-2010 06:14
From: Pete Olihenge
My programming experience is rather limited and shallow; languages I've used include BASIC, Algol, FORTRAN, assembly language, MODULA 2 (still my favourite, aesthetically at least - you just gotta love something that had different types for ORDINAL, CARDINAL and INTEGER), Visual Basic, Visual C++, JavaScript and LSL. While it'd be nice to find something familiar enough to learn easily, the challenge of learning radically new concepts is also appealing.

Gee, Pete. I thought I was the only non-computer scientist in this forum that had that eclectic background. Personally, I kinda miss FORTRAN. I spent 15 years writing my programs in FORTRAN II and then FORTRAN IV (plus a mess of assembler language programs you had to write for the old DEC machines) before desktops came along, and then another decade with Basic and the languages beyond. I'm up for a new challenge too, although I'm just finally getting my feet firmly under me in LSL.
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
01-27-2010 06:30
Don't get to worked up, it may be a long time before we see anything.

I've been pushing for C# for a long time. It's not a bad language and the .Net API is pretty good. You can grab a free copy of C# Express from MS (No the Express version is not crippled).
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Seven Okelli
last days of pompeii
Join date: 4 Dec 2008
Posts: 2,300
01-27-2010 06:42
If you look at Babbage Linden's office hours notes here:

http://wiki.secondlife.com/wiki/User:Babbage_Linden/Office_Hours/2009_05_13

search for C# - it's near the bottom. He says "there is a C# API already" - whatever that means. And there are some remarks on the LSL Wiki:

http://lslwiki.net/lslwiki/wakka.php?wakka=Mono


If you're using Windows, C# is your best bet. I am no fan of Microsoft, but they did a great job with C#.

Otherwise, it looks like any CLR-based language will do, which really throws open the doors, because just about every language has been implemented for it, including Lisp, Haskell, SmallTalk, and newer languages like Nemerle and Boo.

Another interesting sidelight is that the Emerald Viewer includes a Lua console now, which is not yet integrated into the viewer functionality. (At least last I read.) Lua is a scripting language that is used a lot as an embedded language in games, although it wasn't created for that.
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
01-27-2010 11:44
I see that java, php, and lua are not on your list pete...those would help round out your basic web programming, and lua as mentioned is becoming popular for games

as a general rule most of learning a new programming language is getting the syntax.... and finding the little oddities
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
Pete Olihenge
Registered User
Join date: 9 Nov 2009
Posts: 315
01-27-2010 12:49
@Void: I forgot to mention Perl, but that was just a couple of very basic and simple scripts, so it probably doesn't count. I haven't really done anything web related since Notepad was all you needed to create a state of the art web page.

Most of the languages I've used, I've used because I had to: they were all that was available. MODULA-2 is the exception; when I first wanted to do something on my first PC that was the first free compiler I came across, and I really got to like the language.

I can see that learning php may well become inevitable if I get involved in more advanced commercial SL scripting, but for my own purposes I'm reluctant to do anything that relies on out-of-world resources - when Mystical Cookie went walkabout it was a comfort to know that the MystiTool was self-contained.

In the meantime I've downloaded the MS C# Express that Strife mentioned and it looks extremely promising - at the least it'll give me something programming-related and potentially relevant to play with at those times when I get sick at the sight of more LSL code :)
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 13:13
Forth! Scheme! Smalltalk!
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Pete Olihenge
Registered User
Join date: 9 Nov 2009
Posts: 315
01-27-2010 13:17
From: Argent Stonecutter
Forth! Scheme! Smalltalk!
Smalltalk? Lisp!
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 13:22
From: Pete Olihenge
Smalltalk? Lisp!

Scheme is Lisp without all the crap they added over the years.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
01-27-2010 13:23
Object Pascal (Delphi, FreePascal.org). :D
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 13:30
From: Talarus Luan
Object Pascal (Delphi, FreePascal.org). :D
I used to be a Pascal bigot. Luckily that got beat out of me at Berkeley.

Pascal is fundamentally crippled by design... it is effectively impossible to write non-trivial Pascal (or Modula-2) code that is portable across implementations. I would rather code in Fortran IV.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Seven Okelli
last days of pompeii
Join date: 4 Dec 2008
Posts: 2,300
01-27-2010 13:33
From: Argent Stonecutter
Scheme is Lisp without all the crap they added over the years.


And Forth is a language composed of grunts.
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
01-27-2010 13:36
/me looks around. No Prolog?
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 13:37
From: Seven Okelli
And Forth is a language composed of grunts.

Forth clumsy and random is not. An elegant language, for an age more civilized it is. Yoda in Forth program would.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Pete Olihenge
Registered User
Join date: 9 Nov 2009
Posts: 315
01-27-2010 13:48
From: Argent Stonecutter
Scheme is Lisp without all the crap they added over the years.
I thought you were trying to start a conversation using just programming language names :)
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
01-27-2010 13:50
From: Argent Stonecutter
I used to be a Pascal bigot. Luckily that got beat out of me at Berkeley.


Sorry to hear that. :(

From: someone
Pascal is fundamentally crippled by design... it is effectively impossible to write non-trivial Pascal (or Modula-2) code that is portable across implementations. I would rather code in Fortran IV.


I don't have any problems porting Delphi code to FreePascal and vice-versa. Yeah, I can't use certain features that Embarcadero has added that FP hasn't yet implemented, but the baseline code ports very well.

..and no, I don't find OP "fundamentally crippled by design" any more than I find any other high-level language "crippled by design", so yeah, you can keep your FUD, thanks. :)
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 13:53
OK, port a non-trivial UCSD Pascal program to Delphi.

Pascal doesn't even define whether logical operators short-circuit.

Modula 2 was supposed to fix Pascal. I couldn't port a Modula-2 program from one compiler to another *on the same computer* without rewriting all the I/O from scratch.

My opinions of Pascal have been honorably burned into me by the torch of hard and painful experience.

Implementations that are specifically reverse-engineering other implementations don't count. Write an implementation from nothing but the spec if you want to talk about portable languages.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
01-27-2010 14:55
From: Argent Stonecutter
OK, port a non-trivial UCSD Pascal program to Delphi.


Gads, that's almost a no-brainer. Turbo was designed as little short of a direct migration from UCSD (which was why it gained so much market share so quickly), and supported porting from UCSD Pascal with minimal effort. Delphi is just Turbo with Object Pascal extensions and newer platform support. I can take UCSD Pascal code I wrote back in my college and pop it into Delphi 2010 and, with minimal effort, get it compiled and working. I've migrated tens of thousands of lines of code forward into Turbo (from several compilers, not just UCSD, but also from the likes of CDC Pascal, too!), then Delphi as it is.

From: someone
Pascal doesn't even define whether logical operators short-circuit.


Yes it does; the ISO standard specifies that logical operators do NOT short-circuit, and the later standards specify specific short-circuiting operators. Borland uses pragmas (compiler options/directives) to control short-circuiting. I would prefer an explicit syntax for short-circuiting, myself, but I don't personally care for the way the standard does it with the and_else and or_else operators.

From: someone
Modula 2 was supposed to fix Pascal. I couldn't port a Modula-2 program from one compiler to another *on the same computer* without rewriting all the I/O from scratch.


Modula 2 never achieved very solid support from compiler makers. Modula-3 was even worse, barely even encountered outside of the education/research environment. I won't even get into Oberon. However, many of the features in Modula2/3 and Oberon made their way into even C++ and C#, as well as other languages.

From: someone
My opinions of Pascal have been honorably burned into me by the torch of hard and painful experience.


*shrugs* My experience with the language has been nothing short of wondrous; contrasted with my experiences with C-based languages, which personally drive me nuts and have cost my customers millions in lost productivity over the years (and yes, I blame the language design for a good bit of that, though it ultimately is the fault of the programmers who wrote the code).

From: someone
Implementations that are specifically reverse-engineering other implementations don't count. Write an implementation from nothing but the spec if you want to talk about portable languages.


FreePascal was not written as a "reverse-engineering" of other implementations, but a from-scratch implementation which supports portability from SEVERAL of the more popular Pascal compilers, and implements the Object Pascal specification almost completely.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 15:47
I've heard the litany before. I was at Berkeley shortly after Wirth had spent a year there, and it was Pascal central. The compiler for half the classes was written by Wirth himself.

As for C, did I say anything about C?
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
01-27-2010 15:54
From: Argent Stonecutter
I've heard the litany before. I was at Berkeley shortly after Wirth had spent a year there, and it was Pascal central. The compiler for half the classes was written by Wirth himself.


Well, your FUD doesn't trump my life experience with the language. Call it a "litany" all you like, demean everything I say, even; it won't change a damn thing. :)

From: someone
As for C, did I say anything about C?


Did I say you said anything about C? No, no I did not. It was a contrasting example using a "popular alternative". <.<
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 16:04
From: Talarus Luan
Well, your FUD doesn't trump my life experience with the language. Call it a "litany" all you like, demean everything I say, even; it won't change a damn thing. :)
My experience isn't FUD. It's experience. It doesn't match your experience, fine, but I've been burned by Pascal more than once and I'm not going back to it.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
01-27-2010 16:24
From: Argent Stonecutter
My experience isn't FUD.


No, your comments are.

From: someone
It's experience.


If the extent of your experience with Pascal is UCSD Pascal and whatever Wirth put out in the 70s whilst at Berkeley, that's not what I would call "experience with the language". That is, unless you would consider experience with BCPL equivalent to that of C#. :rolleyes:

From: someone
It doesn't match your experience, fine, but I've been burned by Pascal more than once and I'm not going back to it.


Then don't. Allow other people to learn for themselves, k?

You'll note I said nothing negative about any other language choice proffered here until you dissed me with mine.
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
01-27-2010 16:25
From: Talarus Luan
You'll note I said nothing negative about any other language choice proffered here until you dissed me with mine.
You still haven't said anything about any other language choice I have proffered here. Your straw man is a red herring as well.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Seven Okelli
last days of pompeii
Join date: 4 Dec 2008
Posts: 2,300
01-27-2010 16:38
wow, you guys!

There isn't any point in arguing about programming languages, any more than there would be arguing about human languages.

The question "which is best?" doesn't really make sense. They're based on different paradigms.

And I wasn't taking a dig at Forth, really. I was only joking.
1 2