Live data from Hacker News

Ask HN: Learning multiple languages vs. mastering one

news.ycombinator.com

131–137 of 137 posts

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

#131
Honestly you need to plan things similar to anything in life. Have a 1000 foot view of what you want to achieve, which in this case is distributed systems, now break that down e.g. distributed fs, etc. And again paxos, raft and match it up with whatever language that has market share and meshes well with what you want in a language. If you get stuck breaking things down do very brief and simple research into it and do not fall down the interesting rabbit hole.

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

#132
post #84

Earlier quoted context omitted.

Programming is not carpentry. The best programming languages (IMO) are general-purpose, and the gains from being able to know a single language in depth and reuse the same tools and techniques across different domains outweigh those from using different languages in different domains.

Depends. Yes, learn a general-purpose language, and learn it well. But also, learn some other things well enough to be able to use them. Use them when they make the job easier. For example, my main language is C++, and my second language is Java. But when the problem I have is picking snippets of text out of a text file, I reach for Perl, because Perl is far better at that than either C++ or Java. I don't want to "re…

>But also, learn some other things well enough to be able to use them. Use them when they make the job easier.

I've found that even if I don't need to use a language after I've learned it, the skills and experiences I pick up while learning it improve my code as a programmer.

I've learned how to write fast code in C; learned how to write flexible template code in C++; appreciated the "batteries included" standard libraries of Python; wrote concurrent code in Go; used sum types and functional programming in OCaml.

My friend wrote an article[1] that says there is still no silver bullet for programming, and I agree with her.

Perhaps even if you think it is better to master a single programming language, you might better master it by seeing how other languages approach the same problem.

[1]: https://chameleon.kingdomofmysteries.xyz/articles/harmful/st...

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

#133
Little background, i am a mainframe Db2 DBA. @Work other than Db2, i use JCL and Rexx programming language(limited number of scalar functions to use but easy to work with). I decided to learn offhost platforms and languages endpoint is to host something on web or process something in cloud, since cloud is all up in the news, this was 3 years back. Started with C#(processing & analysis) & ASP.NET, i like the Visual studio but its a big dog, slows my system. Next proceeded with Java as i have studied java in college, best thing about java is if you have something in mind there might be a 3rd party library for it which will help you a lot in your learning path or development. I was interested in web development using databases, then you will have to go with JSP, i am not interested in JSP. So proceeded to learn python completed a course in udemy and for database programming you will have to learn frameworks thats another set of installs and courses. While attempting i was getting lots of issues and burning time, so i had put a pause on it and started looking for an alternative language for web development with conditions such as (platform independent, less number of installs don't want to slow my system) ended with NodeJS, javascript and bit of jQuery and i like it finished a course run by Andrew Mead and developing a personal TODO app in Google Cloud using firebase as database and hosting in firebase itself.

I have python in training plan as well, since it also has lots of 3rd party library and wide support from online community.

I like to keep my learning to a limited set of languages and not spend more time on learning.

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

#134
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.

Python is the de facto language for the deep learning part of data science, the interface to TensorFlow, PyTorch and Keras. Others may be possible but all the examples, books, etc. use Python.

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

#135
You should focus on two things:

1. Your "personality"

Properties/qualities that you like most. To discover what you really like you need to try different things. It might change over time as you become more experienced.

  - dynamic vs static
  - weakly vs strongly
  - oop vs functional
2. Impact and market.

You need to specialize in things that let you make the most impact. At some point, knowing specific APIs/Frameworks is more important for productivity. You also want to get nicely paying job and these will only come when you are expert.

  - frontend vs backend 
  - DevOps vs dev vs dba vs full-stack
  - networking vs distributed vs graphics vs web vs embeded
I would avoid Project Euler as problems are too small to evaluate anything other than syntax. Learning stuff like Kube or AWS is not particularly useful. Knowing what tool to use and how to put it together is more important.

Finally depends what you choose you might end up learning one language or multiple.

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

#137
My three cents:

1. Learn bash. It's the glue of the *nix world. It's not complicated but it's foreign enough that it's worth spending a few weeks really understanding.

2. Learn Javascript. It's the C of the modern era. Practically every piece of software in the world has to interact with Javascript, and the value of it is only increasing.

3. Learn C. It's the Javascript of the old world, and the foundation on which most of modern computing is built. If you need to get two things to talk to each other, the answer is usually C. Fortunately unlike its younger brother C++, it's a fairly straightforward language to learn.

Post reply on HN