Graduation Computer Science I Despise Writing Code and Never Want to Program Again

What Programming Language Should I Learn First in 2022? [Solved]

Most people's journey toward learning to program starts with a unmarried late-night Google search.

Usually information technology's something like "Learn ______"

But how practise they decide which linguistic communication to search for?

"They e'er joke well-nigh Java on Silicon Valley. I approximate I should acquire that."

Or:

"Haskell. So hot correct now. Haskell."

Or:

"That Become gopher is merely then gosh-darn cute."
1*7kbd-tVk3co-9RiilFN1TA

And so in that location's the residual of us. We'll probably search for something like:

"Which programming language should I larn offset?"

Few questions are so commonly asked that they get the full infographic handling. But this is one of them:

1*OF594B5qtCJR9MFSRTI-5g
Image credit

Deciding on your first programming language can exist a fun process — kind of like one of those "Which Quentin Tarantino graphic symbol are y'all?" personality quizzes.

But before you run off to learn Carmine because you enjoyed playing with Play-Doh as a child, permit me remind you: the stakes are pretty high here.

Information technology will accept y'all hundreds of hours of do to become fifty-fifty remotely competent with your first programming language.

So y'all should consider the post-obit factors:

  • the task market for the linguistic communication
  • the long term prospects for the linguistic communication
  • how easy the language is to learn
  • what projects you can build while you're learning (and share with friends and then you can stay motivated)

Every yr brings new programming languages, and with them, new academic papers. And new spider web comics.

Seriously. Check out this gem from last month:

1*she624Vf-hrpgLdWd8hKKw

When information technology comes to choosing a offset programming language, there's no shortage of options. To narrow it down a bit, here are the near common Google searches related to learning programming, over the past 12 years:

1*znaagCC5fn0-Dqy43ILeqQ

Java has had its ups and downs.

Python has gradually risen to become the almost pop choice.

Merely tucked away beneath these is the Trivial Engine That Could, slowly choo-choo'ing upwards in popularity over the past few years. And that engine is JavaScript.

Before I talk about these programming languages, let me clarify:

  • I'm non arguing that any one language is objectively better than any other
  • I concur that developers should eventually larn more than one language
  • I'm arguing that first they should learn one language well. And — every bit yous can probably guess from the upside down text in my headline — that language should be JavaScript.

Let's kicking things off by exploring how programming is currently taught in school.

Computer Science 101

1*eu4cWRZXUt3ybNFzeT-q8Q

Universities accept traditionally taught programming nether the umbrella of computer science, which itself is frequently seen as an extension of mathematics, or necktie-in to an electrical engineering caste.

Of form, every bit you lot may have heard past now:

"Information science pedagogy cannot make everyone an expert programmer any more than studying brushes and pigment can make somebody an skilful painter." — Eric South. Raymond

Every bit of 2016, many universities all the same treat programming like it's informatics, and calculator science like it's math.

As a result, many introductory programming courses focus on low-level-of-brainchild languages like C, or mathematically-focused languages similar MATLAB.

And department chairs by and large stay the course, pointing to annual programming language leaderboards like the TIOBE Index, or this one from the IEEE:

1*8yWwh_UrWeoxYSVsWTnEBA

Most of these leaderboards look well-nigh identical to how they were 10 years ago.

But change does happen. Even in academia.

In 2014, Python overtook Java every bit a the virtually popular language of instruction at tiptop U.s. Information science programs.

1*728HWv2YP3PjY1_QmGQg1g

And yet another alter is bound to… eventually… happen.

Because if you await at the languages actually used by the workforce, it paints a very different picture:

1*fUxhG3xtbuyAH-NCPYs4lQ
JavaScript is by far the almost popular language used by the 49,397 developers who responded to Stack Overflow's 2016 Survey.

More than than one-half of all developers apply JavaScript. It's vital to front end-end web development and increasingly relevant for back-end development. And it's rapidly expanding into areas like game development and the Internet of Things.

