Home » What Programming Language Ought to I Learn First in 2024? [Solved]

What Programming Language Ought to I Learn First in 2024? [Solved]

by Icecream
0 comment

Most folks’s journey towards studying to program begins with a single late-night Google search.

Usually it’s one thing like “Learn ______”

But how do they resolve which language to seek for?

“They at all times joke about Java on Silicon Valley. I assume I ought to be taught that.”

Or:

“Haskell. So scorching proper now. Haskell.”

Or:

“That Go gopher is simply so gosh-darn cute.”

1*7kbd-tVk3co-9RiilFN1TA

And then there’s the remainder of us. We’ll most likely seek for one thing like:

“Which programming language ought to I be taught first?”

Few questions are so generally requested that they get the total infographic remedy. But that is one in all them:

1*OF594B5qtCJR9MFSRTI-5g
Image credit score

Deciding in your first programming language could be a enjoyable course of — form of like a type of “Which Quentin Tarantino character are you?” character quizzes.

But earlier than you run off to be taught Ruby since you loved taking part in with Play-Doh as a child, let me remind you: the stakes are fairly excessive right here.

It will take you tons of of hours of observe to grow to be even remotely competent together with your first programming language.

So you need to take into account the next components:

  • the job marketplace for the language
  • the long run prospects for the language
  • how simple the language is to be taught
  • what tasks you possibly can construct when you’re studying (and share with mates so you possibly can keep motivated)

Every 12 months brings new programming languages, and with them, new tutorial papers. And new net comics.

Seriously. Check out this gem from final month:

1*she624Vf-hrpgLdWd8hKKw

When it comes to selecting a primary programming language, there’s no scarcity of choices. To slender it down a bit, listed here are the commonest Google searches associated to studying programming, over the previous 12 years:

1*znaagCC5fn0-Dqy43ILeqQ

Java has had its ups and downs.

Python has regularly risen to grow to be the most well-liked selection.

But tucked away beneath these is the Little Engine That Could, slowly choo-choo’ing up in recognition over the previous few years. And that engine is JavaScript.

Before I discuss these programming languages, let me make clear:

  • I’m not arguing that anyone language is objectively higher than another
  • I agree that builders ought to finally be taught multiple language
  • I’m arguing that first they need to be taught one language nicely. And — as you possibly can most likely guess from the the other way up textual content in my headline — that language needs to be JavaScript.

Let’s kick issues off by exploring how programming is at present taught at school.

Computer Science 101

1*eu4cWRZXUt3ybNFzeT-q8Q

Universities have historically taught programming below the umbrella of laptop science, which itself is commonly seen as an extension of arithmetic, or tie-in to {an electrical} engineering diploma.

Of course, as you will have heard by now:

“Computer science training can not make anyone an professional programmer any greater than finding out brushes and pigment could make someone an professional painter.” — Eric S. Raymond

As of 2016, many universities nonetheless deal with programming prefer it’s laptop science, and laptop science prefer it’s math.

As a end result, many introductory programming programs give attention to low-level-of-abstraction languages like C, or mathematically-focused languages like MATLAB.

And division chairs usually keep the course, pointing to annual programming language leaderboards just like the TIOBE Index, or this one from the IEEE:

1*8yWwh_UrWeoxYSVsWTnEBA

Most of those leaderboards look just about equivalent to how they had been 10 years in the past.

But change does occur. Even in academia.

In 2014, Python overtook Java as a the most well-liked language of instruction at high US Computer Science packages.

1*728HWv2YP3PjY1_QmGQg1g

And one more change is certain to… finally… occur.

Because if you happen to have a look at the languages really utilized by the workforce, it paints a really completely different image:

1*fUxhG3xtbuyAH-NCPYs4lQ
JavaScript is by far the most well-liked language utilized by the 49,397 builders who responded to Stack Overflow’s 2016 Survey.

More than half of all builders use JavaScript. It’s very important to front-end net growth and more and more related for back-end growth. And it’s quickly increasing into areas like sport growth and the Internet of Things.

Job postings additionally point out JavaScript greater than any programming language aside from Java:

