Software Engineering in WordPress, PHP, and Backend Development

Author: Tom (Page 284 of 429)

Procedural Programming: Private Functions in WordPress

One of the things that I’ve been criticized for (for lack of a better term, I suppose) is that I push object-oriented techniques over procedural programming  in WordPress.

To some degree this is true: I do prefer object-oriented programming, but I don’t think it’s the end-all-be-all of programming paradigms. After all, when building, say, a theme, there’s actually little room for writing object-oriented code.

On top of that, because of the minimum requirements of WordPress, there are a lot of advanced features in PHP that I avoid because I can’t be guaranteed that the end user will have them available on his or her system when they install the plugin.

So, sure, I prefer object-oriented programming, but I certainly don’t aim to make it the utopian programming practice.

That said, there is one aspect of procedural programming that requires some type of convention: private functions.

Continue reading

My Regression in Dynamically Typed Languages, Revisited

Yesterday, I wrote a post about some of my issues and gripes with dynamically typed languages. Though the post itself didn’t generate a lot of conversation in the comments, I ended up having a good chat via Twitter with a number of developers whom I greatly respect.

In these particular conversations, I was challenged both in terms of how I leverage the dynamic features certain programming languages, as well as how I use certain forms of notation (namely, Hungarian Notation).

Challenge Accepted

I can’t cover everything that I’d like to cover in a single post partially because I’m not certain – at least at this point in time – I’d  change my opinion on everything I wrote.

However, out of the conversations that I did have, I think one point that’s worth clarifying is my opinion on using Hungarian Notation in dynamically typed languages and how the environment can change whether or not I use it.

Continue reading

My Regression in Dynamically Typed Languages

I remember when I first moved from writing code in statically typed languages such as (C, Java, C#, and so on) to more dynamically typed languages (such as JavaScript, Ruby, and PHP).

At first, I loved it – I loved the brevity that the code allowed, and I loved how being able to write slightly less verbose code felt whenever I was working on part of a program. Being able to drop out certain operators made things so much easier.

Or so I thought.

But the longer I’ve been programming – especially the more time I’ve spent in JavaScript and PHP, for example – the more I find myself returning to more and more verbose code forgoing some of the features that come with dynamically typed languages (such as type coercion).

Continue reading

The Hate and Vitriol of WordPress

For anyone who has worked with it or worked on it long enough, you are likely familiar with the criticism, the hate and vitriol of WordPress.

Straight up, people despise WordPress, its codebase, the fact that people not only work on it, but also write about it, build for it, and make any argument for using it outside of its primary use case of being a blog and/or a content management system.

And as a developer – especially one not only new to WordPress, but one who is new to programming in general – this can become really discouraging.

In fact, I’ll go as far as to say that it can make you question not only your ability as a programmer, but your ability to learn the tools, methodologies, and practices of software engineers who work with other languages, tools, frameworks, and so on.

Continue reading

Retiring Tipsy Social Icons For WordPress

Tipsy Social Icons is now officially up for adoption in the WordPress plugin repository.

Back in 2011, I released the first version of Tipsy Social Icons – a WordPress plugin designed to make it easy to add all of your social networking icons to your WordPress-based blog.

As of last month, Tipsy Social Icons was officially three years old (pretty old in Internet years, right?), but development has slowed and my time has begun to be devoted to other projects – many of which I enjoy more – and additional plugin have been released that do a solid job of the same thing.

So today, I’m officially retiring Tipsy Social Icons.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