Best Free Tools for Programmers

Tools for any programming language. Tools dedicated to a programming language are given in the cards of languages below...
We do use most of these tools in production: they are all free, easy to use, and improve productivity a lot.

Programming and data languages Asm.js - Basic - C - C++ - C# - Dart - Eiffel - Go - Java - JavaScript - Julia - Pascal - PHP - Python - Ruby - Rust - Scala - Scriptol - TypeScript - HTML - Wasm - XML - XAML - SQL

IDE & RAD (Integrated & Rapid Application Development)
NetBeans IDE for several languages including Java and PHP with a built-in server. (Java)
Visual Studio Community Free version of Visual Studio to build apps for all devices. (Win).
KDevelop Made for Linux but ported to Windows and Mac thanks to Qt, it supports multiple languages: C++, Objective C, PHP, Python ... Version 5 features a CLang plugin.
Warnings and syntax errors appear in the editor, with a suggestion to correct them.
Ideone Interactive online tool that allows testing (compile/interpret) source code in 40 programming languages and display the result.
Sikuli Created by MIT, a GUI automation and test tool. It simulates the interactions and allows to associate code to widgets.
List of multi-languages IDEs.

Graphical User Interfaces for cross-platform programs
HTML 5 frameworks Universal interface language. It can be used for local applications with Node.js, as demonstrated in the JavaScript section .
HTML 5 games engines For the desktop, there is SDL (in the list below), but for the browser, more frameworks are offered (and free).
Qt Cross-platform user interface framework, inclusing mobiles. LGPL license. (Win/Lin/Mac/Mobiles).
An IDE, QtCreator is provided to build applications.
List of all graphical user interfaces libraries.

Compilers and development tools
LLVM Includes the Clang, C, C++ and Objective-C compiler, producing a portable bitcode, for its fast virtual machine. An optimizer at each stage. Can produce binary too. It may be complemented by other tools, such as Emscriptem that converts its bitcode to JavaScript.
VMKit A framework to build virtual machines, for any language. A garbage collector is included. Is a part of LLVM.
Gow Windows version of all Unix tools. (Win)
rr A dreamed debugging tool from Mozilla: it saves the execution of a program and allows to replay the film, to find the moment when an error occurred. Currently work on Linux 32-bit only.
SWIG Tool that generates interfaces for different languages so they may be used in conjunction with C++.

Utilities to releases and source documenting
Inno Setup Complete installer, can add your program on the desktop, provides an uninstaller for your program, into the archive that is bigger than those of above. Open source.
IZarc Archive manager. Can build, extract, convert ZIP, BZ2, TAR, GZ, CAB archives and the new 7z format. Manages also CD images
Doxygen Produces a HTML/Latex/XML/Man documentation from source files.
sourceMakeup PHP version of the Docco family, a tool ported to many programming languages, to display a source code in HTML with an improved presentation.
Omaha Automatical update of software. Google open sourced its update system, used by Chrome.
GitHub Windows To manage a open source project hosted on GitHub, a simplified manager for Windows.
Similar tools exist for Linux. (Win/Lin).

Paint.NET Drawing program similar to Photoshop, easier to use than Gimp. Supports layers and a lot of filters. Has graph tools. (Win).
Gimp Drawing program, open source replacement for Photoshop. Despite that it is bugged under Windows has interesting features. The filters provide tools for sophisticated image processing. (Win/Lin)
XnView Image viewer and manager, recognize almost any format plus video ones: Mpeg, Divx (Win/Lin)
Inkscape Vectorial graphical editor allowing to make SVG files (Win/Lin/Mac).
OpenGameArt This site sponsored by Mozilla collects graphic elements such as sprites and scenery to help make games for free.
Terragen Landscape editor with photographic quality.
More graphic and drawing tools.
Graphics and Video: Expert level
Visualization Toolkit 3D visualization tool, open source. (Win/Lin).
POV Most powerful 3D ray tracer. Programming skill required. (Win/Lin)
Open FX 3D image maker.

Web and server
Anaa Small Ajax framework with the main functions: load XML, text or HTML contents, post a text or command to the server.
Link Checker Check a website for broken links. (PHP). See also Xenu's link (Win)
List of CMS Modern big websites are built with a CMS (Content Management System) as Joomla, Drupal, Xoops for portails, phpBB or punBB for forums, Wordpress for blogs.
FreeFTP Upload files on the net. (Win).
For updating a website from local files, the command line FTP synchronizer is well suited.
Page Test Check your web pages for validity, according to the HTML 4 standard. You can check also XML and CSS.
Postman Tests a Web service, and records your actions for a further use. It is an extension to install in Chrome.
List of webmaster's tools that are needed to manage websites.

Editors (text, code, HTML, XML)
VS Code From Microsoft, a simple code editor for all programming languages with highlighted syntax. Supports dual panels. Git. Special features for JavaScript and Node.js. (Win/Lin/Max).
PSPad Complete editor for any programming languages including HTML and XML. Internet features. Several foreign languages supported. (Win).
Geany Cross-platform tabbed code editor. Extensible with plugins.
Blue Griffon WYSIWYG HTML editor. (Win/Lin/Mac).
Treesheet Organizer which has the functions of a spreadsheet and those of an outliner. Only a programmer can use a tool like this. Open source. (Win/Lin/Mac).
Pandoc Convert documents between different markup formats.
LibreOffice Perfect to write manuals with images, supports HTML and PDF. (Win/Lin/Mac).
List of web page editors.
More tools and infos on the HTML card. Languages may have specialized editors also.

Tools for SQL databases
Kexi Database designer. (Win/Lin).
XAMPP Local server with MySQL and user interfaces to databases. (Win/Lin/Mac)
Libraries and APIs
Libuv Framework for asynchronous IO and data exchange. It is the base of Node.js, but can also be used with other languages ​​like C, Julia. Also manages the file system with a common interface for all OS. (Win/Lin).
The DARPA catalog You should not be impressed by the .mil extension of the DARPA site. This gouvernental organization has many achievements in robotics and artificial intelligence, and puts its catalog open source. There are programs and libraries in all areas and different programming languages​​.

Documentations and tutorials
Thinking C++ C++ tutorial with exercices.
OpenGL All Open GL tutorials.
OpenGL Lessons Complete tutorial on OpenGL with examples and sources for each compiler.
Modern 3D programming Online book on 3D generators.
Pcgbooks Procedural creation of content for games.
Wotsit Formats of files, sources and other resources for programmers.
DaFont Fonts and tools.
List of free books Available on PDF file to download.
Cheat-sheets List of reminders of any format or programming language.
See at each programming language on top of this page for specific tutorials.
Making money
Bountysource Start a campaign to get funding with an open source software. Even a programming language may be founded (See Crystal, Nim).
Labels:  Win)dows, Lin)ux, Mac)Intosh, Java or PHP: all OS, Nothing: Web.