- PSD to WordPress
- Learn
- Expert roundups
- What is the best programming language to start with?
What is the best programming language to start with?
Written and compiled by PSD to WordPress.
At PSDtoWP.net we mostly work with HTML, CSS, JavaScript and PHP. Of course we use libraries like jQuery, but programming languages like Python, Ruby or Java are hardly ever used for the projects we develop for our clients. As a front-end developer I’m always eager to learn, and in my opinion, there isn’t a better way than to learn from expert web developers and computer science professors. On March 11, I got inspired by a tweet from front-end development expert Brad Frost in which he asked his followers the following question: "If you were to learn a backend language for the first time, what would you recommend?".
Programming languages
To get an answer to this question, I started by researching programming languages and there are a lot programming languages out there. Every programming language is developed for a certain purpose. Simply picking one you like and trying to learn it isn’t the best way to go because first you need to find a problem to solve. But how do you find the best programming language that not only fits your needs but more importantly, lets you solve the problems you’re facing?
Learn programming
If you want to learn to program, you will first need to ask yourself what the problem is that you want to solve and what the best programming language is to solve that problem with. If you don’t ask yourself these questions and just pick one of the various programming languages and learn programming in that particular programming language, you’ll probably won’t persevere for a long time since learning a programming language can be hard. Once you’re building something with that programming language that you think is cool, you’ll most definitely won’t stop until you’ve solved your problem and mastered at least the basics.
The best programming language
To find the best programming language, I asked 83 professionals and web developers the following question, which resulted in a great programming languages list:
If a novice developer asked you which programming language to learn, what would you say?
The best programming languages based on the answers I received from the 83 professionals and web developers are listed below in the programming languages list top 10. Before you jump right in to one of the best programming languages, make sure you read the advice given by the professionals and web developers and think of a problem that you want to solve, or something like a web application or a game that you’ve always wanted to build. Create something that you’ll actually want to create so the learning process becomes fun and instructive at the same time!
The 10 best programming languages
Based on the insights of 83 professionals and web developers
- JavaScript 50.8 % votes
- PHP 13.5 % votes
- Python 7.9 % votes
- Ruby 7.9 % votes
- Java 4.8 % votes
- Swift 4.8 % votes
- C++ 3.2 % votes
- Scratch 2.4 % votes
- C 2.4 % votes
- ECMAScript 6 2.4 % votes
83 professionals
Find below an alphabetically ordered list of all professionals who have participated in this roundup.
- A:
- B:
- C:
- D:
- E:
- F:
- G:
- I:
- J:
- K:
- L:
- M:
- N:
- O:
- P:
- R:
- S:
- T:
- V:
- W:
4 American professors and lecturers and their advice
Prof. Todd A. Proebsting
The University of ArizonaJavascript: While none of the popular contemporary languages is well suited for novice programmers---the languages tend to be too large and too complicated for learning---Javascript does have the desirable quality that it is available everywhere in browsers and students can quickly produce fun, interesting programs. Ultimately, what's important is that the learners stay engaged and enjoy producing programs.
For children, I'd suggest starting with Scratch.
Dr. Andrew Harrington
Loyola University ChicagoWhat age?
Very young children are likely to do best with Scratch or Turtle Art, with their graphical themes and cookie-cutter approach that make incorrect syntax impossible.
For older or more motivated learners I recommend Python. I am not claiming this is the only language that should be learned, just a first one that is likely to continue to get a lot of use by many learners. There is good research data that intro programming in Python followed by data structures in C++ or Java works well.
I have taught intro programming along with higher level courses for 32 years, from Basic and Pascal through C, C++, Java, and C#. Through all of this I have found that with Python students can get right into the central ideas without distraction from a bunch of peripheral issues.
For a newbie, extra boilerplate syntax that you cannot really explain gets in the way. Python has a very simple, clean syntax. Although everything is an object underneath, you do not need to expose that at all in the beginning. The Python shell is excellent for testing and playing with little snippets. There are great tools: IPython notebooks build on the ida of the Python shell to allow easy combinations of text, code, and graphics, sound and animation, and to share it all over the web.
There is a great deal of free resources linked to a very supportive community. It can be done successfully on minimal hardware, like a cheap Raspberry Pi.
Richard McKenna
Stony Brook UniversityI'm going to wimp out and give 2 languages: Java and JavaScript (which are not related). The reason is the same for both, by learning these languages one can make stuff that other people can see and use. Java for Android apps (the most popular mobile platform), and JavaScript for Web apps usable via any browser. Making stuff that others can see and use is a great motivator and a great thrill.
Prof. Robert Burns
Diablo Valley CollegeI would recommend learning in Python. It’s easier than C or C++ or Java, because there are not so many requirements for containers, like main functions and public classes, and not so many library includes. There are no semicolons and no curly braces. And there are online IDEs, so no software installation is required.
At DVC we offer our introduction to programming class in C++, Java, or Python — student choice. We use a book series that presents the material in the same way for each language, with code samples plugged in. The Python edition is the shortest.
The 79 web developers and their programming language advices
Peter Cooper
WebsiteJavaScript or Ruby. Either will get you a long way. Why JavaScript? It's everywhere. It does (almost) everything now. Why Ruby? It's a beautiful language and lets you do a lot, just not so much in the browser. I prefer the beauty and fun of Ruby for most of my work, but I spend most of my time on the backend anyway.
Paul Kinlan
WebsiteI would first try to understand what the developer wants to do. If they want to build web based software JavaScript because you can build entire the product from client to server in that language and the syntax isn't too complex. If it is more hardware focused, C with Arduino, and if it is mobile native applications then Java or Swift, and then JavaScript for the backend if they need it.
Leah Culver
WebsiteMy advice is to pick a programming language based on something you'd like to build. I think it's easiest to learn programming if you're motivated to build an app. So if you'd like to build a website, pick a popular web framework like Node.js, Rails, or Django. JavaScript is also always a great first language to learn if you're interested in building websites. If you're more interested in making a mobile app, try Java for Android or Swift for iOS.
Jeff Atwood
WebsiteJavaScript, because of Atwood's Law.
Make sure you check out Jeff Atwood's articles:
A scripter at heart
The principles of least power
David Heinemeier Hannson
WebsiteI'm going to be pretty obvious: Ruby. The distance from thought to result is so low, it's so readable, and it's so friendly to learn. Learn To Program is a great book to follow this path with.
Remy Sharp
WebsiteIt depends entirely on what you're trying to do. If you want to do something on the web, I'd recommend learning HTML and CSS first. Don't be afraid to learn design techniques as the years go on.
If you want quick and dirty, up and running (education-wise) within a super short period/without having to learn *anything* then I'd recommend using PHP.
If you wanted to learn a language that can do all kinds: web sites, graphics, interaction, hardware and more - then I'd recommend JavaScript, and if you wanted a place to start, I'd start with Eloquent JavaScript.
Andy Bell
WebsiteThe important thing to learn with any programming language is the correct approach and methodologies. It is important to learn how to work in a scalable fashion and work within an industry standard coding style. Once you have a grasp for quality programming, these base skills can be transferred easily between any language.
I would recommend a novice starts with a cheap to setup language such as PHP and a framework such as Codeigniter or Symfony to learn the basics of MVC and object orientated programming. I would recommend they only learn to work with a CMS such as Wordpress after this initial learning process.
Above all - a novice should enjoy the learning process as much as they can and take full advantage of resources such as StackOverflow and good coffee :)
Mario Duarte
WebsiteMany people ask this question at some point in their career, myself included. At the time I wanted to learn the most in the shortest time possible or at least in the most efficient way possible.
Although HTML and CSS are not programing languages (They are a markup languages) I would strongly advise to learn them or at least understand them, this because I would advice to start by learning PHP and JavaScript, one server-side (PHP) and one client-side (JavaScript) programing language and you will encounter yourself needing to right some basic markup in your scripts so HTML and CSS would be good to have on the tool belt. Please note that JavaScript can also be used as a server side language.
So why did I picked up PHP and JavaScript? PHP is the most used and the most widely accepted programing language used on more than 240 million websites, also majority of CMS systems are built on PHP which will enable you to easily learn any of them.
My Second pick, JavaScript, was mainly due to the extreme growth in popularity, wide choice of libraries and frameworks such as Angular, Node, Ember not forgetting JQuery the most famous library, also Phaser and Pixi that allows you to build 3D and 2D games. As you can see JavaScript is a very versatile and dynamic programing language that supports object-orientated, imperative and functional styles.
At the end of the day there is no concrete answer to it, only opinions and everyone has it’s own, you should decide based on what direction you want to take your career, a more frontend developer or more of a backend developer or even a mobile application developer, these can share some common languages like JavaScript but also have other specific languages.
John Saddington
WebsiteJavaScript, Python, Ruby on rails as are all great places to start but the most important thing is that you do start and find help people to work with and mentor and coach you as to become a new developer. Just start, earlier the better. Today.
Alex King
WebsiteExperience with any programming language will teach you valuable lessons that can be applied to other languages. I would recommend first choosing a project that inspires you, then choosing a language (and framework, etc.) that is suitable for building that project. You may want to ask a more experienced developer for help with this choice.
Having something you just can't wait to build is ideal. It is hard to overstate the value of having the motivation to get through the initial learning curve and frustration that every developer experiences when they are first starting out.
John Havlik
WebsiteIf a developer asked me which programming language I'd advise them to learn, I would advise them to study C and C++. While C and C++ are not typical web programming languages, and are not necessarily 'hip' they are used in a wider range of fields from embedded programming to kernel and driver development to GUI programs such as web browsers. After learning C and C++, one will have a greater appreciation for the features in higher level languages. Lastly, several other languages borrow many of the syntax ideas in C/C++, thus these other similar languages will be easier to pick up after being familiar with C/C++.
Lance Willett
WebsiteNo question about it, a beginning developer today should learn JavaScript first. Its ubiquity is undeniable, and any fluency you have with it will pay off immediately in any WordPress or front-end project. The next generation of web development could foreseeably be completely in JavaScript, from the server to the client—so it's a good investment for being employable now, and employed in the long term. A proper understanding of JavaScript language fundamentals will also give you head start on programming in general, forming good habits for years to come.
Filipe Fernandes
WebsiteI think Javascript is a good one. Has been a while which JS is gaining a lot of space in the market and this days, we have a bunch of stuff to do with JS. We have whole environment with NodeJS, local server with Express, database with MongoDB, front-end with AngularJS. Also, if you know nothing about JS yet, jQuery is a good choice to made some interactions in your website, managing the DOM, using some plugins like carousel, modals, and so on. So you can do pretty much everything using Javascript.
If you're going in the way of the front-end, I suggest you also learn some CSS preprocessor, Sass to be more specific. I suggest Sass because he has a huge community and the learning curve is a bit short if you're using SCSS. Almost everything of all logic you do can do with JS you also can apply in Sass but more in the visual way.
Or, if your want to work as a back-and developer, I suggest you study about Ruby on Rails. This framework is one of the most popular in the startups market and you have a bunch of possibilities to integrate with AngularJS and Sass is the default preprocessor. I'm not a back-end developer, but I already done some stuff with RoR and is a crazy powerful framework.
But for any language you choose, I recommend you study JS because i believe it is the language of the future. ;)
Pablo Deeleman
WebsiteJavascript. And there's a huge amount of reasons for picking it up as the language of choice for start coding when you're an absolute beginner. I guess it's worth mentioning that Javascript can be found at the core of worldwide used applications such as the Spotify player or the Popcorn-Time torrent client, besides of being the scripting language that fuels the Node.js back-end server technology currently in use on sites such as Linkedin, Uber, The New York Times or eBay. But these are purely business reasons. Simply put, this conforms the kind of rationale that a novice developer might take into account when pondering what scripting languages might take her further in his career in less than no time. But let's go down to pure educational arguments... Javascript should be the language of choice for a novice developer because it is:
- Easy: Javascript contains at its core all the programming features that one needs to be familiar with when learning to code, specially when it comes to learn the basics of data structures and algorithms. On top of that, Javascript is a strongly typed language where two of the most usual pitfalls of all junior devs such as type setting and compiling are done automatically, saving a lot of frustration for the newcomer.
- Accessible: While no coding language out there requires its learners to pay a fee, the tools and environments required to get up to speed with Javascript are right now at your hand. This is, a browser. Javascript support is provided out of the box on each and every browser out there and we can even use the browser itself as an IDE. On top of that and thanks to the NPM and Node interpreter we can run our scripts in a shell console.
- Flexible: Learning to code entails becoming familiar (at least in a shallow manner) with all programming paradigms our there: Procedural scripting, (reactive or not) functional programming, OOP. Javascript is so damn flexible that can accommodate all these different architectural flavors with no effort.
- Powerful: There's been always a controversy about far can a Javascript-based app can go in comparison to other languages such as Python, Ruby or Java. With the inception of Node.js (and now IO.js) the controversy has reached a dead end. I can personally think of very few things that cannot be done in Javascript nowadays just by harnessing the power of Node.js or the HTML5 APIs available nowadays. May be file transcoding is not at its best and Javascript still doesn't seem suitable for high-end game development (although game engines such as Unity support it as scripting language).
- Demanded: The bottom line is that every novice developer wanting to learn any web technology will bump into Javascript sooner or later. The huge demand of Javascript developers out there and the massive amount of Javascript based projects is hard to disregard. But this is a good thing, since it ensures that for any project that you want to face, there's a fairly decent amount of help resources out there, ensuring a smooth learning.
Pachito Marco Calabrese
WebsiteI would say Javascript. It's easy to pick it up. Can be used everywhere from frontend to backend to microcontrollers. It gives all the fundamentals and basics from flow control and give you the change to use NodeJS. I advice to learn some more modern language could be ECMAScript 6 or Python for understand more in deep Object Oriented Programming.
Andrew Norcross
WebsiteIf I were starting today, I'd probably say JavaScript. There are so many new and exciting things happening in that area, between back end systems like Node, frameworks like Angular and React, and browser enhancements that you can find something that you'll actually enjoy doing, while always having the opportunity to learn more.
Jennifer de la Fuente
WebsiteFor me, it really depends on where the person is coming from and what he or she wants to do. If it's someone who's had no exposure to programming at all, then I'd definitely tell that person to learn front-end languages first (HTML/CSS/JavaScript). I wouldn't worry about frameworks really, just get really good at understanding and writing solid code and especially get a good handle on CSS and JavaScript, and some jQuery. To me, you really can't get anywhere without a good foundation and without learning how to tackle programming challenges.
If it's someone who knows front-end already, it would depend on what he or she wants to do. If you want to work in WordPress, definitely learn PHP and how to work with a database, learn how to deconstruct a WordPress theme and put it back together. If you want to build web apps quickly, learn Ruby and Rails. It's a little easier syntax to learn as a back-end language, and it's powerful. The key though is to get the logic down because that's what trips everyone up in programming. I was self-taught and learned some PHP first, but once I got the hang of that, I found it easy to learn another back-end language because I understood what went into programming logic.
Richard Senior
WebsiteI believe that JavaScript is a great programming language to learn, especially with it’s prevalence on the web. You will find it easy to find lots of great tutorials and get a lot of help from the web community along the way.
Obviously if your goal was to develop for a particular platform, then choose what’s best for that purpose.
JavaScript started out as a client side language, but today it’s used in many more different areas including server side with technologies like Node.js.
‘Purist’ programmers might choose another language like Ruby etc. But for day to day web stuff, JavaScript is a good choice.
Paul Gibbs
WebsiteMy advice is to start learning a language that will let you achieve whatever you find fun. Learning anything is hard and requires persistance, so if you're learning something just because it's popular, or because someone told you to learn it, you won't have a passion or any investment in it.
Do you like building websites? Go learn JavaScript. But if you love building new features, learn a backend language such as PHP or Ruby. Do you love downloading and finding the best apps for your phone? Learn Swift, or Java. Love playing video games? Does your favourite game support mods? Go learn how to build a mod. This might be Lua, or C.
Just don't listen to me. Follow your heart, and start learning something that will let you achieve fun.
Moreno Naitana
WebsiteWell, it’s a really difficult question, because all depends of what the developer prefers to do. If it’s a front-end developer I should advice to start with the very basics like HTML, CSS and then Javascript. An app developer could find his way around C++, Python and Swift. Then if it’s more for back-end purpose, PHP could be a good solution.
Mark Forrester
WebsiteI’m biased, as well as possibly slightly misinformed, having not programmed myself for a very long time - and even then being more a front end kind of guy. However, running a jet propelled commercial WordPress business since 2008 and seeing all the opportunities available on that platform I’d strongly recommend a mix of PHP and Javascript. There is so much work available for developers and designers willing to innovate within and on top of WordPress and it’s API. There are not many other places allowing you to so easily reach a mass market, over 20% of the internet, with off the shelf digital products and services.
Ben Alman
WebsiteI don't think it matters what language a programmer starts with. However, I think it's immensely valuable for programmers to learn (at least) a few different languages. Not necessarily all at once, but as the opportunity arises. Programming languages are generally designed to solve problems, and are best learned when you have a problem that needs solving, like creating a website (JavaScript, Ruby, Python), an application (C++, Rust, Go), scripting a game (Lua, Squirrel, Lisp), or making digital art (Processing, Scratch, Logo).
Every programming language will teach a programmer general concepts of programming, such as variables, types, subroutines, abstraction, control flow, iteration, and debugging. But depending on what language is chosen, the programmer might learn specific concepts that don't necessarily apply to every language, like compiling, scope, closures, recursion, memory allocation, or garbage collection. (These lists are by no means comprehensive!)
Each language a programmer learns brings them closer to understanding how different languages implement features differently, how an approach taken in solving a problem in one language might be applicable to solving a similar problem in another language, what concepts are more generally applicable to programming (and thus more valuable to learn, as knowledge of them will aid future learning), and what concepts are more specific to a subset of languages (and thus less valuable to learn, in general, but probably critically important in helping solve a current problem).
For example, my experience has taught me to delineate general vs specific concepts as I have above, but as I learn more languages and more about the languages I already use, I might actually realize that a concept I thought was more general should be more specific, or vice-versa.
Wilson Page
WebsiteFrom a biased perspective I would say JavaScript. Just because it spans such a huge surface area: Browser, Server, Native (via Phonegap/Cordova). It seems to be a solid long-term investment.
Fernando Poli
WebsiteI will tell them to learn css and then make courses to learn less or sass, because this helps to create the website and to reuse code easily.
Also i will tell them to learn html5, using the new tag, canvas and SVG. They should also learn to handle JavaScript libraries like jQuery.
And last, to learn Angular.js because it is the future, allowing you to interact at the moment without having to refresh the page.
Adam Johnson
WebsiteI'd recommend trying to get a taste of a lot of different programming languages. It's easy to specialize in one language but gaining an understanding of the overall landscape will make you a better all around developer.
Kahlil Lechelt
WebsiteIf a novice developer would ask me which language I'd advise him or her to learn I would tell this:
First: Figure out something you want to build or a problem you want to solve. Something that would be really useful to you or to your family or to your team or to your boss.
Then: figure out which language(s) you need to use to build that thing. Figure out the most straight-forward, lightweight and productive way to build this. You may have to ask some experienced programmers here and / or do some research online.
Then: start learning the language(s) you need for your thing and start building it while you learn. This will keep you motivated to keep going. Don't be afraid to build a shitty first version. If it works, it works. Take the little problems within the problem you are solving as guidance on where to dig deeper and what to learn next.
I would recommend this approach because the field of software development is vast. It ranges from building a simple website with a little HTML to programming robots for space exploration. But at the end of the day it is about solving *problems* for *people*. So the problem that you want to solve most and care most about has to be one of the absolute best ways for a novice developer to find their place in that field.
And after that: *always* be learning.
Thomas Offinga
WebsiteFor beginning programmers, I’d recommend starting out with the basics: HTML and CSS. They have the benefit of being easy to pick up and will immediately show results of the code you write. Once you’re comfortable with those two I’d suggest taking a look at JavaScript to start modifying your layout.
Dave Olsen
WebsiteWhile it has its challenges I think there's only one language to learn at the moment and it's JavaScript. JavaScript offers the ability to "scale" the learning. Start with simple things in the browser and then a developer can progress to more complicated front-end tools, tooling, or server-side development. Don't stick to just one language long-term though. Dip toes in other languages to be exposed to different ideas and community dynamics. Cross-pollination is a good thing.
Shay Howe
WebsiteIn an industry full of change there has been one constant, the three languages read by all modern browsers: HTML, CSS, and JavaScript. Take the time to fully understand their syntax, terminology, and structure. These languages are only growing, and are equally relevant today as to the day they were first released.
Wes Bos
WebsiteLet me preface this answer with this: it doesn't matter. As long as you pick something, start building things and have fun with it. Programming isn't all about knowing the latest framework or language, it's the ability to create things and solve problems with the tools at hand. Don't stress out and jump around trying to chase the latest hottest framework - pick one that looks nice and master it. If you like it - great. If not - try another one!
That said - and probably everyone will answer this - JavaScript has been blowing up for a number of years now. We use it in the browser, on the server, on mobile phones and even in robots! If you are interested in learning backend development, learn to build a website with Express JS. If you are interested in the front end, learn to work with jQuery events and DOM manipulation. Once comfortable with that - pick up a framework. While not the best choice for everything, Angular is a very beginner friendly framework.
Tom McFarlin
WebsiteHonestly, I don’t have a particular language that I would recommend a novice programmer set out to learn.
If they are at a novice level, this assumes that they already have some level programming proficiency and when you get that far into programming, it’s usually much easier to pick up on new languages rather than starting from the complete beginning.
But to that end, I’d ask what type things they want to build?
-
iOS applications or OS X applications? Then Objective-C
-
iOS applications? Objective-C or Swift
-
Web Applications: Frameworks like Ruby on Rails, Laravel in PHP, .NET, and more
-
Desktop Applications for Windows: .NET
-
There are also plenty of scripting languages such as PHP, Ruby, Python, and more.
And so on. I don’t really have a strong answer to which is next in line as it greatly depends on what they hope to achieve out of what their ultimate goal is.
Hopefully the above suggestions help provide some guidance!
Nate Steiner
WebsiteJavascript is incredibly useful for web development. Especially now, thanks to Node.js, Javascript’s utility reaches past web sites as delivered because, for example, you can put it to work as part of your build tool with Gulp or Grunt. As the web, browsers, and devices evolve, we can create richer and more nuanced experiences, such as highly considered interactivity and animations. Javascript is a key component of that kind of development.
Cristian Antohe
WebsiteNowadays there's a lot of hype around Javascript and that's what I would recommend. To put this into perspective, WordPress was basically a PHP application with HTML, JS and CSS for the front-end. However, that's no longer the case with the new WordPress REST API that's in works (ignoring the fact that the new Media Library is basically a BackboneJS app). For example, if you now create a new blog on WordPress.com, you will not be presented with the default interface, instead you'll see something completely new, built entirely with ReactJS. Depending on how you look at it, this should either scare you, excite you or both.
Shane Eckel
WebsiteJavascript. Brendan Eich's ten day old monster with a heart of gold. Absolutely and wholeheartedly Javascript. The growth that node.js / io.js, and npm has had in the last couple of years is a clear sign of the future. As the most popular language on Github, and still growing, it's very easy for me to advise any developer to learn Javascript.
If interested for more information I would suggest reading Kyle Simpson's book series called "You Don't Know JS", Eric Elliott's article called "The Two Pillars of JavaScript", and Douglas Crockford's "Crockford on JavaScript - The early days" video featured on YUI Library. It's a really broad and open community and always something new to learn about.
Cody Lindley
WebsiteES6! But I'm biased. So, I'd suggest picking whichever language a person has a bias towards. The more important matter is making sure one slowly immerses themselves in the language. Take your time. Pour over the language and learn it indepthly. The goal is to become an expert in at least one language. Being an inch deep and a mile wide in a host of languages is of little value in my opinion. Make sure you study the influences (e.g. functional programming in JavaScript) in the language you choose. Don't jump language ships, just admire from the same ship.
Alessandro Castellani
WebsiteDefinitely PHP and JavaScript!
PHP gives you the proper starter point to understand both procedural and object oriented programming. I also suggest to avoid the use of any type of framework and code everything from scratch. Knowing the basics of PHP will give a newly developer the proper understanding to jump on whatever future framework he chooses and open his brain to the basics of backend development.
JavaScript is the base of every frontend developer. Avoid to jump straight into frameworks or repositories like Angular, Dart, jQuery, etc and always start from the basics. vanilla JavaScript will give every fresh developer a solid understanding of the DOM manipulation and the rules for a proper fronted coding.
Kevin Horek
WebsiteI would say languages are not that important. You really need to learn logic and programming basics. Once you learn those, then you can pick a language on a platform that you want to work on. That being said, you can't go wrong learning JavaScript, JavaScript can allow you to code for Desktop (Chrome Apps), Mobile and Web.
Jez Williams
WebsiteFor anyone starting out I’d suggest the key is beginning with something that will give you quick results. If its web based technologies your looking to get into HTML / CSS will give you quick wins. Then set your goals high, build up your knowledge till you reach them.. and repeat :)
Eoin Kelly
WebsiteIf a person wants to be a good developer, the long term answer to “What programming language should I learn?” is “Most of them”. It gets easier after the first few and there are valuable thing to be learned from observing and participating the world view of the community of people that surround each language. If that person does not know any languages yet the Javascript is probably a useful place to start. The language itself is a mixture of wonderful ideas and some rough edges but it is a practical choice of first language as it allows you to build a wide range of software (servers, GUI tools etc.) and is a popular skill with employers.
Dustin Hartzler
WebsiteI think that's a great question. It depends on what the developer is looking to do. If you are looking to build a WordPress site, then I'd recommend mastering HTML and CSS first so you have an understanding of how the web works. Once those two are mastered, then you can move on to PHP. If you are a programmer, then I'd recommend starting with PHP and then learning HTML / CSS to make the plugin aesthetically pleasing.
Shane Hudson
WebsiteI would recommend they learn any language to quite an advanced extent. JavaScript makes sense because it is so cross platform but the language is almost meaningless to a beginner, most of the concepts are the same. Just focus on learning and creating tiny little projects. Don't go into it with a highly ambitious aim and definitely don't expect to earn money straight away. Just make small things, calculators and to do apps and the like. Explore the language, get to know other developers and you will eventually end up finding languages that are a better fit.
Matt Stow
WebsiteBeing a front-end developer, I'm probably biased, but my advice would be to learn JavaScript.
It's simple to get up and running with zero cost, you don't need a fancy IDE or environment, and there is a wealth of knowledge online to help.
JavaScript is somewhat simpler than most languages, but you can still learn the majority of programming constructs and fundamentals with it. These skills will then help you to learn other languages, or to become a full-stack developer with writing JavaScript on the back-end.
Lara Schenck
WebsiteRather than setting out to learn a language, come up with something you are excited to build and build it. The fundamentals of development - things like understanding syntax, research and problem solving - apply to any language (and life in general, of course).
That being said, the web is here to stay. I think a solid progression is to learn general coding practices with HTML and CSS, then move into JavaScript and programming fundamentals. But whatever you do, don't set out to become a "ninja". Learn what you need when you need it, and the pieces will always come together.
Matt Litzinger
WebsiteJavaScript
Learning JavaScript will give you the ability to program for a variety of applications including front-end and back-end web development, software development and even home automation with devices like Raspberry Pi. JavaScript is included in all modern web browsers which makes it a no brainer for web interactions and animations. It's safe to say that JavaScript will continue to grow as a popular choice throughout many programming disciplines.
Kenny N.
WebsiteI would advise these people learn PHP. Simply because we live in a world where content management systems power the biggest sites online. Wordpress is probably the most popularly used CMS and without PHP knowledge you're not going to utilize it to its full potential. Sure Wordpress comes with tons of enhancements at your fingertips by the way of plugins, but creating your own plugins and being able to customize these sites from the core makes the opportunities endless.
George Tsimenis
WebsiteWell this is kind of a trick question, it depends on what someone wants to do by learning a language, get a job? create a web application? As a front-end developer I would recommend Javascript along HTML/CSS though many will argue if HTML/CSS are programming languages. Javascript is fairly easy to get started and is the basis to get to other things like Angular.js or React etc.
My other choice, again from personal experience would be PHP, many still will find a lot of problems with it but it is used by many open source platforms like WordPress and is quite easy to start building things with it. I know there is a hype with Ruby and for a good reason but I don't have a personal experience so I can't really say my opinion.
John Lee
WebsiteAs a front-end web designer, I'd say JavaScript because the language is dynamic, and provides the flexibility to use object-oriented programming styles as well as functional and imperative ones. Plus, it's easy to learn and already installed on your browser.
Darren Woodiwiss
WebsiteAs a front-end developer (and previously lecturer), I would suggest having a strong grounding in the basics. HTML(5), CSS(3) & JavaScript. I feel JavaScript (while loosely typed and tough at times), is a great introduction to programming. It also offers lots of flexibility in regards to career direction to people starting out. You can practically do everything with JavaScript now, from games with Unity3d, to creating IoT devices running JavaScript, to running apps on native devices with frameworks like PhoneGap/Cordova. The ease of being able to try it out via a browser also makes it really accessible. Just stay away from frameworks till you see a need one!
Tyler Smith
WebsiteJavaScript
JavaScript has blossomed into the world’s most popular programming language. Once considered a toy language, JavaScript has matured into a powerful, multifaceted language with a vibrant ecosystem. For novice developers, having a foundational knowledge of HTML and CSS will be important towards understanding the full utility of JavaScript.
Iain-Peter Camacho
WebsiteMy initial reaction to the question would be to learn HTML, CSS, and Javascript (not jQuery). This combination allows people to build most of the things they see in the world, and demonstrates several basic Computer Science principles. Also it's one of the simplest set of languages to learn, and there is a lot of information and how to guides on getting started.
Joe Snell
WebsiteMy world is totally web centric. The web isn't going anywhere soon. The web is device agnostic and it's continually evolving.
In my world, I'd recommend a new developer learn javascript, php and css. With these, a developer can build just about anything on the web. Javascript MVC frameworks definitely have a ton momentum in the web space, but not critical to learn when getting started.
There are a lot of resources out there to help a dev pup learn... but get your hands dirty and just build stuff. There is no better way.
Ryan Olson
WebsiteIt is hard to pick a language to focus on, because eventually you will need to know several of them. My best advice would be, make sure you walk before trying to run.
What I mean is, start with a firm grasp of HTML and CSS. These are the base for everything in front-end development. JavaScript rounds out the "big three" but I would not worry about diving into that right off the bat.
I see a lot of new devs trying to dive into Sass and LESS before knowing much CSS at all, same thing with libraries such as jQuery instead of JavaScript. These are great tools to add to your arsenal, however if you are not comfortable with the underlying concepts that these types of pre-processors and libraries augment, you will get into trouble down the line. So focus on the core concepts before expanding into their additional counterparts.
Same thing goes in something like WordPress development. Some do not want to take the time to realize that WordPress is built on PHP, so having at least a passing knowledge of PHP is vital to WordPress develpment, and should not be passed over because WordPress has its own functions, a lot of which are just PHP wrappers.
So my biggest piece of advice is to learn to build a solid foundation before climbing up to the roof :)
Daniel Grant
WebsiteLearn JavaScript. It might not be the best language in the world but it's certainly the most ubiquitous.
Matthew Lein
WebsiteHands down, HTML/CSS is the foundation of all web work, but I don't consider those programming languages per se...so I would say JavaScript. I'm probably a little biased, but JavaScript offers a path for anyone whether their interests send them towards front end or back end—from drawing and games to database interactions. That's pretty incredible! We're even seeing robotics driven with JS. For a single language, it can't be beat. And of course, most programming follows the same constructs, so JavaScript skills carry over to Ruby or Swift or whatever you are interested in later.
David Antal
WebsiteI may be biased, but if I’d have to start over, I’d choose front-end web development again (HTML / CSS / JavaScript). I think the web is a really exciting and dynamic platform to work on. You can learn everything yourself using it, and there is always tons of new stuff out there to learn every day!
Shannon Mølhave
WebsiteIt's not technically programming, but I urge any novice developer to learn HTML first. Understanding the DOM and structure of a webpage is vital before you can expand to styling that content with CSS or creating interaction with JavaScript.
Mathias Bynens
WebsiteIt doesn’t matter. Pick a language that seems interesting to you (view some sample code and see which one looks appealing to you), and start learning.
The only thing that’s important is that you learn the basic programming techniques, which pretty much any programming language allows you to do.
David Mosher
WebsiteFind something you want to build; a game, an app, a website and then let that be the thing that guides you to the programming language to learn. It's easy to become paralyzed by indecision trying to decide upfront which language to learn, but if you align your passion and desire to create and let that be your guide the language to learn becomes a tool to achieve a goal instead of the goal itself.
Andrew Burgess
WebsiteI think JavaScript is a solid choice for a first programming language. There a wealth of tutorials and other materials to learn from. Javascript can be used in very basic ways to begin with, but as you learn more, you can do bigger and better things with it. Now-a-days, people are using JavaScript for everything from building complex web applications to controlling robots and other hardware devices.
Martin Wolf
WebsiteI think it depends heavily on what the developer wants to build. I myself am more of a Frontend Developer and in this regard, it’s obvious, you definitely need to learn HTML and CSS. Next up should be Javascript. There is no way around it. When it comes to backend programming languages I think it’s totally up to you. PHP is definitelty one of the most widespread languages on the web, so you can find a lot of help online, which is pretty nice. Also a lot of common CMS are written in PHP. Other than that I once was told that Ruby is a relatively beginner friendly programming language.
Benjamin Hollway
WebsiteBeing able to understand front end languages such as HTML and CSS is vital in today’s world. Schools are teaching it, so I think that everyone should make an attempt to learn them. They also lead on quite nicely to languages such a Javascript, which has even more routes you can expand into.
Dustin Cartwright
WebsiteIf you're just starting out, start with HTML + CSS. Read tutorials, build silly fun things, and just play with the languages. When you feel like you have those two down, jump into preprocessors - SASS, LESS, HAML, and a wide variety of others! Learning how they function and differ from one another is a great way to push your HTML/CSS knowledge one step further.
If HTML and CSS are old news to you, get started with JavaScript. Starting off playing with jQuery is a great way to pick it up; Just be mindful to learn the real language sooner rather than later. Together, those three languages are the foundation of the web.
Arash Manteghi
WebsiteI think you should know where you want to launch the software that you want to create. On the web, on smartphones, or on desktop platforms? Or on all of them? These days you can find lots of web apps that were created based on JavaScript, and if you want to be a real programmer, I recommend Java or Python.
Derek Peruo
WebsiteJavaScript is the de facto programming language for front-end web development. Frameworks and libraries like Angular.js, React.js, D3.js and jQuery all use JavaScript. Thanks to the built-in engine that comes with every modern web browser, JavaScript is everywhere. You can even run JavaScript on a server using Node.js and io.js.
JavaScript is a flexible language, allowing you to write object-oriented, function-oriented and module-based programs. You can improve your JavaScript skills easily by searching for free online tutorials and articles.
Björn Jansfelt
WebsiteI'm a html/css-guy at heart. I really like the visual feedback those two languages gives you immediately upon ctrl+s especially with the power of css-preprocessors and buildtools like Gulp. Although I wish that I'd put more effort into learning JavaScript really well since you are most likely to stumble across JaveScript some where along the path.
Evan Jacobs
WebsiteI got my start writing PHP and definitely would recommend it for others without classical CS backgrounds. On the whole, I found it much more forgiving than other scripting languages and it has very mature built-ins to do almost anything you'd need. The language also has the benefit of an unfathomable amount of code samples and online tutorials.
Ruby is also an excellent choice to get started, though I've found it can become confusing to the novice developer because there are often 3+ ways to accomplish the same task.
At the end of the day though, it all comes down to what type of development you want to get into; if you aren't so interested in the web, C++ or Java might make more sense for your first coding adventure.
Maciej Kołodziejczak
WebsiteI’d advice him to learn JavaScript. Why? Because nowadays, almost everything can be written using JavaScript. It is no longer a Front-End language. There are possibilities to host website and have Back-End with JavaScript, we can even build mobile applications with it (Ionic, Cordova, Phonegap) and I think it’s still much more to come up. But in it’s normal usage, it lets us power up entire web with great applications and interactive websites. Despite of it, it’s learning curve isn’t high and with things like jQuery it’s even easier to learn and understand.
Thomas Horvath
WebsiteIf you are getting into front end development. JavaScript is definitively the language to learn. It's not really a programming language, but it can be "programable". JavaScript is growing strong with ES6 and for a front end developer, majority of frameworks such as jQuery, Angular, Backbone and so on are in JavaScript.
And now with node.js even your backend development can be done in JavaScript. So I would highly recommend JavaScript as a language to learn for a novice web developer. It's relatively easy to learn and had a very nice syntax.
Tobias Bäthge
WebsiteThere's a twofold answer to this. If someone is looking for modern programming languages on the web, JavaScript and its siblings are probably a good start. With the interest in web development frameworks growing, the demand for such languages will be rising. However, for novice users without a lot of knowledge about programming in general, the choice of a language should not be the first focus. What is more important is to get familiar with basic programming concepts and paradigms, starting with conditions and loops, maybe proceeding with object oriented programming, and also looking into software design patterns. Such things are independent of a programming language, but their continued and correct use is what makes a good developer.
Corey Hall
WebsiteJavaScript. With node, it's starting to take everything over. I now have veteran C++ engineers learning JS in order to work on the new CI system for our product (just one example).
Josh Emerson
WebsiteAlthough not technically a programming language, I think MIT's Scratch is a great place to begin. It's designed for primary school children, but equally fun for adults!
Then as soon as you start to see the limitations of Scratch, jump into Python or JavaScript. Both are friendly languages in my opinion. But I'd recommend JavaScript due to the ubiquitous nature of it. Quoting Atwood's law "any application that can be written in JavaScript, will eventually be written in JavaScript".
Oscar Lodriguez
WebsiteAs a first programming language, I would recommend Python or Ruby. This would solidify your knowledge on programming, coding concepts and will prepare you for many mature languages in the future. It might be a challenge to stay away from JavaScript at this point, but the latest version of the language signals that it is headed to a more traditional programming language like expression.
Manuel Ruiz
WebsiteIt depends on what do you want to do. Do you want to program for the web? Learn JavaScript. Do you want to make iOS apps? Learn Swift. There is an astounding amount of choices for a novice developer, it all depends on what does he/she want to do.
But being a front-end developer myself I have to choose JavaScript above everything else.
JavaScript is almost a universal language. It is primarily used for front-end web programming, but it also works pretty well for doing backend too. The popularity of node.js has made JavaScript a very attractive programming language even for backend.
You don’t need any special software requirements to start programming in JavaScript. Just a text editor and a web browser and you’re setup! It can’t get simpler than that.
And then, there is the wealth of resources to learn that you can find on the Internet. Just type JavaScript in a search engine and you’ll get a load of resources, tutorials, free ebooks and more form beginner to expert.
Les James
WebsiteI would start by learning Lisp. At the very least, read The Little Schemer. It will teach you to think recursively. Next I would learn JavaScript because it’s probably the most marketable programming language in the world. My hope would be that your Lisp foundation influences the way you think about and write JavaScript. “Lispy” JavaScript is very readable, predictable and powerful.
Steven Bradley
WebsiteI don't think there's any one programming language a new developer should learn. Ultimately if you want to be a developer you should learn multiple languages. Which you learn first depends on what you want to do.
One way I decided what to learn first was to look at classified ads. I wasn't looking for a job, but I was looking at ads for jobs I thought I might like and looking at the required skills. Enterprise jobs looked for different skills than start ups than someone running a two person business.
Decide what you want to do and then find out what programming languages the people doing that thing use.
Daniel Lucas
WebsiteThat's a little tricky to answer as it depends on what they are interested in doing. If they are mainly interested in front end development, then JavaScript. If they are looking for something more full stack or backend for a career then Ruby or Python.
I'll stick with JavaScript though as it's a useful language to know how to work with no matter what you ultimately end up doing. It has lots of applications and it has a low barrier to entry since all you need is an editor and a browser.
Fauzdar Dipace
WebsiteMy advice will be to learn Node.js because:
It's growing extremely quickly and for performance and scalability, Node.js is pretty fast. We can use it for server side activities, it uses javascript as programming language and has lot's of libraries available as npm modules. It's used by mostly highly trafficked websites and it's wining developers hearts and mind. It has ability to handle more requests compared to other web technologies. We can use the same language on server and client and share code between them because it runs javascript. It has been declared safe for secure transaction.
Gregory Hidalgo
WebsiteI have been researching web technologies to improve my career. Every day I read some article or I watch Youtube videos. I think it's very important to learn Javascript. But not only Frameworks, Javascript pure. Obviously "Frameworks" as jQuery, AngularJS, etc.. it's necessary to learn it.
But first all, you need to be strong in Javascript Language. Every time JS has the best positions in technologies. I have basic experience with JS but I'm working to improve it.
By the other hand, maybe, I said "maybe"... Microsoft .NET could become like important technology. Because, the last week they released the core as "open source". "Watch it". I don't know but the time will tell us.
Coen Jacobs
WebsiteYou should pick a programming language that has an active and supporting community around it, preferably with active meetup groups nearby. It doesn't really matter if you go language A or B from a learning perspective. You do want to look for a project to contribute to. Maybe you like the WordPress project. You should probably go learn PHP and perhaps some JavaScript. If you want to work on other projects, go look for what languages they use and see how that fits you. There is no perfect language to learn, they all have pros and cons. It all depends on what you want to do with it and what your environment is like.
Victor Glotov
WebsiteFor myself, I would choose "JavaScript". Because I am working as a designer, and "JavaScript" will help me in web design. It would be a good addition to HTML+CSS.
Thanks for contributing!
I’d like to thank all professionals who have contributed to this roundup and I hope this roundup helps starting- and experienced programmers to find new programming languages to learn, you’re never too old to learn programming, just make sure you find something fun to create.
Please don’t hesitate to share this roundup on your website, blog or on social media.
This roundup has been written and compiled by PSD to WordPress.
Please find below once again the 10 best programming languages:
The 10 best programming languages
Based on the insights of 83 professionals and web developers
- JavaScript 50.8 % votes
- PHP 13.5 % votes
- Python 7.9 % votes
- Ruby 7.9 % votes
- Java 4.8 % votes
- Swift 4.8 % votes
- C++ 3.2 % votes
- Scratch 2.4 % votes
- C 2.4 % votes
- ECMAScript 6 2.4 % votes
Get new articles, interviews and roundups delivered to your inbox:
We'll send you our non-commercial newsletter a few times per year.
No SPAM ever, we value your privacy.
Richard Eng
- 2015-06-20 22:40:33The two WORST programming languages in the world take First and Second place on your top 10 list! This is very, very sad.
JavaScript is problematic in so many ways (https://medium.com/@richardeng/the-case-against-javascript-75854c07bfba). Despite ECMA's valiant efforts to fix this language, ultimately it cannot be fully fixed. I appreciate the fact that it's the lingua franca of the web, which is why I've chosen to do web development with Amber (https://medium.com/@richardeng/a-gentle-introduction-to-amber-8c532631e9ab). But I would never directly program in JavaScript.
PHP is language design by random number generator. Sure, it works, but at what cost? There are much, much better languages for server-side web development. Python, for one; I use the web2py framework a lot for this (https://medium.com/@richardeng/the-zen-of-web2py-ede59769d084). Go, for another (https://medium.com/@richardeng/a-word-from-the-beegoist-d562ff8589d7).
Just because these languages are in broad use does not mean that you don't have better alternatives.
jen
- 2015-07-13 18:46:45this is so so amazingly helpful. this text excatly what I was looking for. thx u so much!
Aim
- 2016-04-01 07:52:12Awesome post :)
You can also Learn Web Development Languages (HTML 5, CSS3, Bootstrap....) for $0.00 at: www.Code4M.org