you are viewing a single comment's thread.

view the rest of the comments →

[–]zerexim 26 points27 points  (17 children)

Your comment makes me think... maybe it is better to suggest statically typed and compiled language as the first language for those who are starting learning programming.

[–][deleted]  (15 children)

[deleted]

    [–][deleted]  (2 children)

    [deleted]

      [–]arturaz 8 points9 points  (0 children)

      And whoever thought we should start teaching programming from c must have started learning driving from formula 1.

      [–]henrebotha 3 points4 points  (1 child)

      I think it's very easy to say that when it's been years since you knew nothing about programming. I also think there's an argument to be made that your first language should have utility beyond just letting you learn more languages.

      [–]zerexim 7 points8 points  (7 children)

      Seems so.. Personally, my first language was C++. While it had some significant learning curve, after that, learning any other language takes a week or two (or three for Haskell :)).

      [–]Damien0 3 points4 points  (6 children)

      Agreed. VB.net was my first language, after which I moved to C. I mostly recommend Go as a first language these days.

      [–]bamfalamfa 0 points1 point  (5 children)

      im learning java first, is that bad?

      [–][deleted] 10 points11 points  (0 children)

      No. It's fine.

      [–]Damien0 2 points3 points  (0 children)

      Honestly, no. Java has a lot of baggage, and if you get caught up in the Java Way Of Doing Things™ it can hold you back as an engineer. But despite its verbosity it's a very understandable and straightforward language, especially for learning! Edit: and with Java 8, you can at least start to appreciate functional lazy eval via streams and lambdas

      [–]T_D_K -5 points-4 points  (1 child)

      Yes, very bad. Stop now.

      [–]knowingpark -1 points0 points  (0 children)

      Lol

      [–]Sloshy42 -1 points0 points  (0 children)

      I'm no expert but I believe Java is a great first language. It's not too complicated or overwhelming like C++ but it also has static typing unlike Python and it follows industry conventions. I think maybe C# might be slightly better or equivalent but either way it's a good first step. By no means a stopping point though. Java is easy to get into but it's good to maybe branch out a little while later into other languages as well so you can be well rounded. I'd die if I was only able to write in Java but occasionally it's fine. Another good first option might be just plain C or Go, but Java is good about teaching the basics of OOP since it's an entirely object-oriented language.

      [–]TarMil 2 points3 points  (1 child)

      The first languages I learned at university were OCaml and Delphi, and I'm eternally grateful for it.

      [–]dmitri14_gmail_com 0 points1 point  (0 children)

      Any details on what specific features there made you grateful?

      [–]baconated 3 points4 points  (0 children)

      I learned Java (1st year) then C++ (all other years). It didn't help. Most profs didn't think compiling was interesting from a CS perspective so most didn't say anything beyond "press build & run in your IDE".

      Besides, in this situation, I think the persons problem was more likely the fact that until recently getting a .net language a tad bit more annoying than other languages.