Java worth it for EE? - Page 1
Forum section: electronics / general

author: SuperMiguel
author_rank: Regular Contributor
timestamp: June 22, 2012, 04:46:24 am
content: Java worth it for EE?

author: Bored@Work
author_rank: Super Contributor
timestamp: June 22, 2012, 04:50:34 am
content: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.htmlDraw your own conclusion.

author: Mechatrommer
author_rank: Super Contributor
timestamp: June 22, 2012, 07:22:42 am
content: what do you want to do? an opamp circuit? not even c/c++ is worth it.

author: hlavac
author_rank: Frequent Contributor
timestamp: June 22, 2012, 08:38:33 am
content: However if you want to program a utility from time to time, like generating tables or converting data formats, Java is in fact pretty good.Certainly easier than C++ and not much slower if done right. And it has lots of libraries for everything. Been using it since the early days. Would buy again

author: baljemmett
author_rank: Unknown
timestamp: June 22, 2012, 01:31:07 pm
content: Quote from: Bored@Work on June 22, 2012, 04:50:34 amQuoteHeh. I wondered what craziness resulted in Logo shooting up the chart like that!

author: PeteInTexas
author_rank: Frequent Contributor
timestamp: June 22, 2012, 02:11:38 pm
content: Quote from: SuperMiguel on June 22, 2012, 04:46:24 amYes, from the perspective that you may not always be working as EE.

author: AntiProtonBoy
author_rank: Frequent Contributor
timestamp: June 22, 2012, 02:41:49 pm
content: Just give it a shot. You will decide whether it's interesting enough to pursue it or not soon enough.

author: anotherlin
author_rank: Frequent Contributor
timestamp: June 22, 2012, 02:42:29 pm
content: Quote from: Bored@Work on June 22, 2012, 04:50:34 amEven if the results seem correct. IMHO I don't think the ranking system used by TIOBE is reliable. Apparently, it is only based on hit counts on search engines.So it's all about the "sexiness" of the language at current time. And the number of pages and community on the internet. Hence the 4th rank of Objective-C, which is only useful for iPhone and Mac application development.Also, C is ranked (1st) in front of C++ (3rd), whereas "pure" C is no longer used, but rather C++.Java is a very good language. And there's lot of job opportunities with it. But for EE, I would rather recommend C/C++.All microcontrollers or embedded processors have a C compiler. C is the language for low-level system programming.C++ is best suited for desktop application development, a PC driving a test equipment for example. Java can also be used to do that.

author: AntiProtonBoy
author_rank: Frequent Contributor
timestamp: June 22, 2012, 03:09:23 pm
content: Quote from: anotherlin on June 22, 2012, 02:42:29 pmNot sure what methodology TIOBE uses to generate those results, but I think they are finding a lot boilerplate libraries out there which are almost written exclusively in C, particularly in the Linux world. Those rankings does seem realistic to some extent. Having said that, the results probably doesn't say much about closed source projects.

author: PeteInTexas
author_rank: Frequent Contributor
timestamp: June 22, 2012, 03:15:05 pm
content: Quote from: anotherlin on June 22, 2012, 02:42:29 pmAssembly is the way to go with microcontrollers, IHMO. Learn assembly and its like the difference between learning to drive a car with manual (assembly) and automatic (C/C++/Java) transmission. The ideas of assembly programming are very straight forward- just learn the machine that you are trying to program!

author: anotherlin
author_rank: Frequent Contributor
timestamp: June 22, 2012, 03:49:01 pm
content: Quote from: PeteInTexas on June 22, 2012, 03:15:05 pmI would rather consider C and C++ as "semi-automatic" transmission. You have control over gears but you don't need to handle the clutch pedal. Unless you try to go to exact instruction cycles, which is now impossible on desktop processors (out-of-order execution), you can do pretty much everything using C.As for performance, I don't think there's need for assembly language. Much of the microcontrolers is doing is controlling (hence name), not computing or even capturing data (FPGA would be more suitable). Assembly wouldn't bring much more and be less reliable to develop than C. However, it is mandatory that student learn assembly to understand how everything works.

author: SuperMiguel
author_rank: Regular Contributor
timestamp: June 22, 2012, 04:05:20 pm
content: can you guys recommend a good java book? or tutorial?

author: olsenn
author_rank: Frequent Contributor
timestamp: June 22, 2012, 04:19:13 pm
content: QuoteTry the official tutorial website:http://docs.oracle.com/javase/tutorial/.It is the best resource for starting out in Java programming and it is quite encompassing and has lots of good examples. If you have no experience in programming with any language, then you may be better off going to a foundations resource for programming, but if you are just new to Java, then this is the site for you. They sell book versions as well, but the website is more complete and always up-to-date.As for the question of whether Java is suitable for EE... my honest answer is probably not! It's great for designing computer programs as it is easy and VERY high level; but it is SLOOOWWWWWW! Also, java isn't really an option for embedded designs/microcontrollers etc (for that you should use C or ASM).Hope this helps

author: T4P
author_rank: Super Contributor
timestamp: June 22, 2012, 04:33:11 pm
content: Quote from: olsenn on June 22, 2012, 04:19:13 pm"You know, Java is allot like Alzheimer,It's starts slow and then it takes all your memory!"

author: SuperMiguel
author_rank: Regular Contributor
timestamp: June 22, 2012, 05:32:40 pm
content: Quote from: DaveXRQ on June 22, 2012, 04:33:11 pmlol

author: jerry507
author_rank: Regular Contributor
timestamp: June 22, 2012, 06:43:45 pm
content: Have we got to the point where we don't consider cell phones embedded systems anymore? Java in android is certainly a big opportunity for a lot of engineers. Depending on your type of work, being able to write simple android and iOS apps is a very useful skill to have. Objective C isn't for the weak of spirit, but being able to write some simple Java programs would definitely expose you to a world much different from C.Otherwise if you just want simple utilities, learn something like Python.

author: T4P
author_rank: Super Contributor
timestamp: June 22, 2012, 06:48:05 pm
content: Then there's the catch of being a mobile apps developer, you've got to constantly bring out a killer app or else your future apps will be ... nobody to support you by

author: bruce273
author_rank: Contributor
timestamp: June 22, 2012, 11:19:32 pm
content: I've never been a massive fan of java, it's great for secure stuff and migrating to other systems, but it doesn't really have the efficiency of well programmed C code or some of the nicer elements of c#. Plus Orical are not that helpful either.It's certainly worth learning either Java or C# to get your head round object oriented programming. They are both by far easier to program a user interface and access things like serial ports on a PC with rather than using C++

author: anotherlin
author_rank: Frequent Contributor
timestamp: June 23, 2012, 12:33:09 am
content: Quote from: jerry507 on June 22, 2012, 06:43:45 pmYes, an iPhone has better capabilities than my 10 years ago PC. In raw computing power, I guess the ARM is still behind my PII 300MHz, especially for floating-point computation. But for everything else, this is as good or better.

author: jerry507
author_rank: Regular Contributor
timestamp: June 23, 2012, 03:11:52 am
content: I work for a VERY small company at the moment and luckily we don't have to be reliant on being a true app developer. We use the ability to program iPhone apps as a capability, like being able to design with wifi or USB (no asic), to get design jobs. The apps usually end up being really terrible. If they aren't going to be essentially simple utilities, we have a dedicated iPhone programmer on contract as well. This is on the ragged edge of where I like to be, as I definitely want to avoid that "app developer" trap. Still, it's pretty handy to be able to do some of this stuff.Though we're having a strong debate in another thread, I would value writing android apps (java) over iPhone apps. The latter is both more intensive, and more requires more investment. Plus it's much cheaper to add an android component to a project in every aspect. Sadly my boss doesn't agree. Bleh.