One question we hear a lot from people interested in joining the tech industry is, “Which coding language should I learn first?” Depending on who you ask, you may find discrepancies in the answers to that question—and for good reason. There are something like 700 coding languages in existence to play with and dozens worthy to master for professionals. No wonder taking that first step can be so intimidating.
Breaking down the basics
A programming language is a powerful tool that allows humans and computers to speak the same language. This lets coders create programs that run on all types of devices: apps on your phone, in a web browser, on a smart refrigerator, even in your car’s engine control unit.
At Code Fellows, we focus on web application development because it gets people jobs. Every business needs a website, and as a web developer, that means your skill set is applicable in every industry. Even when building a piece of software that isn’t a website, nearly every application relies on the internet for some piece of its functionality, and web development experience makes it easier to build applications that interact with remote servers or clients. Code written for the web is instantly accessible from around the world, making web apps one of the greatest ways for the beautiful breadth of humanity to create and use software.
Before you can work with programming languages on the web, you have to get your feet wet with HTML and CSS. These are both coding languages (but not proper programming languages) that are necessary for any and all web developers and designers to know. HTML and CSS deal with the front-end, or client side, of a web application, which is the web page a user sees in their browser (like Chrome or MS Edge).
Let’s break them down.
HTML (Hypertext Markup Language) is used to create the content and structure of a website. HTML helps with displaying content—like words or images—and differentiating what each piece of content is, such as headers, body text, and page titles. HTML is also responsible for communicating how content should be organized by creating a hierarchy of importance and displaying content in specific blocks or boxes. Overall, HTML defines the skeletal structure of a web page.
Whereas HTML tells a web browser what the content of a website is, CSS (Cascading Style Sheets) tells it how the content should look. CSS allows customization of text color, font style and size, placement and spacing, and the overall aesthetic of the page. It creates the look and feel of the web page and provides the HTML elements with design and layout. CSS is responsible for maintaining consistent styling across a web page but also allows flexibility in how content can be displayed to a user. It works by selecting elements to which a specified style should be applied, then by defining what that style looks like. If HTML is thought of like a plain vanilla cake, CSS is the frosting and sprinkles that make the cake look delicious.
While HTML and CSS are necessary to build web pages, they aren’t general-purpose programming languages. General-purpose programming languages allow us to build out logic, save data, and control complex user interactions. In order for something to be classified as a programming language, it is generally understood to: allow storage and manipulation of data; make “decisions” with conditional branching (running one block of code, as opposed to another based on some input); express any algorithm (defined sequence of commands to the computer); and support abstractions (a way to define a concept in code, in a reusable way).
Here is a history of which programming languages have been the most popular over time.
Python is the programming language that reads and writes most closely to English, and it places a large emphasis on readability. Because of this, many academics choose Python to create research programs. Python has a massive body of academically-oriented libraries and packages available to the public. This anchors it as the leader in fields like machine learning, data analysis, big-data management, and artificial intelligence. It’s useful in fields like DevOps (which manages computer infrastructure with code) and Cyber Security.
C# and ASP.NET Core
C# (pronounced as “C sharp”) is used for building interactive applications that might run on the desktop, on the web, or on mobile devices. C# is the main language of the web application framework ASP.NET, which was developed by Microsoft to create dynamic websites. That means it’s a popular choice at Seattle companies that work with Microsoft or have ex-Microsoft developers. C# is also popular among game developers, as it powers the Unity framework along with VR platforms.
Ultimately, there’s no wrong choice when it comes to choosing your first coding language. When you start your job search, look for companies that utilize your favorite language. Or, work backwards by finding out which language your dream company uses. Regardless, you’re sure to enjoy and benefit from learning any programming language and will likely work with lots of different programming languages throughout your coding journey, regardless of which one you learn first.
If you’re interested in an industry comprehensive list ranking the top 100 programming languages, head to the TIOBE Programming Community index.
Whether you’re already experienced in tech or you’re looking to shift your career (or life) path, we believe in you. Check out our coding course map to see where you can take that first step.