Task postings as well mention JavaScript more than than any programming language other than Java:

1*Nju6ZEORusBE-4UB290Ftw
Data from the earth'south largest job posting aggregator, Indeed.com

It'due south no accident that we built our open up source community's curriculum around JavaScript. Over the past two years, more than than 5,000 people have used Free Code Army camp to get their first programmer job.

I'm not advocating JavaScript because I teach it. I teach JavaScript because it's the surest path to a offset developer chore.

Just is JavaScript right for you? Is it worthy of being your first programming language? Let'south explore those factors I mentioned earlier.

Factor #1: The job market

If you're learning to program purely out of intellectual curiosity, feel free to skip this factor. But if you — like the vast majority of people learning to plan — want to use this skill to get a chore, this is an important consideration.

As I mentioned earlier, Coffee is mentioned in more task postings than any other programming language. JavaScript is a shut second.

But here's the thing nigh JavaScript: even though it's been effectually for 20 years, it but recently became a serious tool that companies like Netflix, Walmart, and PayPal would build entire applications around.

As a outcome, enough of companies are hiring JavaScript developers, but there just aren't that many on the job market.

1*EanhlHoMIsF-By0gRrAcYQ
Information from Indeed.com

There are 2.7 Java developers competing for every open Coffee position. Competition for PHP and iOS jobs is similarly violent.

But for every open JavaScript position, there are only 0.6 JavaScript developers. It is very much a sellers' market for developers with JavaScript skills.

Factor #ii: The long term prospects

The average JavaScript project receives twice as many pull requests equally the average Java, Python, or Ruby project. And on top of this, JavaScript is growing faster than any other popular language.

1*-GxMW33X9Gb5lboyN02hKw
Source: The GitHub'due south 2016 Country of the Octoverse

JavaScript's ecosystem also benefits from a heavy investment of money and engineering talent from companies like Google, Microsoft, Facebook, and Netflix.

For example, TypeScript (a statically-typed superset of JavaScript) has more than than 100 open source contributors, many of whom are Microsoft and Google employees existence paid to work on it.

This blazon of inter-company cooperation is harder to find with Java. Oracle — who effectively owns Java through its conquering of Sunday Microsystems — often sues companies who endeavor to expand upon it.

Gene #3: Difficulty to learn

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

Near programmers would hold that high-level scripting languages are relatively like shooting fish in a barrel to learn. JavaScript falls into this category, along with Python and Ruby.

Even though universities nonetheless teach languages like Java and C++ every bit offset languages, they're considerably harder to learn.

Cistron #four: Projects y'all tin can build with information technology

This is where JavaScript really shines. JavaScript runs on any device that has a browser, correct at that place in the browser. You lot tin build basically anything with JavaScript, and share it anywhere.

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

"Any application that can be written in JavaScript, volition somewhen be written in JavaScript."

And with each passing month, Atwood's Police force holds strong.

Java once promised to run everywhere, too. You may remember Java Applets. Oracle officially killed them off earlier this yr.

Python suffers from much the aforementioned bug:

"How can I give this game I made to my friend? Fifty-fifty better, is there a fashion can I put this on my phone so I can testify it to kids at school without them having to install it? Um." — James Hague in Retiring Python every bit a Teaching Language

Past contrast, here are some apps that members of our open up source customs congenital in their browsers on CodePen. You can click through and employ these correct in your browser:

1*i-bre5pF0rk6Wgz5yjugjw
1970s style Simon game
1*GtVQI4LUU0-_Soyhi93LBg
Conway's Game of Life
1*jkx-Vf8esZ0GYv_L6S2i9A
Star Wars-themed Wikipedia Search
1*PiI9yXaUNJANSffWvdotDQ
A roguelike dungeon crawler game

Learn one language well. And so learn a 2d i.

If y'all keep jumping from linguistic communication to language, you won't go far.

In guild to move beyond the basics, you lot need to larn your start language well. So your second language will be much, much easier.

