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

i have completed c,c++ and java what should I start now i have Python in my mind

i am a cse student and want to learn more by myself and that's why i don't know which language to choose next after java.

3 Answers

Josh Keenan
Josh Keenan
19,652 Points

SQL, if you haven't done it you should. Almost all databases are based on SQL so it is useful and important, also it is a bit different to your traditional programming languages like these!

William A. Mooney
William A. Mooney
14,859 Points

It's better to be good at one or two thing's then to be mediocre in many. I would suggest improving your coding skills in the language/languages you intend to primarily use.

Tracy Bowers
Tracy Bowers
6,816 Points

You should have at least 2 - 3 languages in your toolbox. In my highly unqualified opinion I would follow a path like this. My dream is to be very good at the following:

(1) C/C++ (something efficient, compiled and low level).
(2) something like Java (something ubiquitous with lots of web and DB support)

(3) Perl/Python (utility like) one liners from the CMD line, use once or more.

(4) Some Shell language (sh, tcsh, csh, bash). These is often needed to init, schedule and start jobs that run your server like applications. Although I said 2 - 3. I found it frequently required to write small shell scripts to handle jobs on servers. Often SH scripts will be used to launch other applications on linux/unix systems.

3 is super useful. Often you may find yourself writing "throw away" code in Python or Perl. Often I find I need to do something really quick. I don't care about re-usability, documentation, efficiency I just need to parse a file, make a report or something really quick at a cmd line. I will usually do this in Perl but I'm trying to learn more in Python.

Also, If you are interested understanding how a computer really works from the transistor up. Google NAND to Tetris. Its free. You will combine NAND chips to form logic gates. Then logic gates to form Memory Chips. Then construct a basic CPU. All of this done using a simulator. So no soldering or hardware.

Once you have a CPU you will combine the chips to form a computer. Then you will write an assembler in any language you want. Then you will write a compiler. You continue on to finally building a Tetris game that runs on your simulated computer. Amazing.

Also, youtube nand to Tetris Ted Talk.

IMHO, the most useful computer science course I have ever taken. Free, but you can find the course on Coursera as well. Its challenging but rewarding. I guarantee it will change the way you look at programming languages because you will understand what they are really doing underneath.

Hope that helps.