Ask HN: How to get started in web programming?
A little bit of introduction: I'm a programmer, with appr. 8 years of experience writing desktop application (CAD, in C++), and game programming in the last 3 years. The working experience regarding the programming languages is just bare C, some assembler, and C++ (in C-with-classes mode mainly).
Since I and my partner decided to go for a web startup (the application idea is still quite vague as expected), I've decided to do a research about how to get started in web programming as a beginner (in web programming) but as an experienced developer as a whole. Here is my current plan as a result from my research for learning of the necessary languages and technologies in order to make a prototype for out web application while still holding my day job:
Front-end development: my research concluded that for the beginning front-end development HTML, CSS, XHTML, and JavaScript are the classic bunch of technologies to learn. These are the books that I plan to read:
* "Head First HTML with CSS & XHTML" (O'Reilly) (Alternative: "Web Design in a Nutshell: A Desktop Quick Reference" (O'Reilly))
* "Head First JavaScript" (O'Reilly)
Back-end development: here I don't have a clue how to get started. I've familiarized with most of the current (I hope) widely used languages and frameworks, but just the names. I'm still searching for a book that clearly conveys the message that it is whole package for back-end development and at the same time showing the big picture. Maybe the multitude of technologies make the research and the choice quite hard, maybe just the inexperience, maybe both, but I'm struggling to decide with which programming language + framework combo to start, and which first book on the subject to buy and read. My personal preferences are towards Python since I've read 2 of most recommended introductory books and I've wrote some simple examples, so generally I've liked it, but this is quite biased and subjective...it's the only programming language from the common back-end choices to which I've been exposed.
Thanks in advance
7 comments
[ 3.4 ms ] story [ 26.3 ms ] threadhttp://techiferous.com/2010/07/roadmap-for-learning-rails/
Otherwise just jump into Django right NOW.
1) Do the tutorial on the site: http://docs.djangoproject.com/en/dev/intro/tutorial01/
2) Get a copy of "Django 1.0 Web Site Development" by Ayman Houriyeh. I think this is hands down the best Django book you can get. Why? Because it has a basic intro to jQuery as well and goes through integrating jQuery with your Django site. Don't worry about it being 1.0, it's still the book most worth your time.
3) Download South and do the tutorial at http://south.aeracode.org/ . Never start a Django project without South now that you know it exists.
4) Don't get any other books, Just Build It. Consult the docs, mailing-list, and #django-users as needed.
You probably won't need an IDE for your first site as you'll probably be looking up functions in the Docs manually to see the examples, but if you need one later do ECLIPSE+pyDev.
edit: as for struggling with language to choose, if you need any reasons to stick with Python:
-Underlying implementation is getting faster and faster: http://codespeak.net/pypy/dist/pypy/doc/
-It has reached critical mass in a variety of fields in addition to web development. The SEC is even considering requiring companies to submit executable Python source code instead of certain documents.
-You have experience in C\C++ programmer and it is easy to run C from Python. You might find Python experience speeds up desktop application development as well.
-You probably already know enough Python to get started with Django, learning another language will slow down your momentum, you've already made a good-enough-decision that's not worth the resources optimizing more than just trying to launch.
ALSO: get the FireBug plugin for firefox asap and start pressing F12 on every site you visit.
BTW, The free online Django book for you to get started: http://www.djangobook.com/en/2.0/ and the brilliant documentations.
Hartl is a good writer and he covers the whole web stack. Besides, the book is great for all levels.
Yes, I felt the same way as you did about python, but there is nothing wrong with the Ruby camp either. I've spent some time with django as well, but there's definitely some overlap.
I'd suggest that you finish the RailsTutorial book for getting a good exposure to the whole web stack and then decide for yourself if Ruby or Python is right for you. But, seriously checkout the table of contents for a good measure first.
If you don't wanna waste too much time, checkout http://www.tryruby.org to get a glimpse into the ruby world.