Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

General Discussion

Omer Asadullah
Omer Asadullah
10,415 Points

Learning more than one Programming Language

I have read in stackoverflow.com that learning more than one language enhances one's ability in his own chosen language to program better and learn new and efficient programing concepts and different solutions for a problem. I have also read that learning languages of different category is more fruitful than learning languages of same category. For instance it is better to learn one object oriented, one functional and one low level languages instead of learning three object oriented languages. What is your opinion about learning multiple languages and which ones we should learn as web developers?

4 Answers

A web dev, must know many language. Php+javascrips , html and css is more optional. I recomend you learn all cours of tree house and try after what is usefull for you.

Matt Campbell
Matt Campbell
9,767 Points

You simply won't be able to do anything in the world of web development knowing only one language. Learn just HTML, and how do you make your site look good? You need to know CSS. It's a fairly obvious answer.

Omer Asadullah
Omer Asadullah
10,415 Points

Actually HTML, CSS, Javascript are basics. without which you can't be called a web developer let alone doing something. My question is which areas we should focus on. Front end development with midiocre knowhow of back end. For instance knowing HTML, CSS, Javascript, Jquery, and in back end PHP, MsQL, are they enough for a front end developer or should we know all languages like Ruby, Java, .Net, Asp, Python upto an intermediate level and master one programming language ? In other words how much of backend development a front end developer should know to survive as a freelancer web designer?

Patrick Cooney
Patrick Cooney
12,216 Points

That's not even really an answer... neither HTML nor CSS are programming languages. Based on his mention of high-level and low-level it's clear he's talking about actual programming languages.

Patrick Cooney
Patrick Cooney
12,216 Points

Honestly the biggest reason to learn more than one language is to make yourself more employable. The approach to solving problems is pretty much the same throughout. It's mostly just a different syntax, so I'm not sure I buy the "various approaches" argument. Anyway, I would recommend learning a couple of languages. If you'd really like to start with just one because you aren't sure, I would highly recommend Java. It's a fairly easy language to get started with and a lot can be done with it. Java can be used for web back-ends, native Android apps, embedded systems and a lot more.

Omer Asadullah
Omer Asadullah
10,415 Points

Well I am not a programmer yet but the ones I read state that different languages have different approaches to solve similar problems. For instance in PHP the solution is achieved with more written and "forgiving" code as compared to ruby on rails in which less but precise code is required. If knowing Php, you learn ruby on rails, you learn to program smartly and with precision. Hence, when you code in Php after learning ruby on rails as well, you will adopt the DRY (Don't Repeat Yourself) strategy in PHP programming also, making it more professional and clear programming language.

Omer Asadullah Sipra, I think learning more than one language is a fantastic goal. What I think you'll find is that the more languages you learn, the easier it will be to pick them up. For example, once you know JavaScript, CoffeeScript can be learned in a few hours. My language progression has gone:

Year 0:

(prior knowledge of HTML & CSS)

SAS ->  ## my first programming language, it's a domain-specific statistical language, very much it's own style
 R -> ## my second lang, it's open source which was a huge improvement.  This is where I learned functional prog.
 Stata -> ## I dabbled in this, it's a proprietary stat. language and I think that really harms how valuable it can be

## At this point, R is 100% of what I program in

Year: 5 # I went a long time with just SAS, R, and Stata.

Ruby -> ## this is my first general purpose language, it's where I learned OOP
CoffeeScript -> # I actually learned CoffeeScript before JavaScript!  Mostly slight modifications to an existing code base.
Sass -> # front-end languages for minor design changes

## Now 90% R, 8% Ruby, 2% CoffeeScript/Sass/CSS/HTML

Year: 5.25 # I learned Python to intermediate level in just 3 months!

 Python -> #  I needed this for Bayesian analysis.  I used the Learning Python book by Mark Lutz

Year: 5.5 # learning new languages has become almost exponentially easier.

  JavaScript -> ## I wanted to learn the D3.js framework for visualization, so I started learning JavaScript.  The thing I notice about JavaScript is that it has prototypical inheritence, which is different than class inheritence.  Having learned OOP in Ruby makes using it in JS way easier.  That this point I was pretty much able to pickup JavaScript in about a month.


## Now 75% R, 10% Ruby,  5% Python, 5% JavaScript / Coffee Script, 5% HTML/CSS/Sass, etc.

Hope this annotation of how learning multiple languages went for me helps!