Whatever you do, learn jQuery … although, you don’t have to learn everything about it. Just get an overview and understand the basics. jQuery is big and trying to learn everything might be a waste of time.
… It’s good to know WHAT a framework can do, so you can consider it for projects you are working on. But don’t use a framework for the sake of using it. People often think that they should be looking for a way to use a framework. No … use a framework only if you need to.
So much, and too much to learn!
The thing about learning tech skills, is that you have to learn to filter – there is so much to learn, you can never keep up. You have to pick and choose.
My advice is to first learn the basic concepts and techniques that are universal. Things like OOP, MVC design pattern (and others), separation of concerns etc … then get into more advanced programming concepts. Once you have that, you can poke around some frameworks, keep your eye on what is out there, but keep in mind that it is not possible to learn all things.
I lost 10% of my hair in the 1990’s, trying to learn too much!
Back in the 1990’s when I first cut my coding teeth, I used to drive myself bat shit crazy trying to keep up with all the ‘hot’ amazing nerd-tech hitting the Web. Most of the time, the new amazing thing wasn’t really much better than what was already there, and many a times, you would sacrifice some advantage in one library, framework or language … for another.
Again, know the basics well, learn the key libraries/frameworks so you at least know what they can do. But don’t go nuts. Personally, in the JS world, I would learn jQuery first and foremost. But not all of it.
Developers sit around all day (and night!) coding. If you slouch, or have a crappy chair, you are setting yourself up for lower back pain. But there are a few simple things you can do to reduce, or completely relieve the pain.
Flash was dead a few years back when Steve Jobs put the hit on it, by not allowing Flash on iOS. Then Firefox slapped Flash off the side its’ head, by blocking it. Then Facebook’s security chief ripped into Flash, calling for it to be trashed.
… But wait, there’s more!
Now Google is blocking Flash ads (at least) and that my nerd friends, means the end of Flash. It is no more, and we shall not speak of this passe, bloated, security risk again.
Ahh, how technologies come and go – a very short version of the dead-tech list:
… Is Ruby next?
If you want to do ‘flashy’ things, use HTML5. It’s just better.
… The above 4 are created with PHP. WordPress alone powers something like 25-30% of the world’s websites! Now consider that Facebook is investing heavily into PHP making it better and faster. No such heavy-hitter for Ruby and Rails last I checked.
Also, keep in mind that standard run-of-the-mill PHP, runs circles around Ruby at runtime.
The presence of the 3 biggest CMS’, along with Facebook’s backing, will insure that PHP is here for a long while. Ruby has none of the above.
Ruby is still a biatch, when it comes to getting a webapp online
Try teaching a noob how to get a Rails ‘hello world’ app online. Try teaching a noob to get a PHP ‘hello world’ app online. PHP = upload php page. Done.
Ruby: install gems, read 5 pages, watch incomprehensible videos by nerds who couldn’t teach Hawking ‘hello world’. Good luck with that barrier to entry. PHP is just too damned easy to go live with relative to Ruby and Rails.
What’s a young nerd to learn?
…They rule supreme now, and will for the foreseeable future.
Here is the coupon code: summerStart
Offers ends soon – take advantage!
If you have any questions, feel free to contact me.
I just wanted to mention that we just launched the new killerphp.com skin. It had been a few years since we updated the look of the site, so it was about time.
In other news – I am still here! Just busy these days with projects, but will be back with new stuff soon. Meanwhile, if you are a programming noob, want to learn PHP or OOP … then check out the free courses.
I got into a minor debate with a freshly minted nerd, who was barely out of school … and so, lacking in experience. He thought that knowing advanced math was a requirement to become a developer. Well, that is largely not the case in the real world of software development.
… At least that’s what my 20yrs of experience has taught me. Check out the video of me yapping about this:
These days, Python and Ruby are popular programming languages with the tech startup crowd, and so, many of the venture capital backed ‘teach code’ startups, have ruby or python courses targeted at kids. The problem is, that these are not the best languages to teach programming with – especially in K12.
Why PHP is better?
In a nutshell:
1. PHP is easier to learn:
Python and Ruby are object oriented language at their core, so to do anything with the languages, you really have to understand object oriented theory and principles. This adds an unnecessary level of complexity to new learners.
Yes, modern software development is largely object oriented, but my 10+ years experience in teaching web development, has taught me that it is better to teach basic programming concepts and techniques before adding the OOP (object oriented programming) layer.
PHP has both an object oriented layer and a much less complex layer that is ideal for teaching programming to new learners – especially younger students.
2. With PHP, it’s easier do real things.
With PHP, because it was designed specifically for the web, you can create web apps fairly quickly. On top of that, getting PHP apps live is also trivial – just upload the files to a PHP enabled server, and you are done. Try that with Ruby or Python!
Ruby and Python were not designed with web apps in mind. They were put together more as general purpose languages and have been adapted for the web. Yes, they are both excellent languages, but there is that additional layer of complexity when it comes time to actually creating a web app and going live.
…. These days, if you are creating apps, they are most likely web apps! So this is relevant.
3. PHP is BY FAR the most used web development language – it’s not even close!
If you are looking to put practical skills into you students hands, then PHP is easily the best choice. Check out this simple stat: over 80% of dynamic websites, that is to say, websites that are also web apps, are created with PHP. Ruby and Python together may add up to 7%.
In fact, what I hear from new programmers time and time again (after they learn Python or Ruby,) they discover that they have to learn PHP, since there are so many more jobs in the PHP world.
Consider this next stat, WordPress runs about 23% of the world’s websites!! Add in Joomla and Drupal (two other popular CMS’) and we are probably close to 30% of the worlds websites being run by 3 web apps created with …. PHP!
.. There is no equivalent in the Ruby or Python world.
The point here is that there is a huge ecosystem in PHP that no other language comes close to. When selecting technologies, we all know from the Apple Appstore, that the ecosystem is hugely important. It’s a big reason why iPhone is so successful.
It seems clear, if you want to teach kids (adults too!) more easily and you want them to be able to easily see their code actually do something real, PHP is the obvious choice.
Add in the market viability of the language and the growing probability that Ruby will slowly fall into a micro niche (it’s already niche IMHO) … then there is really no argument. You can see why Studioweb teaches programming with PHP.
I chose to teach programming with PHP in 2004, NOT because I was a PHP programmer zealot. I’ve written software in 8 or so languages, I am language agnostic. In fact, my favourite language for years was Java … I’ve written more lines of Java code than any other language.
No, I still chose PHP to teach programming, because it was the best choice.