How to Choose a Stack

We get this question a lot: “How do I choose which Code 401 course to take?” Here’s how we answer.

Our blog series, How to Choose a Stack, focused on the benefits of each language taught here at Code Fellows: Python, JavaScript, Java, and ASP.NET.

Now, here’s a side-by-side comparison of each language, what you can build with it, and how to decide what language to learn first.

But First… Think Long-Term

A programming language and its surrounding technologies is called a “stack,” and you’ll likely learn several throughout your career. Sometimes a framework for a programming language will become outdated, and projects will be built with new frameworks (you’ve probably heard about how Angular and React replaced Knockout and Backbone in the JavaScript world). Sometimes you’ll change jobs, which means switching programming languages entirely, going from Ruby to JavaScript or from Python to C#.

What an exciting industry to be in!

Decide What Sparks Your Interest

You don’t have to sweat too much about the first programming language you learn, because you’re going to get to try a lot of different ones. You can truly start anywhere. What’s most important is to just get started.

What you should think about, however, is in what direction you want to take your career. Do you want to work with data, user interfaces, games, mobile technologies, or another part of the tech industry? Being interested in what you’re learning and building will keep you motivated during the long days (and nights) of learning a programming language.

Python

Popular Tools for Python: Django, Pyramid, Flask
What You Can Build: Full stack web applications, machine learning, data visualization, scripting
A Glimpse at the Code:

Python Hello World

Python is an open-source programming language. We’ve taught Python since 2014, and there’s a reason we still teach it. It is a powerful language, has a strong community of developers, and is very popular among companies that process a lot of data, like Google, Dropbox, and Instagram.

If you like working with big data management, data visualization, or machine learning in web applications, then Python is a great language to learn first. Because you’re working with the organization of data, you’ll get the added bonus of studying a lot of computer science concepts, such as data structures, algorithms, and Big O notation. These strengths will serve you well in your career.

Learn more about Python Development »

JavaScript

Popular Tools for JavaScript: React, Angular, Node
What You Can Build: Full-stack web applications
A Glimpse at the Code:

JavaScript Hello World

If you start learning to code in our Code 201 or Code 301, you’ll technically learn JavaScript as your first programming language. JavaScript is a great introductory language for novice coders to grasp the concepts of web development. You will likely encounter it throughout your career even if you specialize in another language, so it’s good to know the basics.

JavaScript is a “full stack” language, which means you can write code that runs on both the front end or “client” (i.e. the browser) and the back-end, or server. If you want to do front-end or full-stack web development, then specializing in JavaScript first will give you a great edge in the industry and a pathway into both front-end and back-end web development.

Learn more about Full-Stack JavaScript Development »

C#

Popular Tools for C#: ASP.NET, Xamarin
What You Can Build: Windows 10 desktop applications, AR/VR games, mobile applications, web applications
A Glimpse at the Code:

C# Hello World

C# is used heavily at major tech companies around the world. The most notable company using C# is probably Microsoft, which developed the ASP.NET framework we teach in this class for C#, F#, and Visual Basic. With ASP.NET, developers can build desktop apps for any device running Windows 10 (PCs, XBOX, mobile devices, and Surface Hub, to name a few).

It can be used to create apps for the Hololens, if you are intrigued by the world of virtual and augmented reality, and native mobile apps, with the help of Xamarin.

Learn more about ASP.NET Development »

Java

Popular Frameworks for Java: SpringMVC, Android
What You Can Build: Desktop applications, mobile applications, web applications, embedded systems, games, information processing applications
A Glimpse at the Code:

Java Hello World

Java is the most popular language in use today. It’s taught by computer science programs as an introductory language because as new computer engineers learn it, they also learn valuable programming fundamentals that apply to more languages than just Java. It’s a great starter language if you want to learn how programming languages work “under the hood.”

Google’s Android platform is built on Java, and new frameworks are coming out to make building apps for Android even easier. Similar to Python discussed above, Java is a powerful tool for processing data and building powerful apps, like ones that bust money-laundering schemes and visualize city-service usage.

Learn more about Java development »

How to Learn More

We hope this sheds a little more light on how to choose which programming language to learn first! If you’d like to meet some of our instructors and learn more about the specifics of these programming languages (and why they love to teach them), join us at an upcoming tour or happy hour on campus.

See upcoming events on campus »


Read Part 1: Python »

Next PostPrevious Post

About the Author