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

Which is the best IDE to write Java code?
Eclipse and intellige are the best IDE to write Java Code.
Akash
What is Constructor in Java?
A constructor in is a block of code similar to a method that's called when an instance of an object is created.
Ujwalajagdale
0 0
8
Hi, Can anyone help me on below queries? 1. What makes a class as "Thread safe class" ? 2. equals() method uses 3. Difference between String vs StringBuffer ?
There are three ways to construct thread-safe Java class which has some state: 1. Make it truly immutable 2.Make field volatile. 3.Use a synchronized block
Saurav
Can u explain init() method is used in servlet for initialization then constructor also there for initializing variables.then what makes the difference between init() and default constructor in servlets?
Using init() only advisable than default constructor because we cannot initialize servlet using constructor because servlets are not directly instantiated by javacode, instead container create instance...
Anwar
What is a singleton class and when do you use it?
Singleton class have a private constructor. while we can't create an object from outside of class, we can create an object only once.
Prakash

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

Ask a Question

Related Lessons

4 Things Every Tech Startup Needs to Know About The Coaching Industry
Knowledge on any subject is widely available to those who wish to learn. However, just gathering knowledge from other people doesn’t guarantee results in business. Results come from applying what...

Use of Service Locator Pattern
If we want to reuse the java code that should be the best approach w.r.t re-usability, maintanence and saving time to concentrate on our own businbess logic/requirement. In the similar approach many patterns...

Android : Application Launch time improvements.
For any standard android application, below 3 components play important roles to show 1st interface to user, so that he/she can interact with the app. 1. Custom Application class : Intialize the components...

jOOQ 3.10 Supports JPA Attribute Converter
One of the cooler hidden features in jOOQ is the JPADatabase, which allows for reverse engineering a pre-existing set of JPA-annotated entities to generate jOOQ code. For instance, you could write these...

Constructor Overloading
public class ConstructorOverloading { public ConstructorOverloading(){ System.out.println("default"); } public ConstructorOverloading(String a){ System.out.println("a"); } public ConstructorOverloading(int...
S

Sarthak C.

0 0
0

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