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

New to programming - Which language?

Hi All!

I'm relatively new to programming and code, and like most, overwhelmed by the vast array of languages that can be learnt.

I initially started my code journey with what are considered the foundation languages, HTML & CSS. I'd say that I have a solid understanding of the HTML syntax, and can competently read and write in this language. I struggled a lot with CSS (mainly due a lack of visual design creativity) and gave up. :(

I'd really like to learn a language that will allow me to actually build something functional, so I guess I'm looking at back end languages as opposed to front end.

My questions is, do I need to learn front end before back end, or can I just learn back end? (advantages/disadvantages). Which back end language is an ideal starting point? Would you recommend learning one or multiple languages? (If multiple, then I would stick to learning them one at a time). Are then any languages that work well together, or should be learned together, like HTML & CSS?

Any help/guidance you can offer would be awesome!

4 Answers

Hi Ben,

You will be overwhelmed. It's normal.

Coding isn't about been smart etc. You get better by just doing it over and over till it sticks.

I've done courses that are 5-10 hours long 4 times over until I could do it completely off by heart.

This is the most important thing you need to do.

  1. Pick one area (Front-end or Back-end is fine. Don't do both until you're absolutely amazing at one of them. You don't need to do be able to do both to get employed).

Personally, I'm a front-end developer. There have been odd occasions I thought about learning back-end, but after a few days I was like 'Hang on a minute? I'm not even good at Front-end yet!'.

If you try to do too much at once you'll just be average at everything. You're best becoming super good in one area first, and then if you want to learn other areas of coding then you can.

Also don't give in. You say you struggled with CSS... if you're new it will be a struggle. I've been coding non stop now for about 15 months and my CSS is probably reasonably good, but a long way off been very good.

Good luck.

Hi Ben,

Tough to answer. I would decided based on what you are most interested in. If you want to learn how to build apps for Apple, then I would start with Swift. It is actually a very modern language and easy to get into.

If you want to learn web dev, then I would start with Javascript and follow one of the Web dev tracks here on Team Treehouse. If you are serious about becoming a developer, then you will get exposed to all of these areas a little bit (i.e. you will learn some HTML, CSS, etc. regardless of the other language you want to focus on Ruby, Javascript, etc.).

I hope that helps,

Mike

PS: Thanks to the awesome resources on Team Treehouse, I just launched my first app. :-)

Code! Learn how to program with Swift

PPS: Once you become comfortable in one language, the others fall into place much easier. If you have not become reasonably good at any, then it will all feel confusing so pick one and really work hard to get good at it.

Hi Ben,

Joe's correct on all his points. To answer another of your questions, you don't NEED to be an excellent front-end developer to be a good back-end developer. That said, it's important to have a basic understanding of HTML and CSS to be able to work effectively with your front-end counterparts. For example, you'll want to be able to make whatever application you're creating output clean HTML code with reasonable IDs and classes in order for a designer or front-end developer to refine the output.

If you're feeling comfortable with HTML and are struggling only with the creative aspects of CSS, I'd say you can reasonable move into back-end languages to see how they relate to what you already know.

Thanks everyone. I appreciate all of your advice and guidance :)