TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Which language to learn for long-term work

28 pointsby jsudhamsalmost 10 years ago
All : I am an 17 year experienced in IT infra (everything from sun solaris to linux &#x2F; windows and some cisco) and very enthusiatic to learn. Learned programming for troubleshooting and can CRUD apps in C#,vb.net, vb6 and if forced C++. Used C++ in past for call windows kernel functions only. Supported COM and DCOM apps, and know ms sql very well. But like coding in vb.net mostly if i have come out with app quickly. Have done few websites and apps used by companies.<p>I want to be a good programmer for alternate income as in India it is not possible continue as IT Infra guy with out biting management bullet after some level of salary. I get around 34K USD after tax here in india and manage a team now but also consult and design apps. Very innovative and have can solove anything attitude and does not drop&#x2F;give up before trying. Have learned trading in real markets as well as openstack, aws and TOGAF way of EA. Been around a lot in this forum and earlier in slash dot.<p>I have gone through funtional programming pros and cons and discussion here. What i need is what langauage can&#x2F;should i learn out of the below ones.<p>1. Rust 2. Go 3. Haskell 4. Elixr (Erlang) 5. Lisp<p>What I want to get out is side income to start with as remote work ( i dont have regular education for H1B but L1 i can get so dont want try moving)<p>But want to pick up a domain like Trading or Telephony or large systems management learn using real worl scenarios and problems and create applications as i learn. I have plan bootstrap few ideas in banking and in chat areas. But main thing is want to have some steady income via side project some thing like US$ 2 K per month is sustainable for long run.<p>As a primer i have started (again) on math on Khan academy and refreshing math skills.<p>So my question is which language should i learn? (Note: i can love what i do so no answer of love what u do, had developed this mentality to come so i am fine with start something love it)

26 comments

WoodenChairalmost 10 years ago
I&#x27;m surprised nobody here has said JavaScript. It&#x27;s not on your list, and personally I strongly dislike it, but it&#x27;s the most ubiquitous language nowadays in the world. You will definitely be able to find side project work in it. And if you add in Node, you&#x27;re golden for most any web project.
评论 #9878031 未加载
评论 #9878032 未加载
评论 #9878065 未加载
ufmacealmost 10 years ago
Stick with Java and C# if you want to work in business, as that&#x27;s what like 90% of businesses are using. Learn cool new languages for fun if you want, but don&#x27;t expect to find work using them.<p>But really, you should read <a href="http:&#x2F;&#x2F;www.kalzumeus.com&#x2F;2011&#x2F;10&#x2F;28&#x2F;dont-call-yourself-a-programmer&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.kalzumeus.com&#x2F;2011&#x2F;10&#x2F;28&#x2F;dont-call-yourself-a-pro...</a> which has the more correct answer for your question: It doesn&#x27;t matter.
ciesalmost 10 years ago
From your list: Go.<p>Not on your list: Java, C++, C#, maybe even COBOL.<p>If you want cool work then: Rust, Haskell, Elixir and Lisp (Clojure). As these will see a lot more green field projects, use at start-ups, use by teams that are less constrained by Enterprise criteria.
评论 #9878048 未加载
tethenoalmost 10 years ago
I would learn Java and the JVM if I wanted a language&#x2F;platform for the long term.<p>Of the five you got there, I would go for Go. Or Clojure as a Lisp. Scala is also a good option.
评论 #9877984 未加载
egeozcanalmost 10 years ago
I think that English is very important not only for doing remote work but also for understanding the intricacies of programming languages with docs that are inscrutable to the beginners of the English language. When I was 16 and had been trying to learn C++ I had a late realization that understanding the (sometimes weird) semantics of English would have helped a great deal learning the (almost always weird) semantics of C++.<p>Also, I&#x27;d refrain from trying to learn as many languages as possible. Understand how systems work and how to build them. You have to understand how to read code, before you become a great coder (Maybe you already are, I&#x27;m speaking in general).
Cianticalmost 10 years ago
While there are new comers like Swift, Go and Rust etc. Still the biggest language and lots of chores in future, will be Java. If you want to just work &lt;tm&gt;
jacques_chesteralmost 10 years ago
Out of the ones you listed, and grit my teeth to say it as I must: Go.<p>Go is the new C, for good and ill.<p>We&#x27;re going to be stuck with it for decades. Might as well become conversant.
评论 #9878258 未加载
estefanalmost 10 years ago
You&#x27;re doing it backwards. Find out what gigs are paying, what skills they require then go and learn them. No point learning Go if there are only Java jobs available.<p>On the other hand, if you&#x27;re creating personal projects to monetise, use whatever you like&#x2F;has the best libraries, etc.
niixalmost 10 years ago
I recommend JavaScript. Finding contractor work should be fairly easy if you are able to build web applications. In addition, learn Node so you can write backends for those web apps in JavaScript as well.<p>When I was in school I focused primarily becoming proficient at Python, as I thought that was the language that would land me a decent career. Since I am mostly interested in web programming, I found myself building backends in Python - but always ended up still using a ton of JavaScript. When I switched my focus to being primarily a JavaScript developer, I ended up finding a ton of work and that is still the case to this day (5-6 years later).
lmmalmost 10 years ago
From your list, Haskell. Rust and Go are trendy right now but there&#x27;s no guarantee they will last (much as I admire Rust&#x27;s design), whereas Haskell is old enough to have passed through the hype cycle and out the other side. (So has Lisp, but it&#x27;s simply not popular enough, IMO).<p>Honestly you already have a language that&#x27;s much more commercially viable: C#. You&#x27;ll find it easier to make money by expanding your C# skills than with any of the languages you suggest. If you want to go functional then F# is a good companion language since it&#x27;s interoperable with C#, so you can use small pieces of it where appropriate.
cowlsalmost 10 years ago
If you&#x27;re main goal is &quot;to have some steady income via side project&quot; then it doesnt matter which language you pick.<p>What matters is the product you create and whether people will use it and&#x2F;or pay for it.
valarauca1almost 10 years ago
Go and Elixr have very wide spread industry uses.<p>Rust while promising (I use it heavily myself) still hasn&#x27;t seen much industry adoption. I&#x27;m confident it will... eventually.
评论 #9877762 未加载
评论 #9878179 未加载
krisgenrealmost 10 years ago
Since you are in India, the most sought after skill is Android&#x2F;iOS development. ObjC&#x2F;Swift, Java and Javascript is definitely good for long term.
popeealmost 10 years ago
I&#x27;d first ask myself where do I want to be: enterprise, freelance, community&#x2F;FLOSS, ...? After that, it&#x27;s not hard to make list of langs that are mostly used in these areas and personally i&#x27;d choose langs that are in more than one area.<p>Ok, this has one big flaw, it doesn&#x27;t tell much about langs that are still in development (rust, go, ...), so keep that in mind.
simi_almost 10 years ago
My main language for the past 2 years has been Go, and I&#x27;m very happy with it (with the occasional Python and JS break). I would definitely recommend it for you, too. I&#x27;ve been on both sides of the hiring process and Go seems to have gained a lot of momentum, especially at companies you&#x27;d like to work for.
alistproducer2almost 10 years ago
For a general purpose Dev job: Java, C#, and JavaScript. Given what your OP mentions your interests are, you don&#x27;t seem like you would find such a job stimulating.<p>I worked at a telephony company and that was the most interesting job I had thus far.
jtwebmanalmost 10 years ago
I would learn all of them a little and just pick the one you enjoy the most. I did the same thing and included Scala and Clojure. In the end I pick Elixir and Erlang but I think you can pick the one you enjoy most.
lectrickalmost 10 years ago
Elixir all the way. It&#x27;s going to be a big deal.<p>I&#x27;ve been doing Ruby for over 10 years. Never seen anything like Elixir.<p>Rust, Haskell, Clojure will have their niches too. But Elixir will probably take over back-end web development.
评论 #9893367 未加载
dharma1almost 10 years ago
English. j&#x2F;k.<p>Out of those, would pick Go
评论 #9877886 未加载
barrystaesalmost 10 years ago
Learn several languages (you did). Dont focus on one but rather look at what the problem in front of you calls for. If there was one &quot;best&quot; programming language, why do we have so many?
MichaelGGalmost 10 years ago
Telephony (in VoIP) is mostly C&#x2F;C++, then with a smattering of scripty stuff to tie it together in the UI. PHP, Perl, Ruby. Bigger places use Java and maybe a few on .NET. WebRTC seems hot, and the frontend would need JS in a browser, but in the backend... Despite Erlang supposedly being &quot;made for telecom&quot;, I&#x27;ve not really seen it be used much. (Yes I&#x27;m aware some big switches use or have used it, just haven&#x27;t seen it in VoIP much.)<p>If I were in the position of trying to get remote work in telephony, I&#x27;d start learning the popular open source packages in use (Asterisk, FreeSWITCH, OpenSIPS), read up on protocol SIP (SIP Illustrated is a good course, includes an annotated RFC) and get your name out there in the community (answer questions, post write ups, etc.)<p>There&#x27;s a range of work from cobbling CRUD apps together around a telephony core, to fixing core code, setting up networks, etc. Telecom has a lot of legacy and complexity, and that means there&#x27;s opportunity for people figuring it out. I&#x27;ve seen this happen: guy joins mailing list asking super newb questions. Fast forward a bit and now he&#x27;s billed out as an expert. All self-taught and promoted.<p>You&#x27;d also need solid networking skills (which come in handy even in web dev; I&#x27;m annoyed&#x2F;surprised that many &quot;web developers&quot; are unable to diagnose basic network issues with Wireshark). The material in a CCNA course should be a decent starting point, though don&#x27;t obsess about learning IOS management.<p>On languages, if you&#x27;re steady with C (you have a good idea how the machine works), and you&#x27;ve got a couple popular languages learned, I don&#x27;t believe language will hold you back. Domain experience will compensate, and you can always learn new languages easily enough. Though I&#x27;d <i>highly</i> suggest picking up a functional language (I&#x27;m preferential to F#) for the much more powerful thinking it&#x27;ll bring you. Ultimately, I&#x27;m unconvinced that picking up a hot language will lead to work in that language (hey, I just learned Go, hire me!). But demonstrating ability will show you off very well. For instance, Rust is hot, a <i>great</i> language, and there&#x27;s still opportunity for write-ups on &quot;I did $neatish_thing, <i>in Rust</i>&quot;, to get a fair amount of interest.<p>Otherwise if you really just are trying to bid on random contract work, others said it: adding the JVM&#x2F;Java keyword is probably the best way to increase reach.<p>Edit: With 17 years IT, when you add programming to the mix, you now have the very hot &quot;devops&quot; buzzword which seems to be very popular.
Aleman360almost 10 years ago
<p><pre><code> 1. JavaScript 2. Java 3. C# </code></pre> Everything else is niche, recommended by people drinking too much Kool-Aid.
评论 #9881307 未加载
评论 #9878766 未加载
评论 #9878176 未加载
wittedhaddockalmost 10 years ago
What is the motivation for refining your math ability?
评论 #9878034 未加载
cjbprimealmost 10 years ago
JavaScript.
megaman22almost 10 years ago
Java, C#, JavaScript, and maybe Python are probably the best chance of steady work, since they are so ubiquitous. C or C++ for some domains, like embedded systems, drivers, and other heavy-duty systems work.<p>Learning the more esoteric stuff can be fun and can teach some interesting approaches to programming, but they are niche. Maybe more highly-paid jobs, but the availability is orders of magnitude lower than the more widely-used languages.<p>Not knowing anything else about you than that you are from India, and just going on the experiences I have had working with some Indian subcontractors, doing some Rosetta Stone English would probably be a worthwhile investment. It&#x27;s mostly the tempo that seems to confuddle Americans.
enkiv2almost 10 years ago
Learn all of the above. If you hear about a language and it seems like it&#x27;s significantly different from the ones you know, learn it. Learn all the languages.
评论 #9878051 未加载