banner



How To Learn A Computer Language

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

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

Normally it'southward something like "Learn ______"

Only how do they decide which linguistic communication to search for?

"They e'er joke about Java on Silicon Valley. I gauge I should learn that."

Or:

"Haskell. Then hot right now. Haskell."

Or:

"That Go gopher is only so gosh-darn beautiful."
1*7kbd-tVk3co-9RiilFN1TA

And and so there's the rest of united states. We'll probably search for something like:

"Which programming language should I learn first?"

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

1*OF594B5qtCJR9MFSRTI-5g
Image credit

Deciding on your get-go programming linguistic communication tin be a fun process — kind of like 1 of those "Which Quentin Tarantino character are you?" personality quizzes.

But before you run off to acquire Crimson because y'all enjoyed playing with Play-Doh as a child, allow me remind you: the stakes are pretty high here.

It will take y'all hundreds of hours of do to become even remotely competent with your commencement programming linguistic communication.

So yous should consider the following factors:

  • the chore market for the language
  • the long term prospects for the language
  • how easy the language is to larn
  • what projects y'all can build while you're learning (and share with friends so you lot can stay motivated)

Every twelvemonth brings new programming languages, and with them, new bookish papers. And new web comics.

Seriously. Check out this gem from last month:

1*she624Vf-hrpgLdWd8hKKw

When it comes to choosing a first programming linguistic communication, there'due south no shortage of options. To narrow it down a bit, here are the almost 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 virtually popular option.

Simply tucked away below these is the Little Engine That Could, slowly choo-choo'ing up in popularity over the past few years. And that engine is JavaScript.

Earlier I talk about these programming languages, allow me clarify:

  • I'm non arguing that any one linguistic communication is objectively amend than whatever other
  • I agree that developers should eventually learn more than than one linguistic communication
  • I'm arguing that first they should larn i language well. And — equally you can probably gauge from the upside down text in my headline — that linguistic communication should be JavaScript.

Let'southward kick things off past exploring how programming is currently taught in schoolhouse.

Information science 101

1*eu4cWRZXUt3ybNFzeT-q8Q

Universities accept traditionally taught programming under the umbrella of informatics, which itself is often seen as an extension of mathematics, or tie-in to an electric engineering degree.

Of grade, as y'all may take heard past at present:

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

As of 2016, many universities still treat programming like it'south computer science, and computer science like it's math.

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

And department chairs generally stay the course, pointing to annual programming language leaderboards like the TIOBE Index, or this i from the IEEE:

1*8yWwh_UrWeoxYSVsWTnEBA

Most of these leaderboards look virtually identical to how they were ten years ago.

Only change does happen. Fifty-fifty in academia.

In 2014, Python overtook Java equally a the most pop language of instruction at elevation US Information science programs.

1*728HWv2YP3PjY1_QmGQg1g

And nonetheless another change is bound to… eventually… happen.

Because if you lot look at the languages actually used past the workforce, it paints a very different picture:

1*fUxhG3xtbuyAH-NCPYs4lQ
JavaScript is past far the most pop linguistic communication used past the 49,397 developers who responded to Stack Overflow's 2016 Survey.

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

Job postings also mention JavaScript more than whatever programming linguistic communication other than Coffee:

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

It's no accident that nosotros built our open up source customs's curriculum around JavaScript. Over the by two years, more than than v,000 people have used Gratis Code Army camp to get their get-go developer job.

I'one thousand not advocating JavaScript because I teach it. I teach JavaScript because it'south the surest path to a kickoff developer job.

But is JavaScript right for you? Is it worthy of existence your first programming linguistic communication? Let's explore those factors I mentioned before.

Gene #1: The job market

If you're learning to program purely out of intellectual curiosity, experience costless to skip this factor. Simply if y'all — like the vast bulk of people learning to program — desire to use this skill to get a job, this is an important consideration.

Equally I mentioned earlier, Coffee is mentioned in more chore postings than any other programming language. JavaScript is a close 2d.

Merely here'southward the affair almost JavaScript: even though information technology'due south been around for 20 years, information technology only recently became a serious tool that companies similar Netflix, Walmart, and PayPal would build entire applications around.

As a result, plenty of companies are hiring JavaScript developers, just in that location but aren't that many on the job market place.

1*EanhlHoMIsF-By0gRrAcYQ
Information from Indeed.com

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

Just for every open JavaScript position, there are just 0.half-dozen JavaScript developers. It is very much a sellers' market for developers with JavaScript skills.

Factor #2: The long term prospects

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

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

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

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

