http://www.reddit.co..._cos_it_didnt_exist/Direct: http://erlang.org/pi...-January/071949.html*Sigh* If only I understood half of what's being said but the Reddit commentors seem to like this so I thought some of you might like it too (especially hoping f0dder would reply to this like he replied to the cleanest source code thread)
Would also be nice if mouser or others could make a specific surprise coding school revolving around this text:
IDE's and revision control systems have just made matters worse - now you
have all the
old versions of the mess as well as the mess itself, and the IDE means you
can't even see the mess.
The best IDE in the world is your BRAIN - it's a zillion times better than
these
clicky things.
This made my life though:
Suppose you're starting off.
You can choose between twenty odd languages (all of them good for one
reason or another)
what took me 40 years to learn, you must try to understand in 2-3 years,
this is just not possible.
What languages should a beginner learn, what languages should a school
teach?
Now we get to the paradox of choice - because there are so many
alternatives it becomes
impossible to choose.
Old timers say "choose the language appropriate to the problem" when you
know 20 odd
languages (with varying degrees of proficiency) this is easy to say - but
If you know
two languages Java and C then this isn't much help.
There are literally problems where the solution in a CLP language is a few
lines
and is thousands of lines in C.
What would I recommend learning?
- C
- Prolog
- Erlang (I'm biased)
- Smalltalk
- Javascript
- Hakell / ML /OCaml
- LISP/Scheme/Clojure
A couple of years should be enough (PER LANGUAGE).
Notice there is no quick fix here - if you want a quick fix go buy "learn
PHP in ten minutes"
and spend the next twenty years googling for "how do I compute the length
of a string"
THANK GOD. I have no idea how to Google this but FINALLY a definitive computer language step by step on which language to forever offer your life to.
No more learn Python first or C++ is too complicated or skip towards LISP or reading the constant, it's not the coding language.
Now if only there was a "reinvent a wheel" guide for a total newbie without going through Hello World and instantly jumping to why certain programs require speed or what plugin sets should be learned immediately for sole coding or just a zero jargon list.
Side Note: If someone knows the answer to this, was there a successor to OO programming and if not, how come?I guess what I had in mind was a Lambda without being a Lambda (and no, I have no idea what a Lambda is even with Wikipedia but I know it's a symbol).
I guess inside of my head, I look at GUI functions and widget creations and I wonder why they couldn't be relowered into mini-programming languages rather than mini-plugins in order to serve as better GUI/mock up like objects instead of the common puzzle structure of programming. Is it simply because of the problem solving based history of coding to begin with or has it been tried and no one can just agree on a syntax for beginners?
It's sad because even for non-coders and non-mathematicians, the world is getting so complicated that you have to learn the mechanical syntax of home\favorties\emotion widget on an Android tablet to the desktop syntax of desktop managers to the reading syntax of books. I mean they are not legitimate syntax but combined as a whole, they can sometimes be more complicated than markdown and function as objects
orienting other objects especially when something breaks like a HD has no cable or usb slot or you forgot to put a book in the e-reader or you forgot to put the metadata in Calibre or you forgot to search for a keyword in the Kindle Store or you forgot a pdf because you were too busy reading a book.
To know all the qualities of a higher language from the process of life and living and less from the process of being in front of a coding editor just seems like one of the few big missed opportunities in personal productivity systems. Like of course, simplicity makes it more applicable to life but proper indentation of clothes versus gadgets is far more superior mental advice IMO than just the mere advice to find a box to serve as separator of items.