Java weaknesses as Programming Language | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 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??

21st Jan 2019, 6:04 PM
Abdifatah Abdillahi
Abdifatah Abdillahi - avatar
18 Answers
+ 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
21st Jan 2019, 10:34 PM
Abel Louis
Abel Louis - avatar
+ 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.
23rd Jan 2019, 2:49 PM
Morpheus
Morpheus - avatar
+ 6
portability is what java is good for. One code will work on different platforms provided they have a propper Java VM
21st Jan 2019, 6:48 PM
Data
Data - avatar
+ 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?
23rd Jan 2019, 1:50 PM
David Carroll
David Carroll - avatar
+ 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.
23rd Jan 2019, 8:47 AM
David Carroll
David Carroll - avatar
+ 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.
23rd Jan 2019, 1:42 PM
David Carroll
David Carroll - avatar
+ 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.
23rd Jan 2019, 5:07 PM
Morpheus
Morpheus - avatar
+ 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.
23rd Jan 2019, 7:47 PM
David Carroll
David Carroll - avatar
+ 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.
23rd Jan 2019, 8:10 PM
David Carroll
David Carroll - avatar
+ 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
21st Jan 2019, 6:27 PM
Sudarshan Rai
Sudarshan Rai - avatar
+ 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.
23rd Jan 2019, 8:14 PM
David Carroll
David Carroll - avatar
+ 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.
22nd Jan 2019, 10:00 PM
Umar Sunusi Maitalata
Umar Sunusi Maitalata - avatar
+ 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 šŸ™‚
23rd Jan 2019, 3:29 AM
Mal
Mal - avatar
+ 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.
23rd Jan 2019, 3:53 PM
RšŸ’ šŸ‡®šŸ‡³
RšŸ’ šŸ‡®šŸ‡³ - avatar
+ 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.
23rd Jan 2019, 7:15 PM
David Carroll
David Carroll - avatar
+ 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.
23rd Jan 2019, 8:09 PM
Brian
Brian - avatar
- 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
21st Jan 2019, 6:58 PM
sree harsha
sree harsha - avatar