Live data from Hacker News

Ask HN: Learning multiple languages vs. mastering one

news.ycombinator.com

71–80 of 137 posts

Re: Ask HN: Learning multiple languages vs. mastering one

#71
post #39

Go "T-shaped". In other words, be a "jack of [some] trades, master of [a few]". Specifically, you almost have to choose modern JavaScript -- because you will need it on virtually any real project (it's everywhere), and you've already got the enterprise-y server-side covered. Don't get pigeonholed into backend-only, non-JS roles. Despite all the haters, es6+ is powerful and expressive. You'll want to suppress your OO…

> virtually any real project (it's everywhere) That's a bit of an overestimation to say the least. E.g., I work at a trading firm and we use all kinds of languages for all kinds of purposes on all kinds of weird platforms, but JS is not one of them (I don't think we use Java much either, because why would you, this day and age). 'Any real web project' would be more correct. Not everyone cares about web projects thoug…

Maybe not in a trading firm, but Java is still heavily used across tech/enterprise companies. I used to work for a IB which used Java heavily and so do Spotify, Amazon, Google.

Re: Ask HN: Learning multiple languages vs. mastering one

#72
In my information science bachelor I got introduced to Java and a little bit of PHP (by sheer chance). I had issues with programming.

In my computer science master I got introduced to (in chronological order): Objective-C (+ Cocoa Touch), Python, JavaScript (+ HTML5 & CSS), Bash, a toy processor ISA, x86 assembly, C (handy when you know x86 :D), ES6 (+ ReactJS).

I might have missed one or two. The thing is, I don't understand why people ask questions regarding learning a new language. Why not read up on why people find it awesome (I do it via HN), and then choose your project, or checkout what your favorite company that you want to work at is using and get to work?

I feel I don't have issues with programming anymore. All I know is that I don't know a lot, but I know enough to make things, I need some time to get up and running. I also know that the majority of people don't know a lot but can self-learn themselves as well to make things. I feel the slides of CS50 really show to what extent programmming knowledge is transferable. Though CS50 doesn't show the quirks of any language too well (except C, perhaps).

I always ask myself: am I missing something? Am I arrogant or accurate (or both)?

Re: Ask HN: Learning multiple languages vs. mastering one

#73
post #67
post #39

Earlier quoted context omitted.

> virtually any real project (it's everywhere) That's a bit of an overestimation to say the least. E.g., I work at a trading firm and we use all kinds of languages for all kinds of purposes on all kinds of weird platforms, but JS is not one of them (I don't think we use Java much either, because why would you, this day and age). 'Any real web project' would be more correct. Not everyone cares about web projects thoug…

"I don't think we use Java much either": may I know what your trading firm uses?

99% chance it's C++, that's what essentially all trading firms use.

Re: Ask HN: Learning multiple languages vs. mastering one

#74

It's inevitable you will have multiple languages / platforms comprising your stack. Bash scripts for admin. Golang to write servers. Data science in Python. JS / D3 on the frontend. C# / Unity 3D modelling and scripting. Even low level C / Assembly if you need performance optimizations. I think mastery of cloud development and deployment is crucial going forward. Start experimenting locally right on your laptop with…

> It's inevitable you will have multiple languages / platforms comprising your stack. Bash scripts for admin. Golang to write servers. Data science in Python. JS / D3 on the frontend. C# / Unity 3D modelling and scripting. Even low level C / Assembly if you need performance optimizations.

It's not at all inevitable. I would - indeed do - use Scala for all of the use cases you listed.

Re: Ask HN: Learning multiple languages vs. mastering one

#75
I really can't recommend picking two languages at once. Learning one new language often involves having to adapt to a significant number of new idioms that can really stress the mind - I've never been successful at diving deep into two languages at the same time. Far better to pick one language and really focus on it for 6-12 months. Then, at the end of that time, think about whether you want to work on it for another 6-12 months or whether you want to learn something else. Sometimes the language just won't take early on, and it's fine to pick something else then too.

Re: Ask HN: Learning multiple languages vs. mastering one

#76
post #39

Go "T-shaped". In other words, be a "jack of [some] trades, master of [a few]". Specifically, you almost have to choose modern JavaScript -- because you will need it on virtually any real project (it's everywhere), and you've already got the enterprise-y server-side covered. Don't get pigeonholed into backend-only, non-JS roles. Despite all the haters, es6+ is powerful and expressive. You'll want to suppress your OO…

> virtually any real project (it's everywhere) That's a bit of an overestimation to say the least. E.g., I work at a trading firm and we use all kinds of languages for all kinds of purposes on all kinds of weird platforms, but JS is not one of them (I don't think we use Java much either, because why would you, this day and age). 'Any real web project' would be more correct. Not everyone cares about web projects thoug…

Strongly agree. I would take "any real web project" a bit farther & argue it's only for the time being. While WebAssembly won't kill JavaScript it is slowly creating a world where you can pick a different language if you want for front end web development. Monopolies are bad & it'll be great when this one no longer exists, for JS devs & everyone.

Re: Ask HN: Learning multiple languages vs. mastering one

#77
post #67
post #39

Earlier quoted context omitted.

> virtually any real project (it's everywhere) That's a bit of an overestimation to say the least. E.g., I work at a trading firm and we use all kinds of languages for all kinds of purposes on all kinds of weird platforms, but JS is not one of them (I don't think we use Java much either, because why would you, this day and age). 'Any real web project' would be more correct. Not everyone cares about web projects thoug…

"I don't think we use Java much either": may I know what your trading firm uses?

Depends on the type of task and the target platform — C#, C++ and Python to name a few.

And, of course, VHDL (in certain projects)...

Re: Ask HN: Learning multiple languages vs. mastering one

#78
post #74

It's inevitable you will have multiple languages / platforms comprising your stack. Bash scripts for admin. Golang to write servers. Data science in Python. JS / D3 on the frontend. C# / Unity 3D modelling and scripting. Even low level C / Assembly if you need performance optimizations. I think mastery of cloud development and deployment is crucial going forward. Start experimenting locally right on your laptop with…

> It's inevitable you will have multiple languages / platforms comprising your stack. Bash scripts for admin. Golang to write servers. Data science in Python. JS / D3 on the frontend. C# / Unity 3D modelling and scripting. Even low level C / Assembly if you need performance optimizations. It's not at all inevitable. I would - indeed do - use Scala for all of the use cases you listed.

Scalia for frontend work? How do you do it?

Re: Ask HN: Learning multiple languages vs. mastering one

#79
When I stopped caring about this and focused on problems themselves, I inevitably had to learn many things to get a problem solved. There was never a path that included one framework and one language. It was a spaghetti hodge-podge of solutions to patch work it together. I have kept JavaScript at the center of the glue whenever possible as its easier these days and having docker to abstract gory setup details and needing bash/git literacy, but other than that, you'll find yourself doing what needs to be done and consequently learning new things along the way as a side effect, not as a goal.

Re: Ask HN: Learning multiple languages vs. mastering one

#80
post #74

It's inevitable you will have multiple languages / platforms comprising your stack. Bash scripts for admin. Golang to write servers. Data science in Python. JS / D3 on the frontend. C# / Unity 3D modelling and scripting. Even low level C / Assembly if you need performance optimizations. I think mastery of cloud development and deployment is crucial going forward. Start experimenting locally right on your laptop with…

> It's inevitable you will have multiple languages / platforms comprising your stack. Bash scripts for admin. Golang to write servers. Data science in Python. JS / D3 on the frontend. C# / Unity 3D modelling and scripting. Even low level C / Assembly if you need performance optimizations. It's not at all inevitable. I would - indeed do - use Scala for all of the use cases you listed.

Hey, someone found a golden hammer! Better throw out all those other tools, who needs 'em.
Post reply on HN