FreeBASIC is a cross-platform compiler of the popular starter programming language BASIC. It is supported on operating systems like Windows, Linux, FreeBSD and protected-mode MS-DOS. It is also compatible with XBOX platform, though the platform support is no more available.
The newest version of the self-hosting compiler supports ‘C’ runtime library fully and C++ libraries partially. It supports header files for additional third-party libraries like Windows API, Allegro, TK+, OpenGL and SDL. Therefore codes compiled in FreeBASIC environment can be reused in many other programming ecosystems. The interface is user-friendly due to the C-style preprocessor with features like conditional compiling, multiline macros and file inclusion.
Small Device C Compiler
Small Device C Compiler (SDCC) is a popular compiler for programming microcontrollers. The latest version of the Standard C computing language compiler is retargetable and can be utilised for a group of devices including Intel MCS51 series machines, Freescale HC08 microprocessors, Maxim DS80C390 device line, Zilog Z80 microchips and STMicroelectronics STM8 device. The software runs on Linux, Windows as well as MacOS.
SDCC comes with a set of coding standard optimisations, which include dead code elimination, loop optimisation, copy propagation, ‘switch’ statement jump tables and more. It supports major data types including char, short, int, long, float, boolean and long long for a variety of MCU targets. It also supports inline assembler codes in functions and automated regression tests.
Major components of Java Development Kit (JDK) Standard Edition are the Java Runtime Environment (JRE), a code interpreter, a compiler (javac), an archiver (jar) and a document file generator (javadoc). One significant change in JDK 9 is the introduction of a modular system that brings diverse configuration options of the JDK and the JRE. The modular system brings an optional ‘Link time’ parameter, which exists between compile-time and runtime. Customisations to runtime image can be made with the help of module usage in the link time.
JDK also includes jmod tool, which has a similar function to JAR but also incorporates native code files. Users can enjoy simple string-schemes for easier identification of different releases, namely, $MAJOR, $MINOR, $SECURITY and $PATCH. Updates to JDK tools have also been introduced, including support for Read-Eval-Print Loop (REPL) functionality through jshell tool, support for multiple class files to exist in a single JAR, and compatibility of older platform codes on javac.
This popular compiler for Pascal and Object Pascal languages has included further updates. The 16-, 32- and 64-bit compiler can support system architectures including Intel x86, ARM, AMD64, SPARC, PowerPC64, Aarch64, MIPS and JVM. It can run on Linux, Windows, FreeBSD, MacOS, Haiku, Nintendo, Android, AROS and AIX, enabling a ‘write once, compile anywhere’ system.
Version 3.0.4 updated some units of Free Pascal. For example, T-List Autogrowth threshold of SysUtils is expanded for better memory management, Inifiles invalid name/value pair reading and many changes in the go32 unit. Free Pascal supports additional Pascal family dialects including TurboPascal and Delphi.
Open Watcom is an efficient integrated development environment (IDE) for C and C++ programs. It also supports Fortran programming languages. An open source IDE licenced by Sybase, it is compatible with DOS, Windows and Linux. Open Watcom packs a variety of tools, including graphical tools for various functions, linker, debugger and Vi editor.
The latest version of Open Watcom has many improvements and bug fixes. For instance, it features improved handling of data type like boolean and floats by the compiler. The IDE now supports OLE 2.0 and Linker supports RDOS and ZDOS. Vi Editor now supports non-ASCII characters in the 0x80x-0xFF range. The V2.0 Beta introduces an integrated text-editor, a two-phase build system and more fixes.
If you are a fan of Minecraft and want to play something for free, Terasology might be the one for you. This open source ‘sandbox’ game for Windows has mechanics similar to Minecraft where digital blocks can be used to innovate buildings, structures and infrastructure. Additional features include assigning digital creatures to activities. Players can create different tools and weapons and use them, create torches to illuminate dark areas, eat for improving life force and so on. The game is licenced by Apache 2.0.