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: Language Focus

11 pointsby mionalmost 12 years ago
I&#x27;m a young developer looking for a language to focus on. I already &quot;know&quot; a handful of languages, but I&#x27;d really like to master one. My current options are:<p>--- <i>Go</i><p>- Designed by legendary hackers: could learn a lot from their choices; great tools and environment;<p>- Very high performance: less $ spent on servers<p>- Static&#x2F;compiled language: not ideal for things that change too often (eg, startups)<p>--- <i>Lisp</i><p>- According to PG et al, Lisp is the best thing since sliced bread<p>- Somewhat steep learning curve<p>- Not a lot of ppl know Lisp: hard to collaborate, bad hiring pool, etc<p>--- <i>Ruby</i><p>- Great community, lots of libraries &amp; resources, etc<p>- Bad choice when raw CPU performance is important<p>--- <i>Python</i><p>- Swiss-knife: can tackle a wide variety of problems (web, big data, games, etc)<p>--- <i>JavaScript</i><p>- Server &amp; Frontend<p>- A great deal of effort is being put on it<p>- Lots of design flaws<p><i>From a startup founder point-of-view</i>, which of the following languages would I benefit the most from mastering?

9 comments

cpfohlalmost 12 years ago
Go: I actually disagree that it &quot;not ideal for things that change too often&quot;. The cost of deploying changes is very low b&#x2F;c it compiles so quickly. Furthermore, the static typing is extraordinarily lightweight. You have nothing to worry about there.<p>Lisp: I&#x27;ve only ever used it academically. I&#x27;m not fit to comment on it, although my inclination is to say as a founder you should skip it since it&#x27;s not nearly widely used enough.<p>Ruby: Works good. (sic) Tons of libraries are a blessing and a curse, though. Also, there&#x27;s 1000 ways to do everything in ruby...that gets old fast since every library you ever use will chose a different one. All that said, you can&#x27;t go wrong because of how widely it&#x27;s used. On the other hand if you&#x27;re using it solely b&#x2F;c of rails, then Ruby itself will never really be your main focus.<p>Python: I have a soft spot for python...I use it to deploy my Go. It&#x27;s widely used, mature, and I think it&#x27;s a reasonably good choice. Great for quick file-manipulating tasks as the tools are built in and are easy to remember.<p>Javascript: Plan on making a web-tool? You&#x27;re gonna have to learn it. Some of the ugly goes away when you use coffescript. I think you&#x27;ll need base-level competency at this no matter what other language you choose.<p>I notice you didn&#x27;t add C#&#x2F;Java. C# is actually a really pleasant language to use. The trouble is that you (more or less) <i>have to</i> have a windows back-end to use it.
评论 #6143568 未加载
cgagalmost 12 years ago
If you don&#x27;t want static typing, Clojure is my recommendation. It&#x27;s a lisp, but it also emphasis functional programming (common lisp doesn&#x27;t), has amazing immutable data structure, has nice syntax literals for more than just lists, as well as other nice like destructuring binds. It has great concurrency support (including go-like channels), and it runs on the JVM so it&#x27;s pretty fast and has access to tons of libraries. Also Clojurescript (clojure to javascript compiler, some example code: <a href="https://himera.herokuapp.com/synonym.html" rel="nofollow">https:&#x2F;&#x2F;himera.herokuapp.com&#x2F;synonym.html</a>) is pretty mature, though you&#x27;ll have to know the basics of javascript with any cross compiled language.<p>Though I don&#x27;t necessarily agree with you that static typing isn&#x27;t going to be good in a startup environment, I&#x27;m just getting into playing with static languages (Haskell) myself so I can speak strongly on the matter. In that domain though, I think Haskell&#x2F;Ocaml and even Scala are better choices than Go.<p>If you do want to learn Clojure, the O&#x27;Reilly book &quot;Clojure Programming&quot; is excellent and the best out there for beginners. You should easily be productive after reading that, it&#x27;s pretty comprehensive. The Joy of Clojure would be a great follow up though. The #clojure channel on freenode is very friendly as well.
staunchalmost 12 years ago
I think every programmer should know one of Ruby&#x2F;Perl&#x2F;Python <i>very well</i> because they&#x27;re by far the most versatile type of language. It&#x27;s pretty rare that you <i>can&#x27;t</i> solve a problem in one of them, even if when it&#x27;s not the <i>best</i> tool for the job. It truly doesn&#x27;t matter which, whatever feels the best to you. It&#x27;s not a technical choice.<p>If you want to do Lisp I think Clojure is a really exciting option. It&#x27;s modern and runs on the JVM, which is a big advantage for some people.<p>You can learn basic Javascript in a week, which is all you really need for most web development tasks. Most web apps are a sprinkle of Javascript, though that is not the case with every app.<p>Javascript, Ruby&#x2F;Perl&#x2F;Python, and Go are a pretty killer combo. You&#x27;ll have trouble finding problems you can&#x27;t solve with that set.
评论 #6151845 未加载
tomealmost 12 years ago
Personally I do not enjoy using poorly-typed languages (C, C++, Java) and prefer the flexibility of untyped languages (Python). However I <i>even more</i> prefer the flexibility and strength given by powerfully-typed languages (Haskell, and I suppose Scala, OCaml, F#).<p>Don&#x27;t confuse typing with rigidity.
评论 #6151837 未加载
brudgersalmost 12 years ago
I think the question is incompatible with the constraints. From a founder&#x27;s point of view, there&#x27;s no reason to master any language, let alone a new one. What matters is being just good enough at something to start iterating.
dscbalmost 12 years ago
I think the better tactic is to focus on mastering programming and solving problems, rather than a specific language.<p>Learning a new syntax is not that challenging, and no language will be the optimal(or even possible) to use for every project.
评论 #6143191 未加载
FurrBallalmost 12 years ago
Personally I would go with Lisp. The symmetry between data and executable code affords flexibility beyond compare. You have a first class suite of tools with Emacs + SLIME + Paredit. You have native deployment on multiple platforms to boot. Can&#x27;t go wrong.<p>If you prefer static typing I&#x27;d choose C++ over Go. Good old C++ may not be the flavor of the week but it is almost as dummy-easy as Java if you use smart pointers and RAII. It has excellent generics support, something sadly missing from Go. Great mutli-platform native deployment.
lsiebertalmost 12 years ago
Are you working? If not, pick a language you can get work in, work that you want to do. Even if you are in school, at some point you won&#x27;t be, and you will want to have projects in your portfolio, and skills you can leverage to get work.<p>Other languages will be around for later. You can learn Lisp while working in python , but knowing lisp probably won&#x27;t get you the freedom to master python after work.
andrewcookealmost 12 years ago
is the idea that you want to be a founder, and are asking what language would best help you, or are you asking founders what kind of people they want to employ?<p>if the latter just check the hire threads (at the start of each month in &quot;ask&quot; there is a thread about who is hiring).
评论 #6143551 未加载