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.
There are soooooooo many choices out there these days when it comes to writing PHP code. Here are just a few popular apps:
Sublime Text – uber-nerds love this one!
Dreamweaver – yes, it has a code editor too.
And there are many others, and I am not including the PHP IDE’s out there!
A PHP IDE (by the way,) is short for ‘Integrated Development Environment’. It is a code editor on steroids. They are much more powerful than standard code editors but they are also harder to learn. These days (2015) PHPStorm seems to one of the best, if not the best.
… The guys who created PHPStorm, created my favorite IDE for Java – IntelliJ IDEA. My nerd-servants are telling me PHPStorm is amazing. But, when teaching beginners how to program in PHP (or any other language,) it is best to not expose them to the added complexity of learning a full blown IDE. They can be very complex.
Back to code editors – so which is best?
In a nutshell: If I were teaching PHP, I would use either Sublime Text or Notepad++ if I was on Windows. Sublime Text works on both Mac and Windows but the license is ambiguous: it is free to demo but at some point you are supposed to pay the $70 for it. Not sure when though? I heard of some users still demoing it after 2 years!
This is a consideration for schools in terms of licensing. On the other hand, Notepad++ is free but it is Windows only.
Textwrangler is a Mac only HTML, CSS code editor but I don’t see you could use it for PHP.
The new year approaches and once again I will give you my assessment of where PHP will be in 2015. You might think me biased given killerphp is the name of the site … but you would be wrong. I am always ready to throw out a technology that no longer deserves my attention.
… That’s why I know 8-9 languages. And to be totally transparent, I’ve logged many more programming hours with Java than I have with PHP. That said, where goeth* our lovely PHP in 2015?
PHP in 2015
These days I hear the young nerdlings are all enamoured with Python. Yes, Python is a fine language and worthy of praise. But is it better than PHP? And what about the jobs – how much Python work is out there to be had?
Let’s start with the most important number: over 80% of dynamic sites run on PHP! Not Python, not Ruby. Nope, little old ugly PHP runs 80% of web apps in the world! From what I hear, web development firms have lots of PHP work but are finding it increasingly difficult to find PHP programmers.
… With scarcity comes higher prices.
PHP Frameworks are sooo 2015
Like all the mature languages out there, PHP has a nice selection of web frameworks to choose from, and ultimately, you as a budding web developer will have to learn at least one. In 2015 Code Igniter is out (although there are many legacy CodeIgniter apps that will have to be maintained) and Laravel is in.
… Anyway, once you learn one PHP web framework, learning another is not too hard. They are all MVC based and so they all work pretty much the same way. That said, some are better than others.
In a future article I will put my finger to the wind, and get into WHICH PHP framework is probably best in 2015.
Happy new year!
Goeth defined: archaic third person singular present of go.
I get asked a lot: which is the best PHP framework? Or, should I choose PHP framework A or should I should PHP framework B?
The short answer: it depends! See below for the deeper answer.
When considering a framework, besides checking out what the uber-nerds are talking about at the time, consider the current cutting-edge thinking about frameworks in general, and be sure your choice of a framework, is up-to-date in that regard.
The no-framework PHP framework
For example, the move these days, is towards the ‘no-framework framework’ style of framework – that’s a tongue-twister! Basically, the more advanced a framework is, the more open it is.
You should be able to drop in components as you need then from any source. So for instance, if you don’t like the ORM layer in a framework you happen to be using, you should be able to easily plugin some other ORM.
At the end of the day, learning one framework or another should not be considered the end of the path – you should expect to have to learn a new framework from time to time … as things mature. The good news is that once you’ve learned your first MVC framework, the rest will come pretty easily since they are all based on the same basic concepts and patterns.
This is a video (see below) targeted at those who understand basic PHP and are ready to explore the web development world a little further. You see, when you get into PHP, you will also have to learn about the client-side frameworks out there, things like jQuery and Bootstrap.
What are Web Frameworks?
Think of a framework for a house, scaffolding … or cookie cutters! Web frameworks are just libraries of code (could be code in any language) that speed up the process of doing all kinds of common web design and development tasks.