Hacker News new | comments | show | ask | jobs | submit login

I used to ask myself this question all the time, I still ask it. The best answer I've come up with is: don't choose the language first.

Pick the project to work on first. Once you've done that your field of (practical) languages to use gets narrowed, and it becomes easier to choose the language.

- Want to build a web app? If you're looking to break into the web startup scene, Ruby and the MVC framework Rails seem to be the most popular.

- Want to do robotics / embedded systems? First I'd say buy an arduino kit and have fun with it. This will involve a flavor of C, and C looks like the de facto king of the field.

- Want to do banking? Perhaps try to build a trading bot in Java with Yahoo's free (15 minute delay) stock quotes.

! Find your interest first. If you can't find your interest, find a project that sounds fun (not too big!) and then choose the best language for it. If you find it's fun and interesting, keep going.

With employability, projects reign supreme, programming languages don't. (most of the time, but you don't want to work for the companies that care too much about you knowing their specific language -- hint: the job will get boring quickly).

Didn't know about that yahoo quotes thing, do you have any reference?

It looks like google's hosting some documentation links:


If you're using Ruby, I wrote a small wrapper around it, a dozen years ago: https://github.com/herval/yahoo-finance

I'm interested in the banking route. What specific libraries are useful for building such trading bots? What do banks look for in particular? P/L of the bot? Beta?

Java, Spring, SQL, XML processing, and recently Scala and NoSQL (E.g. Mongo) are good choices to invest in learning - they are used extensively but of course not exclusively.

Don't worry about super special libraries - just cover the basics of some of the above and build something that "works" and it'll be good groundwork.

What "Works" means is up for grabs, but any set of functions that expose you to the platforms will be worthwhile. All the concepts and capabilities you build in will do you personally a lot of good, and give you good talking points, but don't expect interviewing panels to be actually that picky about specifics - they want to find good developers, not bring in a 3rd party trading bot :-)

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