How to Choose a Programming Language

Coding Languages

People often begin by learning HTML and CSS. Why? These two languages are essential for creating static web pages. HTML (Hypertext Markup Language)structuresall the text, links, and other content you see on a website. CSS is the language that makes a web page look the way it doescolor, layout, and other the visuals we callstyle.

Keep up the great work, Bridgette! ?

Can you tell if I have to create videos like Treehouse does or video featuring me and explaining the concept

Thanks for the insights Wade. I also struggled with all the different views online on which language to learn. I started with JavaScript and now Im fully committed to learning Python. Im currently going through the Python track on Treehouse but keep getting tempted by Ruby and Rails. My end goal is building web apps.

I would appreciate it if you could elaborate on the differences in Python and Ruby programming languages. Thank you.

for more than a year now I have been roaming about the web trying to learn different web programming language.

I suggest asking someone you trust. Go find someone in-person. Attend aMeetupand ask the people working in the field what they recommend. Youll find that people are still much more willing to engage meaningfully offline. You can also ask follow-up questionsyou know, have a conversation.

Part of learning to code is learning a languages syntax (its grammatical or structural rules). A much bigger part of learning to code, the part that takes longer and gives you more headaches, is learning to solve problems like a programmer. You can learn the grammatical structure of the English language pretty quickly; however, you wont truly understand the language until you put that grammatical structure to use in a conversation. The same is true in programming. You want to learn the core concepts in order to solve problems. Doing this in one language is similar to doing it in another.

All that said, dont forget the first pointdo your best to pick a project that interests you. If you just dont care about your project, you may want to find a new one. Your early projects should excite you. Its not a job yet. Youre in control, so have fun. Youll learn more that way.

Hi, i have done the java track and the android track and finished it. After that i have really concentrated on building my own apps and changing the projects from the treehouse tracks.

I also recommend dropping into theTreehouse Community. Even before I worked for Treehouse, I found the community to be a helpful place. The Treehouse teachers are active, and the communitys responses are beginner-friendly. The Internet can be a rough place, and we work to make sure the Treehouse Community remains approachable.

PHP is one of the most popular web languages. It runs massive sites such as Facebook and Etsy. WordPress and Drupal are both written in PHP, and those two platforms power a huge number of the sites online today. Because of its popularity, learning PHP will serve you well if you intend to code for the Web.

To choose a programming language we need to choose the most secured one. We have to protect the software or a website from being hacked.

Its amazing how a single article can really enlighten you so much. I feel less confused now! Great!

Once you consider what you want to study, build, and contribute, you can start thinking about which language to learn. There are always options, and there will still be confusionmore on that later. However, languages have strengths and weaknesses. Certain languages have been adopted more regularly in specific fields. By picking a project or goal, you have drastically narrowed the field of options.

Fret not, unless you make guitars. Then fret away (sorry, I couldnt resist). Choosing a programming language may still seem overwhelming. It shouldnt. You cant go wrong. As long as you choose a language that is regularly used in technology today, youre winning. When you are starting out, the goal is to become solid in the basics, and the basics are pretty similar across almost all modern programming languages.

In short, I drifted from one project and language to another based on whatever seemed interesting at the moment. This approach scattered my efforts. I never felt confident with several core concepts in any language. I could hack together something simple, but I certainly wouldnt have called myself a programmer.

Well, to my knowledge, if you want to build a GUI, something like C, C++, C, maybe even Java could come in handy. You may not have the time necessary right now, but for those reading this as of now, start as soon as you can and familiarize yourself with as many languages as possible, even if its just fundamentals. The reason why is that so whenever you get an idea or have something you wanna do, you wont have to go through the trouble of learning something from the beginning, youll already have basic knowledge. But in your case, pick a programming language that is easy yet very powerful. Most languages (When it comes to making apps or something on the desktop) are the same but with minor variations on which platforms it can be utilized on. Hopefully that cleared things up a bit.

The concept of a variable, loop, array, or function is the same no matter which language you choose. If you decide to get involved with front-end web development, you might choose JavaScript. You might, after a time, get bored. You then think building a phone app sounds fun. Now you need to learn Objective-C, Swift, or Java. Was all your JavaScript study for nothing? Not at all. Most of the things you learned about JavaScript are applicable to the next language you tackle.

While HTML/CSS/JavaScript are no brainers, in my neck of the woods, very few, if any businesses are looking for Front-End developers only. They may call the position Front-End Developer, but when you read the details they want you to either have design experience (Photoshop, Illustrator, etc) or experience in a Back-End language. It seems that while tech folk know there is a difference, managers and HR people do not.

Some other beneficial resources includeStack OverflowandReddit. Unfortunately, those forums can lead to some of the confusion mentioned earlier.

