Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Sandeep Krishnan
Sandeep Krishnan
9,730 Points

Whats a good backend programming language to learn ?

I have completed my front end programming track and now at the cross roads of a back end programming language. I am learning coding for the first time and I find it real fun. There is so much choice today thats it hard to settle for one. I was browsing through the topic and found Swift, python, PHP, Ruby and several others...

Since I am new to programming I am going to use it mostly to build a webapp, some games, mobile app.

What would be your recommendation for me ?

7 Answers

Hmm, Java can definitely be used for all of those things you want to do - so that might be what you are looking for.

Hi,

I would say that taking a deeper look into Python might be worth while. It does all the things you would like to look into.

Craig

Sandeep Krishnan
Sandeep Krishnan
9,730 Points

Python is great. Its so simple to learn. I am not sure how well it will help me become a Web programmer -

Kevin Korte
Kevin Korte
28,148 Points

I'm going to give you my incredibly biased opinion, learn Javascript (nodejs) as a backend.

Sandeep Krishnan
Sandeep Krishnan
9,730 Points

Node.js is the :in: thing today - I think I will learn Angular.JS 2 for now. Thanks Kevin

Brian Hayes
Brian Hayes
20,986 Points

Node.js has become extremely popular recently as a way to use JavaScript as a server side language. While they say it means you "only have to learn JavaScript," you still will have to learn the ins and outs of how Node.js works, as well as popular libraries like ExpressJS. However, yes, it's still all JavaScript, so the way the language works doesn't change, just how it's used.

The next two that I would consider would be php or ruby, as both are used a lot. Learning one or the other shouldn't really yield too much difference in job availability. What you might want to consider is the kinds of things you see using one or the other and make your decision on what type of work would motivate you more.

as for python and java, well, the advantage there is those languages are used for software development as well. (Sublime Text is a python application for example). However, I don't know exactly how they compare in server side language use as compared to ruby, php, and node.js. I would assume the use cases are far less in numbers than the rest.

Swift is a language Apple developed specifically for iOS, watchOS, and tvOS. If you learn Swift, you'll want to at least get some Objective C under your belt. I believe that the iOS development track has some courses with Objective C mixed in. Knowing this stuff can be huge for job opportunities, as app development is only growing. This is not, however, a language you could use as a server side language for a website.

If your goal is to build web applications and mobile applications, then I would say go down the Full Stack JavaScript road. Then attack something like Swift afterwards.

Ricky Catron
Ricky Catron
13,023 Points

" I am going to use it mostly to build a webapp, some games, mobile app" If you want to do all of those in one language I would say your options are Java, JavaScript, or C#.

Java gives you Java Spring for web which is great, Android for Mobile which is a huge amazing ecosystem, and I you can make games in it like Minecraft.

JavaScript is the front end programming language for the web and Node.js is coming into its own on the backend. It can be used on Mobile with frameworks like Ionic, and it can be used for web and mobile games.

I honestly think C# is your best bet here. ASP.NET is C# web framework and is really powerful. You can built mobile apps with it using Xamarin and C# has in my opinion the best gaming platform out of any of them in Unity. I would use C#.

I love python but its mobile framework Kivy is just not there yet. It is amazing on the backend with Django and it can be used for games but I have never heard of it.

Ruby has Rails arguably the best web framework of them all. I don't know any mobile or game frameworks for it.

Swift is IOS mobile only.

PHP is a web language I don't know it can be used for anything else.

Sandeep Krishnan
Sandeep Krishnan
9,730 Points

Thanks Ricky that was really detailed. You have given a great many choice and they all seem really tempting. I have heard great thinks about Node.JS. What do you think ?

Ricky Catron
Ricky Catron
13,023 Points

Personally I not a huge fan of JavaScript. Remember JavaScript is the language node.js is just a framework for it. But I believe JavaScript will solve you problem if you choose to use it.

Sandeep Krishnan
Sandeep Krishnan
9,730 Points

A lot of support for NODE.js I guess :)

Sandeep Krishnan
Sandeep Krishnan
9,730 Points

I think the world is moving to JAVASCRIPT with MEAN STACK, Angular, Node.JS, React, JQuery. I will become a full stack JAVASCRIPT program ( if there is any such thing)