Live data from Hacker News

Ask HN: What should I learn?

news.ycombinator.com

21–30 of 34 posts

Re: Ask HN: What should I learn?

#21
I would suggest Python. It is easy to learn and can be used in many different projects including web apps.

You can then use your new skill and build web apps on Google App Engine. It's great because you won't have to worry about the non-so-fun bits, like configuring servers.

Re: Ask HN: What should I learn?

#22
post #4

This is the mother of open-ended questions. There are many questions like this on Stackoverflow, be sure to check those answers, too. Deciding on what to learn is hard, however, deciding on which one to choose from a list of things is much easier. The important aspects are (in order of importance IMO): (i) How does this help with my bottom line, i.e. will knowing this technology earn me money (ii) How "sexy" is it, i…

For learning Javascript, I used http://eloquentjavascript.net/ It's really thorough, and if you get stuck somewhere you can email the author for help.

Re: Ask HN: What should I learn?

#23
post #4

This is the mother of open-ended questions. There are many questions like this on Stackoverflow, be sure to check those answers, too. Deciding on what to learn is hard, however, deciding on which one to choose from a list of things is much easier. The important aspects are (in order of importance IMO): (i) How does this help with my bottom line, i.e. will knowing this technology earn me money (ii) How "sexy" is it, i…

"And one final thing: Learn git!"

Can't stress that one enough. Really any source code control system will do, but make sure you know one well. It was the biggest thing missing from my CS degree. And it's handy to have a solid understanding of regular expressions and SQL, but learn source code control first.

Re: Ask HN: What should I learn?

#24
post #21

I would suggest Python. It is easy to learn and can be used in many different projects including web apps. You can then use your new skill and build web apps on Google App Engine. It's great because you won't have to worry about the non-so-fun bits, like configuring servers.

I have found http://www.pythonchallenge.com/ to be extremely helpful in learning python.

Re: Ask HN: What should I learn?

#25
post #9

It seems like you want something more concrete than abstract to work on, but if you want something that is very challenging and rewarding studying The Art of Computer Programming Vol. 1 is something you should consider. Depending on the program you're in, you might get this material from your CS program but judging from comments here on HN about the quality of CS programs in most schools, you won't.

Also Okasaki's "Purely Functional Data Structures" book is a nice and meaty thing to read. (Though I have to admit that of course it's much easier to read than The Art of Computer programming--at least judged by the metric that I actually read Okasaki's book, but wouldn't read tAoC just for fun.)

Re: Ask HN: What should I learn?

#26
post #6

Hadoop: designing MapReduce jobs is fun once it "clicks" for you. Hadoop Streaming is a good way to get started because it's an incredibly simple interface that uses stdin/stdout. Increasingly more companies are using it, from the big guys (Facebook, Yahoo) to startups (PowerSet pre-acquisition, LastFM, FlightCaster). Most schools don't teach it yet, so if you're willing to learn something in your free time it's a gr…

Why stay on the surface with MapReduce? You might as well dive into functional programming, and see the greater patterns behind these things.

Having some concrete experience with frameworks like Hadoop is still immensely useful, of course.

Re: Ask HN: What should I learn?

#27
post #26
post #6

Hadoop: designing MapReduce jobs is fun once it "clicks" for you. Hadoop Streaming is a good way to get started because it's an incredibly simple interface that uses stdin/stdout. Increasingly more companies are using it, from the big guys (Facebook, Yahoo) to startups (PowerSet pre-acquisition, LastFM, FlightCaster). Most schools don't teach it yet, so if you're willing to learn something in your free time it's a gr…

Why stay on the surface with MapReduce? You might as well dive into functional programming, and see the greater patterns behind these things. Having some concrete experience with frameworks like Hadoop is still immensely useful, of course.

Totally agreed. I was actually originally going to recommend Haskell and R in the comment but decided to stick with one technology.

Re: Ask HN: What should I learn?

#28
Learn a scripting language. Java, C++, and C# are great tools, but a command of scripting languages will serve you well. Perl, Python, and Ruby are the perennial favorites - I prefer Ruby, personally - but there are tons of others, like Lua or Javascript.

Re: Ask HN: What should I learn?

#29
I asked myself the same thing a week ago and decided that I'd like to master Emacs. You should think about the process that you use to write code and how you can refine that process.

I'd suggest you look into learning a scripting language. Simple scripts can make your whole life a lot easier. Something like Perl or Ruby would be a good addition to your coding arsenal.

Re: Ask HN: What should I learn?

#30
Like someone already mentioned, I would focus on developing something useful. For you or for someone you know. I went through the exercise of listing my current frustrations to find what I should be working on on my blog (link at the end of my comment)

The challenges you will face during the development of a real life application will help you learn much quicker. Which language you will choose depends on your preferred OS, your inclination towards Open source, if you want to maximize your wages, etc..

Link to the blog post about the frustrations exercise: http://aymeric.gaurat.net/index.php/2010/my-frustrations/

Post reply on HN