This kind of article is exactly why I love Treehouse!

What software combination do you use. Is there any paid or open source that I can use. Do I need a camera, mic or Camtasia will do

I encourage you to think about what you want to accomplish with code. Be specific. Getting a good job isnt precise enough. After all, is a jobgood,if it pays well, but you hate it? Code is everywhere, and that means you have many of options. Do you want to build mobile apps? Are you interested in the Arduino and Raspberry Pi? Are you a researcher who wants more command over your data? You can do a lot with code, and the opportunities continue to expand.

I used java as my programming language for 7 years and I never tried Ruby before simply because most of the programmer doesnt use it. Among all, I love php,css and java because i never had hard time to code.

Hi Wade, thanks for this article. As a senior college student majoring in computer science I found this very valuable and helpful. Keep up the good work.

Many people are curious about code. Unfortunately, choosing a programming language can be a major hurdle, because people lack the information necessary to make a good decision. Thats why you shouldnt start with a coding language.

What other tracks or courses can help me with this?

I love to explore things differently rather than conventional methodsI think learning to code is never ending process, we can dig deep into any programming language we want until we feel secure in that language..all we want to do is to be obsessed and sticking to the one which we really passionate about..

Im going to tell you how to choose a programming language:Wait what about all the high-paying tech jobs? Isnt this the best time to be a programmer?

So which track would help me more to start building my back-end?

I want to ask if its really a nice idea to go deeply into both PHP & PYTHON.

Yeah, good hindsight. Python and Django are now my go to for what I need everyday. Primarily web development, but also R & D, Scripting and much more. Here are some more reasons why you should code with python

The PHP track or the Ruby on Rails track?

I am a very fast learner and I had a little C++ experience from school before I choose to learn android development (because I want it to be my future job (thanks to you teamtreehouse!!! THANKS) ) so I am starting to feel pretty secure with the syntax and android studio.

Presently many programming languages have for making better career and all languages are the best. I am interested in python. Which language is going to dominate the future of web development: JavaScript, PHP, Ruby, Java/Scala, or Python?

Unfortunately, I dont have enough time to provide that type of one-on-one help, but it sounds like youve got some good ideas. I recommend posting specific questions in our forum. Im sure you will find quite a few experienced people who can help you navigate your project on the Treehouse forum.

Java can be used for anything from web applications to desktop and mobile apps. Java has a strong presence among large enterprise applicationsthink bank, hospital, and university software. It also powers Android apps, so its a good choice for those inclined toward mobile development.

JavaScript is the first full programming language for many people. Why? It is the logical next step after learning HTML and CSS. JavaScript provides thebehaviorportion of a website. For example, when you see a form field indicate an error, thats probably JavaScript at work.

Learning a particular language is like building your own vehicle from scratch to travel around the world from one place to anotherwe can build bike,car,train or jet Airplane anything you can..but stick with it..the harder we work on building our vehicle makes more comfortable we can travel around the world..

To put it simply, you wouldnt spend months brushing up on Mandarin before a trip to Germany.Sure, there may be a few people speaking Mandarin in parts of Germany, but you would be better off studying German. If you know the destination ahead of time, youll be working on the right stuff from the start.

Im glad it was helpful. Keep up the learning, even when its tough ?

I enjoy Python quite a bit. Ive never done anything with Ruby though. If you want to stick with Python and move into Web apps, check out the Flask stuff we have out and the upcoming Django course as well.

Ruby is often associated with the Rails framework that helped popularize it. Used widely among web startups and big companies alike, Ruby and Rails jobs are pretty easy to come by. Ruby and Rails make it easy to transform an idea into a working application, and they have been used to bring us Twitter, GitHub, and Treehouse.

I want to build a blocker website program which language do you recommend

This has made my understanding of other languages clearer. Like I said, the basics are the same across most languages. When I go back to JavaScript for a project, I now feel better suited to tackle a problem in that language. Im better able to think like a programmer. Remember when I said that problem-solving like a programmer is the harder part?

A language that is very instructive is C. It deals explicitly with memory managing and is strongly typed. It is an essential language to learn before the more object oriented or elliptical languages. These languages may have features to manage automatically the memory or to infer variable types. They are more efficient, so far as the base concepts presented of C are well understood.

Great post! Very helpful, thank you!

So what do you do? You can keep refining your goal. Maybe theres a specific company you want to work for. What are they using there? You might get a general idea fromstackshare, which is a site that shows many companies tech stacks (the different pieces of technology that come together and form the service you use).

Unfortunately, I havent spent much time with Ruby. I see it used primarily for Web apps, whereas Python seems to be everywhere (automation, data science, Web apps, etc.). I recommend jumping in our forum and seeking some more info there. Im sure people with more Ruby experience can give you some good information on the forum.

