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

Java

Why doesn't teamtreehouse have a c/ c++ tutorial or any languages like those??

is it better for a beginner to learn java before learning something like c or c++ and why? So far i started off with python and quickly moved onto c++ which i can build some basic programs with I'm now working on both c++ and java script. Problem is the more i learn about java script it seams to push my knowledge of c++ aside. i want to be a wizard one day and understand all of these languages with ease what would be the best track for me to follow java first? then move onto c++, c , perl leave java script for later on when it will be incredibly easy to learn with a little documentation? Or should i just focus on c++ come back later on learn java, js, etc?

Simon Coates
Simon Coates
28,694 Points

treehouse community has some advanced users, but skews towards beginners. Stackoverflow is good for technical advice, while quora is good for the big questions of technology (but recommend getting a recent response to deal with evolving tech). eg. https://www.quora.com/What-are-major-differences-between-C++-and-Java or https://www.quora.com/Which-is-more-beneficial-to-learn-as-a-first-programming-language-Java-or-C++-Why

2 Answers

Simon Coates
Simon Coates
28,694 Points

learning a computer language is non trivial. You can read the syntax in a day, but that doesn't mean this knowledge will stick. You have to use something to get the retention or the speed/patterns required. You need to know javascript for web development, but to begin with, you might want to focus on only one or two other languages. C/C++ aren't very webby or used much in apps (hence no course). As for selection of where you want to focus, this might be a matter of what you want to do long term. Most languages will have particular uses for which they shine. In depth knowledge tends to be a result of specializing and a lot of repetition.

I guess tree house is kind of webby orientated i only wanted to learn javascript to mess around a bit with web apps/severs but im not at all interested in doing that professionally. Ive only done a few beginner tutorials on c++ and im going to (mabye if i choose) pick up a intermediate book on c++. But if NOT "webby" type stuff is what im going for, would i be better off learning java before c++. Tree house is so easy to learn with i really wish they would do c++ as a more advanced tutorial for users.

Simon Coates
Simon Coates
28,694 Points

At this point, there have been at least dozens of requests for c++ courses if you look through the treehouse forum. The perception is the web and beginner focus of treehouse means that it's not a priority for them (though they avoid giving users a hard no for an answer). Most of the interactive providers aim for popular buzzy languages in the mobile or web worlds (android, swift, ruby). So i haven't found anything treehouse-like for c++. Lynda does have some c++ videos you could try. As to c++ vs java, my suggestion is pick the one that has most utility for your career direction (with a mind to employment opportunities) and ignore the other. You don't necessarily have to know everything, and if there's work in a given field, then you can aim for a T-shaped skillset. Once comfortable, you can develop a second skill into a mastery and get a pi shaped career. (some people can master a lot of different skills and not have them blur together, but for a lot of us there is the danger inherent in the adage "jack of all trades. master of none.". Syntax is easy, but deep knowledge is hard and any programming language often represent different paradigms. Sometimes you can program them is if they're all C, but different concepts should translate to fundamentally different code)

we'll then lets all get together and and dos tree house with pings filled with "109 097 107 101 032 097 032 099 043 043 032 116 117 116 111 114 105 097 108" that will change there minds lol (don't take that literally)

Simon Coates
Simon Coates
28,694 Points

i guess i can tell the judge at my future trial that treehouse users incite me to evil. he, he (continues to laugh increasingly maniacally)

Reed Carson
Reed Carson
8,306 Points

I think almost any newer would be easier to learn C's, and once you've learned one language, picking up new ones is fairly simple. If you are a beginner pick a more in demand language and stick with that if you want to get a job. Once you've learned that language, you can easily pick up others. Its going to slow your progress if you jump around with languages in the beginning

what do you mean by newer i hear this all the time and really don't understand it, like newer in terms of java came out in 90's and the first c++ standard came out in 80's. c++ 11 is very recent updated (2014 i think) . Do you mean newer in terms of the trend of more portable languages (because that's only really applies to certain apps)? Newer in terms or paradigms (c is procedural but c++ is both object orientated and procedural ) ? How is it newer and why would something newer be easier ? very incomplete answer.

Also c++ has very large demand pretty much all: top teir videos games, video game engines, operating systems, programing languages vms (including java, php), large web apps (google, facebook, quora, etc), medical equipment, stand alone programs for all kinds of devices, all use at least use large amounts of c++. i won't be surprised if the us military (or proxies) have a custom c++ compiler (or derivatives) that is used for their drones and other complex equipment.

Simon Coates
Simon Coates
28,694 Points

C and c++ obviously have uses, but these are often assumed to be as a function of the lower level stuff (graphics, OS). As a whole programming languages have tended to move towards increased abstraction (the whole generational paradigm thing). Java doesn't have the association of manual memory management and pointers.

Reed Carson
Reed Carson
8,306 Points

@Tom Johnson newer languages tend to be safer and less complex? thats all I mean. For example in Swift I don't have to worry much about memory management or optimizing the code for performance.

Basically with a newer language with higher levels of abstraction you can focus on bigger concepts without worrying about individual bits

Im sure you can pick this answer apart and tell me specific example of why this isn't always true, but you KNOW what I mean here.

@reed Not trying to pick your words apart but heightened abstracts is really not a newer concept (been around since tube computers) you could say something like f# is newer because it has different mixs of paradigms but java, c#, JavaScript(most cases), python, and many others examples are not newer ideas than c++ (Didn't Turing describe all these paradigms along time ago Anyway making them all the same age?) You're right c++ has more advanced concepts to grasp than java, python, c, perl (I think anyway) but learning low level concepts and how to relate source to machine instruction is very important to building good stable programs. "A programmer that has never look at machine instructions, is like a doctor that has never look into a microscope." So not a newer technologies just newer marketing! This doesn't not make them more in demand either, good programmers is what's in demand, even if the companies don't know that.