
Why bother with _any_ programming language? - ifesdjeen
http://ifesdjeen.posterous.com/why-bother-with-any-programming-language
======
stcredzero
Answer: to make good use of the _any_ key.

Article Summary: Agrees with the new languages=cool HN meme.

 _Conclusion?

New languages are cool. They make you think of syntax again, and force you to
shift your paradigm. You start looking on your own code from a different point
of view_

------
ifesdjeen
some guy said in reply to russian translation of that post: there were a lot
of breakthroughs since smalltalk, lisp and cpp were invented: pure functional
languages, finger trees, theorem prover's and formal verification.

There's not much sense to learn another framework OR another way to solve
problem. You should concentrate more on a theories that let you do it all
yourself: Set, Type, theories etc.

~~~
eru
Actually, pure functional style is older than computers.

The real breakthrough is being able to compile pure programs to fast native
code of commodity hardware.

------
dstein
At minimum you should learn 2 programming languages. One must be imperative,
one declarative. One object oriented, one functional. One weak, one strong.
One static, one dynamic. One compiled, one scripted. You need a balanced diet.

~~~
loup-vaillant
I can extend the list: one applicative, one concatenative. One eager, one
lazy. One explicitly typed, one inferred.

2 languages won't be enough.

~~~
jemfinch
> I can extend the list: one applicative, one concatenative

Because it _really matters_ whether your function names go before their
arguments or after.

~~~
loup-vaillant
What are you talking about? Function arguments are implicit in concatenative
languages. Remember: when you write

    
    
        1 2 +
    

You actually write the composition of three functions, which take a stack as
input, and return a stack as output. (Well, because the computation is single
threaded, you can also say that `1`, `2`, and `+` are procedure that modify a
global shared stack).

This has little to do with reversed Haskell code.

------
zwieback
Once you've learned a language from each of the major groupings it becomes
more important to understand the idiomacies of the major communities, or at
least the community you're working in.

