I am a front-end developer seeking to add programming to my skillset. As with all things, I'm sure that practice and practical application will aid me most, but I am currently having trouble wrapping my head around the transition from a very linear type of development (HMTL/CSS) to the more "3-dimensional" or non-linear concepts of programming, e.g., object-oriented programming. I'm just feeling overwhelmed that there's so much to know! Where to start, where to start. I'm especially interested in learning Javascript, PHP, and RoR. But I'd prefer to really get intimate with PHP as I like tinkering with WordPress.

Does anyone have any suggestions for resources relevant to my study, or hands-on example projects that would yield the most practical experience for me? I've tinkered for years, but am just anxious for that ah-ha moment for things to start clicking.


  • 2
    "get intimate with PHP" - get intimate with girls instead and PHP just code the damn thing.
    – user8685
    Feb 23, 2011 at 18:19
  • 1
    @Developer Art: Maybe OP's girlfriend is Penelope Harriet Peterson? Feb 23, 2011 at 18:22
  • And who would that be?
    – user8685
    Feb 23, 2011 at 18:32
  • @Developer Art - PHP
    – Nicole
    Feb 23, 2011 at 18:35

3 Answers 3


A place to start is by reading this excellent answer to the question, "Why does it matter that HTML and CSS are not programming languages?":

HTML and CSS describe presentation, whereas programming languages describe function
There is often an implication that skills in HTML, CSS etc. are somehow inferior to skills in "real" programming languages. This is a serious mistake.

What to do

  • Understand that the end-result of a web-based application is an HTML page, no different than one that was typed by hand.
  • At the simplest case - imagine a web page that says "Hello, [your IP address]" instead of "Hello, World". Write this in PHP and see it working.
  • Understand that at its core, the goal of web programming is mainly two-fold: 1) Reduce presentation-code/HTML duplication (in other words, using templates) 2) Respond to inputs (query string, cookies, form posts, and with JS, live interaction) dynamically rather than just producing a static result.
  • Begin imagining what other dynamic dimensions can be added to a web page. Content Management Systems (like Wordpress) are the most common - content is inserted into a template instead of every page being coded by hand. Personalized content (for logged-in users) is probably the next most common use-case of web programming.
  • Stay on this site and follow the tags for common web-based technologies.

What not to do

  • Don't jump right into PHP code in Wordpress. It's definitely not the cleanest example to follow.
  • Don't get worried if you don't understand Object Oriented programming right away. A procedural PHP program can be just as functional as an Object Oriented one. Just think of OO as a way to make the execution of your programmer cleaner and more reusable.
  • Thanks, I think your fourth point about use-cases is most helpful, as I already understand many common PHP scripts. It is these common use cases and the "What not to do" scenarios that I'm hoping will accelerate my learning and be most useful in the real world. Got any more? Any good tutorials out there on some of your examples, like creating logged-in experiences?
    – Hans
    Feb 23, 2011 at 18:46
  • I would just like to second the comment about not stressing about Object Oriented stuff for the moment. The procedural way of doing things works just fine for most web apps. Feb 23, 2011 at 18:57
  • @Hans - I'm sorry, I don't immediately have any good examples of basic projects, since I'm not often looking for that sort of thing. I think specific questions on here or SO are very good, and I'd be happy to answer any questions if you link them back to the comments here so I can be aware of them. If I do find any good resources, I will definitely add them here.
    – Nicole
    Feb 23, 2011 at 21:18
  • Out of curiosity, do you know whether WordPress is an example of procedural or OO (or other)? What's so "unclean" about it? Do you know of any open-source CMS that are "good" programming examples to follow?
    – Hans
    Feb 24, 2011 at 16:06
  • @Hans, from what I've seen WordPress is a bit of both - backend is OO, front-end (templates) are very procedural. I had to tweak the login page once and it was just not well organized or easy to follow. All of the templates heavily mixed PHP code with HTML. I'd hesitate to look at any open-source CMS systems, other than (possibly) ones that advertise themselves as "lightweight". They've all become too bloated. Check out this answer I left on SO for the pattern I use.
    – Nicole
    Feb 24, 2011 at 16:53

I would say start with javscript. You've probably already got some idea of what it is / how it works. You can apply it on the server side using node.js.

Beyond that I would say ruby/ruby on rails and then php.

But the real important thing is to build something, pick a project and build it using the language you want to learn. You can't get that same experience writing example code or reading books.


Pick up JQuery In Action and work through it.

You can use JQuery and JavaScript to manipulate elements in the DOM, that you're used to and create lots of small, fun programs just in Client, and get used to programming, then you can get onto the Server side of programming.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.