a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions. It provides excellent support for tree construction, tree walking, and translatio
a development tool to help programmers adheres to a coding standard. It automates the process of checking code to spare humans of this boring (but important) task.
a language system for specifying concurrent, hierarchical, finite state machines (an implementation of "statecharts") to model and control reactive systems.
generates HTML documentation for C++ classes, based on your source code and special comments embedded within it. It can produce output that is very similar to the output of Javadoc, and it supports Javadoc tags such as @see, @return , etc.
a Java-like library that acts as a bridge between the C++ and the Java worlds. It offers a wide range of the Java facilities without losing the power of C++.
Eclipse is an open-source community project that is focused on building an extensible development platform: a suite of software tools that assist in the writing of software. Primarily it is used as a Java integrated development environment (IDE) but has been adapted for many other languages including python, C, C++, and FORTRAN.
a free user interface builder for GTK+ and GNOME interfaces designed are saved as XML, and by using the libglade library these can be loaded by applications dynamically as needed. (Glade can also generate C code)
a source code tag system that works the same way across diverse environments. You can locate a specified object in the source files and move there easily. It is useful for hacking a large project containing many subdirectories, many #ifdef and many main()
a way of representing structural information as diagrams of abstract graphs and networks. Automatic graph drawing has many important applications in software engineering, database and web design, networking, and in visual interfaces for many other domains
Guy Steele's keynote at the 1998 ACM OOPSLA conference on "Growing a Language" (mostly about JAVA) discusses the importance of and issues associated with designing a programming language that can be grown by its users.
a modern alternative to object middleware such as CORBA™ or COM/DCOM/COM+. Ice is easy to learn, yet provides a powerful network infrastructure for demanding technical applications.
open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer.
a robust, somewhat scalable, cross-platform client-server messaging system for dynamic distributed applications that runs under any POSIX-compliant operating system.
an interface for array-oriented data access and a library that provides an implementation of the interface. The netCDF library also defines a machine-independent format for representing scientific data.
a free source code editor which supports several programming languages running under the MS Windows environment. based on Scintilla edit component (a very powerful editor component)
a library of routines for managing a database. The database is a simple data file containing records, each is a pair of a key and a value. Every key and value is serial bytes with variable length.
Sourcetrail is a productivity tool for software developers on Windows, Mac and Linux. It uses static source code analysis to provide a visualization that lets you follow calls and other dependencies.