From in that location, you can co-operative out, and become a more than well-rounded developer by learning lots of languages:

  • C is a great fashion to larn how computers actually work in terms of retention management, and is useful in high-performance computing
  • C++ is great for game evolution.
  • Python is awesome for science and statistics.
  • Java is important if you desire to work at large tech companies.

Merely acquire JavaScript first.

OK, now I'm going to attempt the impossible — I'm going to attempt and conceptualize objections from the comments section.

Objection #1: But isn't JavaScript wearisome?

JavaScript is — for most applied purposes — as fast every bit high-performance languages.

JavaScript (Node.js) is orders of magnitude faster than Python, Carmine, and PHP.

Information technology is as well nearly equally fast as high-performance languages similar C++, Java, and Go.

Here are the results of the almost comprehensive contempo cross-language benchmark:

1*h91cfcE8NlgyHfm4CLbV6w

Objection #two: But JavaScript isn't statically typed

Similar Python and Ruddy, JavaScript is dynamically typed, which is convenient. But y'all can get into trouble. Here I intend for exampleArray to be an array. I fix its values, then bank check its length — meaning the number of elements it contains.

                exampleArray = [1, 2] -> [i, 2]  exampleArray.length -> ii              

But then I accidentally assign it to be a string.

                exampleArray = "text" -> "text"  exampleArray.length -> 4              

These kinds of errors happen all the fourth dimension in dynamically typed languages. Almost developers merely put checks in identify to prevent them, and write tests accordingly.

If you absolutely must accept static typing in your first programming linguistic communication, then I still recommend you larn JavaScript start. Then you can speedily pick upwardly TypeScript.

"Typescript has a learning curve, but if you already know JavaScript, it will be a smooth one." — Alex Ewerlöf on TypeScript

Objection #iii: Merely I really want to make a mobile app

I still recommend learning JavaScript get-go.

  1. JavaScript features several tools for making native mobile apps, such equally Athwart Cordova and React Native.
  2. In gild for your mobile app to really practice anything interesting, it will probably need a proper back end, which you'll want to build with a proper web evolution framework, like Node.js + Limited.js.

Also, information technology's worth pointing out that the mobile app development's best days may very well be behind information technology.

For starters, as much as people employ mobile apps, nearly one-half of all developer jobs are web development. Compare this with a mere viii% of jobs that involve mobile app development.

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

The grand vision of "there'due south an app for that" has not come to pass. Instead, nearly smartphone owners have stopped downloading new apps.

Sure — they still utilise apps. Mostly Facebook, Google Maps, and handful of others. Every bit such, much of the demand for mobile app developers is full-bodied in a few big employers.

The outlook for those mobile development jobs is hard to forecast. Many aspects of developing, maintaining, and distributing mobile apps are easier with JavaScript. And so companies like Facebook and Google are investing heavily in better tools for edifice these using JavaScript.

Equally of 2016, pretty much all development is web development. Everything touches that large platform that is "the spider web." And the next wave of devices that you'll talk to around your home, and cars that pick your kids up from school — they'll all be piped together using the web, besides.

And that means JavaScript.

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

JavaScript has a quirky history.

You volition undoubtedly hear people fissure jokes at its expense.

Well people love to detest on C++, likewise. And similar JavaScript, C++ has succeeded despite this hate, and at present it's pretty much everywhere as well.

So if everyone ever gives y'all a hard time for learning JavaScript instead of elite-language-of-the-week, merely recall the famous words of the guy who created C++:

"In that location are only two kinds of programming languages: those people always bitch nigh and those nobody uses." — Bjarne Stroustrup

I only write most programming and technology. If y'all follow me on Twitter I won't waste your fourth dimension. ?



Larn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

shermanlemelow.blogspot.com

Source: https://www.freecodecamp.org/news/what-programming-language-should-i-learn-first-19a33b0a467d/

Related Posts

0 Response to "Graduation Computer Science I Despise Writing Code and Never Want to Program Again"

Enregistrer un commentaire

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel