Live data from Hacker News

Learn more programming languages, even if you won't use them

thorstenball.com

51–60 of 319 posts

Re: Learn more programming languages, even if you won't use them

#51
post #42

Frankly I've never understood the desire to be a polyglot. The time spent learning new syntax and a new standard library could have been spent learning libraries, algorithms, data structures, etc, so I don't think it's the most productive way to improve yourself as a programmer. I'm more interested in learning a new language because it lets me do something I couldn't do before.

It should be qualified that you should learn languages that are actually conceptually different. You could easily learn 20 languages that are practically identical as far as the actual concepts are concerned. The difference, to you as a programmer, between C and Python, is much smaller than between Haskell and either of those, or between Haskell and Idris. Covering a larger volume of concepts is what should be the em…

Agreed. For example, I spent a couple years using JavaScript as my main language at work then changed jobs and learned OCaml. If I need to use JavaScript again, I'll do it in a much different (IMO better) way than before I understood functional programming.

Re: Learn more programming languages, even if you won't use them

#52

At this point I have almost 20 languages that I've used for at least two years, which is what I consider an decent bar for "knowing" a language. The problem I now have is that I don't know if I'll ever be able to master any language anymore. Mmmmaybe C, since I've used that fairly consistently, albeit on-and-off for 25 years. But whenever I get to an "if" or "for" or function declaration, I often have to look at an e…

> I don't know if I'll ever be able to master any language anymore

Even with just a handful of languages in my toolbox, I feel this way too. A mixture of unease and anxiety.

In addition to syntactic variations, I find that the notion of writing idiomatic code in a given language amounts to more thinking overhead which eats into productivity. I'd need to be programming in the same language over a long period of time for idiomatic code to come more naturally. Can't seem to just instantly switch like some talented folk out there.

Re: Learn more programming languages, even if you won't use them

#53
post #3

In case anyone isn't familiar with them, these two books[1][2] from the Pragmatic Programmer are great for doing just this. They offer a guided intro to 7 different languages each, and they're a whole lot of fun. [1] https://pragprog.com/book/btlang/seven-languages-in-seven-we... [2] https://pragprog.com/book/7lang/seven-more-languages-in-seve...

I loved the first one. It's one of my all-time favorite technical books. I was really disappointed by the second, though. I'd recommend skipping it. The second lacked the cohesion of the first probably owing to the fact that it wasn't written by the same author as the first. And each chapter was written by a different author.

Re: Learn more programming languages, even if you won't use them

#54
post #23

Earlier quoted context omitted.

>When exactly are we supposed to be learning all these languages? Some argue that as a professional, you should be spending time outside of work learning to improve your career. You can't expect your employer to give you time to learn. I find it can be difficult though, especially when you want to spend your time outside of work on other things like family and hobbies.

I didn’t say you shouldn’t spend personal time on those things but you should expect to be compensated one way or another for it. It’s interesting how people in IT separate their skills from their compensation. If my lawyer or doctor is working weekends I guarantee one way or another they are making damn sure they’re getting compensated for it.

That is probably because they are both different jobs. Both doctors and programmers get paid while they're at conferences and shouldn't have to pay for travel, lodging, food, or conference fees. Outside of that, I'm not sure doctors are needing to pick up too many skills outside of what they typically get paid to do.

A rails developer gets paid to make rails apps and maintain them. If you notice that your company will have to pivot soon and another technology will be needed, I hope they allow you to learn on the job, but many are far too shortsighted, so you have to do so outside of work and it's the reality of the situation however stupid.

Re: Learn more programming languages, even if you won't use them

#55

Frankly I've never understood the desire to be a polyglot. The time spent learning new syntax and a new standard library could have been spent learning libraries, algorithms, data structures, etc, so I don't think it's the most productive way to improve yourself as a programmer. I'm more interested in learning a new language because it lets me do something I couldn't do before.

In my opinion it's a good thing to have a point of comparison to other languages when writing code, there might also be concepts prevalent in other languages that your primary language doesn't commonly use but would be useful. It's really similar to learning multiple spoken/written human languages.

Re: Learn more programming languages, even if you won't use them

#56
I learned many languages for years and I received a poor return on time investment. Later, I started learning AWS in depth and studying for certs. I now know way more than I previously did about networking, envelope encryption, messaging, infrastructure as code, pipelines, caching, CDN’s, networking protocols, load balancers, dns, and designing highly available and scalable systems. In summary, don’t forgo learning about systems to chase a hot new language.

Re: Learn more programming languages, even if you won't use them

#57
post #42

Frankly I've never understood the desire to be a polyglot. The time spent learning new syntax and a new standard library could have been spent learning libraries, algorithms, data structures, etc, so I don't think it's the most productive way to improve yourself as a programmer. I'm more interested in learning a new language because it lets me do something I couldn't do before.

It should be qualified that you should learn languages that are actually conceptually different. You could easily learn 20 languages that are practically identical as far as the actual concepts are concerned. The difference, to you as a programmer, between C and Python, is much smaller than between Haskell and either of those, or between Haskell and Idris. Covering a larger volume of concepts is what should be the em…

Hmmm... C and Python are vastly different. I think focus should be on use cases. For example (really) knowing Python, R, and MATLAB, is far less impressive than knowing Python, C++, and Haskell.

Re: Learn more programming languages, even if you won't use them

#58

So I fully agree here because techniques from one language often lead to much better technique in a language of a different paradigm. For instance, I now use many of the functional techniques I’ve learned in JavaScript to write less, easier to read code instead of more loc of imperative code. I’ve also worked at a company that had many functional patterns implemented in php, and frankly made the language quite decent…

> I’ve also worked at a company that had many functional patterns implemented in php, and frankly made the language quite decent.

Oooh, got any examples?

Re: Learn more programming languages, even if you won't use them

#59
post #37

It is really fun to learn new languages and you certainly should know a language in each of the major paradigms. But beyond that I think learning languages might have diminishing returns compared to tackling other "axes" of difference, e.g. learning new platforms, frameworks or environments. The conceptual differences between a desktop GUI app, a command line app or a web app are much bigger than between say function…

This is true, though if you've only ever built a web stack in Rails with JS, then trying to build a stack in Haskell will be quite educational both back end (how you deal with side effects on Haskell and how purity leads to different code architecture) and on the front end (stream-based event driven UI instead of stateful spaghetti)

Re: Learn more programming languages, even if you won't use them

#60

Frankly I've never understood the desire to be a polyglot. The time spent learning new syntax and a new standard library could have been spent learning libraries, algorithms, data structures, etc, so I don't think it's the most productive way to improve yourself as a programmer. I'm more interested in learning a new language because it lets me do something I couldn't do before.

I only got my current job because I happened to be reading a book on C#, which is strange because we barely code in C#. I spent several years programming in Elixir which got blank stares from recruiters. But saying I know Elixir and C# actually got me a pretty good gig!

In an ideal world, knowing data structures and algorithms would get job interviews, but without being able to at least speak to some specifics of the language being used, a good number of HR departments will screen you out before you’ll get to the data structures and algorithms part of an interview.

Post reply on HN