Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ruby, Swift and Javascript. Assuming Swift, once open-sourced, gains popularity outside of Mac/iOS development, these three languages have you covered pretty much completely (besides really low-level stuff, of course). These three let you build server-side apps, web applications (including client-side code), mobile apps (iOS) and desktop apps (Mac).

That said, whilst programming languages are fun to learn and tinker with, I find a lot of people give them too high a priority (hence you hear stuff like "now that Swift is open-sourced and available on Linux, iOS developers will be able to easily write Android apps"). Compared to UI frameworks like Cocoa, etc, a programming language is very quick and easy to learn.



I'm singling out your post because of how "scripting language"-weighted it is. (Minus Swift.)

Ruby makes for a pretty slow server side language. It's appropriate when moving fast, but at scale it's rather icky. Your other languages seem to fill anything it can do.

Have you considered Go, Java, Scala, C#, etc.? None of these are "low level".


That's why I included Swift. Now that it is going to be open-sourced and available on Linux, it will - hopefully - become a good replacement for Go / etc. Will have to see how the community evolves, of course. Currently I use Go in certain situations but I'm hoping to eventually be able to replace it with Swift - will just have to see how things progress.

Disagree though about Ruby being icky at scale. Whilst some companies have moved away from it as they have gotten bigger, there are tonnes of companies that are still using it successfully.

I also disagree that the other languages cover Ruby's uses. It is an incredibly flexible and powerful language and has an incredible assortment of very well written and very well maintained libraries - far exceeding any other language I've used. Plus, having used many other web frameworks, I'm afraid nothing is as good as Rails. Some, such as Django, come close - but nothing quite beats it.

That said, it all depends on your use cases. I'm mainly a web programmer, building web apps, APIs and the occasional mobile app. I'm not dismissing other languages by any means, but these are the languages that I would personally keep if I had to throw away my knowledge of all programming languages but three.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: