TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

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

28 点作者 jsudhams将近 10 年前
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 条评论

WoodenChair将近 10 年前
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 未加载
ufmace将近 10 年前
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.
cies将近 10 年前
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 未加载
tetheno将近 10 年前
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 未加载
egeozcan将近 10 年前
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).
Ciantic将近 10 年前
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_chester将近 10 年前
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 未加载
estefan将近 10 年前
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.
niix将近 10 年前
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).
lmm将近 10 年前
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.
cowls将近 10 年前
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.
valarauca1将近 10 年前
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 未加载
krisgenre将近 10 年前
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.
popee将近 10 年前
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_将近 10 年前
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.
alistproducer2将近 10 年前
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.
jtwebman将近 10 年前
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.
lectrick将近 10 年前
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 未加载
dharma1将近 10 年前
English. j&#x2F;k.<p>Out of those, would pick Go
评论 #9877886 未加载
barrystaes将近 10 年前
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?
MichaelGG将近 10 年前
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.
Aleman360将近 10 年前
<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 未加载
wittedhaddock将近 10 年前
What is the motivation for refining your math ability?
评论 #9878034 未加载
cjbprime将近 10 年前
JavaScript.
megaman22将近 10 年前
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.
enkiv2将近 10 年前
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 未加载