News for hackers. Stuff that matters.
Re:Learn more programming languages, even if you won't use them by leshow on Saturday April 13, 2019 @11:34AM (#19653575)
I couldn't agree more, but if I could make a recommendation. If you already know a mainstream OO language, you won't get much benefit out of learning another in the same arena. Going from Java to C# you will learn less than going from javascript to ocaml or Java to Haskell.

The best thing (for my own learning) I ever decided to do was learn Haskell. I have never been paid to write code in Haskell but it gave me such a confidence with languages that I don't think I've seen any language features in any other language that has ever surprised me or that I felt like I couldn't learn. Haskell and it's language extensions will expose you to many many different ideas. It helped me learn Rust, I feel like I can read ocaml, any other functional language doesn't feel like a stretch to read, etc

So, don't just learn many languages. My advice would be to pick languages across paradigms and learn them. Don't waste your time learning 5 object oriented languages.

Re:Learn more programming languages, even if you won't use them by empath75 on Saturday April 13, 2019 @12:21PM (#19653892)
Failing to learn how to program in Haskell made me realize that I had absolutely no understanding of what I was really doing when I was coding and sent me down a deep rabbit hole learning all the computer science concepts I hadn’t ever learned as a self taught programmer.
Re:Learn more programming languages, even if you won't use them by throwawayjava on Saturday April 13, 2019 @08:34PM (#19656731)
I had the same experience with lisp, and it's one of the reasons I chose to keep programming (and eventually major in CS) during college.

It's crazy how easy it is to learn how to pattern match well enough that you can build really useful stuff while still not really understanding what you're doing. Human brains are amazing.

Re:Learn more programming languages, even if you won't use them by brendanmc6 on Saturday April 13, 2019 @02:35PM (#19654849)
What would you recommended first? I'm also self-taught, just JavaScript, typescript and react and a tiny bit of shell scripting. Job never asks for anything more, but I want to get better at designing, engineering, and building scaleable webapps. So more towards "full stack" I guess.

Haskell sounds super cool, but it seems like nobody really uses it to build things on the web. They mostly just talk about how it "helped them think".

Re:Learn more programming languages, even if you won't use them by programmerdude on Saturday April 13, 2019 @03:59PM (#19655385)
Haskell actually could help a lot with JavaScript. Functional programming, writing stateless functions, function parameters, and generally manipulating functions, are valuable and useful concepts in JavaScript and React, and Haskell forces you to learn and understand them. Alternatively, F# could fill that niche if you prefer its syntax.
Re:Learn more programming languages, even if you won't use them by kangax on Monday April 15, 2019 @11:50AM (#19666171)
ReasonML is a good transition from JS to something like OCaml
Re:Learn more programming languages, even if you won't use them by Const-me on Sunday April 14, 2019 @08:10AM (#19658920)
> Going from Java to C# you will learn less than going from javascript to ocaml or Java to Haskell.

Depends on how you'll use C#. If you'll write Java-style OOP, you'll indeed learn very little. But C# offers much more than Java: generics, FP, LINQ, async-await, dynamic, native interop, unsafe and pointer arithmetic..

Re:Learn more programming languages, even if you won't use them by leshow on Sunday April 14, 2019 @12:25PM (#19660279)
I disagree, regardless of 'how you use' c# going from Java to Haskell will be a paradigm change whereas going to c# is an incremental change
Re:Learn more programming languages, even if you won't use them by sus_007 on Saturday April 13, 2019 @12:17PM (#19653863)
Out of curiosity, if you were to point out the focal languages on each paradigm, what would they be ?
Re:Learn more programming languages, even if you won't use them by fiddlerwoaroof on Saturday April 13, 2019 @02:10PM (#19654680)
Classic OOP: Smalltalk

Metaprogramming / what OOP could have been / interesting error handling: Common Lisp

Static Types/FP: Haskell (or Ocaml)

Logic Programming: Prolog

Untyped FP: Clojure (or Scheme)

Actor Model: Erlang (or Elixir)

CSP: Clojure w/ core.async (or Go)

GUI Development: Lazarus (or Delphi)

Re:Learn more programming languages, even if you won't use them by leshow on Sunday April 14, 2019 @12:28PM (#19660295)
The sibling comment did a great job pointing these out. I agree with most of the points.