Why do many software engineers not like Java?

Asked by Last Modified  

3 Answers

Learn Java

Follow 1
Answer

Please enter your answer

Python trainer believe in practical learning.

While Java is a popular programming language, there are some reasons why some software engineers might have reservations or preferences for other languages. Here are a few common reasons: 1. Verbosity: Java is often criticized for its verbosity, meaning that it requires more lines of code compared to...
read more
While Java is a popular programming language, there are some reasons why some software engineers might have reservations or preferences for other languages. Here are a few common reasons: 1. Verbosity: Java is often criticized for its verbosity, meaning that it requires more lines of code compared to other languages like Python or JavaScript to accomplish certain tasks. This can make the codebase larger and potentially increase development time. 2. Performance: Although Java is known for its performance, there are cases where it may not be the best choice for highly resource-constrained or real-time systems. Some software engineers prefer languages like C++ or Rust for applications that require low-level control or maximum performance. 3. Learning Curve: Java has a steeper learning curve compared to some other languages. It has a vast ecosystem with many frameworks, libraries, and design patterns to learn. Additionally, concepts like checked exceptions and strict typing can be challenging for beginners. 4. Garbage Collection: While automatic garbage collection is a convenient feature in Java, it can introduce latency or pauses during the process, affecting real-time applications or scenarios that require extremely low latency. Some software engineers prefer manual memory management in languages like C++ to have more control over memory usage and performance. 5. Lack of Language Evolution: Java has been criticized in the past for being slower to adopt new language features and updates compared to some other programming languages. This has led to frustration among some developers who desire quicker access to modern language constructs and capabilities. It's important to note that these concerns or preferences can vary among individual software engineers, and the suitability of a programming language depends on the specific use case, project requirements, and personal preferences. Different languages excel in different domains, and software engineers often choose languages based on the needs of their projects and their own expertise. read less
Comments

The Java programming language and Java software platform have been criticized for design choices including the implementation of generics, forced object-oriented programming, the handling of unsigned numbers, the implementation of floating-point arithmetic, and a history of security vulnerabilities in...
read more
The Java programming language and Java software platform have been criticized for design choices including the implementation of generics, forced object-oriented programming, the handling of unsigned numbers, the implementation of floating-point arithmetic, and a history of security vulnerabilities in the primary Java ... read less
Comments

The Java programming language and Java software platform have been criticized for design choices including the implementation of generics, forced object-oriented programming, the handling of unsigned numbers, the implementation of floating-point arithmetic, and a history of security vulnerabilities in...
read more
The Java programming language and Java software platform have been criticized for design choices including the implementation of generics, forced object-oriented programming, the handling of unsigned numbers, the implementation of floating-point arithmetic, and a history of security vulnerabilities in the primary Java ... read less
Comments

View 1 more Answers

Related Questions

Write a programme to replace the string without using replace command? This is my string. ..... s is replaced by th output is Thith ith my thtring
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package logic; ...
Profile Photo
Mithun
Is synchronized keyword necessary, in Java, if everything that is modified in a function is local to that function?
No, it is not required if you make sure whatever parameters are updated/modified will be done as atomic references/operations. Atomicity is an alternative to syncronizatiom.
Profile Photo
Abishiek
0 0
View Comments6
Can you tell me some new features in JavaFX 2.0?
JavaFX is a software platform for creating and delivering desktop applications, as well as rich internet applications (RIAs) that can run across a wide variety of devices. JavaFX is intended to replace...
Profile Photo
Renuka
0 0
View Comments5
Can a class have interface and vice-versa?
Interface is used to support multiple inheritance only.
Profile Photo
Deepa
0 0
View Comments7

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

Demand of java in industry
Java is one of the widest use language in the industry all around the world As in software market more than 80% software, platform developed using java. Java comes in three flavours:- j2se for window based...
Profile Photo

Prashant Tomer

0 0
View Comments0

Observer Pattern in Java.
As I was going through the different source code files of the Java Util package, I found the implementation of the Observer Pattern ( see the Gang of Four books for more information on this pattern) in...
Profile Photo

Java Achieve (JAR)
Java Archieve is a binary form to bundle a Java library which equivalent to zip file. It contains .class files, .properties, .jpeg, OR any supporting files to execute this library. For Example- junit.jar,...
Profile Photo

Simple Input and Output in CoreJava
We can use any of the following options based on the requirements to accept data from the user in corejava and show them Integer Input Output Character Input Output Float Input Output INPUT AND...
Profile Photo

Tips of learning Java Language/Other Programming Languages
1.You should know the basic concept: If we talk about programming languages so basic concept are same in all the high level languages. So you should know the basic concept firstly then you can easily understand...
I

Icreative Solution

0 0
View Comments0

Recommended Articles

In the domain of Information Technology, there is always a lot to learn and implement. However, some technologies have a relatively higher demand than the rest of the others. So here are some popular IT courses for the present and upcoming future: Cloud Computing Cloud Computing is a computing technique which is used...

Read full article >

Java is the most commonly used popular programming language for the creation of web applications and platform today. Integrated Cloud Applications and Platform Services Oracle says, “Java developers worldwide has over 9 million and runs approximately 3 billion mobile phones”.  Right from its first implication as java 1.0...

Read full article >

Java is the most famous programming language till date. 20 years is a big time for any programming language to survive and gain strength. Java has been proved to be one of the most reliable programming languages for networked computers. source:techcentral.com Java was developed to pertain over the Internet. Over...

Read full article >

Before we start on the importance of learning JavaScript, let’s start with a short introduction on the topic. JavaScript is the most popular programming language in the world, precisely it is the language - for Computers, the Web, Servers, Smart Phone, Laptops, Mobiles, Tablets and more. And if you are a beginner or planning...

Read full article >

Looking for Java Training Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you