{'fraction_non_alphanumeric': 0.030821917808219176, 'fraction_numerical': 0.0027397260273972603, 'mean_word_length': 5.379912663755459, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Portable applications in current computing [Java]

In 1996, a new phenomenon in computer programming emerged-the Java language and its system support. The language was originally designed by Sun developers for small embedded applications. The idea behind it was to create an object-oriented language, simpler than C++, that would be more reliable and provide higher portability. Although its current success is bound to the specific application (viz. programming of Web applets), Java opened a wide area of portable distributed applications to end users. Java is based on considerable experience with programming in C++. Java has a neater object-oriented structure than C++ had. Some programming constructions have been dropped (pointers, multiple inheritance, operator overloading), which improved the reliability. Some other constructions have been added to support multithreading and thread synchronization, exception handling and communication. The main issue of the Java design was portability: the method used to eliminate differences between target processors is a particular intermediate language called bytecode. Bytecode has a well-documented format, independent of any target machine. Although bytecode can serve as a machine code for a specialized stack-oriented processor, it can be interpreted by an interpreter running on a target machine (the virtual machine), or translated into the machine code of a target machine by a just-in-time compiler.