This is not part of the language, but part of the implementation you do WITH the language. E.g. you can use frameworks that take care of it for you, or you can write those security related functionalities yourself.

Despite its name, Java is not related to JavaScript in any meaningful way. JavaScript was named when Java was becoming popular. Some marketing minds decided to confuse us all in an attempt to make the LiveScript language more popular by changing its name to JavaScript. Just remember that Java is not JavaScript.

also I have a plan to build an online forum and an android/window app of the forum. which programming languages should I learn to accomplish this task.

Great information and support to continue pursuing coding and reaching for what I truly want to do! Thank you!

What works for me is focusing on something until I can use it to solve a problemsomething Im interested in tackling. Dont stress. Great resources such as Treehouse exist today. You can sample quite a few coding languages right in your web browser without installing anything. Its a wonderful time to learn how to code. Lastly, dont worry if you dislike the language you picked, because you havent wasted any time. Pick up, dust off, and on to the next one.

I am fascinated by just about anything and how thatanythingworks. I like to play with electronics, I enjoy smashing a pick against guitar strings, I have fun making videos you get the idea.

How to choose a language? Figure out what you want to make and then research which language would suit your needs best. You learn to pick up bits and pieces of most of them eventually anyway. Which is good because youll be tested for multiple languages in job interviews usually. Like the coding tests from TestDome do for example:

AboutCareersBlogAffiliate ProgramTermsPrivacyPress KitContact

When I started learning to code, Treehouse didnt exist. There were no tracks or paths to follow. I would just Google until my eyes burned like coals. Eventually, I started working with Drupal. Learning PHP became a necessity.

Someone will tell you to learn JavaScript first, then someone else will tell you that Pythons syntax is simpler, so you should start with Python. Then youll hear about Java and all the available jobs. It goes on and on.

After being hired by Treehouse as a video producer, I wanted to continue my coding hobby (yep, Im mostly a video guy). I made a choice: I was going to pick one language, Python, and give it as close to undivided attention as possible. I would build a few different projects using the language. I would seek help in truly understanding things when I didntget it. Do I wish I had taken this approach sooner? You bet.

Most informative article across the web for tech lovers. I personally feels Machine Learning and Artificial Intelligence are going to be play an important role in 2017.

This Artical has changed my mind setup totally in positive way.Thank You Wade.You have given me feeling that while learning new language(currently I am learning java @TreeHouse) getting a weird feeling is common and I must move on and learn new concept.

Great post! Ive been developing for the web for over 17 years now. I still ask myself this same question. Ive heavily worked with most of the languages youve listed and several that we not. The things Ive learned through all of them, as you said near the end of the post, is that persistence and sticking with it is key. Whichever you choose learn the ins and outs. Once youve got that youll be able to solve problems with your language of choice and grow from there. Ive lead a team that has taken a very large web based app through 3 technical refreshes rewriting the application with 3 different languages all meeting the same criteria. The key is not always what the language is, but how can you use it and that comes from the persistence of sticking with it.

Thank you so much for your kindness Wade. I really appreciate it! I will post the question and see how that goes. Thank you again!

Thank you so much for this post. I know I am a little late getting to it now, but this has been extremely helpful in giving me more confidence moving forward.

JavaScript has become increasingly popular, and it now lives outside web browsers as well. Learning JavaScript will put you in a good place as it becomes a more general-purpose language. JavaScript seems to be everywhere lately.

Really would appreciate some help with this! ? thanks!

Hi, Im having a huge problem choosing which programming I should learn and stick with.. Im a potential Educational Technology Lecturer.. I want to learn a computer programme,so I can use it on my research work and also in teaching student. please I need your advice

If you want a job in software development, you need to know the languages being used by businesses in your area. Period. It does no good to learn Python or Ruby if the only languages being used are Java and C. Dont believe the hype that once you know Computer Science (data structures, algorithms, design patterns, etc) you can program in any language. While it may be true, thats not going to get you past the automated HR programs used to weed out applicants. If the requirement calls for C and you know Ruby or Python then unless you personally know someone, the chances of you getting an interview, much less a job, are slim to none. Especially as a new developer.

So, yes, research is your friend, but I dont want to send you down another Google hole. So here is a list of general guidelines and information about some of the languages you will find in the wild.

Why not just start with HTML and CSS? You may not be interested in creating content for the Web. As I said earlier, you can do a lot with code, and the Web is just part of it. However, if you are interested making websites, definitely start with HTML and CSS.

