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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Should I learn a few different languages or become a master of one?

8 点作者 danielrakh将近 12 年前
This past year I had decided that I want to become an iOS developer. I had no prior programing experience, but I was determined that I would teach myself how to code and design to release an App. I have succeeded in doing that and plan on doing it many times over. However, making myself too dependent on one platform kind of scares me. But I also want to be great at what I'm doing, and that only happens through hours of beating on your craft. Should I continue to pursue and master iOS or branch out into learning something else like Ruby or JS?

8 条评论

s12chung将近 12 年前
Depends on your goals.<p>If you have a product in mind, another platform might be more suited for the product, so it may be better to learn that.<p>If you have fun learning new platforms, why not go for it?<p>From the standpoint of generating the max amount of &quot;code value&quot;, I&#x27;d stick to one platform. By maximizing &quot;code value&quot;, I mean the max amount of features you can create and the cleanliness of that code given a platform. Note that this does not necessarily translate to business value or value to the consumer. Technology changes so fast, that the value of your knowledge depreciates proportional to every platform you go into. It&#x27;s like for every basket you put eggs into, you lose more eggs.<p>In terms of happiness, you might choose a platform based on various characteristics. Do you like UI? Do you like being on the app store? Do you like the intricacies of code? Etc, etc.<p>For me, I like utilitarian code. It isn&#x27;t flashy UI-wise or techwise, but it&#x27;s clean, saves me from headaches and gets the stuff done.<p>In summary, if you have no goals, choose a platform and stick to it. Each platform has it&#x27;s own pros and cons, it&#x27;s up to you to decide what&#x27;s important.
评论 #6100417 未加载
readme将近 12 年前
Learn at least a server side language for now, and a web framework.<p>You don&#x27;t need to learn every single thing about JS (for example, you don&#x27;t need to know about the DOM and events, unless you decide to build apps with Cordova or something), but if you want to be a good independent mobile developer, having a server side language will enable you to work on your own backends. You&#x27;ll want to know SQL inside and out, too.<p>If you don&#x27;t know ruby or JS yet, I&#x27;d recommend just learning JS and using node for your backends with express.js. Node is pretty easy&#x2F;awesome, don&#x27;t listen to the neckbeards.<p>Don&#x27;t waste your time learning brainfuck or whatever if you want to work in industry building applications. Although things like that are cool, it&#x27;s never going to have a higher priority than the million other important things you need to learn right now. It&#x27;s best left to bored CS students who don&#x27;t want to rake in the cash to learn things like that.
评论 #6100781 未加载
cafard将近 12 年前
Both.<p>There are very few professional or top-notch amateur musicians who know exactly one instrument. All (I believe) have one best instrument, but for most it&#x27;s violin <i>and</i> guitar or cello <i>and</i> piano.<p>You will presently find useful tasks that don&#x27;t fit into the App world comfortably. Take them as the opportunity to branch out.
memracom将近 12 年前
There is no such thing as mastering a language. You can master a style of programming and you can master a set of libraries, but not a language.<p>Two things flow from this. The first is that once you have mastered the Java libraries or .NET libraries, you can easily add a couple more languages to your repertoire with different programming styles. But the other thing is, that learning a set of libraries is a lot like saying &quot;I can code without using Google!&quot;. Is that really an achievement? It&#x27;s like saying that you don&#x27;t carry a mobile phone or that you only use human powered transport. Now that Google exists, why would you bother learning a set of libraries inside out.<p>Far better to learn how to do great work using different programming styles, object oriented, functional, domain driven design, actor systems with a supervisor tree, and so on. That takes practice and cannot be googled.
评论 #6101855 未加载
wikwocket将近 12 年前
There is nothing quite like working with a platform&#x2F;language that you know inside and out, where you rarely have to stop and look something up, where you know the best way to do everything. It feels like flying a jet fighter, screaming along at Mach 3.<p>On the other hand, although it can be frustrating puttering along with a new language&#x2F;technology, googling some basic question every 10 minutes, that&#x27;s how you learn, and sometimes you need language XX to accomplish task YY.<p>Ultimately there is value to both, and as others have said, it depends on your goals. There will be times that call for learning a new stack and getting it done (even if it&#x27;s coded badly), and times that call for expert application of masters-level deep magic.
zachlatta将近 12 年前
You seem like you want to try other things, so go for it! I like to think that the best developers are T-shaped. The top of the T is a vast beginner&#x2F;intermediate understanding of many things. The rest of the T represented a very deep understanding of a select few topics.
waqasx将近 12 年前
&quot;I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.&quot; - Bruce Lee
sker将近 12 年前
Both. There are plenty of resources in the brain to master one language and be competent with many others.