Which Programming Language Should I Learn First?

Google+ Pinterest LinkedIn Tumblr +

Dear Lifehacker,
With all the excitement about studying to code, I’ve determined to offer it a attempt. The downside is, I am undecided the place to begin. What’s one of the best programming language for a newbie like me?

Could-Be Coder

Dear Could-Be,
That’s most likely one of the crucial standard questions from first-time learners, and it is one thing that educators debate as properly. The factor is, you possibly can ask ten programmers what one of the best language is to get your toes moist with and you possibly can get ten totally different solutions—there are literally thousands of choices. Which language you begin with relies upon not solely on how beginner-friendly it’s, although, but additionally the sort of initiatives you need to work on, why you are focused on coding within the first place, and maybe additionally whether or not you are pondering of doing this for a residing. Here are some concerns and options that will help you determine.

Why Do You Want to Learn to Code?

Depending on what it’s you need to make or do, your alternative may already be made up for you. To construct a web site or webapp, for instance, you need to study HTML and CSS, together with JavaScript and maybe PHP for interactivity. If your focus is generally/solely on constructing a cell app, then you possibly can dive proper into learning Objective-C for iOS apps or how to program with Java for Android (and different issues).

If you are trying to transcend one particular venture or specialty, although, or need to study a bunch of languages, it is best to begin with studying the fundamental ideas of programming and how you can “assume like a coder.” That approach, it doesn’t matter what your first programming language, you possibly can apply these abilities in the direction of studying a brand new one (perhaps in as little as 21 minutes). Even kids’ coding apps may be helpful to begin with. For instance, the primary formal programming course I took (properly, aside from BASIC again in fourth grade) was Harvard’s CS50, which you can take for free. Professor Malan begins the course off with Scratch, a drag-and-drop programming surroundings constructed for youths that teaches coding fundamentals and logic—whereas serving to you create one thing cool—after which he proceeds to show you C.

We’ve featured a number of other excellent resources for studying to code over time, corresponding to interactive course Codecademy, however even with these you continue to want to decide on which language to begin with. So let’s check out the variations between the extra standard ones and that are most beneficial as a starter language.

The Most-Often Recommended Programming Languages for Beginners

Most of the “mainstream” programming languages—corresponding to C, Java, C#, Perl, Ruby, and Python—can do the identical—or practically the identical—duties because the others. Java, for instance, works cross-platform and is used for internet apps and applets, however Ruby can also do giant internet apps and Python apps equally run on Linux and Windows. SOA World factors out that as a result of many languages are modeled after one another, the syntax or construction of engaged on them is usually practically equivalent, so studying one usually helps with studying the others. For instance, to print “Hello World,” Java and C# are syntactically comparable simply as Perl and Python are:

They differ, nonetheless, in how straightforward they’re to arrange and get into. SOA World continues:

Hey, by the best way, in the event you seemed intently at these examples, you may discover some are easy, others are advanced, and a few require semicolons on the ends of strains whereas others do not. If you are simply getting began in programming, typically it is best to decide on languages with out many syntactical (or logical) guidelines as a result of it permits the language to “Get out of its personal approach”. If you have tried one language and actually struggled with it, attempt an easier one!

Here’s a fast comparability of the most well-liked programming languages:

C: Trains You to Write Efficient Code

C is one in every of, if not the, most generally used programming languages. There are just a few causes for this. As famous programmer and author Joel Spolsky says, C is to programming as studying fundamental anatomy is to a medical physician. C is a “machine degree” language, so you may find out how a program interacts with the and study the basics of programming on the lowest——degree (C is the muse for Linux/GNU). You study issues like debugging packages, reminiscence administration, and the way computer systems work that you do not get from greater degree languages like Java—all whereas prepping you to code effectively for different languages. C is the “grandfather” of many different greater degree languages, together with Java, C#, and JavaScript.