1*Nju6ZEORusBE-4UB290Ftw
Data from the world’s largest job posting aggregator, Indeed.com

It’s no accident that we constructed our open supply group’s curriculum round JavaScript. Over the previous two years, greater than 5,000 folks have used Free Code Camp to get their first developer job.

I’m not advocating JavaScript as a result of I educate it. I educate JavaScript as a result of it’s the surest path to a primary developer job.

But is JavaScript best for you? Is it worthy of being your first programming language? Let’s discover these components I discussed earlier.

Factor #1: The job market

If you’re studying to program purely out of mental curiosity, be at liberty to skip this issue. But if you happen to — just like the overwhelming majority of individuals studying to program — wish to use this ability to get a job, this is a vital consideration.

As I discussed earlier, Java is talked about in additional job postings than another programming language. JavaScript is a detailed second.

But right here’s the factor about JavaScript: regardless that it’s been round for 20 years, it solely not too long ago turned a severe software that firms like Netflix, Walmart, and PayPal would construct whole purposes round.

As a end result, loads of firms are hiring JavaScript builders, however there simply aren’t that many on the job market.

1*EanhlHoMIsF-By0gRrAcYQ
Data from Indeed.com

There are 2.7 Java builders competing for each open Java place. Competition for PHP and iOS jobs is equally fierce.

But for each open JavaScript place, there are solely 0.6 JavaScript builders. It may be very a lot a sellers’ marketplace for builders with JavaScript expertise.

Factor #2: The long run prospects

The common JavaScript challenge receives twice as many pull requests as the typical Java, Python, or Ruby challenge. And on high of this, JavaScript is rising sooner than another well-liked language.

1*-GxMW33X9Gb5lboyN02hKw
Source: The GitHub’s 2016 State of the Octoverse

JavaScript’s ecosystem additionally advantages from a heavy funding of cash and engineering expertise from firms like Google, Microsoft, Facebook, and Netflix.

For instance, TypeScript (a statically-typed superset of JavaScript) has greater than 100 open supply contributors, a lot of whom are Microsoft and Google workers being paid to work on it.

This sort of inter-company cooperation is tougher to seek out with Java. Oracle — who successfully owns Java by way of its acquisition of Sun Microsystems — typically sues firms who attempt to develop upon it.

Factor #3: Difficulty to be taught

1*d8TITW3skawGd-ioyHh2nQ
This is a parody of an XKCD comedian.

Most programmers would agree that high-level scripting languages are comparatively simple to be taught. JavaScript falls into this class, together with Python and Ruby.

Even although universities nonetheless educate languages like Java and C++ as first languages, they’re significantly tougher to be taught.

Factor #4: Projects you possibly can construct with it

This is the place JavaScript actually shines. JavaScript runs on any machine that has a browser, proper there within the browser. You can construct mainly something with JavaScript, and share it wherever.

Because of JavaScript’s ubiquity, Stack Overflow co-founder Jeff Atwood coined his now-famous legislation:

“Any utility that can be written in JavaScript, will finally be written in JavaScript.”

And with every passing month, Atwood’s Law holds sturdy.

Java as soon as promised to run in all places, too. You might keep in mind Java Applets. Oracle formally killed them off earlier this 12 months.

Python suffers from a lot the identical issues:

“How can I give this sport I made to my pal? Even higher, is there a method can I put this on my telephone so I can present it to youngsters in school with out them having to put in it? Um.” — James Hague in Retiring Python as a Teaching Language

By distinction, listed here are some apps that members of our open supply group constructed of their browsers on CodePen. You can click on by way of and use these proper in your browser:

1*i-bre5pF0rk6Wgz5yjugjw
Seventies model Simon sport
1*GtVQI4LUU0-_Soyhi93LBg
Conway’s Game of Life
1*jkx-Vf8esZ0GYv_L6S2i9A
Star Wars-themed Wikipedia Search
1*PiI9yXaUNJANSffWvdotDQ
A roguelike dungeon crawler sport

Learn one language nicely. Then be taught a second one.

If you retain leaping from language to language, you gained’t get far.

