The Artima Developer Community
Sponsored Link

News & Ideas Forum (Closed for new topic posts)
Which Language When?

7 replies on 1 page. Most recent reply: Nov 24, 2004 3:55 PM by Isaac Gouy

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 7 replies on 1 page
Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Which Language When? Posted: May 16, 2003 9:40 AM
Reply to this message Reply
Advertisement
As an established programmer (in VB and Java) I have recently turned my attention to Python (mainly because it is being plugged so frequently by the Agile group, at the moment). This set me to looking also at Perl (a write only language) and Ruby (can't see what it's unique selling point is). This week I've downloaded versions of Smalltalk (seems to be of acedemic and historic interest only, no proper free Windows implementation to evaluate, home site can't decide whether it is selling ($) or advocating the language) and Squeak (still too soon to come to an wildly arbitrary conclusion)... I seem to be turning into a language geek in my old age!

Naturally, each language's home page insists that its language is the best thing since 'sliced bread' (and no doubt that's a language, too) and that it is also the fastest growing language on the internet and that it is the perfect language for everything.

This got me to thinking. There must be plenty of web sites, run by real language geeks, that are a) up to date, and b) (relatively) language neutral; and describe different languages, their pros and cons, unique selling points, popularity (high, low, rising, falling, etc), who uses them (acedemics, hobbyists, contractors, students, etc). I'm not having much luck finding any, though.

Can anyone recommend some?

Vince.


Jarno Virtanen

Posts: 109
Nickname: jajvirta
Registered: May, 2003

Re: Which Language When? Posted: May 20, 2003 3:18 PM
Reply to this message Reply
One classic is Keith Waclena's personal programming language crisis at http://www.lib.uchicago.edu/keith/crisis/ but it is very subjective. (OK, maybe you ran into this and decided that it's not for you.)

Alan Green

Posts: 1
Nickname: avg
Registered: May, 2003

Re: Which Language When? Posted: May 20, 2003 7:36 PM
Reply to this message Reply
Not quite what you asked for, but you might be interested in "An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl" by Lutz Prechelt. It is an academic study of the performance of these different languages on a single task. Haven't found anything else quite so formal or so comprehensive in its approach.

http://www.ipd.uka.de/~prechelt/Biblio/jccpprt_computer2000.pdf

Ralph Richard Cook

Posts: 2
Nickname: ralphc
Registered: Apr, 2003

Re: Which Language When? Posted: May 20, 2003 11:22 PM
Reply to this message Reply
Try
http://www.bagley.org/~doug/shootout/

The Great Computer Language Shootout

Good language comparisons and benchmarks.

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: Which Language When? Posted: May 21, 2003 1:48 AM
Reply to this message Reply
> ...you might be interested in...
> http://www.ipd.uka.de/~prechelt/Biblio/jccpprt_computer2000.pdf

That's interesting for two of its ten conclusions, which are largely identical and can be paraphrased as:
- Performance difference due to programmer variability is greater than that due to language variability.

That appears to confirm similar statements I've seen in several books recently.

Vince.

Matt Dunn

Posts: 1
Nickname: mattdunn
Registered: May, 2003

Re: Which Language When? Posted: May 21, 2003 2:21 AM
Reply to this message Reply
Hi Vince,

WRT Smalltalk, http://www.whysmalltalk.com/ is an excellent resource for finding up-to-date info on some of the issues you've identified.

A few useful links:

Smalltalk Environments (including links to free non-commerial versions):

NB: Cincom VisualWorks and IBM VisualAge Smalltalk are the main players for enterprise-level apps.

http://www.whysmalltalk.com/smalltalk_environments/index.htm

Lanugage Comparisons (mainly Smalltalk vs Java):
http://www.whysmalltalk.com/smalltalkcomparisons/index.htm

Where is Smalltalk being Used:
http://www.whysmalltalk.com/production/index.htm

Hope you find this site useful.

Cheers,
Matt

Tiago Antao

Posts: 26
Nickname: tiago
Registered: Feb, 2003

Re: Which Language When? Posted: Jun 2, 2003 7:26 AM
Reply to this message Reply
My suggestion: Experiment with languages that are _really_ different in concept. Not only they are good for some applications, as you get lots of mental exercise and mind opening experience that will be very useful even when approaching problems with typical imperative languages.

Check caml http://caml.inria.fr/
Check prolog http://pauillac.inria.fr/~diaz/gnu-prolog/

Be prepared, the 2nd one its a revolution in the way of thinking. Its not just learning the languange, its rebooting your head.

The same comment is valid for caml, but in a smaller extent.

You will need time to absorb the concepts.

A really modern approach to programming languages can be found on:
http://www.info.ucl.ac.be/people/PVR/book.pdf
It will be my next very in depth reading as soon as I have time.

Also, the usual suggestions:
Java/C# - typical "modern" OO
Smalltalk - good OO experience
Python - modern scripting with OO and a bit of functional approach
Perl - Good for text processing and as a good example of a language NOT to use on big projects
C - yes C, its good to have an idea of low level junk. At least you'll love to appreciate higher level languages. And it gives you an idea of how things might work, eg, in memory management. It could be worse, I could be recommending assembler ;-)


Check also the interesting ideas of domain/problem specific languages. A productivity boost in most cases if you ask me. BTW, prolog is amazing for doing language processors for languages that *you* invent. A 10 fold productivity increase compared to any other language that I know (for this end).

My take is: use the best tool suited for the job and strive to be as declarative as possible.

I tend to live with: Java, Python, Prolog, Perl AND invented languages (usually processed by a Prolog program). I don't use caml that much because its not my strong point (and Prolog and Python tend to cover for it).

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Which Language When? Posted: Nov 24, 2004 3:55 PM
Reply to this message Reply
"The Great Computer Language Shootout" is now active at

http://shootout.alioth.debian.org/great/

Flat View: This topic has 7 replies on 1 page
Topic: Clustering J2EE with Jini Previous Topic   Next Topic Topic: Versioning, Virtual, and Override


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us