avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • October 17, 2019, 09:09 PM
  • Proudly celebrating 13 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: [Reddit] I couldn't learn Erlang so I invented it  (Read 2342 times)

Paul Keith

  • Member
  • Joined in 2008
  • **
  • Posts: 1,987
    • View Profile
    • Donate to Member
[Reddit] I couldn't learn Erlang so I invented it
« on: January 24, 2013, 02:40 PM »


*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
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

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
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.


  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,195
    • View Profile
    • Donate to Member
Re: [Reddit] I couldn't learn Erlang so I invented it
« Reply #1 on: January 28, 2013, 02:30 AM »
A very cool post. Thanks for sharing.

I honestly disagree with his opinion about VCSs and IDEs though :) (assuming he doesn't mean it ironically).

Concerning the successor to OO: it's not really a successor, rather a new trend: functional programming. Many popular once predominantly OO (or already multi-paradigm) languages now integrate functional programming concepts.

Paul Keith

  • Member
  • Joined in 2008
  • **
  • Posts: 1,987
    • View Profile
    • Donate to Member
Re: [Reddit] I couldn't learn Erlang so I invented it
« Reply #2 on: January 28, 2013, 10:52 AM »
Thanks for the keyword "functional programming".

The irony is that, based on what little I can understand of the wikipedia re-direct link Functioninal Programming for the Rest of Us this is how I viewed OO.

Now I'm confused as to what OO really is. Correct me if I'm wrong but is FP conceptually similar to OO but it teaches OO to have an "else" statement or are the two entirely different concepts? Some of the descriptions in that link reads like a wikipedia explanation of what a blackbox is for airplanes but FP being the blackbox of OO.