Series Week 2 - Languages & IDEs: Intro to the tools Behind Every Coding Project
Hi everyone! For this week of the Talk Like A Developer series, I’ll introduce you to some of the most popular programming languages and which IDEs are best for each!
About this series: This series isn’t going to give you everything you need to roll up your sleeves and start coding. What it will do is give everyone, even the people who have no idea what computer science is, the ability to talk and ask questions about these topics so that if you are interested in getting into the hands-on/technical side of these topics, you’ll know where to start, what to Google, or how to ask for help.
If you haven’t already, check out last week’s post: Week 1 - GitHub as well as Key Coding Terminology For Beginners to get up to speed on the common terminology used in this series!
What is a Programming Language?
As mentioned in Key Coding Terminology For Beginners, a programming language is how programmers communicate with a computer and tell it what to do. The actual words, structure, and syntax you type depend on the language you’re using, just like how you say and structure a sentence differently depending on the speaking language you’re using.
It’s important to think of programming languages in a similar way to speaking languages. Before I got into computer science, I thought coding in any language was just writing random combinations of letters, numbers, and punctuation characters. However, I learned that there are actually a lot of English words involved in programming, and even the seemingly random characters follow pretty consistent patterns. Today, regardless of the language I’m coding in, I start by saying what I want the computer to do in English, and then just translate it into the programming language I want.
How to actually get started in each programming language is a topic for another post. In this post, I’ll take you through a high-level introduction to some of the most popular languages and the tools you need to use them.
Popular Programming Languages:
Some of the most popular programming languages include Python, Java, JavaScript, HTML, CSS, SQL, and Swift. I’ll divide these into two categories: front-end and back-end programming languages.
Front-end programming languages help you code how something looks (on the “front”), and back-end programming languages help you code how something works (in the “back”).
As mentioned in Key Coding Terminology For Beginners, an IDE is a software used to write code files, just like how Microsoft Word is a software intended to write word files. IDE stands for Integrated Development Environment - it’s an environment intended for development where you can write, execute, test, and debug your code.
Front-End Languages:
HTML: Hypertext Markup Language or HTML is used to display a website’s content and organize it.
For example, HTML can be used to bold this text, italicize this text, underline this text, and center this whole sentence.
However, HTML is pretty basic, which is why it’s often paired with CSS and/or JavaScript to add things like color, complex shapes, animations, and other styling elements.
IDE: Most basic IDEs will work for HTML. My preference is VS Code or Atom.
CSS: Cascading Style Sheets or CSS is used to create a website’s style features such as fonts and colors. Typically, websites use HTML to provide content and CSS to style that content.
IDE: Similar to HTML, I prefer basic IDEs for CSS such as VS Code or Atom.
JavaScript: JavaScript (sometimes JS) is used for creating a website’s interactive features such as animations and videos. It can also incorporate other libraries for more complex behaviors.
JavaScript is considered a front-end and back-end language. On the front-end side, its job is to bring HTML and CSS to life.
IDE: Again, I prefer VS Code for this language, but most IDEs support it.
Back-End Languages:
Python: As a back-end language, Python uses data structures and algorithms to create functionality for software and websites. It also works cross-platform, meaning it’s compatible with almost any type of device. The main way it differs from other back-end languages is that it’s easier to learn and read since it has fewer rules to follow.
Python is one of the first languages you’ll learn as a computer science student and is personally my favorite. The simplicity that Python provides also causes it to have limitations, and other back-end languages are often better suited for more complex projects. However, in the early stages of learning to code, Python will be your best friend, and you’ll miss it once you move on to more complex languages.
IDE: For first-time programmers, I would recommend IDLE - it’s what I used to learn Python and is way less complex than other IDEs. Now that I’m well-practiced in VS Code, that tends to be the IDE I use for coding in Python, so I’d equally recommend that one.
Java: Pretty much anything you do in Python, you can do in Java, it’s just a bit more complex to do it in Java. But that also means that the code is likely more efficient.
Java is another back-end, general-purpose programming language that can be written on pretty much any device without having to worry about what the device can handle (such as available memory).
IDE: While VS Code will always be my favorite, I do have to recommend IntelliJ as the best IDE when it comes to Java.
Ruby: Ruby is very similar to Python in that it’s simple, yet powerful. It’s another general-purpose, back-end programming language that can support websites with high levels of traffic and has everything a developer needs to code full-stack (full-stack means coding both the front and back-end).
IDE: Again, I always have to recommend VS Code, but RubyMine is also nice and is specifically designed for Ruby.
Other Popular Languages:
Swift: One of the languages from my list I haven’t mentioned yet is Swift. Swift can do front-end and back-end programming and is the most popular language for developing iOS apps for the Apple app store. The IDE best fit for Swift is XCode.
SQL: The last language I didn’t mention from the list of popular languages is SQL. SQL is a querying language used with databases. Basically, it allows you to fetch data that fits your provided criteria within a database so you can analyze the resulting data. For more information on this, come back for next week’s Talk Like A Developer post: Week 3 - SQL & Databases.
Had you heard of/used any of these languages before reading this post? Let me know in the comments below!
Thank you so much for reading and come back next Monday for another Talk Like A Developer post! If you have any questions, feel free to comment them below or email our technology blog directly at techblog@apartfromblonde.com!
Check out this and more posts on my Medium account HERE!