Seriously? Another top languages blog? You may be right, but I’ll try to give you some insight as to why I made the selection that I did.
I often find myself a step behind every one else. I’m the one reading the Top Languages of the year blogs as the year is coming to an end. NOT THIS TIME! This blog contains my recommendations for languages to learn before 2019, just to get that upper edge a bit early 😉 (unless you’re reading this in 2019).
Let’s Get to the Point.
Before jumping into the blog, I’d like to give a special thank you to Pramp for supporting this content. Pramp is an incredible website for technical interview prep. With Pramp, you get paired with another individual and do a mock technical interviews using real interview questions. Go ahead and get unlimited Pramp sessions for free.
You may be an experienced developer, or you may be a beginner. Either way, we can all see the simplicity of python. python has always been favored for it’s simple syntax and ease of use. Here is some simple code in python:
Compared to other languages, python gets rid of a lot of the extra stuff:
An additional bonus with Python is that it teaches beginners how to properly indent their code. I see many noobs incorrectly indenting their code, thus making it impossible to interpret with ease. Python is one of the few languages that is white-case sensitive. This means that if you don’t indent your code correctly, you’ll have logic errors (when the code runs but doesn’t give the desired result).
Python for Data Analytics
Python is legit because it’s awesome for statistics, data analytics, and machine learning. One of the biggest competitors for Python in this area is R. R is a statistical programming language. If you’re in to that kind of thing, you could consider learning R, but there are benefits of studying Python instead.
Although I’m sure R could be a suitable language to start with, python is a general purpose programming language. This means that it can be used for a larger variety of solutions, with only one of those solutions being statistical processing. Once you learn python, you can also use it to build games, websites, business applications, and more.
Plus, in general, the learning community around python is much stronger than that of R or many other programming languages. Python is regularly taught for introductory computer science courses in computer science curriculums or software engineering boot camps.
My bet is that if you chose python as your first language with the intention of doing artificial intelligence, you will build a much stronger foundation in coding compared to what you would learn using R for your next AI project. that can likely be transferred to other programming languages.
Python for Web Development
Want to Learn Python? I’d recommend Python Crash Course.
- was supposedly designed in 10 days
- has nothing to do with Java
- has no native integer type
- has odd comparisons. Can someone explain why  == ! (array == not array) is true?
- forces you to deal with global variables
- has funky scoping
- and much more…
I’ll reveal my secret right now. At the time of this writing, I’ve never programmed in Go (Golang).
“What?! How can you have never used a language yet recommend it to me?” You may be asking. The primary answer is that “This is my blog, so I can write whatever I want,” which would be quickly followed by “and because I understand the hype behind Go.”
The efforts of Go are to contain all the positives of many languages while avoiding the negatives. This means that Go is C-like in nature (as is C++, Java, C#), but simpler to read and write, closer to Python.
One reason people love Go is it’s effectiveness for building concurrent applications. Concurrent applications are applications that, during execution, break the work up into multiple threads. Concurrency has some challenges that are hard to overcome (avoiding race conditions and communicating between threads). Go makes concurrency more obtainable through goroutines (like mini-threads), channels, and the select statement.
The third plus of Go is that it is open source! This means that the ambitious software developer can really learn the details of Go by viewing the source code. You could probably even use it as a guide for language design!
Want to learn Go? I’d recommend The Go Programming Language.
The Secret Behind Kubernetes
have you heard of that new, revolutationary broom? …It’s been sweeping the nation!
Jokes aside, that’s exactly how I feel about Kubernetes.
Kubernetes is a container system used for application deployment. It’s already very popular and is becoming more so by the minute. It’s often talked about with another software system, Docker. Little does the world know that these famous solutions were both developed in Go. It’s actually a well kept secret:
Why am I showing you this? I’m leaving it here as an example of the power Go provides and just how capable you are of developing a very successful app with Go.
Check out the Video
The “Almost Top Three” Languages
I intentionally left this article at the top three languages as to not overwhelm you with options. Okay, I lied. I really just didn’t want to write about more than three for my sanity. But I decided I’d leave a bonus section here for those languages I’d recommend, but didn’t quite make the top three.
Swift – The first bonus language is Swift. Swift is a very popular language for iPhone app development. Why didn’t this one quite make the list? Primarily because, in my opinion, it’s too specific. The domain of app possibilities for Swift is much smaller than that of a general purpose programming language like Python (similar to how R is not very useful outside of statistical processing). That being said, iPhone app development is huge, and you definitely wouldn’t be hurting yourself by investing your time in studying Swift. Want to learn Swift? I’d recommend Swift: Basic Fundamental Guide for Beginners.
C# – Although very popular, C# hasn’t really had any explosive growth. Similar to C++ and Java, C# has been a steady player for numerous years. C# is cool because it’s very simple to build large scale apps. It has a lot of similarities to C++ when it comes to syntax and structure (classes, structs, methods, etc), but avoid multiple-inheritance through the use of interfaces. It also abstracts away memory management. C# is an example of a managed language (as many of the other languages here are) because it deals with allocating and freeing memory behind the scenes with the help of a garbage collector. The main reason I like C# is that it helped me understand object oriented programming and software design without worrying too much about the details required in C++. The biggest reason I like C# though is it’s intuitive use for web development using the ASP.NET CORE MVC framework. Want to Learn C#? I’d recommend Murach’s C#.
C – WHAT!? Did I just say C? Yes, I did. Now, I know C is not the most booming language (yet it’s not dying either), but I like C because it helped me understand a lot of fundamental computer science concepts that I didn’t have to worry too much about in Python or C#.
I’m now applying for a position that requires a deeper understanding of lower level programming and I’m thankful I spent time in C. Want to Learn C? I’d recommend C Programming Language (by the creator of C).
I sincerely hope this guide was helpful. Please leave a reply: What language do you think is essential as 2019 approaches?