Worst 3 Programming Languages of 2018

There is a plethora of blogs about the top languages to learn, but what about the languages you should NOT learn? You’ll want to avoid these languages like the plague.

I’m going to be calling out three very popular programming languages that I’d advise against you spending your time learning them or taking a position where you’ll have to spend a lot of time using these languages. Just because something’s popular doesn’t necessarily mean you should try it. This is my opinion, yours might differ.

I’ll just to the conclusion: The languages are PHP, Visual Basic, and Objective C.

Now, I know what some of you are saying: “The majority of websites are built with PHP!” or “Visual Basic is very simple for beginners!” Although these statements may be true, that still doesn’t mean we should advocate for them. Let’s talk about why if you’re considering these languages, you should turn around immediately. 

1. PHP

Of the three languages listed, PHP is the least terrible. Even so, I believe my advise holds true. Even though I don’t like PHP, I still actively use it. 

source

PHP is one of those languages that is popular by force, not by choice. The most common argument is that the majority of websites are powered by PHP. This is a true statement, but we must also consider the fact that a large percentage of websites are built using a content management system (CMS). These content management systems were built in PHP (WordPress, anybody?). Most people who use WordPress do no coding. WordPress could have been developed in Fortran, for all they care. I’m the perfect example of this. I use WordPress with BlueHost for hosting one of my websites and have tutorials on how to set up a CMS.

PHP requires me to glue things together and do trial and error until I get things to work. After that, I don’t touch it! I will admit that I’ve never used a PHP framework such as Laravel. I’ve heard a lot of good things about Laravel, but I still couldn’t imagine using it knowing that I have to work with PHP. It’d be kind of like having the full package sport version of a Smart car (it’s still a Smart car 🤢).

In attempts to keep this article fairly simple and to the point, you can read why PHP sucks and get all of the juicy details. In summary:

  • PHP is primarily useful for small scale applications. Clearly not designed with scalability in mind. 
  • Variables are declared and initialized when they are first used
  • Arrays were about the only data structure before classes were introduced
  • PHP is full of inconsistent naming conventions.
  • Type casting is a pain and is a common source of errors.
  • PHP uses == and ===, where === compares type and value and should be used most of the time (other languages use == all of the time).
  • And many more 😁.

Instead of PHP, I’d recommend you learn Python. Here’s a recommended book that will take you through building applications using test driven development in Python. You’ll get experience in building web apps using the Django framework, as well as get exposure to Selenium, jQuery, Git, and Mock. Python is the way to go as it is a more general-purpose language that can be used for not only web development, but game development, machine learning, and more.

2. Visual Basic

I often hear people say that Visual Basic (VB.NET, VBA, or anything similar to Visual Basic) is a great language for beginners. WRONG! They say this because it’s very simple to pick up, but this is at the expense of the developer.

In fact, Visual Basic, VB.NET and VBA (Visual Basic for applications) were three of the most dreaded languages of 2018 (all three in the top five most dreaded). Is there any wonder why I’m suggesting you don’t learn Visual Basic? 

Even if Visual Basic was the bomb digity, the fact that there is so much dread around the language will reflect negatively on you. Will it look good on a resume when you’re a master at the worst language in the world? Maybe if they’re trying to migrate to C# and can’t convince any one to do it, but not if the company is looking to make revolutionary software. 

The title alone is an acronym that has a negative vibe affecting our software engineering peeing contest. BASIC= beginner’s all-purpose symbolic instruction code. Do you really think it would make sense to be an expert at something designed for beginners?

It may not be entirely justified (as a good developer could build something in any language), but there is a very strong dislike for visual basic. I also know that Visual Basic, being part of the .NET framework, is capable of a lot. Even still, it seems that the only people who like it are the ones who have used it their whole lives. By learning Visual Basic, you could be hurting your reputation.

Image result for visual basic meme
source

With the fact that visual basic is designed for beginners, you’re bound to get a bit more hand holding that prevents you from growing your computer science skills, bro. For those of you who know me, I really like to focus on the principles and techniques behind what we do in code, not just what to type. Using Visual Basic might let you build something pretty cool, but once you step out into the world, you’ll be exposed to the elements with little to defend yourself.

One example of something Visual Basic does to help beginners is use = as an equals operator. WHAT?! Every other programming language in the entire existence of the entire world, ever, uses == for equals. Although this single equals may make sense for a beginner, this is a detrimental practice for a multi-language software engineer.

One who is proficient with Visual Basic, once using other languages, is likely to pick up the terrible habit of writing comparisons like so:

This habit is asking for trouble as using the assignment operator (=) inside of an if statement is legal in certain languages and will always evaluate to true. 

