views:

123

answers:

4

I refer you to the following video, which describes how to implement Conway's Game of Life in APL, using a few dozen keystrokes:

http://www.youtube.com/watch?v=a9xAKttWgP4

This video was featured prominently in the Return of Uncle Bob Martin podcast, in which Scott Hanselman complains that "his hands hurt" from programming in languages that require too many keystrokes.

Of course, none of us are going to replace our keyboard just to learn an old, obsolete programming language (or are we?), but I have heard that programmers can be two to three times more productive, depending on the language they are working in. Is it because they are working in "denser" languages?

What are the densest commonly used (practical) programming languages currently available? Do they improve productivity because they are dense?

A: 

I think this question can only be answered if you consider the sort of support libraries that a language has available. For example I can do things in PHP using very few lines of code because there's loads of help for network requests, graphics processing, array and string handling etc., etc.

Using jQuery means I am typing less also when writing script. So the question isn't as simple as you suggest.

Scott Evernden
You also need to consider your own skill with the language. LINQ and anonymous functions can save a ton of keystrokes (and time, in my mind) in .NET, but not if you don't use them.
Daniel Straight
A: 

It has to be J.

recursive
A: 

Nowadays both Perl and many functional languages can be very terse, although APL is still considered the champion in that.

In terms of productivity, there is a level when terseness can help (Python and Ruby are considered more productive than Java/C# because they are more terse), and then there is a level where terseness makes the code very hard to read (APL is famous for that, as well as short Perl scripts). One needs a balance between the two. Also, there are a number of autocompletion editors that allow, for example, longer variable names without requiring a lot of extra typing.

Kathy Van Stone
A: 

just look at threads tagged code-golf :)

mykhal