Hosting & Domaining Forum

Hosting Discussion => Free Hosting Discussion => Topic started by: rahoolgupta on Mar 02, 2023, 07:15 AM

Title: Java Dilemma: What to Study and Where to Start?
Post by: rahoolgupta on Mar 02, 2023, 07:15 AM
Hey, I have begun learning JAVA and I am facing a dilemma. It is tough to pick a specific area in JAVA for specialization because it has such universal application. To be honest, having experience with C#, PHP, Python, and JS has given me a lot of exposure. Shall I focus on what I know best or explore new facilities in JAVA?

PHP (web development) is ideal for building websites because it is cost-effective and there are several frameworks that speed up site development.
Python (mathematics and entertainment) is great for creating mathematical programs with either a command line or small graphical user interface. Simple games can also be created using Python.
C# (GUI and entertainment) offers an intuitive interface for creating GUI and console programs. Additionally, it is a good alternative for website development.
JS (web development) permits working in the browser. However, it may also serve as a server language.

While every language has its own unique features, it's important to select the one which can handle the task with ease. Can you highlight any distinctive feature of JAVA?
Title: Re: Which way is it better to move with JAVA
Post by: sduggal on Mar 02, 2023, 08:55 AM
It seems like you're learning an excessive number of languages. Trying to master everything is impractical.
Instead, it's better to specialize in a particular technology that aligns with your interests. Are you into web development, game development, or mathematics? Based on your answer, you can settle on a technology to learn. It is important to understand the reason behind learning and the level of proficiency you want to achieve. As previously mentioned, trying to excel in every area is not feasible.
This reminds me of the Russian proverb "You will not catch two hares, you will not catch one."
On another note, Java has versatile application capabilities and is cross-platform compatible, which is a significant advantage.
Title: Re: Which way is it better to move with JAVA
Post by: Piyush on Mar 02, 2023, 10:17 AM
Java developers specializing in loaded Enterprise web and data processing systems are in high demand and receive substantial compensation.
Many heavily trafficked websites such as Amazon, LinkedIn, and eBay utilize Java in their Back-End.
Several types of data processing systems require Java, including exchange systems that demand ultra-low latency, distributed banking systems for calculating investment risks, geodata used with O-Spatial, statistical data processing, cluster computing, InMemoryDataGrid's, and Data Mining in the Retail industry, which is my area of expertise.
Title: Re: Which way is it better to move with JAVA
Post by: ElizabethParker on Mar 02, 2023, 11:12 AM
It's odd that Python is being used for a fan, among other things. However, it can be quickly implemented in websites using frameworks such as Django, WebPy, and Pyramid. This is just a side note.

From my perspective, Java's popularity has risen again due to the rise of Android and BlackBerry. This makes me happy as there was a decline in the popularity of C# according to Tiobe. It is important to consider these stacks, particularly in mobile development. Nowadays, mobile phones are essentially portable computers with clients to access web services and Google actively developing voice search. There is a lot of promise in combining several directions in this area.

As mentioned earlier, Java can be utilized for almost anything, including website creation with frameworks like Play and Vaadin. However, having knowledge of the language itself is not enough. It may be simpler when starting out in Android development, but other skills are still necessary. Therefore, it is crucial to choose a specific direction. Nonetheless, Java itself is a straightforward language with a few nuances, and can be learned fairly quickly.

As for additional thoughts on the topic, it's worth noting that Java continues to be widely used in the enterprise world for its reliability and scalability. Additionally, the rise of cloud computing and the need for backend systems has kept Java relevant and sought after in the industry.
Title: Re: Java Dilemma: What to Study and Where to Start?
Post by: centigon on May 30, 2023, 11:22 AM
Starting with the fundamentals, such as Java Core, is necessary before moving on to Maven, Git, and then a preferred direction.

In terms of options, there are three possibilities to consider. Assuming this specialty was not chosen at university, the following options can be explored:

Option one - Java books.
This is the oldest, traditional, and most reputable method for learning Java. The advantage of using books from well-known publishers is that they are written by experienced professionals who have years of experience teaching and developing within prestigious Western universities. These books are typically scrutinized by publishers themselves, resulting in minimal errors. After reading the basic books, it's important to move on to more advanced ones. These advanced topics tend to be less common and difficult to find informative sources on. Disadvantages of using books include dry academic language, making the book more of a reference than an engaging read. Renowned author Kay Horstmann stated that he himself doesn't read these books in their entirety but rather specific chapters that assist with his current situation.

