The GNU Compiler Collection contains frontends for C, C++, Objective-C, Fortran, Java, and Ada as well as libraries for these languages. It is a full-featured ANSI C compiler with support for K&R C as well. GCC provides many levels of source code error checking traditionally provided by other tools (such as lint), produces debugging information, and can perform many different optimizations to the resulting object code.
The Advanced Bash Scripting Guide is both a reference and a tutorial on shell scripting. This comprehensive book, the equivalent of 1,000+ print pages, covers almost every aspect of shell scripting. It contains 382 profusely commented illustrative examples, a number of tables, and a cross-linked index/glossary. Not just a shell scripting tutorial, this book also provides an introduction to basic programming techniques, such as sorting and recursion. Included scripts are the Game of Life, a Perquackey variant, a Morse code trainer, and an implementation of the Gronsfeld Cipher. This book is suited for both individual study and classroom use. It covers Bash, up to and including version 4.2. Note that users of miniaturized single-board computers running Linux, such as the Raspberry Pi and the Beagle Bone, would find this Guide useful for learning and running Bash scripts to explore and expand the capabilities of these small, but powerful machines.
Python is an interpreted, interactive, object-oriented programming language. It combines remarkable power with very clear syntax, and isn't difficult to learn. It has modules, classes, exceptions, very high level data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (Tk, Mac, MFC, GTK+, Qt, wxWindows). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.
SymmetricDS provides file and database synchronization with support for multi-master replication, filtered synchronization, and transformation across the network in a heterogeneous environment. It supports multiple subscribers with one-direction or bi-directional, asynchronous data replication. It uses Web and database technologies to replicate data as a scheduled or near-realtime operation. The software has been designed to scale for a large number of nodes, work across low-bandwidth connections, and withstand periods of network outage. It works with most operating systems, file systems, and databases, including Oracle, MySQL, MariaDB, PostgreSQL, MS SQL Server (including Azure), IBM DB2, H2, HSQLDB, Derby, Firebird, Interbase, Informix, Greenplum, SQLite (including Android), Sybase ASE, and Sybase ASA (SQL Anywhere) databases.
Qt is a comprehensive, object-oriented development framework that enables development of high-performance, cross-platform rich-client and server-side applications. When you implement a program with Qt, you can run it on the X Window System (Unix/X11), Apple Mac OS X, and Microsoft Windows NT/9x/2000/XP by simply compiling the source code for the platform you want. Qt is the basis for the KDE desktop environment, and is also used in numerous commercial applications such as Google Earth, Skype for Linux, and Adobe Photoshop Elements.
Eric is a full featured Python and Ruby editor and IDE, written in Python. It is based on the cross platform Qt GUI toolkit, integrating the highly flexible Scintilla editor control. It is designed to be usable as an everyday quick and dirty editor as well as being usable as a professional project management tool, integrating many advanced features that Python offers the professional coder. Eric includes a plug-in system, which allows easy extension of the IDE functionality with plug-ins downloadable from the net. Current stable versions are Eric4 based on Qt4 and Python 2 and Eric5 based on Python 3 and Qt4.