+ 12
Java weaknesses as Programming Language
When I first started Java, I thought learning Java is worthwile, because of it's so famousness and powerfulness, but others like C++ and C# are ahead of it extra mile, right? So apart from slowness what are the other most common weaknesses and issues of Java??
22 Réponses
+ 11
Java and C++ are 2 different languages based on a common C base
They both use shared paradigms like OOP
But they have different one
In Java you can't totally control the memory
In C++ you can but you don't have a garbage collector to secure your back
C++ let you do nearly everything you want, that's the main advantage but that's the main problem
You can do things right but you can do it wrong a lot of different ways
Java is more restricted in what you can do
In term of speed, C++ beat Java only if the code is well written, that's depend on the programmer
You shouldn't judge the speed on the language but on the program
Of course Java is not the right language to develop big software with memory management
Make your choice! Try both and see yourself
+ 8
David Carroll yeah!
I never ventured deep into Java but day by day I feel that whatever java has C# has done it better.
Be it props, attributes, linq, generics (powerful stuff), cleaner syntax.
I am loving C# right now.
You won't go wrong with either but you ll achieve less with Java in the same time.
C# is prettty awesome! When it comes to enterprise grade development.
Bonus will be you get to play with Unity engine 😉 for your 2D, 3D, VR, AR game/app
edit: you ll go wrong with java, I am reading crazy stuffs these days regarding java/Oracle about unexpected lawsuits.
+ 6
portability is what java is good for. One code will work on different platforms provided they have a propper Java VM
+ 6
It's an interesting phenomenon to consistently observe such contrasting experiences reported by people compared to survey results year after year.
Morpheus Would you mind sharing your honest opinion about C#, which you recently started learning for professional development work after having studied Java first in school?
+ 5
Having much experience in both Java and C# over the years, Java, as a language, simply hasn't evolved at the pace of C#. Java just falls short when comparing equivalent approaches to how C# and .NET handles LINQ, Generics, class property accessors, JSON serialization, Async/Await, boxing / unboxing of primitive types, yada, yada, I could go on for a while.
Here is one of many articles that highlight many features that Java developers have been deprived of for so many years.
https://blog.overops.com/c-vs-java-5-irreplaceable-c-features-wed-kill-to-have-in-java/
Also, .NET Core is now a strong portability competitor against the JVM for multi platform support.
+ 5
r f First, surveys, in general, have never reflected reality for what I and many of my colleagues have experienced as professionals.
My understanding is Tiobe has been based on keyword searches across various websites, not against usage or quality feedback of languages.
Here's a little micro survey based purely on my experience...
Most Java developers I know who have never worked with C# believe Java is either the same as or significantly better than C#.
Every Java developer I know who has worked with C# has completely switched their opinion in favor of C# over Java.
Every C# developer I know who has worked with Java within the past 5 years remained surprised by the major step backwards it felt like to work with Java.
I've never met a developer who started with Java and later learned C# ever say they missed Java. Rather, it was always an experience where they were surprised by how much better C# was from anything they expected.
+ 4
r f he he he 😗,
I cannot deny this Well I would feel a bit paralyzed without Visual Studio and .NET is current scope in C# for me. Debugging will be painful without vstudio.
+ 4
Despite C# and VB.NET compiling to the same Intermediate Language (IL), I would change jobs before joining a new VB.NET team. Ultimately, the reason for my dislike in VB.NET and Java resides solely in the languages themselves.
Rajeshwari Kamatar Don't get me wrong... Java is a very capable language and I've been deeply involved in some very interesting large scale applications built solely in Java.
However, I also had to settle for replacing some of the amazing language features found in C# with really awkward implementations in Java. So... my criticisms are purely preferential. Just like I prefer C# over COBOL or Pascal or C, I prefer C# over Java.
It might not be convincing until you've had a chance to work with both languages on a large project to really understand the strength of the C# language over Java.
+ 4
The best analogy for this might be in trying to explain to someone who loves their new Honda CRV why Car X is so much better to drive. The CRV owner loves their car, it's great on gas, and never breaks down. It's comfortable, reliable, and works great.
The CRV owner goes everywhere in their car. It's got Bluetooth, air conditioning, a moon roof, a nice sound system, rear camera system, and room in the hatchback. It's likely that it does everything that Car X does and there's no need to look at anything else.
However, once the CRV owner gets a chance to drive Car X for a week long vacation road trip, they realize there are so many differences they never knew they would care about. Car X has smoother suspension, super quiet cabin with no road noise, memory and heated seats, massive leg room throughout, rain sensing wiper system, birds eye view, side, front and rear cameras, smart phone integration into digital control panels, lane change and collision detection systems, etc and so on.
+ 3
//Actually you can't really compare programming language which are used for different purposes, You can't say 'HTML' is no need by comparing to 'JAVA' because they have different purposes , Like that java ,C#,C++ are also worth and need languages in their field
+ 3
While these features are great, the CRV still works like it always has. However, after that week of being spoiled with Car X, they simply aren't satisfied with their dependable CRV anymore.
Now... imagine Car X is a new Infiniti QX80 Luxury SUV. That's how I would compare C# (Car X) to Java (CRV) on large scale projects.
+ 2
It is slower than compiled languages like C/C++, improvements to the JVM has enhanced the speed though. Java isn't also the best language to program resource constrained devices.
+ 2
It's all based on your preference.
If you like robust and organization, Java is your language, but
The C language is newer so it's going to be a little different and as Abel Louis has said in reguards to the comparisons is totally correct.
I prefer Java, but I run my codes over six different computers and four different platforms but again it's all based on preference and what you hope to accomplish 🙂.
I hope I was of some help 🙂
+ 2
I dont find any weakness in Java .Java is used in Android app development, Web application, Big data etc.I can say that every programming languages is very useful so all programming languages are best.
+ 2
r f Regarding your question on what could prevent me from writing in VB.NET instead of C#... I'm not sure what you mean by "prevent."
Aside from it being a conscious decision to not write in VB.NET, I'm not sure what you mean by the phrasing in this question. As far as I'm concerned, Microsoft could abandon that language and let it rot. 😜
Regarding your comment about the advantage of C# over Java is with the ".NET technology," I would strongly disagree. Again, I'm speaking from a perspective of clocking a ton of mileage on various complex enterprise applications using each of these three and the advantages I'm focusing on are in the syntactic sugar of each language. At the end of the day, all of these languages are simply syntactic sugar to the underlying machine code that gets run through the CPU.
+ 2
Mal, you mistyped. The C language is OLDER than Java, not newer. You could mention that C# is newer than Java, if that is what you meant.
- 6
JAVA IS THE BEST PROGRAMMING LANGUAGE FOR ANY CONCEPT OR ASPECT
IT IS WORKING WITH TWO TRANALATORS THAT MAKE CODE EFFECTIVE
IT IS HAVING VAST LIBRARIES TOOLS AND SERVICES
BUT OTHERS WILL NOT HAVE IT
JAVA IS ALWAYS TOP STAR