This type of inter-visitor cooperation is harder to find with Java. Oracle — who effectively owns Java through its acquisition of Sunday Microsystems — oftentimes sues companies who effort to expand upon it.

Factor #3: Difficulty to learn

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

Most programmers would concur that high-level scripting languages are relatively easy to larn. JavaScript falls into this category, along with Python and Blood-red.

Even though universities still teach languages similar Java and C++ as first languages, they're considerably harder to learn.

Factor #four: Projects yous can build with it

This is where JavaScript really shines. JavaScript runs on whatsoever device that has a browser, right at that place in the browser. Yous can 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:

"Whatsoever application that can exist written in JavaScript, will eventually exist written in JavaScript."

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

Java in one case promised to run everywhere, too. Y'all may recollect Java Applets. Oracle officially killed them off earlier this yr.

Python suffers from much the same problems:

"How can I give this game I made to my friend? Even better, is there a way can I put this on my phone so I tin show information technology to kids at school without them having to install it? Um." — James Hague in Retiring Python as a Teaching Linguistic communication

By contrast, here are some apps that members of our open source community built in their browsers on CodePen. Yous can click through and utilize these right 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 linguistic communication well. And so acquire a second one.

If yous keep jumping from language to language, you won't get far.

In lodge to motility beyond the basics, yous demand to learn your first language well. Then your 2nd language will be much, much easier.

From there, you tin can branch out, and go a more well-rounded programmer by learning lots of languages:

  • C is a great way to acquire how computers actually work in terms of retention management, and is useful in loftier-performance computing
  • C++ is bang-up for game evolution.
  • Python is crawly for scientific discipline and statistics.
  • Java is of import if you desire to work at large tech companies.

Just acquire JavaScript first.

OK, now I'm going to endeavor the impossible — I'm going to try and anticipate objections from the comments department.

Objection #1: But isn't JavaScript slow?

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

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

It is also nearly as fast as loftier-performance languages like C++, Coffee, and Go.

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

1*h91cfcE8NlgyHfm4CLbV6w

Objection #2: But JavaScript isn't statically typed

Like Python and Ruby, JavaScript is dynamically typed, which is user-friendly. Only you can get into trouble. Hither I intend for exampleArray to be an array. I set its values, then check its length — meaning the number of elements it contains.

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

But so I accidentally assign it to be a cord.

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

These kinds of errors happen all the time in dynamically typed languages. Most developers just put checks in identify to preclude them, and write tests accordingly.

If you absolutely must have static typing in your first programming language, then I nonetheless recommend you learn JavaScript first. Then you tin can speedily pick up TypeScript.

"Typescript has a learning bend, only if y'all already know JavaScript, it will be a smooth one." — Alex Ewerlöf on TypeScript

Objection #3: Only I actually want to make a mobile app

I withal recommend learning JavaScript start.

  1. JavaScript features several tools for making native mobile apps, such as Athwart Cordova and React Native.
  2. In order for your mobile app to actually practice annihilation interesting, it will probably demand a proper back end, which yous'll want to build with a proper web evolution framework, like Node.js + Limited.js.

Also, it's worth pointing out that the mobile app evolution's best days may very well be behind it.

For starters, as much as people use mobile apps, nearly half of all developer jobs are web evolution. Compare this with a mere 8% 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 1000 vision of "there's an app for that" has not come to pass. Instead, most smartphone owners have stopped downloading new apps.

Certain — they still use apps. Mostly Facebook, Google Maps, and handful of others. Equally such, much of the need for mobile app developers is concentrated in a few big employers.

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

Equally of 2016, pretty much all development is web development. Everything touches that big platform that is "the web." And the next moving ridge of devices that you lot'll talk to around your dwelling, and cars that option your kids up from school — they'll all be piped together using the web, as well.

And that ways JavaScript.

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

JavaScript has a quirky history.

You will undoubtedly hear people crack jokes at its expense.

Well people dearest to hate on C++, too. And like JavaScript, C++ has succeeded despite this hate, and at present it's pretty much everywhere also.

And then if anybody always gives y'all a difficult time for learning JavaScript instead of elite-language-of-the-calendar week, merely think the famous words of the guy who created C++:

"There are only two kinds of programming languages: those people always bitch most and those nobody uses." — Bjarne Stroustrup

I only write about programming and technology. If you follow me on Twitter I won't waste material your time. ?



Learn to code for free. freeCodeCamp's open source curriculum has helped more 40,000 people go jobs as developers. Go started

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

Posted by: brousseauvedge1990.blogspot.com

0 Response to "How To Learn A Computer Language"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel