Small features, big impacts

APL. Lisp. VBA. These are all programming languages. Everyone offers various modules, syntaxes and ideas. One thing is interesting. The more advanced a programming languages is that you’ve used, the more you wish their features in other languages. Lisp is certainly the most famous example with dynamic typing, garbage collection and macros.
I do really enjoy high level programming. I adapt quite easily to many features of various programming languages. Beginning with garbage collection to pattern matching and if I return after a long time from Python and Haskell to C or C++ I really miss some features.
A very simple example.

#define MAX_VAL 100
int values[MAX_VAL] = {1, 9, 2, ...};
int i;
int sum = 0;
for(i = 0; i < MAX_VAL; i++)
    sum += values[i]
printf("Sum is %i\n", sum);


values = [1, 9, 2, ...]
print "Sum is", sum(values)

The second solution avoids even side-effects.
However, I understand some things about esr’s attitude better. He wrote:

I suggest you should use Python, to avoid C programming on jobs that don’t require C’s machine efficiency.

(How to Become A Hacker)


“So next time I hear the “you can’t get the programmers” line I’m going to respond with something like this:

“If you post an advert for a Haskell developer you will get 20
applicants. All of those people will be the kind of developer who
learns new programming languages to improve their own abilities and
stretch themselves, because nobody yet learns Haskell just to get a job.”

“If you post an advert for a Java developer you will get 200
applicants. Most of them will be the kind of developer who learned
Java because there are lots of Java jobs out there, and as long as
they know enough to hold down a job then they see no reason to learn
anything.”” —