Software Development / Programming
Rüdiger Voigt | last update: 2017-08-11
Integrated Development Environment (IDE) and Compiler
Version Control Systems
Subversion is a kind of de facto standard regarding source control. It clearly overtook CVS. Subversion is centralized, that is a single authoritative repository holds the project code.
Git is a distributed revision control system. Git has shown to be scalable and technically mature as it is used for source control of the Linux kernel. Linus Torvalds ist the initial developer of Git and fiercly advocates its use. As well worth seeing is this Webcast on Git. Many open-source-projects use Git and are hosted on GitHub.
Documentation, Bug-Tracking & Debugging
- Doxygen documents code (for C/C++, Java, ...)
- Bugzilla: Bugtracker / in use for Mozilla projects like Firefox and Thunderbird
- Trac: Bugtracker including a wiki. Can be connected with subversion.
- GNU Project debugger (GDB)
Andreas Zeller's talk"Learning from Code History" is a good introduction to automatized bug finding:
Software Internationalization and Localization
Manish Bhargava did a interesting talk on "Developing for a global audience" at the Google I/O Conference 2013.
Google also has a dedicated website on this topic.
Bjarne Stroustrup (the designer of C++) collected some useful information on his homepage.
The Boost library is outstanding. Many times parts of it git integrated into the official language standard.
official Java Homepage (by Oracle)
- Python is a modern and elaborate scripting language.
Notes, videos and other materials from Google's Python Class are freely available!
Mike Solomon (Youtubes Python Expert) delivered a talk "Super Sizing Youtube with Python". He did another talk at PyCon that handels also more general issues of scaling web applications (one should skip the marketing and start watching the real talk at 09:36).
The Django-Framework (Open source, BSD license) is popular for developing web applications with python. A python-interpreter can even be integrated into C-programms.
It is indeed possible to build large scale websites using PHP (for example parts of Wikipedia and Facebook). It is important to beef up security with the right setting in php.ini and maybe with suhosin. HHVM (developed by Facebook) and PHP7 show impressive code speed gains.
- other less common libraries: dojo toolkit / qooxdoo / Mootools