The Java programming language celebrated its 25th anniversary this year. However, he is definitely not going to give up positions for a long time. The fact is that Java is not just a language, it is a universal software platform that has become a real breakthrough in the world of computing.
Scheme is a general-purpose programming language, descended from Algol and Lisp, widely used in computing education and research and a broad range of industrial applications. This thoroughly updated edition of The Scheme Programming Language provides an introduction to Scheme and a definitive reference for standard Scheme, presented in a clear and concise manner. Written for professionals and students with some prior programming experience, it begins by leading the programmer gently through the basics of Scheme and continues with an introduction to some of the more advanced features of the language. The fourth edition has been substantially revised and expanded to bring the content up to date with the current Scheme standard, the Revised6 Report on Scheme. All parts of the book were updated and three new chapters were added, covering the language’s new library, exception handling, and record-definition features.
History of creation
The first version of Java was released in 1995 by Sun Microsystems. The language was named after a coffee variety from the island of the same name. This fact is reflected in the official logo.
Initially, the language was created for programming consumer electronic devices, but it soon became clear that its capabilities are much wider. The language was adopted by the developers of server software and client applications. This is how Java began to conquer the world. Very soon, it replaced the very common C ++ in the early 90s from the market.
Since 2010, all rights to Java have passed to Oracle Corporation, which acquired Sun Microsystems. And the language itself reached the peak of its popularity. And, I must say, deservedly so.
Demand, ratings, areas of application
Java is a strongly typed general object-oriented language. It implements the WORA principle (from English: write once, run anywhere). This allows you to run applications wherever there is a JRE (from English: Java Runtime Environment). The mechanism of the programs is as follows. The source material is translated into bytecode, which is processed by the Java Virtual Machine (JVM). It doesn’t matter what operating system is installed on the device.
Due to its cross-platform nature, the language has become widespread, regularly occupies leading positions in the Top 5 authoritative international ratings.
PYPL (PopularitY of Programming Language) is a specialized ranking based on Google SE data. Let’s take a look at his top five. Java is in an honorable second place.
Stack Overflow(technology section)
extended rating based on the number of questions regarding programming languages and scripts. Java is in the top five.
In the international rankings IEEE Spectrum and TIOBE (as well as in the PYPL), Java takes second place in the TOP-5 (for 2019/2020). This clearly indicates the leading position of the language in the global IT industry.
Java has been tested by programmers in a variety of fields, from handheld computers to interactive television. Now it is most in demand in areas such as
- web development (large-scale business projects);
- programs for PC (desktop software);
- computer games (for example, Minecraft);
- applications for mobile devices (Android OS);
- research and development;
- industrial programming.
ORACLE claims that the total number of Java-enabled devices has reached 3 billion. This message became a marketing argument. Even if the figure is slightly exaggerated, the popularity of the language is beyond doubt.
Technical features and advantages
Initially, the creators of Java were faced with the task of making the syntax simpler and more understandable in comparison with C / C ++. In the end, it happened. There are similarities between these languages, but it is much easier to learn Java and code in it.
Java has many advantages, thanks to which many developers choose it.
Java’s first technical merit. It has clear syntax rules and understandable semantics. Rationality and brevity are very useful for processing code by machines with limited resources. A special Java Micro Edition platform has been created for embedded devices.
Object oriented approach.
For 3 decades, it has proven its effectiveness. The bottom line is that the focus is on data (objects), interfaces and algorithms are secondary. In other words, we base ourselves on the result when choosing tools and ways of using them.
The most important criterion considering the use of the language in network / distributed environments. The developers have done a great job of securing the Java platform. And it continues. It is extremely difficult to bypass or hack protection mechanisms. Example: Using digitally signed classes. Full rights are granted only with full confidence in the author of the class.
Initially, it raised questions. New versions of dynamic Java compilers are on a par with traditional ones from other platforms. A powerful increase in processing speed is provided by the optimization of those code fragments that are executed more often. If necessary, certain optimization techniques are enabled or disabled by the JIT compiler.
Is one of the most important advantages. Java programs work stably in any environment. The compiler is able to detect errors even before the code is executed, that is, at an early stage. Execution control helps prevent crashes in memory (for example, due to an imprecise pointer). The pointers themselves can be used not everywhere, but only where it is necessary (say, in working with linked lists).
Hardware and OS independence.
It is only important to have a runtime environment and JVM. And computer architecture as a whole doesn’t matter. The bytecode is easy to interpret on any machine. The approach has proven its worth in large part thanks to dynamic compilation. The interface implemented in the system libraries also differs in cross-platform functionality.
Dynamism and adaptability.
This feature allows Java not to get lost in an ever-changing environment. If necessary, you can add new objects and methods to the libraries. At the same time, you do not need to touch applications that use these libraries. It is very easy to track information about the structure of objects, their behavior, and the progress of a program.
Convenient and efficient networking capabilities.
Applications are able to find the necessary objects on the network and open access to them. And it’s as easy as if we are dealing with a local file system. There is an extensive software library for transferring data using the most common protocols: FTP, HTTP, TCP / IP. The mechanism for calling remote methods works.
Remember, Java is a trio of a programming language, a powerful general-purpose processor, and an impressive library. All these developments are available to programmers. They do not need to develop many of the necessary procedures from scratch (access to the network, databases, etc.). This is also a strong argument for Java.
Is it profitable to be a programmer?
Given the above, we can safely say: Java is a good programming language. What makes it great is the demand for specialists and the high salary.
It is also important that the salary of a specialist is at full employment. This is a very decent level. In general, Java programmers earn more than many colleagues working with other languages.
Java is quite easy to learn, forgiving to beginners. First you need to study the basic part. Then the required skills are already mastered in the chosen direction. It is possible to become an entry-level specialist in 6-12 months. Affordable and quick start is another indisputable advantage.
Today Java is a powerful, versatile platform for building application software:
- server logic;
- distributed systems;
- web applications;
- desktop programs;
- mobile applications.
In the arsenal of Java there are solid libraries, developments, ready-made solutions. In terms of the combination of properties such as security, reliability and dynamism, Java is undoubtedly the leader. The performance of the platform has significantly increased since the release of the first version.
In the foreseeable future, the demand for Java and its ecosystem does not raise any questions. On the contrary, the demand for language specialists is growing. And along with it, more and more favorable conditions are offered. There is an opportunity to get a job both in Russia and abroad.
Of course, Java has its drawbacks too. For example, paid commercial use. But against the background of such impressive advantages, the minuses look only nit-picking. And the pluses make the language irreplaceable and promising.
Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly language topics that are relevant to modern software development. It is designed to help you quickly understand Armv8-A assembly language programming and the computational resources of Arm’s SIMD platform. It also contains an abundance of source code that is structured to accelerate learning and comprehension of essential Armv8-A assembly language constructs and SIMD programming concepts. After reading this book, you will be able to code performance-optimized functions and algorithms using Armv8- A 32-bit and 64-bit assembly language.