Ask YC: Learning to hack...
31–40 of 54 posts
Re: Ask YC: Learning to hack...
#32Re: Ask YC: Learning to hack...
#33Re: Ask YC: Learning to hack...
#34It's important to start with a real task, and not only do the simple training programs you'll find in every manual/tutorial. I can't stress enough the difference between grasping a concept and actually being able to apply it in the field.
Second, after you learn your first language, don't ever think of sticking only to it. Learn your second, learn your third and your Nth language and never stop learning them. Sure, most of them are similar (python is like ruby, perl, lisp, c is like c++,c#,java) but there are some oddballs like prolog and haskell which will make you a better programmer just by knowing that they exist and what they're about). Thus you'll have a tool for every job.
Also, after a while, learn assembler (x86) and some hardware theory (how a computer works, what's in a CPU or a GPU etc.).
Finnaly, have fun! Don't feel pressured to know anything you don't need or don't think will make you a better programmer. Don't learn Java and it's assorted libraries because every job wants you to know it. Don't learn LISP because the cool kids are doing it, and don't write programs you won't use.
Re: Ask YC: Learning to hack...
#35Assuming you want to do web programming, I would suggest you start with Python as your first language. It has quality introductory material[1] and is widely used for web programming, as well as many other tasks. There is less complicated syntax that you have to ignore while learning how to program compared to Java and C++, and is generally regarded as a Better Language. Even if you weren't planning on doing web programming, Python would still be my suggestion for a first language. I'd only suggest anything different if your main concern was getting a generic programming job, in which case Java would be a better idea.
I feel like JavaScript would be a particularly poor choice as a first language since most introductory JavaScript material isn't trying to teach how to program; it typically teaches how to manipulate web pages. As a new programmer yourself, it will be harder to judge what texts you should pick from those that are available.
If you start out trying to learn how to program web applications instead of learning how to program in general, you'll be selling yourself short. Your code will be worse and it will be more difficult to figure out how to solve atypical problems that a web framework hasn't solved for you. Don't do it.
[1] Or so I hear. I haven't read introductory material in years, and then it was C++. Try How to Think Like a (Python) Programmer: http://www.greenteapress.com/thinkpython/
Re: Ask YC: Learning to hack...
#36Most of all, write programs that are fun. For my third year software engineering class we wrote a 3D implementation of bomberman. It was a blast to write and I still hack on it now and then to add crazy over the top powerups.
Also, it looks like you've found a good place to get your news from. Being aware of cool new projects / languages / ideas is always a good thing.
Re: Ask YC: Learning to hack...
#37learning html and javascript could be a good place to start since you can make things right away with those. i think that is very important when you start, to get instant feedback, making stuff is fun :) for this reason i would recommend python as your first language. it is very highlanguage and have extensive libraries. it has clear sparse syntax and is very easy to write and read. but that doesnt mean it is a weak…
Also, Lisp lacks a standard? Huh? Care to elaborate on that? I mean sure, CL's standard is older than some dinosaurs, and Scheme's standard is currently rather controversial, but both have standards. Especially in the case of CL, there's little to complain about.
Re: Ask YC: Learning to hack...
#38learning html and javascript could be a good place to start since you can make things right away with those. i think that is very important when you start, to get instant feedback, making stuff is fun :) for this reason i would recommend python as your first language. it is very highlanguage and have extensive libraries. it has clear sparse syntax and is very easy to write and read. but that doesnt mean it is a weak…
Good place to learn Python: http://www.diveintopython.org/
O'Reilly's Learning Python is also an excellent learning tool for the language.
Re: Ask YC: Learning to hack...
#39Earlier quoted context omitted.
You might want to add that the "View Source" option is only in Firefox once the Web Developer add-on is installed. Now that you mention it, I would suggest installing this add-on for many reasons, but I found personally that the way a majority of code is presented in books and the way it is actually implemented in the real world are two different things. This hurdle has been the greatest for me with regards to CSS. B…
> You might want to add that the "View Source" option is only in Firefox once the Web Developer add-on is installed. No, it's a standard part of Firefox. "View Selection Source" is too, which can be useful. I agree that Web Developer (or similar plugins) can be a great way to learn.
FireBug even has a javascript REPL built in!
Re: Ask YC: Learning to hack...
#40Earlier quoted context omitted.
Also, Lisp lacks a standard? Huh? Care to elaborate on that? I mean sure, CL's standard is older than some dinosaurs, and Scheme's standard is currently rather controversial, but both have standards. Especially in the case of CL, there's little to complain about.
And which CL would you recommend the Padawan Hacker use? Oh, that's right there isn't a majority view on this... hence no standard CL to point people towards.
One of you is talking about a standard in the true sense (such as an ANSI Standard, which Lisp has in spades) and one of you is talking about a canonical/standardIZED IMPLEMENTATION (which Lisp doesn't technically have.) So, everyone can follow the actual ANSI Standard for CL. And if you're looking for a standardized open-source implementation, you should just choose SBCL ;-) Either way, you should be Lisping instead of arguing.