That mentioned, coding in C is stricter and has a steeper studying curve than different languages, and in the event you’re not planning on engaged on packages that interface with the (faucet into machine drivers, for instance, or working system extensions), studying C will add to your schooling time, maybe unnecessarily. Stack Overflow has an excellent dialogue on C versus Java as a primary language, with most individuals pointing in the direction of C. However, personally, though I am glad I used to be uncovered to C, I do not assume it is a very beginner-friendly language. It’ll educate you self-discipline, however you may must study an terrible lot earlier than you can also make something helpful. Also, as a result of it is so strict you may find yourself pissed off like this:

Java: One of the Most Practical Languages to Learn

Java is the second hottest programming language, and it is the language taught in Stanford’s famend (and free) Intro to CS programming course. Java enforces stable Object Oriented principles (OOP) which are utilized in trendy languages together with C++, Perl, Python, and PHP. Once you have discovered Java, you possibly can study different OOP languages fairly simply.

Java has the benefit of a protracted historical past of utilization. There are plenty of “boilerplate” examples, it has been taught for many years, and it is broadly used for a lot of functions (together with Android app improvement), so it is a very sensible language to study. You will not get machine-level management, as you’d with C, however you’ll entry/manipulate a very powerful pc components just like the filesystem, graphics, and sound for any pretty refined and trendy program—that may run on any working system.

Python: Fun and Easy to Learn

Many individuals advocate Python as one of the best newbie language due to its simplicity but nice capabilities. The code is straightforward to learn and enforces good programming model (like indenting), with out being overly strict about syntax (issues like remembering so as to add a semicolon on the finish of every line). Patrick Jordan at Ariel Computing in contrast the time it takes to put in writing a easy script in varied languages (BASIC, C, J, Java, and Python) and decided that whereas the opposite languages should not be ignored, Python:

requires much less time, much less strains of code, and fewer ideas to be taught to succeed in a given aim. […] Finally programming in Python is enjoyable! Fun and frequent success breed confidence and curiosity within the pupil, who’s then higher positioned to proceed studying to program.

SOA says Python is an absolute should for newbies who need to get their toes moist with Linux (or are already aware of Linux). Python’s reputation can also be rising shortly right now due to vast adoption on standard web sites like Pinterest and Instagram.

JavaScript: For Jumping Right in and Building Websites

JavaScript (of little relation to Java) requires the least quantity of set as much as get began with, because it’s already constructed into internet browsers. O’Reilly Media recommends you begin with JavaScript as a result of it has a comparatively forgiving syntax (you possibly can code loosely in JavaScript), you see fast outcomes out of your code, and you do not want plenty of instruments. In our personal Learn to Code night school we use JavaScript to indicate you the fundamentals like how variables and capabilities work. If you need to make cool interactive issues for the net, JavaScript is a must have ability.

Choosing Your Path

One final consideration is whether or not or not you may need to go from coding as a interest to doing it as a profession. Dev/Code/Hack breaks down the totally different job roles and the abilities you need to choose up for them:

Back-end/Server-side Programmer: Usually makes use of one of many following: Python, Ruby, PHP, Java or .Net. Has database information. Possibly has some sysadmin information.

Front-end/Client-side Programmer: HTML, CSS, JavaScript. Possibly has design ability.

Mobile Programmer: Objective-C or Java (for Android). HTML/CSS for cell web sites. Potentially has server-side information.

3D Programmer/Game Programmer: C/C++, OpenGL, Animation. Possibly has good creative ability.

High-Performance Programmer: C/C++, Java. May have background in arithmetic or quantitative evaluation.

In the top, although, there isn’t any one option to get began studying to code. The most necessary factor is to study the basics via “scratching your itch,” so to talk, with engaged on a issues you need to remedy or one thing you need to construct. As the programming is terrible weblog says:

The first programming language you study will possible be the toughest to study. Picking one thing small and enjoyable makes this much less of a problem and extra of an journey. It does not actually matter the place you begin so long as you retain going—hold writing code, hold studying code. Don’t overlook to check it both. Once you’ve got one language you are proud of, choosing up a brand new language is much less of a feat, and you will choose up new abilities on the best way.

Once you have determined, previously mentioned Bento will counsel the assets you want and the programs to take after you have discovered your first language.


Read more


Leave a Reply

%d bloggers like this: