• Post Reply Bookmark Topic Watch Topic
  • New Topic

What is java like to work with?  RSS feed

 
Michael Dyson
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi I'm a professional developer with experience in PHP and more recently C#. I'm no evangelist of one particular programming language, just want my skills to remain relevant in industry and I am always happy to learn things I have no prior experience of if it ensures that is the case. As such I have been looking for a new role and one of the opportunities that has arisen promises new tech and efficient practises. They however use Java rather than c# but have indicated they would consider me with the experience I have. I admit I have no knowledge of Java and when I have been looking at information on switching to java as i did from php I have come across quite a few articles commending the java platform but really quite critical of the java language as verbose, missing features or having weired implementations. Are there any friendly Java developers out there who would share their opinions and experiences and suggest what benefits they find in the language. I would also be keen to find out if they were to start over whether they would still select Java as their development language and why. I have no preconceptions and am open to all opinions. Many thanks.
 
Henry Wong
author
Sheriff
Posts: 23295
125
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Michael Dyson wrote: I'm no evangelist of one particular programming language, just want my skills to remain relevant in industry and I am always happy to learn things I have no prior experience of if it ensures that is the case.


I would argue that ... doesn't it depend on the industry? For example, in my location, financial industry, electronic trading, etc.... The language that I see most of, is C/C++; with Java and C# behind it (almost equal actually).


Anyway, what missing features / weird implementations are you concerned with?

Henry
 
Tim Cooke
Marshal
Posts: 4051
239
Clojure IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Henry Wong wrote:doesn't it depend on the industry? For example, in my location, financial industry, electronic trading, etc.... The language that I see most of, is C/C++; with Java and C# behind it (almost equal actually).

Further to that it appears to depend on the company within the industry. For example I also work in the financial industry, electronic trading, etc, and the language most used for us is Java. We have some C++ bits but comparatively few.
 
Michael Dyson
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Really thanks for your reply, I'm a website developer by trade interested in working on bigger enterprise and more challenging systems. Well after googling what is it like programming in Java the result that came up had inflamatory titles so whilst it would be easier for me to post the links I won't. But the things that stood out for me and bear in mind my zero knowledge of Java were mention of name clashes in different namespaces, exception handling, foreach loops, ability of constructors to call each other, the way in which interfaces can be used, first class functions and just this claim that there is lots of boilerplate code as if it might be something way more than i'm used to. My research so far is by no means extensive just single day of googling. Me coming on here is part of continuing that process to get as full and balanced picture a possible.
 
Michael Dyson
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is there a reason you could put your finger on that Java is being used in financial industries you both mention, and are these new(ish) systems or established?
 
Henry Wong
author
Sheriff
Posts: 23295
125
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Michael Dyson wrote:name clashes in different namespaces, exception handling, foreach loops, ability of constructors to call each other, the way in which interfaces can be used, first class functions and just this claim that there is lots of boilerplate code as if it might be something way more than i'm used to.


Java packages are similar to C# namespaces. Java exception handling is actually a bit more complex, as it supports a concept of checked and unchecked exceptions. Java supports the foreach loop, except Java overloaded the "for" keyword -- so, it is a "foreach" loop that uses the "for" keyword. Java and C# constructors can call other constructors and super constructors, in a very similar way. Java and C# interfaces are also very similar.  Java supports Lambdas just like C#, although Java seems to be very late to this... and I don't have enough experience with either to be able to compare.

Not sure what feature / framework, you mean with the "boilerplate code" claim. Can you show us some examples?

Hope this helps,
Henry
 
Henry Wong
author
Sheriff
Posts: 23295
125
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Michael Dyson wrote:Well after googling what is it like programming in Java the result that came up had inflamatory titles so whilst it would be easier for me to post the links I won't.


Forgot to mention this yesterday. Keep in mind, that programmers (that work for a living) are professionals (or at least, they should be). And that the programming languages, along with frameworks, development environments, libraries, etc. are just tools of the trade.

To talk inflammatory regarding a programming language is, IMHO, like a carpenter talking trash regarding a hand saw because a table saw is so much better. Well, perhaps it is ... but a good carpenter should be good with both, or if not, understand that there are always cases where one is better than the other (it is not one size fits all). And having a lot of tools in the tool chest (and being proficient with them) is always a good idea.

In other words, it is probably a good idea to simply stop reading those articles, and find some more "professional" sources on the subject.

Henry
 
Michael Dyson
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well thats how I look at it too, I'm hoping there are a lot of Java professionals on here like you who can share their experiences and what situations they use Java as their go to tool. In the role mentioned at the start of this thread for example I found out that they used [a few other languages] and finding it a bit 'awkward' in their words, so they aren't fixed on one single tool either its just that I dont have any personal reference to infer why they might have made that decision. There was one reference from elsewhere which has given me some pause for thought though where this guy was commenting on the value of experienced programmers and that whenever you switch to starting out learning something else in a role, if that means having to learn a whole new set of programming toolsets and deployment tools as well as the language you potentially de-value yourself for the period whilst you are learning and for some time after until you can once again demonstrate significant years experience in the area. I feel I have encountered that myself after using PHP for a good while and being with c# [for a period].


[HENRY: Some personal identifiable information removed on request]
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!