This non-standard use of = is enough for me to assume there are numerous other beginner friendly issues lurking in Visual Basic that go unnoticed until switching to another language.

Instead of Learning Visual Basic, I’d recommend you learn C#. C# is also part of the .NET framework but has a much stronger reputation being fairly high on the loved and wanted list from the survey mentioned earlier. I’d recommend this book, which will get you up to speed very quickly with hands-on projects. C# was the language I really learned more advanced programming techniques (OOP, generic classes, events, MVC, etc). C# also has pretty strong web development community and was used to build Stack Overflow

3. Objective-C

This one may come as a surprise to many as Objective C is a well appreciated language. Objective-C was created by Apple and is used to make iPhone apps. There are honestly no huge red flags when it comes to the language itself. Of course it has it’s issues, as every language does, but it doesn’t seem like anything worth abandoning ship for (unlike PHP and Visual Basic).

As one who hasn’t developed in Objective-C, you’d think I’d stay away from reviewing it, right? WRONG! I’m willing to put in my two sense because I see where the technology stands and I’m willing to drive new learners in the right direction. 

The primary reason I advise against learning Objective-C is because of the release of Swift a few years back. Swift is now the recommended language of choice for iPhone development. 

Like I said, it’s not so much that Objective-C is the problem. It’s more so that if you’re going to spend your time learning a new language, you might as well learn something that is future-proof. Yes, it’s true that Apple still supports Objective-C and it has a strong community of people who prefer it over Swift, but the reality is that Swift is one of the fastest growing languages, and Objective-C is being adopted less and less. On top of that, the reputation around swift is much more than that of Objective-C. 

By spending time learning Objective-C instead of Swift (I said instead, not in parallel), you’re setting yourself up to be working in a legacy shop probably working on code that contributes nothing to your resume. Don’t do it. 

If you’re one of the lucky individuals who already knows Objective-C, fear not! You’re not hurting yourself by knowing or using Objective-C, I just highly recommend you spend a few evenings catching up on the Swift craze.

If you’re ready to dive into Swift, I’d recommend you check out The Fundamentals Guide for Beginners which will give you a good paced intro, building your knowledge from the ground up in Swift. Even if you have development experience, it’s nice to get a beginner book so you don’t miss any of the important basics when switching to a new language.

What’s Next?

Do you agree? What language do you think people should avoid learning? Please leave a comment.

As for a bonus, I’d encourage you to check out the section on JavaScript in my Top 3 Languages to Learn Before 2019 blog. If JavaScript was not by far the most popular language and the only choice for front end development, it’d be on this list. I talk about some of the annoyances with JavaScript in that blog. 

7 Replies to “Worst 3 Programming Languages of 2018”

  1. Hey Caleb, when I saw that picture about PHP best practices, I could not stop laughing… I have not laughed like that in ages!!!

    Great Youtube channel buddy!!!

  2. I agree with you, PHP Sucks, VB is such an idiotic thing.
    Unfortunately I had to learn VB as it was in our core cirriculam in my college and I hated it every second!.
    Even Facebook themselves say that they are stuck with PHP.

    And Bru Haters Gonna hate, potatoes gonna potate!

  3. You couldn’t be more wrong about Objective-C though. If history proved anything it is that Objective-C has been the future proof language, whilst Swift -programmers have been forced to refactor their code for almost every new version. And it’s not over yet…

  4. “PHP requires me to glue things together and do trial and error until I get things to work.”
    So you don’t know how to program and you blame PHP? Lol

    “PHP is primarily useful for small scale applications. Clearly not designed with scalability in mind. ”
    Facebook was originally written in PHP and it scaled fine — up to a point. I guarantee no one watching your YT videos will be programming websites with .1% of FB traffic volume.

    “Variables are declared and initialized when they are first used”
    You can declare and initialize your variables whenever you want.

    “Arrays were about the only data structure before classes were introduced”
    Classes exist, so what is your point here?

    “PHP is full of inconsistent naming conventions”
    What? This doesn’t make any sense on its own but your explanation in your YT video warrants only idiots stick to one language and memorize all its functions; this is why Google exists to look up specific functions.

    “Type casting is a pain and is a common source of errors.”
    I’ve never witnessed anyone nor myself having data type errors.

    “PHP uses == and ===, where === compares type and value and should be used most of the time (other languages use == all of the time).”
    Is this concept confusing to you?

    “And many more 😁.”
    Assuming you listed your “top” problems with PHP than I’d imagine the rest are worst and even more drivel.

    The fact of the matter is PHP is powerful to get going and make quick web apps for specific tasks. Even if it is a dying language, I can spin up a front end to a database in less than a hour without using a framework or any of that millennial coder nonsense.

Leave a Reply

Your email address will not be published. Required fields are marked *