Yes, from what I can tell, the concise summary of the list is: If
you've only programmed with imperative languages, learn a functional
language.
Of course, these sorts of rankings are heavily influenced by the order
in which people typically learn languages. E.g., there is an
approximate split in the list: functional languages near the top,
imperative languages at the bottom. As much as anything, I think this
reflects that people almost invariably learn imperative languages first,
so learning another imperative language is less likely to "significantly
change how I use other languages".
To break the list down further, languages with strong support for
object-oriented programming (C#, Java, Python, Ruby, etc.) are near the
middle of the list, while imperative languages without without these
features are at the very bottom. This split is not nearly so
well-defined, though, and I suspect that is because many people who use
object-oriented programming languages don't really ever do any
object-oriented programming or learn much about that programming paradigm.
I was also pleased to see that assembly language made the top 20. There
is no better way to learn how computers really work.
-Brian
On 04/01/2016 08:37 AM, Erik Bray wrote:
On Thu, Mar 31, 2016 at 10:04 PM, Tyson Whitehead <[email protected]> wrote:
Someone linked to the hammer principle website a couple of days ago.
One of the questions I noticed they collect data on is "learning this language
significantly changed how I use other languages".
For those of us interested in taking our programming up a notch, this seem like a pretty
big "something to be learned here" sign post.
http://hammerprinciple.com/therighttool/statements/learning-this-language-significantly-changed-how-i
Thanks for pointing this out--definitely agree this is worth thinking about.
For me when I saw the phrase "learning this language significantly
changed how I use other languages" and immediately thought of
functional languages--particularly Scheme / LISP. In undergraduate
computer science one of the first classes they taught was a
programming language paradigms class primarily focused around Scheme.
Most people *hated* that class, but it blew my mind. And looking at
the list you linked I see Haskell and Scheme are the top two. (I'm
still trying to wrap my head around Haskell.)
Maybe a little more unfocused, but I recently embarked on a journey to
solve the Project Euler problems (just one a week--there's only so
much time in a week) using a different language from
https://en.wikipedia.org/wiki/List_of_programming_languages -- I'm
just going down the list in alphabetic order of those I can actually
manage to install (with or without a VM). Most of them I've never
heard of and are not easy to find. I suspect most of them won't be
that illuminating either, but I'm hoping enough will be interesting
(even if only of historical interest) to make it a worthwhile project
^_^
Erik
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org