Examples of popular books for beginners include:
- Java How to Program - Paul Deitel and Harvey Deitel
- The Java Philosophy - Bruce Eckel
- Head First Java, 2nd Edition - Bert Bates and Kathy Sierra
- Java. Professional library. Volume 1,2 - Kay Horstmann
- Java 8. Beginner's Guide - Herbert Schildt
- Data Structures and Algorithms in Java - Robert Laforet
- Java. Effective programming - Joshua Bloch
- Java Concurrency in Practice - Brian Goetz

It is recommended to read the last three books if you have foundational knowledge of Java and plan on continuing to expand your skills. There are also various framework-specific books available.

Option two - online video courses on programming and other topics.
Title: Re: Java Dilemma: What to Study and Where to Start?
Post by: holoman on Aug 26, 2023, 04:08 AM
One distinctive feature of Java is its "write once, run anywhere" principle. This means that Java programs can be written on one platform and run on any other platform that supports the Java Virtual Machine (JVM). This makes Java highly portable and allows developers to create applications that can be used on a variety of devices, from computers to mobile phones and embedded systems.
Additionally, Java has a strong focus on object-oriented programming, which promotes modular and reusable code. Java also provides a vast ecosystem of libraries and frameworks that can assist in various areas of development, such as enterprise applications, web development, and mobile app development.

Another distinctive feature of Java is its robustness and reliability. Java is known for its strong memory management, exception handling, and built-in security features. It includes automatic garbage collection, which helps manage memory allocation and deallocation, reducing the likelihood of memory leaks and crashes. Java's exception handling mechanism allows developers to handle errors and exceptions gracefully, improving the overall stability of the application. Additionally, Java has a security model that includes features like sandboxing, which restricts potentially malicious code from accessing system resources, making it a popular choice for building secure applications.
Another advantage of Java is its extensive standard library, which provides a wide range of pre-built classes and functions that can be used to simplify development tasks and accelerate the development process. These features contribute to Java's reputation as a reliable and robust language for building complex and mission-critical applications.

Java also has strong support for multi-threading and concurrent programming. It provides built-in features and libraries for creating and managing threads, allowing developers to write efficient and scalable applications that can perform multiple tasks concurrently. This is particularly useful in scenarios where performance and responsiveness are crucial, such as server applications or real-time systems.

Furthermore, Java has a mature ecosystem with a vast community and extensive dоcumentation. This means that there is a wealth of resources available for learning and troubleshooting Java-related issues. The Java community is known for its active participation in open-source projects, resulting in a wide range of libraries, frameworks, and tools that can enhance productivity and simplify development tasks.

Finally, Java's backward compatibility is worth mentioning. The language and its ecosystem prioritize maintaining compatibility with previous versions. This means that applications written several years ago can still run on newer Java versions without significant changes. This stability and compatibility make Java a reliable choice for long-term projects and enterprise-level applications.

Another distinctive feature of Java is its platform independence. Java code is compiled into bytecode, which can then be run on any device or operating system that has a Java Virtual Machine (JVM) installed. This "write once, run anywhere" principle allows developers to write code once and have it run on various platforms, including Windows, macOS, Linux, and even mobile devices like Android.

Java also provides strong support for networking and distributed computing. It includes libraries and frameworks for building networked applications, such as client-server systems and distributed systems. This makes Java a suitable choice for developing robust and scalable network-based applications.

Additionally, Java has built-in support for internationalization and localization. It includes features for handling text translations, formatting dates and numbers according to different locales, and supporting different character encodings. This makes it easier for developers to create applications that can be used globally.

Furthermore, Java's memory management is handled by automatic garbage collection. The JVM automatically manages memory allocation and deallocation, reducing the burden on developers to manually manage memory. This helps prevent common memory-related errors such as memory leaks and buffer overflows.

Lastly, Java has a large and active developer community. This means there are abundant resources available, including libraries, frameworks, tutorials, and forums, making it easier for developers to find support and collaborate with others in the Java ecosystem.

Overall, Java's platform independence, networking capabilities, internationalization support, automatic garbage collection, and vibrant developer community make it a popular and versatile language for a wide range of applications.
Title: Re: Java Dilemma: What to Study and Where to Start?
Post by: LindsyMn on Oct 23, 2024, 03:59 AM
JAVA's verbosity and complexity can be overwhelming, especially for a developer with a background in more agile languages like Python or JS. If you're looking for a challenge, JAVA's steep learning curve might be the perfect opportunity to test your mettle.
However, if you're looking for a more streamlined development experience, you might want to reconsider. As a seasoned developer, you know that time is money, and JAVA's rigidity might not be the best fit for rapid prototyping or small-scale projects.