If you are a programmer then you understand the value of having a great platform to work with. Over the years you have encountered a host of programming platforms and structured languages that make the average person’s head spin. How many people read and write several languages in the normal daily activities?
For the average user to fully comprehend this, imaging knowing French, Spanish, English and Chinese while continuing to learn more languages each day. Sure there are many people who do speak multiple languages, including myself, however programmers are also very versed in this concept as we often have to develop software with any number of programming platforms or languages that are among our repertoire of tools.
We may be working in PHP one day, using MicroSoft C# the next or if we are truly unlucky programming in some nearly forgotten cobol coding.
But many people do not think of “WordPress Programming” as a core programming paradigm. Sure once you have the understanding of PHP and Mysql you can easily be on your way to making a plugin or two, but what about all the other little intricacies that are present within WordPress that have begun to push it past a Content Management System (CMS).
WordPress as an Application Framework
As WordPress continues to grow in popularity, it’s moving beyond being simply a publishing platform: It’s becoming an application development framework. Indeed, WordPress says:
If you want to build an application, WordPress can help with that too. Under the hood WordPress provides a lot of the features that your app will need, things like translations, user management, HTTP requests, databases, URL routing…
After reading it and having a few discussions in community groups, I’ve concluded that
WordPress is still primarily a publishing system and is not, nor ever will be, all things to all programmers.
It is, however, a powerful tool if you’re developing an app that retrieves and/or generates data from any variety of sources (internal calculations, external business processes, Web services and so forth) and publishes that on the Web (either on the Internet or an intranet).
Of course, to this I agree. WordPress will never be all things to all programmers. No language or platform will ever be the end-all be -all of computer science. This is quite simply a matter of convenience and personal preference.
I like programming in Assembly language, however writing entire programs in C++ is considerably faster and more efficient when there are millions of lines of coding to be done.
WordPress however, as a platform does offer programmers and developers some really cool reason to use it for development, such as:
As David writes:
According to W3Techs, over 20 percent of all websites use the WordPress content management system. There are several good reasons for this:
- It is a mature platform. It’s been around since 2003.
- At its core it’s simple to use. Its target audience is primarily content publishers, not developers. At the same time, developers aren’t a forgotten audience. WordPress seems to have hit the sweet spot in balancing the needs of users and developers.
- It’s very flexible. It has a well-designed and well-documented plugin and theme system.
- It’s free and open source software, licensed under GPL.
Not to mention that WordPress already has several built in systems such as being modular based using plugins and a massive community of like-minded individuals.
Many WordPress admins are at the very least able to do basic reading and editing of php and mysql based code. Many others are quite accomplished developers. This means that at any time a developer may call upon a community of people interested in both WordPress AND programming within WordPress.
If your thinking of learning how to program php, consider making WordPress the platform for which you use to implement your programs. Use the WordPress programming structures and API to get yourself started into a fascinating world of software development. Heck, make a decent enough plugin and your could even earn some good money doing it for a living, if you choose.