Apple released Swift in June, 2014 as a modern language for developing Mac, iPad, iPhone, Apple Watch, and Apple TV applications. If you want to enter the world of iOS, Swift is the language with which Apple intends to move forward. Yes, many apps are already written in Objective-C, but Swift is here to stay. If the Apple ecosystem lures you in, youll need some understanding of both Objective-C and Swift.

46 Responses to How to Choose a Programming Language

My predisposition to jump from one interest to the next has been true of my efforts to code as well. I first learned HTML and CSS in college with a few books and help from friends. I decided to learn JavaScript after building several static sites. I was able to get a basic handle on JavaScript through books, but concepts got muddier.

onJanuary 18, 2018 at 10:33 pmsaid:

Excited to keep coding and learning.

One thing that has been left out relating to learning to code is the capabilities of a debugger. Its easy to code, Its hard to get the code to work right. The debugger lets you see what the language sees, not what you think is there.

After some time with Drupal and PHP, I became bored and got interested in Python.

Like Java, Objective-C can be used to write desktop software and mobile apps. However, Objective-C is essentially Apple territory. Until the recent release of the Swift programming language, Objective-C wasthelanguage for developing native iPhone and iPad apps. Many major apps are still written in Objective-C, and programmers for these apps are in high-demand. If you want to work on iPhone and iPad apps, its a good idea to learn Objective-C.

I hope that helps, and again, Im sorry I cant provide more one-on-one assistance. Best of luck with your project going forward.

Also most MOOC teach Python in computer programming and not C. I dont understand why

Hello Wade, I am doing a book talk for a school project, and I would like to make something that can show the similarities and differences between me and the protagonist in an interactive way. Could you please help me with which language I should use and links to tutorials and how I should do it? Thank you so much!

Thank you so much.finally found something truly helpful after so much googling. Now i know the right language for me to start learning ?

Great article. Found it inspiring and hopeful. Im currently doing a web developer course on Udemy and my confidence is being built. Also taking a course on Big Data. So Im on a path to building on my skills.

No matter what you choose, it will be challenging at first. Persevere. Recognize when a sticking point is caused by the simple fact that youre learning something new. That is when you need to have a gut-check and push through the pain. That might mean taking a few days away to process all the new information, but dont give up.

I heartily believe in this motto, live curiously.

Maybe some other links or tutorials for this?

Earn aTechdegreeand get the job-ready coding skills you need to launch your new career in tech.

Python is a general-purpose language used for everything from server automation to data science. Python is a great language for beginners, because it is easy to read and understand. You can also do so many things with Python that its easy to stick with the language for quite a while before needing something else. Python finds itself at home both creating Web apps like Instagram and helping researchers make sense of their data.

Hi Lukman! Happy to offer any additional guidance you need. Do you know what youre most interested in teaching your students?

Sign up for our newsletter, and well send you news and tutorials on web design, coding, business, and more!

Sign up for our newsletter, and well send you news and tutorials on web design, coding, business, and more!

Soon as Im done with the Python track, I will be going through the Flask one. Although if the Django course comes out before then, Ill probably go with learning it (first) rather.

I know Im making it sound simple. Its hard enough to decide what you want to do. Once you get a general idea, it can then become more confusing. Lets say you want to build web apps. Great, now you Google the languages used to make web apps, and you you find a forum post that OK PHP seems popular but Ruby also well, this person with a TON of Twitter followers says AHHHHH FORGET IT!

I have often seen coders telling PHP is dead and moving towards Python. Is that true.

Because the core concepts are similar from language to language, I recommend sticking with whichever language you choose until your understanding of the core concepts is solid.

I thought I would start with building a back-end for the Ribbit Messenger app from the android track. I have searched alot but I cant find a clear answer to how I even should begin. All I find are reasons NOT to build your own back-endblablabla.

To be honest, I dont know much about Android, but I chatted with one of our teachers, and he recommended Python. I know I enjoy Python quite a bit as well, and we have a Python Databases course that will probably help. I also recommend hopping in the forum and asking the question there. You might get some responses from folks with more Android background than I.

Start your 7 day free trial today and get access to hundreds of video courses in web development, design and business!

Thanks, Im glad it was helpful.

Email Address (will not be published)*

I enjoyed this post while reading your article, I like basics overview of these languages.

I know that I always should use or other back-end APIs for my apps, but I really want to learn how to build my own back-end server for my apps. Just so I can understand the whole concept better and I mean it really cant hurt to know how to build your own back-end even if I never would use it in real life.

Good article. However, there is one thing that is never discussed when asking and answering this question and that is: What development jobs are available in your area?

I am very grateful for this article.

I never really felt comfortable with Object Oriented Programming before focusing on the concept in the context of a single language. I still have hangups, and I get lost constantly, but I feel confident in asking questions. I feel closer to the answer. I know what to look for.

Leave a Reply