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

Does anyone else find Java completely frustrating...

Ok...

My intent is not to rant... I've taken and completed all of the Java courses currently available on Treehouse. I've also been working through "Murach's Java Programming - 4th Edition".

Seems like a pretty straight forward approach to learning Java. That being said, once I got into the Inheritance and Interface sections... everything I thought I understood suddenly become a tangled mess of keywords and concepts that have left me in a complete fog.

I understand that Java is cross-platform and that's an attractive feature for sure. But, the shear volume of code leaves me wondering if I wouldn't be better off focusing on a different language. If anyone has ever dealt with with the BigDecimal object you know what I mean. Not to mention Inheritance & Interfaces.

I simply want to learn how to build practical business type applications. I love Swift... it seems like such a clean language. But, I'm not looking to to develop the ten thousandths Weather or To-Do app. Maybe I'm speaking out of ignorance, but it doesn't seem very promising outside of the Mac/iOS world. I need to settle in one direction. Not sure what that looks like right now...

Ok... I guess I did rant

Advice anyone?

Kevin

4 Answers

Craig Dennis
STAFF
Craig Dennis
Treehouse Teacher

Hey Kevin!

Inheritance and Interfaces are part of Object Oriented programming, and unfortunately you're going to run into them....even in Swift inheritance and interfaces, which they call protocols. Even JavaScript is based in prototypal inheritance.

Now the good news is this. I guarantee it can be overwhelming if you try to take it all in at once, especially without implementing it yourself.

I'm going to dip a bit into interfaces in the upcoming Data Structures course and I think it 's the right level, but you'll have to let me know.

That being said, I've never dealt with the BigDecimal object, and I've been doing this longer than I'd like to admit due to aging myself. ;)

Are you looking to build a web app or a phone app?

Hi Craig,

Thanks for the reply.

First of all, I didn't mean any disrespect toward you or your courses. I've found them very helpful and recommend them to anyone interesting in learning Java.

I guess I wasn't very precise... I realize that inheritance and interfaces are a part of OOP. May frustration with Java is in some of the naming conventions. Am I wrong or is the Clonable keyword basically the same concept as a Struct in Swift - a value type vs a reference type? I guess in an attempt to assimilate Java, so as to advance my understanding I fallen into a trap of sorts.

My point was about apps pertained to smartphones. I'm looking toward more business oriented development. Mainly because I worked as a programmer for a brief period of time in the early 90's using Turbo Pascal - LOL! I'm starting to feel lost as to what direction to take. And questioning if I'm heading in the right direction. It's not so easy to get a clear picture of what I need to focus on and what's a distraction. It's can be difficult to navigate on your own.

Do see Java remaining relevant long term?

Thanks,

Kevin McFarland

Craig Dennis
Craig Dennis
Treehouse Teacher

Doh! Sorry I just saw this.

We can be fairly certain that Java isn't going anywhere anytime soon. There are big investments that have been made and it holds the job market share by the long run. I do agree that it is an extremely verbose language with almost always way too advanced documentation. Google's embrace of the language for their mobile development is pretty telling of how long things will be around.

The good thing about the verbosity is that it is always explaining in very real terms what is going on. The problem of course is understanding those terms.

Great advances have been made very recently to make it more functional, so I think that there will be advances in the verbosity of the code, and the way we think about solving problems in Java.

It wouldn't hurt to delve a bit into Swift, the big problem there is much like the problem that would occur if you studied Spanish and French at the same time. Eventually you say stuff that makes sense to no one, but sounds right in your brain.

Turbo Pascal represent! I got my chops in Vic-20 Basic.

I think Java is a good language to learn if you are willing to go the distance in understanding the core concepts. I also know that it is overwhelming at the start. I think that other languages seem basic at the start and ramp up to be more difficult in the future.

Hi Craig,

I noticed that the new Java course has now been delayed until sometime in March... Do you have a more specific time frame?

Thanks,

Kevin McFarland

Craig Dennis
Craig Dennis
Treehouse Teacher

Hi Kevin!

Yeah we hit some technical snags, and unfortunately we had to bump it out. It's currently wrapping up now, and if we can get it in the schedule an earlier I will. For now the latest it will come out is March 16th. If you are interested in helping me QA the course, I'd be more than happy to get you early access as soon as it is ready.

Thanks and sorry for the delay :(

Hi Craig,

Thanks for the response... I'd be happy to help in anyway I can in terms of the QA.

Kevin