Learning to Code, Cont'd
• John Vandivier
This article will be helpful to you if you want to get involved in web development or a related field.
This article basically extends my programming skills flow chart article. I have also written an intro to Ruby on Rails.
Let me cut to the chase. Here's how I think you should learn to program:
- Learn basic Wordpress with a wordpress.com site.
- Begin learning advanced Wordpress and basic web administration by getting a godaddy.com account with a Wordpress hosted site.
- While you are learning advanced Wordpress, start coding from scratch some of your own HTML and CSS.
- After getting some basic HTML and CSS down, learn Javascript.
- Then learn at least one Javascript library, if not more. Most importantly, learn jQuery.
- Then learn PHP. Also about this time you will want to learn how to write Wordpress plugins from scratch, which uses PHP.
- Then learn SQL. You might even learn SQL before you learn PHP, it depends on what you are coding. I think most people will want to learn PHP first, but I actually learned SQL first because I am into data analysis stuff which most web developers and admins will do a lot less to none of.
- (Optional) After that you can start branching out to advanced web languages (Ruby on Rails, etc) or head toward offline languages (C, etc). You can also learn a PHP library, an alternative database framework like NoSQL (MongoDB, etc), or something else like websockets.
- HTML5 allows 3d rendering.
- C-variants allow 3d rendering.
- Regarding 3d rendering, I would say the two are functionally equivalent.
- However, C-variants perform much better at 3d rendering, so they are not performance equivalent.
- If we develop a full-blown real-time 3d networked video game app with highly detailed images, the processing difficulty could become so great that an HTML5 app would crash, while the C-variant app would continue smooth performance. This shows that at some point performance differences imply functional differences. We can call this special kind of functional difference a performance-induced functional issue. Performance-induced functional issues are distinct from what we could call
- A real functional issue would be said to exist if HTML5 did not allow 3d rendering.
- You might want to visit step 8 to eliminate performance-induced functional issues, but I don't know of any sort of other functional reasons to go there.
- Let that sink in for a while. Pretty much any program you have ever seen or can imagine can be rewritten into HTML + libraries. Mind blown.