My Favourite Programming Language

This page is open to everyone. Don't be shy!


My favourite local and internet languages

Multiple favorites are allowed. Please also provide a short description of why you like that language.


JonathanTang


Anonymous # 1

In general I like to see a practical blending of the UnixWay of doing things and the Lisp/Smalltalk ways. Ruby is pretty good at this, Python is all right. Some Scheme dialects are closer in the abstract (GuileScheme, scsh) but less practical in practice (e.g., no CGI or good curses support for Guile); fragmentation is a bitch in the ParentheSphere. If I'm writing just for me I'll often use EmacsLisp.


SkipSailors


KarlKnechtel

My favourites used to Java and Perl. That's got to be a pretty unusual combination.

Now that I've got a good handle on Python, though, I haven't gone back to Perl for anything. Java and Python is still a slightly unusual combination, though probably less so.


JasonGrossman

IoLanguage, for incredible simplicity and beautiful syntax, as well as most of the power of LISP. Python for syntax too, but I haven't actually used it in anger. And Algol68, because it lets me use spaces in variable names! Any other languages let me do that?

Yeah: Tcl. MacLisp and some CommonLisp implementations too, if you delimit them with vertical bars.

[SQL allows them, although they're widely considered a bad idea there. Apparently Smalltalk allows them, too; news to me: http://wmf.editthispage.com/discuss/msgReader$1339?mode=day ]

[Fortran has always allowed them, too. It merely ignores them, they're not an actual part of the identifier, but still, they can appear in the middle of an identifier. Incidentally this feature is deprecated since Fortran 90 and can be turned off if one goes with the "free-form source" option rather than the "fixed form source" option. More than anyone wanted to know about a living-dead language, I'm sure.]

[Speaking of which, Cobol allows (significant) dashes in identifiers, which a lot of people adore for the same reason that some like spaces in identifiers.]


I'm partial to the AplLanguage and the JayLanguage. APL is more like the air I breathe, where Java and C and the like are like Diesel fumes. (RandyMacDonald)


MichaelSparks


GeoffSobering

Perhaps the happiest times I've had programming were in IDL (InteractiveDataLanguage). Perhaps it was the environment and problems I was solving, and less the language itself...


RBasic in AdvancedRevelation?, now Basic+ in OpenInsight? (the new name makes searching difficult)

Comes with a syntax checking compiler which produces p-code to run more efficiently on the VirtualMachine. It is a descendant of PickBasic.

Because RBasic is a very versatile language, I will give a FunctionalProgramming view of it.

The language can be used as if it were a roll-your-own function builder. You do not need to differentiate between system provided functions and user provided functions, at least not conceptually. Some system-provided functions, such as database access and user conversation, force a structure on the source code. These can all be encapsulated in functions which give a clear sense of information flow from right to left down the page.

Scope is clear and simple - all variables are local to the current source's text. This allows the source to be viewed in one consistent context, without distraction by the consideration of scope. The only outside variables directly accessible within the source's text are those passed as arguments (or returned).

There is a form of common, which is global to the session, and another which is global to the thread, but other than some system imposed common, any references to common can be replaced with functions. This abstraction allows the achievement of the objectives of common without forcing the use of a variable of an implicit 'external' scope. (Note - this is because once you allow any variable to be a reference to an external value, shared with other processes, then any variable may be an external reference when visually scanning the source. Using functions to retrieve or update external 'variables' provides a mechanism for specifying purpose or intent of the access of this external data. This removes some of the need to inspect the intricacies of each sentence of source, allowing a more natural reading comprehension)

 "Hello World" 
 Notify Message("Hello World")


TopMind


GarryHamilton


TimLesher


IanOsgood



GarethMcCaughan

Compare and contrast with LanguagesOfChoice, MainstreamLanguage


EttMonster?


AalbertTorsius


RamonLeon


Jeff Bain C and Perl? I'm only in first year University, so I'm really more a n00b than anything, but where I work we use those two, and I've sort of fallen in love with Perl. It's so good for hacking together things, I can't do without. With C, everything is Damn fast, and that's always good.


CraigPutnam


CategoryProgrammingLanguage


EditText of this page (last edited May 28, 2009) or FindPage with title or text search