Ask YC: Learning to hack...
1–10 of 54 posts
Re: Ask YC: Learning to hack...
#2and also, if you are a DB guy like me, then even with ordinary SQL, u can hack a lot of stuff...
Re: Ask YC: Learning to hack...
#3On the client, you have 2 primary choices: HTML,CSS, & Javascript or Flash/Actionscript. I would definitely opt for HTML,CSS, & Javascript because it's open source and it's everywhere.
On the server, you have many more choices for languages and databases. One of those languages is Javascript, although not too many people use it on the server.
I think you're on exactly the right track. Learn how to build web pages first with HTML, CSS, and Javascript. Then when you're ready to "connect" to the server, ask the next question, "What is the best language/data base to use on the server." But stand back because sparks may fly from your terminal screen as we hackers fight with each other trying to answer that one :)
Good luck.
Re: Ask YC: Learning to hack...
#4i 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 language, ont he contrary it is a very powerful language that is used by a lot of big companies and small startups.
so not only is it a good language to start with but it is also something you will have great use for in general as a skilled hacker.
while paul graham and a lot of others rave about LISP(right fully, its a powerful, flexible language with some very special features) i wouldnt start with it. it lacks a standard and you start working on a higher level of abstraction right away, there is not a lot of libraries that you can just install and start having fun with right away as you can with python. i definitely think you should learn it later on but not at the start.
with python you can add the pygame library and start making simple games right away, it is very easy. you can write webapps with webpy/django without much knowledge needed.
then as you evolve you should pick up something like the art of programming(or a similar book that has code in a language you know) and learn about all basic algorhitms and datastructures. if you want to be a serious hacker you need to know the theory.
python however lets you create cool things right away without knowing that much.
while this is a rant for python it is not fanboyish, i just think python is very suited for programmers of all skillevels. there was an article on here some days ago about pythons suitability as a beginners language.
there are other options obviously, ruby for example his fairly similar to python in a lot of aspects but when python tries to keep things simple(there should preferrably be one obvious way to do things) rubys philosophy is there is more than one way to do it.
you could ofc learn java(java and javascript only have the name in common) which is wide-used language that you will run into sooner or later anyway. on this board youll probably find that it often gets critisized for being a language for average programmers though. it is fairly verbose and in some peoples opinion too objectoriented and dont offer any options.
the downside with python and ruby are that they can be pretty slow but that isnt an issue for most applicatiosn and certainly not for the apps youll write a s a beginner.
ruby also has a very popular webframework called rails(ruby on rails).
c/C++ are probably the fastest(executionwise, not developmentspeed) and are also good to learn but are a little more difficult to start with and c is fairly low-level. good to know but wouldnt recommend it to start with. devc++ is a good development environment if you do though.
Re: Ask YC: Learning to hack...
#5I'd suggest the following: find a web page that interests you, view the source, and try to understand what the source code is doing. Start with getting a vague overview, and keep drilling down into each layer of abstraction, asking questions repeatedly, until you truly grok every line.
When you can do that, you'll be well on your way.
Re: Ask YC: Learning to hack...
#6Re: Ask YC: Learning to hack...
#7Also, I find it very effective to learn by looking at examples on line first and create similar problems to solve. That way, my head remain active to think through the problem solving process. It also helps memorizing the syntax because you see the purpose of the code instead of just passively taking it all in.
Re: Ask YC: Learning to hack...
#8I would suggest starting with Java. Java is a modern language, you can get a free compiler and IDE, there are tons of excellent books, and you will learn all the concepts of object oriented programming without having to deal with the 'interesting' parts of the machine.
Set yourself a goal, for example to create a GUI app that organises your MP3s or so. Then work on that as your way of learning Java.
After you know Java, the other imperative languages are mostly about syntax. There are no real new concepts to learn.
Now, I do not use Java personally. I use C++, and I started with VB. It's useful to learn C++ early, but only attempt this if you are a dedicated and patient person.
Re: Ask YC: Learning to hack...
#9For all intents and purposes, you will need to learn (at least) 2 technologies, one for the client and one for the server. On the client, you have 2 primary choices: HTML,CSS, & Javascript or Flash/Actionscript. I would definitely opt for HTML,CSS, & Javascript because it's open source and it's everywhere. On the server, you have many more choices for languages and databases. One of those languages is Javascript, alt…
Not quite - there are other applications of programming than web and web services...
Re: Ask YC: Learning to hack...
#10Install ubuntu 8.04 & explore the add/remove apps. Install netbeans & write a hello world app. Install quanta & edit some saved web pages. Get mediawiki working & use it for notes. Install a simple mediawiki extension. Edit it, or write your own.