Chapter 1: Let’s Talk About Language
Let’s talk language
“What language should I learn?” is probably the most common question asked by those wanting to start coding. So, what are the applications of each language? Why do so many bootcamps teach Ruby? Let’s dive in.
Ruby is a beginner-friendly language with a vibrant community. It’s a language popular amongst many startups, especially since Ruby developers share lots of gems (packages of code or applications that perform specific functions) that make it possible to build websites quickly and efficiently.
If you’re interested in developing for Apple, you’ll need to learn Swift and Objective-C, which is a superset of C. C and C++ are popular languages for game development and apps for Windows.
Java is one of the oldest programming languages and is readable on many different platforms. This means it is easier for developers to write a string of code that can be run on just about anything.
Python, like Ruby, emphasizes readability and allows developers to create powerful programs with fewer lines of code than Java or C++. For a comparison of some popular modern programming languages, Lifehacker offers a handy infographic.
Ultimately, no matter what language a bootcamp teaches you, the most important thing is that it lays the foundation necessary to pick up the logic of other languages more easily. This makes you a more adaptable programmer—and who doesn’t want to hire someone who is adaptable? This adaptability is why many bootcamp graduates end up writing code professionally in a language not taught at the bootcamp they attended. With the world of technology constantly changing, employers want to see people who are ready to dive head first into a new challenge, and can apply the skills they have learned previously, to a new problem.
Do you love tables and charts? Good. Because here’s a table comparing the most popular programming languages out there:
|Ruby||Easy to learn, flexible & portable; great developer community; good for startups, lots of Ruby gems make it quick to build web apps; easy to read||Limited use outside of web development; fast-moving language can mean lots of outdated resources on the web|
|Python||Easy to learn, quick to churn out a lot of code; great for graphic user interfaces; used by many academics||Language fragmentation (some of the Python community still uses Python 2, which has syntactical differences from Python)|
|Java||One of the longest standing languages and one of the most widely used languages; Android development; popular in enterprise development; slower to change so easier to keep up with||Too verbose; evolves slowly so features are not as modern as languages like Ruby or Python|
|C/C++||Industry standard; used for development of video games, Windows and Linux; gives you insight into beginnings and roots of computer science and programming||Can be a difficult first language to learn; low-level language; some of its programming concepts can be outdated|
|Objective-C & Swift||iOS development||Narrow applicability|
|PHP||Runs on a variety of platforms; free and open source; easy to learn; powers sites such as Facebook and WordPress||Considered by many to be a poorly designed language. creator himself said when he created PHP he never intended it to be a fully fledged OOP language.|