In order to maneuver past the fundamentals, it is advisable be taught your first language nicely. Then your second language shall be a lot, a lot simpler.

From there, you possibly can department out, and grow to be a extra well-rounded developer by studying plenty of languages:

  • C is a good way to learn the way computer systems really work by way of reminiscence administration, and is beneficial in high-performance computing
  • C++ is nice for sport growth.
  • Python is superior for science and statistics.
  • Java is necessary if you wish to work at massive tech firms.

But be taught JavaScript first.

OK, now I’m going to try the unimaginable — I’m going to attempt to anticipate objections from the feedback part.

Objection #1: But isn’t JavaScript gradual?

JavaScript is — for many sensible functions — as quick as high-performance languages.

JavaScript (Node.js) is orders of magnitude sooner than Python, Ruby, and PHP.

It can also be practically as quick as high-performance languages like C++, Java, and Go.

Here are the outcomes of probably the most complete current cross-language benchmark:

1*h91cfcE8NlgyHfm4CLbV6w

Objection #2: But JavaScript isn’t statically typed

Like Python and Ruby, JavaScript is dynamically typed, which is handy. But you may get into hassle. Here I intend for exampleArray to be an array. I set its values, then test its size — which means the variety of components it comprises.

exampleArray = [1, 2]
-> [1, 2]

exampleArray.size
-> 2

But then I unintentionally assign it to be a string.

exampleArray = “textual content”
-> “textual content”

exampleArray.size
-> 4

These sorts of errors occur on a regular basis in dynamically typed languages. Most builders simply put checks in place to forestall them, and write exams accordingly.

If you completely will need to have static typing in your first programming language, then I nonetheless suggest you be taught JavaScript first. Then you possibly can shortly choose up TypeScript.

“Typescript has a studying curve, however if you happen to already know JavaScript, it is going to be a clean one.” — Alex Ewerlöf on TypeScript

Objection #3: But I actually wish to make a cellular app

I nonetheless suggest studying JavaScript first.

  1. JavaScript options a number of instruments for making native cellular apps, equivalent to Angular Cordova and React Native.
  2. In order on your cellular app to really do something attention-grabbing, it’s going to most likely want a correct again finish, which you’ll wish to construct with a correct net growth framework, like Node.js + Express.js.

Also, it’s value stating that the cellular app growth’s finest days might very nicely be behind it.

For starters, as a lot as folks use cellular apps, practically half of all developer jobs are net growth. Compare this with a mere 8% of jobs that contain cellular app growth.

1*6RsFHNgrzFyX-9p37FVtpA
The occupations of 49,525 builders, based mostly on responses to the 2016 Stack Overflow survey.

The grand imaginative and prescient of “there’s an app for that” has not come to move. Instead, most smartphone homeowners have stopped downloading new apps.

Sure — they nonetheless use apps. Mostly Facebook, Google Maps, and handful of others. As such, a lot of the demand for cellular app builders is concentrated in a couple of massive employers.

The outlook for these cellular growth jobs is tough to forecast. Many features of creating, sustaining, and distributing cellular apps are simpler with JavaScript. So firms like Facebook and Google are investing closely in higher instruments for constructing these utilizing JavaScript.

As of 2016, just about all growth is net growth. Everything touches that huge platform that’s “the net.” And the subsequent wave of gadgets that you simply’ll discuss to round your property, and automobiles that choose your youngsters up from college — they’ll all be piped collectively utilizing the net, too.

And which means JavaScript.

Objection #4: Isn’t JavaScript a toy language that was written in 10 days?

JavaScript has a quirky historical past.

You will undoubtedly hear folks crack jokes at its expense.

Well folks like to hate on C++, too. And like JavaScript, C++ has succeeded regardless of this hate, and now it’s just about in all places as nicely.

So if anyone ever offers you a tough time for studying JavaScript as a substitute of elite-language-of-the-week, simply keep in mind the well-known phrases of the man who created C++:

“There are solely two sorts of programming languages: these folks at all times bitch about and people no person makes use of.” — Bjarne Stroustrup

I solely write about programming and expertise. If you comply with me on Twitter I gained’t waste your time. ?

You may also like

Leave a Comment