Question: Compilers that can compile both C and C++

Nvidia CUDA Compiler (NVCC) is a proprietary compiler by Nvidia intended for use with CUDA. CUDA codes runs on both the CPU and GPU. NVCC separates these two parts and sends host code (the part of code which will be run on the CPU) to a C compiler like GCC or Intel C++ Compiler (ICC) or Microsoft Visual C Compiler, and sends the device code (the part which will run on the GPU) to the GPU.

Dual front
Dual front is a design concept which allows a device to have two distinctive sides, one for each function.  It is most commonly used in camera phones.

Qt (software)
Qt (/ˈkjuːt/ "cute", or unofficially as Q-T cue-tee) is a cross-platform application framework that is widely used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while having the power and speed of native applications.

Parser Grammar Engine
The Parser Grammar Engine (PGE, originally the Parrot Grammar Engine) is a compiler and runtime for a Perl 6 rules for the Parrot virtual machine. PGE uses these rules to convert a parsing expression grammar into Parrot bytecode. It is therefore compiling rules into a program, unlike most virtual machines and runtimes, which store regular expressions in a secondary internal format that is then interpreted at runtime by a regular expression engine.

Borland
Borland Software Corporation is a software company that facilitates software deployment projects.  Borland was first headquartered in Scotts Valley, California, then in Cupertino, California, and now in Austin, Texas. It is now a Micro Focus International subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.

Text editor
A text editor is a type of program used for editing plain text files. Text editors are provided with operating systems and software development packages, and can be used to change configuration files, documentation files and programming language source code.

Cocoa (API)
Cocoa is Apple's native object-oriented application programming interface (API) for the OS X operating system.For iOS, there is a similar API called Cocoa Touch which includes gesture recognition, animation, and a different set of graphical control elements, and is for applications for the iOS operating system, used on Apple devices such as iPhone, iPad, iPod Touch and Apple TV.Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by Cocoa.h header file, as well as the libraries and frameworks included by those, such as the C standard library and the Objective-C runtime.Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder, using the Objective-C or Swift language.

Bzip2
bzip2 is a free and open-source file compression program that uses the Burrows–Wheeler algorithm. It only compresses single files and is not a file archiver. It is developed and maintained by Julian Seward. Seward made the first public release of bzip2, version 0.15, in July 1996. The compressor's stability and popularity grew over the next several years, and Seward released version 1.0 in late 2000.

Concurrent Euclid
Concurrent Euclid (ConEuc) is a concurrent descendant of the Euclid programming language designed by James Cordy and Ric Holt, then at the University of Toronto, in 1980.  ConEuc was designed for concurrent, high performance, highly reliable system software, such as operating systems, compilers and embedded microprocessor systems. The TUNIS operating system, a Unix variant, was implemented entirely in Concurrent Euclid.

File archiver
A file archiver is a computer program that combines a number of files together into one archive file, or a series of archive files, for easier transportation or storage. File archivers may employ lossless data compression in their archive formats to reduce the size of the archive.Basic archivers just take a list of files and concatenate their contents sequentially into archives.

Instruction set
An instruction set, or instruction set architecture (ISA), is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine language), and the native commands implemented by a particular processor.


Question: Compilers that can compile both C and C++

The Norcroft C compiler (also referred to as the Norcroft compiler suite) in computing is a portable set of C/C++ programming tools written by Codemist, available for a wide range of processor architectures.Codemist was established and run by a group of academics from the University of Cambridge and University of Bath. The name Norcroft is derived from the authors' surnames, Norman and Mycroft.

PL/I
PL/I "\Programming Language One", pronounced /piː ɛl wʌn/) is a procedural, imperative computer programming language designed for scientific, engineering, business and systems programming applications.

COBOL
COBOL (/ˈkoʊbɒl/, an acronym for common business-oriented language) is a compiled English-like computer programming language designed for business use. It is imperative, procedural and, since 2002, object-oriented. COBOL is primarily used in business, finance, and administrative systems for companies and governments. In 1997, Gartner Group estimated that there were a total of 200 billion lines of COBOL in existence, which ran 80% of all business programs.

European Union Public Licence
The European Union Public Licence (EUPL) is a software licence that has been created and approved by the European Commission. It is a free software licence.Its first version 1.0 was approved on 9 January 2007. Its latest version is version 1.1, which was approved by the European Commission on 9 January 2009. The licence is available in 22 official languages of the European Union. All linguistic versions have the same validity.

Common Language Runtime
The Common Language Runtime (CLR), the virtual machine component of Microsoft's .NET framework, manages the execution of .NET programs. A process known as just-in-time compilation converts compiled code into machine instructions which the computer's CPU then executes. The CLR provides additional services including memory management, type safety, exception handling, garbage collection, security and thread management.

OCaml
OCaml (/oʊˈkæməl/ oh-KAM-əl), originally known as Objective Caml, is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez and others in 1996. OCaml extends the core Caml language with object-oriented constructs.OCaml's toolset includes an interactive top level interpreter, a bytecode compiler, a reversible Debugger, a package manager (OPAM), and an optimizing native code compiler.

Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages. It has built-in language support for design-by-contract, extremely strong typing, explicit concurrency, offering tasks, synchronous message passing, protected objects, and non-determinism. Ada aims to improve the safety and maintainability by leveraging the compiler to find compile-time errors in favor of runtime errors.

Software
Computer software or simply software is any set of machine-readable instructions that directs a computer's processor to perform specific operations. Computer software is non-tangible, contrasted with computer hardware, which is the physical component of computers. Computer hardware and software require each other and neither can be realistically used without the other.Computer software includes computer programs, libraries and their associated documentation.

Wish (Unix shell)
wish (Windowing Shell) is a simple scripting or interactive Unix shell for the X Window System and Mac OS X. It provides users with the facility to be able to control graphical user interface components via the Tk toolkit, and enables utilization of the Tcl programming language.wish is open source and is currently part of the Tcl/Tk programming suite.

Borland
Borland Software Corporation is a software company that facilitates software deployment projects.  Borland was first headquartered in Scotts Valley, California, then in Cupertino, California, and now in Austin, Texas. It is now a Micro Focus International subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.

Content management system
A content management system (CMS) is a computer application that allows publishing, editing and modifying content, organizing, deleting as well as maintenance from a central interface. Such systems of content management provide procedures to manage workflow in a collaborative environment. These procedures can be manual steps or an automated cascade. CMSs have been available since the late 1990s.CMSs are often used to run websites containing blogs, news, and shopping.


Question: Compilers that can compile both C and C++

Open64 is a discontinued, free, open source, optimizing compiler for the Itanium and x86-64 microprocessor architectures. It derives from the SGI compilers for the MIPS R10000 processor, called MIPSPro. It was initially released in 2000 as GNU GPL software under the name Pro64. The following year, University of Delaware adopted the project and renamed the compiler to Open64. It now mostly serves as a research platform for compiler and computer architecture research groups.

Text editor
A text editor is a type of program used for editing plain text files. Text editors are provided with operating systems and software development packages, and can be used to change configuration files, documentation files and programming language source code.

QuakeC
QuakeC is an interpreted language developed in 1996 by John Carmack of id Software to program parts of the video game Quake. Using QuakeC, a programmer is able to customize Quake to great extents by adding weapons, changing game logic and physics, and programming complex scenarios. It can be used to control many aspects of the game itself, such as parts of the AI, triggers, or changes in the level. The Quake engine was the only game engine to use QuakeC.

Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages. It has built-in language support for design-by-contract, extremely strong typing, explicit concurrency, offering tasks, synchronous message passing, protected objects, and non-determinism. Ada aims to improve the safety and maintainability by leveraging the compiler to find compile-time errors in favor of runtime errors.

CP/M
CP/M, short for Control Program for Microcomputers, was a mass-market operating system created for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc.

Backus–Naur Form
In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols; the other main technique for writing context-free grammars is the van Wijngaarden form.

Application binary interface
In computer software, an application binary interface (ABI) is the interface between two program modules, one of which is often a library or operating system, at the level of machine code.

Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 (R2004) (formerly X3.226-1994 (R1999)). From the ANSI Common Lisp standard the Common Lisp HyperSpec, a hyperlinked HTML version, has been derived.The Common Lisp language was developed as a standardized and improved successor of Maclisp. Thus it is not an implementation, but rather a language specification.

Apache OpenOffice
Apache OpenOffice (AOO) is an open-source office productivity software suite. It is a successor project of OpenOffice.org and integrates features and improvements from IBM Lotus Symphony. Apache OpenOffice is a close cousin of LibreOffice and NeoOffice.

Literate programming
Literate programming is an approach to programming introduced by Donald Knuth in which a program is given as an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which a compilable source code can be generated.The literate programming paradigm, as conceived by Knuth, represents a move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts.

ClipGrab
ClipGrab is a multi-platform software for downloading videos from popular websites such as YouTube, Vimeo, Dailymotion or Metacafe. It also provides the possibility to convert the downloaded files to other file formats such as MP3, MPEG4, OGG Theora or WMV. It is published as free software under the terms of version 3 of the GNU General Public License.


Question: Compilers that can compile both C and C++

pnetC is the Portable.NET C library. The goal of the project is to create an ANSI-compatible C library (based on GNU C Library - glibc), that can be compiled to IL using Portable.NET's "cscc" compiler. The C compiler can be used to develop standard C applications and/or applications using the .NET API.The C compiler and library has been included with Portable.NET since version 0.4.4 and over time has matured enough to become a viable alternative to C# for writing Microsoft .NET applications.

Cross-platform
In computing, cross-platform, multi-platform, or platform independent, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms.

Content management system
A content management system (CMS) is a computer application that allows publishing, editing and modifying content, organizing, deleting as well as maintenance from a central interface. Such systems of content management provide procedures to manage workflow in a collaborative environment. These procedures can be manual steps or an automated cascade. CMSs have been available since the late 1990s.CMSs are often used to run websites containing blogs, news, and shopping.

LiveScript
LiveScript is a functional language that compiles to JavaScript. It was created by Jeremy Ashkenas—the creator of CoffeeScript—along with Satoshi Muramaki, George Zahariev, and many others. Notably, LiveScript was briefly the name of JavaScript in 1990s.

Gentoo Linux
Gentoo Linux  (pronounced /ˈdʒɛntuː/ JEN-too) is a computer operating system based on the Linux kernel and built using the Portage package management system. It is distributed as free and open-source software. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer.

Itanium
Itanium (/aɪˈteɪniəm/ eye-TAY-nee-əm) is a family of 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). Intel markets the processors for enterprise servers and high-performance computing systems. The Itanium architecture originated at Hewlett-Packard (HP), and was later jointly developed by HP and Intel.Itanium-based systems have been produced by HP (the HP Integrity Servers line) and several other manufacturers.

Common Object Request Broker Architecture
The  Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between systems on different operating systems, programming languages, and computing hardware. CORBA has many of the same design goals as object-oriented programming: encapsulation and reuse.

Artistic License
The Artistic License (version 1.0) is a software license used for certain free and open source software packages, most notably the standard implementation of the Perl programming language and most CPAN modules, which are dual-licensed under the Artistic License and the GNU General Public License (GPL). The original Artistic License was written by Larry Wall.

Compaq
Compaq Computer Corporation was a company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced some of the first IBM PC compatible computers, being the first company to legally reverse engineer the IBM Personal Computer. It rose to become the largest supplier of PC systems during the 1990s before being overtaken by HP in 2001. Struggling in the aftermath of the dot-com bubble bust, Compaq was acquired for US$25 billion by HP in 2002.

Cygnus Solutions
Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore, Michael Tiemann and David Henkel-Wallace to provide commercial support for free software.  Its tagline was: Making free software affordable.For years, employees of Cygnus Solutions were the maintainers of several key GNU software products, including the GNU Debugger and GNU Binutils (which included the GNU Assembler and Linker).

Brian Kernighan
Brian Wilson Kernighan (/ˈkɜrnɨhæn/; born January 1, 1942) is a Canadian computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix. He is also coauthor of the AWK and AMPL programming languages. The "K" of K&R C and the "K" in AWK both stand for "Kernighan".


Question: Compilers that can compile both C and C++

The Portable C Compiler (also known as pcc or sometimes pccm - portable C compiler machine) is an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs in the mid-1970s, based in part on ideas proposed by Alan Snyder in 1973,and "distributed as the C compiler by Bell Labs... with the blessing of Dennis Ritchie."One of the first compilers that could easily be adapted to output code for different computer architectures, the compiler had a long life span.

Lua (programming language)
Lua (/ˈluːə/ LOO-ə, from Portuguese: lua [ˈlu.(w)ɐ] meaning moon; explicitly not "LUA" for it is not an acronym) is a lightweight multi-paradigm programming language designed as a scripting language with extensible semantics as a primary goal. Lua is cross-platform since it is written in ANSI C, and has a relatively simple C API.

LR parser
In computer science, LR parsers are a type of bottom-up parsers that efficiently handle deterministic context-free languages in guaranteed linear time. The LALR parsers and the SLR parsers are common variants of LR parsers.  LR parsers are often mechanically generated from a formal grammar for the language by a parser generator tool. They are very widely used for the processing of computer languages, more than other kinds of generated parsers.The name LR is an acronym.

PHP
PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. As of January 2013, PHP was installed on more than 240 million websites (39% of those sampled) and 2.1 million web servers.  Originally created by Rasmus Lerdorf in 1994, the reference implementation of PHP (powered by the Zend Engine) is now produced by The PHP Group.

Parser Grammar Engine
The Parser Grammar Engine (PGE, originally the Parrot Grammar Engine) is a compiler and runtime for a Perl 6 rules for the Parrot virtual machine. PGE uses these rules to convert a parsing expression grammar into Parrot bytecode. It is therefore compiling rules into a program, unlike most virtual machines and runtimes, which store regular expressions in a secondary internal format that is then interpreted at runtime by a regular expression engine.

Yet another
Among programmers, yet another (often abbreviated ya, Ya or YA in the initial part of an acronym) is an idiomatic qualifier in the name of a computer program, organisation, or event that is confessedly unoriginal.Stephen C. Johnson is credited with establishing the naming convention in the late 1970s when he named his compiler-compiler yacc (Yet Another Compiler-Compiler), since he felt there were already numerous compiler-compilers in circulation at the time.

PDP-11
The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 had several uniquely innovative features, and was easier to program than its predecessors through the additional general-purpose registers. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years.

J (programming language)
The J programming language, developed in the early 1990s by Kenneth E. Iverson and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL function-level languages created by John Backus.To avoid repeating the APL special-character problem, J requires only the basic ASCII character set, resorting to the use of the dot and colon as "inflections" to form short words similar to digraphs.

Blitz BASIC
Blitz BASIC refers to the programming language dialect that was interpreted by the first Blitz compilers, devised by New Zealand-based developer Mark Sibly. Being derived from BASIC, Blitz syntax was designed to be easy to pick up for beginners first learning to program.  The languages are game-programming oriented but are often found general-purpose enough to be used for most types of application.

GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate software released under the LGPL into their own (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components. The license only requires software under the LGPL be modifiable by end users via source code availability.

List of object-oriented programming languages
This is a list of notable object-oriented programming languages, which are also listed in Category:Object-oriented programming languages.


Question: Compilers that can compile both C and C++

The ROSE compiler framework, developed at Lawrence Livermore National Laboratory (LLNL), is an open source compiler infrastructure to generate source-to-source analyzers and translators for multiple source languages including C, C++, and Fortran. It also supports OpenMP, UPC and certain binary files, while also supporting auto-parallelizing compilers by generating source code annotated with OpenMP directives.

Very long instruction word
Very long instruction word (VLIW) refers to processor architectures designed to take advantage of instruction level parallelism (ILP). Whereas conventional processors mostly allow programs only to specify instructions that will be executed in sequence, a VLIW processor allows programs to explicitly specify instructions that will be executed at the same time (that is, in parallel).

MetaComCo
MetaComCo (MCC) was a computer systems software company started in 1981 and based in Bristol, England by Peter Mackeonis and Derek Budge. A division of Tenchstar, Ltd.MetaComCo's first product was an MBASIC compatible interpreter for IBM PC's, which was licensed by Peter Mackeonis to Digital Research in 1982, and issued as the Digital Research Personal Basic, or PBASIC, running under CP/M.

Yet another
Among programmers, yet another (often abbreviated ya, Ya or YA in the initial part of an acronym) is an idiomatic qualifier in the name of a computer program, organisation, or event that is confessedly unoriginal.Stephen C. Johnson is credited with establishing the naming convention in the late 1970s when he named his compiler-compiler yacc (Yet Another Compiler-Compiler), since he felt there were already numerous compiler-compilers in circulation at the time.

BCPL
BCPL (Basic Combined Programming Language) is a procedural, imperative, and structured computer programming language designed by Martin Richards of the University of Cambridge in 1966.

Free software
Free software, software libre, or libre software is computer software that gives users the freedom to run the software for any purpose as well as to study, change, and distribute the software and the adapted versions. The right to study and modify free software gives full access to its source code. For computer programs which are covered by copyright law this is achieved with a software license where the author grants users the aforementioned freedoms.

IBM PC compatible
IBM PC compatible computers are those similar to the original IBM PC, XT, and AT and able to run the same software as those. Such computers used to be referred to as PC clones, or IBM clones. They duplicate almost exactly all the significant features of the PC architecture, facilitated by IBM's choice of commodity hardware components and various manufacturers' ability to reverse engineer the BIOS firmware using a "clean room design"  technique.

GNU Octave
GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. It provides a command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB.

List of object-oriented programming languages
This is a list of notable object-oriented programming languages, which are also listed in Category:Object-oriented programming languages.

Nvidia Tesla Personal Supercomputer
The Tesla Personal Supercomputer is a desktop computer (personal supercomputer) that is backed by Nvidia and built by Dell, Lenovo and other companies. It is meant to be a demonstration of the capabilities of Nvidia's Tesla GPGPU brand; it utilizes NVIDIA's CUDA parallel computing architecture and is powered by up to 2688 parallel processing cores per GPGPU, which allow it to achieve speeds up to 250 times faster than standard PCs, according to Nvidia.

Lint (software)
In computer programming, lint was the name originally given to a particular program that flagged some suspicious and non-portable constructs (likely to be bugs) in C language source code.  The term is now applied generically to tools that flag suspicious usage in software written in any computer language.  The term lint-like behavior is sometimes applied to the process of flagging suspicious language usage.


Question: Compilers that can compile both C and C++

The term self-hosting was coined to refer to the use of a computer program as part of the toolchain or operating system that produces new versions of that same program—for example, a compiler that can compile its own source code. Self-hosting software is commonplace on personal computers and larger systems.

Java (programming language)
Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.

Python (programming language)
Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale.Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles.

Maxima (software)
Maxima is a computer algebra system based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as OS X, Unix, BSD, and Linux as well as under Microsoft Windows and Android.  It is free software released under the terms of the GNU General Public License.

GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate software released under the LGPL into their own (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components. The license only requires software under the LGPL be modifiable by end users via source code availability.

Lisp machine
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software language, usually through hardware support. They are an example of a high-level language computer architecture, and in a sense, they were the first commercial single-user workstations.

Fortran
Fortran (previously FORTRAN, derived from Formula Translating System) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing.

Reo Coordination Language
{{hangon}}Reo is a domain-specific language for programming and analyzing coordination protocols that compose individual processes into full systems, broadly construed.Examples of classes of systems that can be composed with Reo include component-based systems, service-oriented systems, multithreading systems, biological systems, and cryptographic protocols.Reo has a graphical syntax in which every Reo program, called a connector or circuit, is a labeled directed hypergraph.Such a graph represents the data-flow among the processes in the system.Reo has formal semantics, which stand at the basis of its various formal verification techniques and compilation tools.

MetaComCo
MetaComCo (MCC) was a computer systems software company started in 1981 and based in Bristol, England by Peter Mackeonis and Derek Budge. A division of Tenchstar, Ltd.MetaComCo's first product was an MBASIC compatible interpreter for IBM PC's, which was licensed by Peter Mackeonis to Digital Research in 1982, and issued as the Digital Research Personal Basic, or PBASIC, running under CP/M.

Executable and Linkable Format
In computing, the Executable and Linkable Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Release 4 (SVR4) Application Binary Interface (ABI) specification, and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems.

Hercules (emulator)
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.Hercules runs under multiple parent operating systems including Linux, MS Windows, FreeBSD, Oracle Solaris, and Apple Mac OS X and is released under the open source software license QPL.


Question: Compilers that can compile both C and C++

Shed Skin is a Python to C++ programming language compiler.  It is experimental, and can translate pure, but implicitly statically typed Python programs into optimized C++. It can generate stand-alone programs or extension modules that can be imported and used in larger Python programs.Shed Skin is an open source project with contributions from many people, however the main author is Mark Dufour.  Work has been going into Shed Skin since 2005.

Konqueror
Konqueror is a free and open-source web browser and file manager that provides file viewer functionality for file systems such as local files, files on a remote FTP server and files in a disk image. It is a core part of the KDE Software Compilation. Konqueror is developed by volunteers and can run on most Unix-like operating systems and on Windows systems.

Machine code
Machine code or machine language is a set of instructions executed directly by a computer's central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory.

Cactus Framework
Cactus is an open-source, problem-solving environment designed for scientists and engineers. Its modular structure enables parallel computation across different architectures and collaborative code development between different groups.

Common Object Request Broker Architecture
The  Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between systems on different operating systems, programming languages, and computing hardware. CORBA has many of the same design goals as object-oriented programming: encapsulation and reuse.

GNUstep
GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.GNUstep features a cross-platform, object-oriented IDE.  Like Apple Cocoa, GNUstep also has a Java interface, as well as Ruby, Guile and Scheme bindings. The GNUstep developers track some additions to Apple's Cocoa to remain compatible.

GNU
GNU /ɡnuː/ is an extensive collection of computer software that can be used to build a Unix-like operating system. GNU is composed wholly of free software. GNU is a recursive acronym for "GNU's Not Unix!", chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code. and was the original focus of the Free Software Foundation (FSF). However, non-GNU kernels, most famously the Linux kernel, can also be used with GNU software.

Interpreted language
An interpreted language is a programming language for which most of its implementations execute instructions directly, without previously compiling a program into machine-language instructions.

MATLAB
MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment and fourth-generation programming language.

Bluetooth stack
A Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack.Bluetooth stacks can be roughly divided into two distinct categories: General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.

Text editor
A text editor is a type of program used for editing plain text files. Text editors are provided with operating systems and software development packages, and can be used to change configuration files, documentation files and programming language source code.


Question: Compilers that can compile both C and C++

SmartEiffel is a free Eiffel compiler. The compiler translates Eiffel code either to C or Java bytecode.

C-HTML
C-HTML (short for Compact HyperText Markup Language), also called i-mode-HTML, is a subset of HTML for small information devices, such as first-generation smart phones and PDAs, such as DoCoMo's i-mode mobile phones used in Japan.

Compaq
Compaq Computer Corporation was a company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced some of the first IBM PC compatible computers, being the first company to legally reverse engineer the IBM Personal Computer. It rose to become the largest supplier of PC systems during the 1990s before being overtaken by HP in 2001. Struggling in the aftermath of the dot-com bubble bust, Compaq was acquired for US$25 billion by HP in 2002.

Tcsh
tcsh (/ˌtiːˈsiːʃɛl/ "tee-cee-shell", /ˈtiːʃɛl/ "tee-shell", or as an acronym "tee cee ess aitch") is a Unix shell based on and compatible with the C shell (csh). It is essentially the C shell with programmable command-line completion, command-line editing, and a few other features.

Hercules (emulator)
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.Hercules runs under multiple parent operating systems including Linux, MS Windows, FreeBSD, Oracle Solaris, and Apple Mac OS X and is released under the open source software license QPL.

Wish (Unix shell)
wish (Windowing Shell) is a simple scripting or interactive Unix shell for the X Window System and Mac OS X. It provides users with the facility to be able to control graphical user interface components via the Tk toolkit, and enables utilization of the Tcl programming language.wish is open source and is currently part of the Tcl/Tk programming suite.

CSV application support
The comma-separated values file format is a very simple data file format that is supported by almost all spreadsheet software such as Excel (although Excel uses the list separator of the current locale settings, which is a semicolon instead of a comma for many locales), Apple Numbers, OpenOffice.org Calc and Gnumeric as well as many online spreadsheet services such as EditGrid and Google Docs & Spreadsheets. Many database management systems support the reading and writing of CSV files.

Turing completeness
In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing complete or computationally universal if it can be used to simulate any single-taped Turing machine. The concept is named after English mathematician Alan Turing.

Multiple inheritance
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class.

PHP
PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. As of January 2013, PHP was installed on more than 240 million websites (39% of those sampled) and 2.1 million web servers.  Originally created by Rasmus Lerdorf in 1994, the reference implementation of PHP (powered by the Zend Engine) is now produced by The PHP Group.

Backus–Naur Form
In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols; the other main technique for writing context-free grammars is the van Wijngaarden form.


Question: Compilers that can compile both C and C++

A source-to-source compiler, transcompiler or transpiler is a type of compiler that takes the source code of a program written in one programming language as its input and produces the equivalent source code in another programming language. A source-to-source compiler translates between programming languages that operate at approximately the same level of abstraction, while a traditional compiler translates from a higher level programming language to a lower level programming language.

UNICOS
UNICOS is the name of a range of Unix-like operating system variants developed by Cray for its supercomputers. UNICOS is the successor of the Cray Operating System (COS). It provides network clustering and source code compatibility layers for some other Unixes. UNICOS was originally introduced in 1985 with the Cray-2 system and later ported to other Cray models.

INTERCAL
The Compiler Language With No Pronounceable Acronym, abbreviated INTERCAL, is an esoteric programming language that was created as a parody by Don Woods and James M. Lyon, two Princeton University students, in 1972. It satirizes aspects of the various programming languages at the time, as well as the proliferation of proposed language constructs and notations in the 1960s.There are two currently maintained versions of INTERCAL: C-INTERCAL, maintained by Eric S.

Tru64 UNIX
Tru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture (ISA), currently owned by Hewlett-Packard (HP). Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation (DEC), where it was known as Digital UNIX (formerly DEC OSF/1 AXP).As its original name suggests, Tru64 UNIX is based on the OSF/1 operating system.

Free software
Free software, software libre, or libre software is computer software that gives users the freedom to run the software for any purpose as well as to study, change, and distribute the software and the adapted versions. The right to study and modify free software gives full access to its source code. For computer programs which are covered by copyright law this is achieved with a software license where the author grants users the aforementioned freedoms.

Common Object Request Broker Architecture
The  Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between systems on different operating systems, programming languages, and computing hardware. CORBA has many of the same design goals as object-oriented programming: encapsulation and reuse.

LiveScript
LiveScript is a functional language that compiles to JavaScript. It was created by Jeremy Ashkenas—the creator of CoffeeScript—along with Satoshi Muramaki, George Zahariev, and many others. Notably, LiveScript was briefly the name of JavaScript in 1990s.

Computer program
A computer program or app is a sequence of instructions, written to perform a specified task on a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute the instructions.  The same program in its human-readable source code form, from which executable programs are derived (e.g., compiled), enables a programmer to study and develop its algorithms.

Reo Coordination Language
{{hangon}}Reo is a domain-specific language for programming and analyzing coordination protocols that compose individual processes into full systems, broadly construed.Examples of classes of systems that can be composed with Reo include component-based systems, service-oriented systems, multithreading systems, biological systems, and cryptographic protocols.Reo has a graphical syntax in which every Reo program, called a connector or circuit, is a labeled directed hypergraph.Such a graph represents the data-flow among the processes in the system.Reo has formal semantics, which stand at the basis of its various formal verification techniques and compilation tools.

GNU Octave
GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. It provides a command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB.

Cactus Framework
Cactus is an open-source, problem-solving environment designed for scientists and engineers. Its modular structure enables parallel computation across different architectures and collaborative code development between different groups.


Question: Compilers that can compile both C and C++

THINK C was an extension of ANSI C for Mac OS developed by THINK Technologies; although named Lightspeed C in the original mid-1986 release, it was later renamed THINK C. THINK Technologies was later acquired by Symantec Corporation and the product continued to be developed by the original author, Michael Kahl.

Anders Hejlsberg
Anders Hejlsberg (/hɑːlsbɛrɡ/, born December 1960) is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools. He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C# and core developer on TypeScript.

Bluetooth stack
A Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack.Bluetooth stacks can be roughly divided into two distinct categories: General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.

Concurrent Versions System
The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. A version control system keeps track of all work and all changes in a set of files, and allows several developers (potentially widely separated in space and time) to collaborate.

BCPL
BCPL (Basic Combined Programming Language) is a procedural, imperative, and structured computer programming language designed by Martin Richards of the University of Cambridge in 1966.

Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages. It has built-in language support for design-by-contract, extremely strong typing, explicit concurrency, offering tasks, synchronous message passing, protected objects, and non-determinism. Ada aims to improve the safety and maintainability by leveraging the compiler to find compile-time errors in favor of runtime errors.

Dylan (programming language)
Dylan /ˈdɪlən/ is a multi-paradigm programming language that includes support for functional and object-oriented programming, and is dynamic and reflective while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors.

Dennis Ritchie
Dennis MacAlistair Ritchie (September 9, 1941 – c. October 12, 2011) was an American computer scientist.  He created the C programming language and, with long-time colleague Ken Thompson, the Unix operating system.  Ritchie and Thompson received the Turing Award from the ACM in 1983, the Hamming Medal from the IEEE in 1990 and the National Medal of Technology from President Clinton in 1999.  Ritchie was the head of Lucent Technologies System Software Research Department when he retired in 2007.

List of object-oriented programming languages
This is a list of notable object-oriented programming languages, which are also listed in Category:Object-oriented programming languages.

Instruction set
An instruction set, or instruction set architecture (ISA), is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine language), and the native commands implemented by a particular processor.

Common Language Runtime
The Common Language Runtime (CLR), the virtual machine component of Microsoft's .NET framework, manages the execution of .NET programs. A process known as just-in-time compilation converts compiled code into machine instructions which the computer's CPU then executes. The CLR provides additional services including memory management, type safety, exception handling, garbage collection, security and thread management.


Question: Compilers that can compile both C and C++

The TenDRA Compiler is a C/C++ compiler for POSIX-compatible operating systems available under the terms of the BSD license.It was originally developed by the Defence Evaluation and Research Agency (DERA) in the United Kingdom.In the beginning of 2002 TenDRA was actively developed again by Jeroen Ruigrok van der Werven and offered as a BSD-licensed open source project through the website tendra.org.

Perl
Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages. The languages in this family include Perl 5 and Perl 6.Though Perl is not officially an acronym, there are various backronyms in use, the most well-known being "Practical Extraction and Reporting Language". Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions.

Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. Codec is a portmanteau of coder-decoder or, less commonly, compressor-decompressor.A codec encodes a data stream or signal for transmission, storage or encryption, or decodes it for playback or editing. Codecs are used in videoconferencing, streaming media and video editing applications.

Shell script
A shell script is a computer program designed to be run by the Unix shell, a command line interpreter. The various dialects of shell scripts are considered to be scripting languages.  The typical Unix/Linux/Posix-compliant installation includes the Korn Shell (ksh) in several possible versions such as ksh88, Korn Shell '93 and others.

Backus–Naur Form
In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols; the other main technique for writing context-free grammars is the van Wijngaarden form.

COBOL
COBOL (/ˈkoʊbɒl/, an acronym for common business-oriented language) is a compiled English-like computer programming language designed for business use. It is imperative, procedural and, since 2002, object-oriented. COBOL is primarily used in business, finance, and administrative systems for companies and governments. In 1997, Gartner Group estimated that there were a total of 200 billion lines of COBOL in existence, which ran 80% of all business programs.

POSIX
POSIX (/ˈpɒzɪks/ POZ-iks), an acronym for Portable Operating System Interface, is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines the application programming interface (API), along with command line shells and utility interfaces, for software compatibility with variants of Unix and other operating systems.

Mathematica
Mathematica is a computational software program used in many scientific, engineering, mathematical and computing fields, based on symbolic mathematics. It was conceived by Stephen Wolfram and is developed by Wolfram Research of Champaign, Illinois. The Wolfram  Language is the programming language used in Mathematica.

ClipGrab
ClipGrab is a multi-platform software for downloading videos from popular websites such as YouTube, Vimeo, Dailymotion or Metacafe. It also provides the possibility to convert the downloaded files to other file formats such as MP3, MPEG4, OGG Theora or WMV. It is published as free software under the terms of version 3 of the GNU General Public License.

PagePlus
PagePlus is a desktop publishing (page layout) program developed by Serif. The first version was released in 1991 as the first commercial sub-£100 DTP package for Microsoft Windows. The latest release is PagePlus X8, which runs on Windows XP, Windows Vista, Windows 7, Windows 8, and Windows 10.

Liberty BASIC
Liberty BASIC (LB) is a commercial computer programming language and integrated development environment (IDE). It has an interpreter, developed in Smalltalk, which recognizes its own dialect of the BASIC programming language. It runs on 16- and 32-bit Windows and OS/2.


Question: Compilers that can compile both C and C++

The Portland Group, Inc. or PGI was a company that produced a set of commercially available Fortran, C and C++ compilers for high-performance computing systems.  On July 29, 2013, NVIDIA Corporation acquired The Portland Group, Inc.  The Portland Group (or PGI) name is now known as a brand of software development tools produced by NVIDIA Corporation.

Common Gateway Interface
Common Gateway Interface (CGI) is a standard environment for web servers to interface with executable programs installed on a server that generate web pages dynamically.Such programs are known as CGI scripts or simply CGIs; they are usually written in a scripting language, but can be written in any programming language.

Gnuplot
gnuplot is a command-line program that can generate two- and three-dimensional plots of functions, data, and data fits. It is frequently used for publication-quality graphics as well as education. The program runs on all major computers and operating systems (GNU/Linux, Unix, Microsoft Windows, Mac OS X, and others). It is a program with a fairly long history, dating back to 1986.

Forth (programming language)
Forth is an imperative stack-based computer programming language and programming environment. Language features include structured programming, reflection (the ability to modify the program structure during program execution), concatenative programming (functions are composed with juxtaposition) and extensibility (the programmer can create new commands).

Vim (text editor)
Vim (/vɪm/; a contraction of Vi IMproved) is a clone of Bill Joy's vi editor for Unix. It was written by Bram Moolenaar based on source for a port of the Stevie editor to the Amiga and first released publicly in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface.

Executable and Linkable Format
In computing, the Executable and Linkable Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Release 4 (SVR4) Application Binary Interface (ABI) specification, and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems.

Qt (software)
Qt (/ˈkjuːt/ "cute", or unofficially as Q-T cue-tee) is a cross-platform application framework that is widely used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while having the power and speed of native applications.

Gentoo Linux
Gentoo Linux  (pronounced /ˈdʒɛntuː/ JEN-too) is a computer operating system based on the Linux kernel and built using the Portage package management system. It is distributed as free and open-source software. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer.

FriendCaller
FriendCaller /ˈfreɪndkaʊəlr/ is a Video and Voice over Internet protocol developed by C2Call GmbH based in Werl, Germany. Its proprietary Voice-Over-Internet technology was originally created by Michael Knecht and Martin Feuerhahn. It was a first prototype developed by Actai Networks GmbH in 2007; the technology was then transferred to C2Call GmbH in 2008. Later on, FriendCaller was launched in 2009 as a website and as an iOS (iPhone, iPad, iPod touch) app.

FreeBSD
FreeBSD is a free Unix-like operating system descended from Research Unix via the Berkeley Software Distribution (BSD). Although for legal reasons FreeBSD cannot use the Unix trademark, it is a direct descendant of BSD, which was historically also called "BSD Unix" or "Berkeley Unix".

Xalan
Xalan is a popular open source software library from the Apache Software Foundation, originally created by IBM under the name LotusXSL, that implements the XSLT 1.0 XML transformation language and the XPath 1.0 language. The Xalan XSLT processor is available for both the Java and C++ programming languages. A wrapper for the Eiffel language is available.


Question: Compilers that can compile both C and C++

The Tiny C Compiler (aka TCC, tCc, or TinyCC) is an x86 and ARM processor C compiler created by Fabrice Bellard. It is designed to work for slow computers with little disk space (e.g. on rescue disks). Windows operating system support was added in version 0.9.23 (17 Jun 2005). TCC is distributed under the GNU Lesser General Public License (LGPL).TCC claims to implement all of ANSI C (C89/C90), much of the C99 ISO standard, and many GNU C extensions including inline assembly.

XPCOM
XPCOM (Cross Platform Component Object Model) is a cross-platform component model from Mozilla. It is similar to Microsoft COM and CORBA. It features multiple language bindings and IDL descriptions; thus programmers can plug their custom functionality into the framework and connect it with other components.

QuakeC
QuakeC is an interpreted language developed in 1996 by John Carmack of id Software to program parts of the video game Quake. Using QuakeC, a programmer is able to customize Quake to great extents by adding weapons, changing game logic and physics, and programming complex scenarios. It can be used to control many aspects of the game itself, such as parts of the AI, triggers, or changes in the level. The Quake engine was the only game engine to use QuakeC.

Maxima (software)
Maxima is a computer algebra system based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as OS X, Unix, BSD, and Linux as well as under Microsoft Windows and Android.  It is free software released under the terms of the GNU General Public License.

Computer algebra system
A computer algebra system (CAS) is a software program that allows computation over mathematical expressions in a way which is similar to the traditional manual computations of mathematicians and scientists.

Berkeley DB
Berkeley DB (BDB) is a software library that provides a high-performance embedded database for key/value data.Berkeley DB is written in C with API bindings for C++, C#, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and many other programming languages. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key.

OCaml
OCaml (/oʊˈkæməl/ oh-KAM-əl), originally known as Objective Caml, is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez and others in 1996. OCaml extends the core Caml language with object-oriented constructs.OCaml's toolset includes an interactive top level interpreter, a bytecode compiler, a reversible Debugger, a package manager (OPAM), and an optimizing native code compiler.

Vi
vi /ˈviːˈaɪ/ is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and POSIX.The original code for vi was written by Bill Joy in 1976, as the visual mode for a line editor called ex that Joy had written with Chuck Haley.

OpenVMS
OpenVMS is a computer operating system for use in general purpose computing. It is the successor to the VMS Operating System (VAX-11/VMS, VAX/VMS), that was produced by Digital Equipment Corporation since 1977 for its series of VAX-11 minicomputers and its line of desktop workstations (DEC Alpha). The name VMS is derived from virtual memory system, according to one of its principal architectural features. OpenVMS also runs on the Itanium-based families of computers.

Z shell
The Z shell (zsh) is a Unix shell that can be used as an interactive login shell and as a powerful command interpreter for shell scripting. Zsh can be thought of as an extended Bourne shell with a large number of improvements, including some features of bash, ksh, and tcsh.

Machine code
Machine code or machine language is a set of instructions executed directly by a computer's central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory.


Question: Compilers that can compile both C and C++

Turbo C++ was a C++ compiler and integrated development environment and computer language  originally from Borland.  Most recently it was distributed by Embarcadero Technologies, which acquired all of Borland's compiler tools with the purchase of its CodeGear division in 2008. The original Turbo C++ product line was put on hold after 1994 and was revived in 2006 as an introductory-level IDE, essentially a stripped-down version of their flagship C++Builder.

CP/M
CP/M, short for Control Program for Microcomputers, was a mass-market operating system created for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc.

Common Language Runtime
The Common Language Runtime (CLR), the virtual machine component of Microsoft's .NET framework, manages the execution of .NET programs. A process known as just-in-time compilation converts compiled code into machine instructions which the computer's CPU then executes. The CLR provides additional services including memory management, type safety, exception handling, garbage collection, security and thread management.

Editor war
Editor war is the common name for the rivalry between users of the Emacs  and Vi (Vim) text editors. The rivalry has become a lasting part of hacker culture and the free software community.Many flame wars have been fought between groups insisting that their editor of choice is the paragon of editing perfection, and insulting the others. Related battles have been fought over operating systems, programming languages, version control systems, and even source code indent style.

Compaq
Compaq Computer Corporation was a company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced some of the first IBM PC compatible computers, being the first company to legally reverse engineer the IBM Personal Computer. It rose to become the largest supplier of PC systems during the 1990s before being overtaken by HP in 2001. Struggling in the aftermath of the dot-com bubble bust, Compaq was acquired for US$25 billion by HP in 2002.

International Obfuscated C Code Contest
The International Obfuscated C Code Contest (abbreviated IOCCC) is a computer programming contest for the most creatively obfuscated C code. Held annually between 1984 and 1996, and thereafter in 1998, 2000, 2001, 2004, 2005, 2006, 2011, 2012, and 2013 it is described as "celebrating [C's] syntactical opaqueness".  The winning code for the 22nd contest, held in 2013, was released in January 2014.Prior to 2004, entries were submitted by email.

Communication engine
A communication engine is a tool that sends user requests to several other communication protocols and/or databases and aggregates the results into a single list or displays them according to their source. Communication engines enable users to enter communication account authorization once and access several communication avenues simultaneously.

Operator overloading
In programming, operator overloading—less commonly known as operator ad hoc polymorphism—is a specific case of polymorphism, where different operators have different implementations depending on their arguments. Operator overloading is generally defined by the language, the programmer, or both.

Anders Hejlsberg
Anders Hejlsberg (/hɑːlsbɛrɡ/, born December 1960) is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools. He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C# and core developer on TypeScript.

Itanium
Itanium (/aɪˈteɪniəm/ eye-TAY-nee-əm) is a family of 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). Intel markets the processors for enterprise servers and high-performance computing systems. The Itanium architecture originated at Hewlett-Packard (HP), and was later jointly developed by HP and Intel.Itanium-based systems have been produced by HP (the HP Integrity Servers line) and several other manufacturers.

LatticeMico8
The LatticeMico8 is an 8-bit microcontroller soft processor core optimized for field-programmable gate arrays (FPGAs) and crossover programmable logic device architecture from Lattice Semiconductor. Combining a full 18-bit wide instruction set with 32 general purpose registers, the LatticeMico8 is a flexible Verilog reference design suitable for a wide variety of markets, including communications, consumer, computer, medical, industrial, and automotive.


Question: Compilers that can compile both C and C++

Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system (that "can be seen as an alternative to C-derived languages such as C++ and Objective-C").Vala is syntactically similar to C# and includes several features such as: anonymous functions, signals, properties, generics, assisted memory management, exception handling, type inference, and foreach statements.

C-HTML
C-HTML (short for Compact HyperText Markup Language), also called i-mode-HTML, is a subset of HTML for small information devices, such as first-generation smart phones and PDAs, such as DoCoMo's i-mode mobile phones used in Japan.

CP/M
CP/M, short for Control Program for Microcomputers, was a mass-market operating system created for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc.

List of object-oriented programming languages
This is a list of notable object-oriented programming languages, which are also listed in Category:Object-oriented programming languages.

Superscalar processor
A superscalar CPU architecture implements a form of parallelism called instruction-level parallelism within a single processor. It therefore allows faster CPU throughput than would otherwise be possible at a given clock rate. A superscalar processor executes more than one instruction during a clock cycle by simultaneously dispatching multiple instructions to different functional units on the processor.

CrunchBang Linux
CrunchBang Linux (abbreviated #!) was a Linux distribution derived from Debian by Philip Newborough (who is better known by his user name, corenominal).CrunchBang was designed to use comparatively few system resources. Instead of a desktop environment it used a customized implementation of the Openbox window manager.

Lisp (programming language)
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized Polish prefix notation.Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older (by one year). Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have existed over its history.

Gnuplot
gnuplot is a command-line program that can generate two- and three-dimensional plots of functions, data, and data fits. It is frequently used for publication-quality graphics as well as education. The program runs on all major computers and operating systems (GNU/Linux, Unix, Microsoft Windows, Mac OS X, and others). It is a program with a fairly long history, dating back to 1986.

Dual front
Dual front is a design concept which allows a device to have two distinctive sides, one for each function.  It is most commonly used in camera phones.

Editor war
Editor war is the common name for the rivalry between users of the Emacs  and Vi (Vim) text editors. The rivalry has become a lasting part of hacker culture and the free software community.Many flame wars have been fought between groups insisting that their editor of choice is the paragon of editing perfection, and insulting the others. Related battles have been fought over operating systems, programming languages, version control systems, and even source code indent style.

CWEB
CWEB is a computer programming system created by Donald Knuth and Silvio Levy as a follow-up to Knuth's WEB literate programming system, using the C programming language (and to a lesser extent the C++ and Java programming languages) instead of Pascal.Like WEB, it consists of two primary programs: CTANGLE, which produces compilable C code from the source texts, and CWEAVE, which produces nicely-formatted printable documentation using TeX.


Question: Compilers that can compile both C and C++

Microsoft Visual C++ (often abbreviated as MSVC or VC++) is a commercial (free version available), integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming languages. It features tools for developing and debugging C++ code, especially code written for the Microsoft Windows API, the DirectX API, and the Microsoft .NET Framework.Many applications require redistributable Visual C++ packages to function correctly.

XPCOM
XPCOM (Cross Platform Component Object Model) is a cross-platform component model from Mozilla. It is similar to Microsoft COM and CORBA. It features multiple language bindings and IDL descriptions; thus programmers can plug their custom functionality into the framework and connect it with other components.

LatticeMico8
The LatticeMico8 is an 8-bit microcontroller soft processor core optimized for field-programmable gate arrays (FPGAs) and crossover programmable logic device architecture from Lattice Semiconductor. Combining a full 18-bit wide instruction set with 32 general purpose registers, the LatticeMico8 is a flexible Verilog reference design suitable for a wide variety of markets, including communications, consumer, computer, medical, industrial, and automotive.

Wish (Unix shell)
wish (Windowing Shell) is a simple scripting or interactive Unix shell for the X Window System and Mac OS X. It provides users with the facility to be able to control graphical user interface components via the Tk toolkit, and enables utilization of the Tcl programming language.wish is open source and is currently part of the Tcl/Tk programming suite.

Gentoo Linux
Gentoo Linux  (pronounced /ˈdʒɛntuː/ JEN-too) is a computer operating system based on the Linux kernel and built using the Portage package management system. It is distributed as free and open-source software. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer.

IBM PC compatible
IBM PC compatible computers are those similar to the original IBM PC, XT, and AT and able to run the same software as those. Such computers used to be referred to as PC clones, or IBM clones. They duplicate almost exactly all the significant features of the PC architecture, facilitated by IBM's choice of commodity hardware components and various manufacturers' ability to reverse engineer the BIOS firmware using a "clean room design"  technique.

Namespace
In computing, a namespace is a set of symbols that are used to organize objects of various kinds, so that these objects may be referred to by name.

Operator overloading
In programming, operator overloading—less commonly known as operator ad hoc polymorphism—is a specific case of polymorphism, where different operators have different implementations depending on their arguments. Operator overloading is generally defined by the language, the programmer, or both.

GNU
GNU /ɡnuː/ is an extensive collection of computer software that can be used to build a Unix-like operating system. GNU is composed wholly of free software. GNU is a recursive acronym for "GNU's Not Unix!", chosen because GNU's design is Unix-like, but differs from Unix by being free software and containing no Unix code. and was the original focus of the Free Software Foundation (FSF). However, non-GNU kernels, most famously the Linux kernel, can also be used with GNU software.

UNICOS
UNICOS is the name of a range of Unix-like operating system variants developed by Cray for its supercomputers. UNICOS is the successor of the Cray Operating System (COS). It provides network clustering and source code compatibility layers for some other Unixes. UNICOS was originally introduced in 1985 with the Cray-2 system and later ported to other Cray models.

Ii (IRC client)
IRC It, or ii is a free and open-source Unix IRC client written in C by the suckless.org community.From the readme:ii is a minimalist FIFO and filesystem-based IRC client. It creates an irc directory tree with server, channel and nick name directories. In every directory a FIFO in file and a normal out file is created.  The in file is used to communicate with the servers and the out files contain the server messages.


Question: Compilers that can compile both C and C++

The Visual Component Framework (VCF) is an open source project for development under Microsoft Windows and Apple Macintosh that is distributed under the BSD license. It is an advanced C++ application framework that makes it easier to produce GUI-based C++ applications. The framework is based on a thoroughly modern C++ design and has built in support for rapid application development.

Compaq
Compaq Computer Corporation was a company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced some of the first IBM PC compatible computers, being the first company to legally reverse engineer the IBM Personal Computer. It rose to become the largest supplier of PC systems during the 1990s before being overtaken by HP in 2001. Struggling in the aftermath of the dot-com bubble bust, Compaq was acquired for US$25 billion by HP in 2002.

XBasic
XBasic is a variant of the BASIC programming language that was developed in the late 1980s for the Motorola 88000 CPU and Unix by Max Reason. In the early 1990s it was ported to Windows and Linux, and since 1999 it has been available as open source software with its runtime library under the LGPL license.Max Reason discontinued his support, and development since has been overseen by Eddie Penninkhof.

JED (text editor)
JED is a text editor that makes extensive use of the S-Lang library. It is highly cross-platform compatible; JED runs on Windows and all flavors on Linux and Unix. Older versions are available for DOS. It is also very lightweight (meaning very parsimonious in its use of system resources), which makes it an ideal editor for older systems, embedded systems, etc. JED's Emacs mode is one of the most faithful emulations available.

BASIC
BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use.In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College in New Hampshire. They wanted to enable students in fields other than science and mathematics to use computers.

Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs (the "target" program). The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be somewhat slower than executing the code directly on the appropriate (or the same) processor.

Bluetooth stack
A Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack.Bluetooth stacks can be roughly divided into two distinct categories: General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.

Software
Computer software or simply software is any set of machine-readable instructions that directs a computer's processor to perform specific operations. Computer software is non-tangible, contrasted with computer hardware, which is the physical component of computers. Computer hardware and software require each other and neither can be realistically used without the other.Computer software includes computer programs, libraries and their associated documentation.

List of programmers
This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. All entries should already have associated articles.

Vim (text editor)
Vim (/vɪm/; a contraction of Vi IMproved) is a clone of Bill Joy's vi editor for Unix. It was written by Bram Moolenaar based on source for a port of the Stevie editor to the Amiga and first released publicly in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface.

CP/M
CP/M, short for Control Program for Microcomputers, was a mass-market operating system created for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc.


Question: Compilers that can compile both C and C++

The Watcom C/C++ compiler is an open-source compiler for the computer programming languages C, C++, Fortran that produces executable programs for several platforms and operating systems.

List of object-oriented programming languages
This is a list of notable object-oriented programming languages, which are also listed in Category:Object-oriented programming languages.

Anders Hejlsberg
Anders Hejlsberg (/hɑːlsbɛrɡ/, born December 1960) is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools. He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C# and core developer on TypeScript.

Hercules (emulator)
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, notably on low-cost personal computers.Although there are other mainframe emulators performing a similar function, Hercules is significant in enabling private individuals to run mainframe computer software on their own personal computers.Hercules runs under multiple parent operating systems including Linux, MS Windows, FreeBSD, Oracle Solaris, and Apple Mac OS X and is released under the open source software license QPL.

Executable and Linkable Format
In computing, the Executable and Linkable Format (ELF, formerly called Extensible Linking Format) is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Release 4 (SVR4) Application Binary Interface (ABI) specification, and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems.

Concurrent Versions System
The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. A version control system keeps track of all work and all changes in a set of files, and allows several developers (potentially widely separated in space and time) to collaborate.

Programming language
A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms.The earliest programming languages preceded the invention of the digital computer and were used to direct the behavior of machines such as Jacquard looms and player pianos.

Register transfer language
In computer science, register transfer language (RTL) is a kind of intermediate representation (IR) that is very close to assembly language, such as that which is used in a compiler. Academic papers and textbooks also often use a form of RTL as an architecture-neutral assembly language. RTL is also the name of a specific IR used in the GNU Compiler Collection (GCC), and several other compilers, such as Zephyr or the European compiler projects CerCo and CompCert.

Backus–Naur Form
In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols; the other main technique for writing context-free grammars is the van Wijngaarden form.

Free software
Free software, software libre, or libre software is computer software that gives users the freedom to run the software for any purpose as well as to study, change, and distribute the software and the adapted versions. The right to study and modify free software gives full access to its source code. For computer programs which are covered by copyright law this is achieved with a software license where the author grants users the aforementioned freedoms.

OCaml
OCaml (/oʊˈkæməl/ oh-KAM-əl), originally known as Objective Caml, is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez and others in 1996. OCaml extends the core Caml language with object-oriented constructs.OCaml's toolset includes an interactive top level interpreter, a bytecode compiler, a reversible Debugger, a package manager (OPAM), and an optimizing native code compiler.


Question: Compilers that can compile both C and C++

Xcode is an integrated development environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS. First released in 2003, the latest stable release is version 7.0 and is available via the Mac App Store free of charge for OS X Yosemite users. Registered developers can download preview releases and previous versions of the suite through the Apple Developer website.

Ousterhout's dichotomy
Ousterhout's dichotomy is computer scientist John Ousterhout's claim that high-level programming languages tend to fall into two groups, each with distinct properties and uses: system programming languages and scripting languages – compare programming in the large and programming in the small.

Konqueror
Konqueror is a free and open-source web browser and file manager that provides file viewer functionality for file systems such as local files, files on a remote FTP server and files in a disk image. It is a core part of the KDE Software Compilation. Konqueror is developed by volunteers and can run on most Unix-like operating systems and on Windows systems.

Visual Instruction Set
Visual Instruction Set, or VIS, is a SIMD instruction set extension for SPARC V9 microprocessors developed by Sun Microsystems. There are four versions of VIS: VIS 1, VIS 2, VIS 2+, and VIS 3.

Qt (software)
Qt (/ˈkjuːt/ "cute", or unofficially as Q-T cue-tee) is a cross-platform application framework that is widely used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while having the power and speed of native applications.

MAD (programming language)
MAD (Michigan Algorithm Decoder) is a programming language and compiler for the IBM 704 and later the IBM 709, IBM 7090, IBM 7040, UNIVAC 1107, UNIVAC 1108, Philco 210-211, and eventually the IBM S/370 mainframe computers. Developed in 1959 at the University of Michigan by Bernard Galler, Bruce Arden and Robert M. Graham, MAD is a variant of the ALGOL language.

BCPL
BCPL (Basic Combined Programming Language) is a procedural, imperative, and structured computer programming language designed by Martin Richards of the University of Cambridge in 1966.

Operator overloading
In programming, operator overloading—less commonly known as operator ad hoc polymorphism—is a specific case of polymorphism, where different operators have different implementations depending on their arguments. Operator overloading is generally defined by the language, the programmer, or both.

Cactus Framework
Cactus is an open-source, problem-solving environment designed for scientists and engineers. Its modular structure enables parallel computation across different architectures and collaborative code development between different groups.

Mlpy
Mlpy is a Python, open source, machine learning library built on top of NumPy/SciPy, the GNU Scientific Library and it makes an extensive use of the Cython language. mlpy provides a wide range of state-of-the-art machine learning methods for supervised and unsupervised problems and it is aimed at finding a reasonable compromise among modularity, maintainability, reproducibility, usability and efficiency.

Python (programming language)
Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale.Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles.


Question: What is the longest river?

The Darling River is the third longest river in Australia, measuring 1,472 kilometres (915 mi) from its source in northern New South Wales to its confluence with the Murray River at Wentworth, New South Wales. Including its longest contiguous tributaries it is 2,844 km (1,767 mi) long, making it the longest river system in Australia.The Darling River is the outback's most famous waterway.

Casiquiare canal
The Casiquiare river  is a distributary of the upper Orinoco flowing southward into the Rio Negro, in Venezuela, South America. As such, it forms a unique natural canal between the Orinoco and Amazon river systems. It is the largest river on the planet that links two major river systems, a so-called bifurcation. The area forms a water divide, more dramatically at regional flood stage.

Marañón River
The Marañón River (Spanish: Río Marañón, IPA: [ˈri.o maɾaˈɲon]) is the principal or mainstem source of the Amazon River, arising about 160 km to the northeast of Lima, Peru, and flowing through a deeply eroded Andean valley in a northwesterly direction, along the eastern base of the Cordillera of the Andes, as far as 5 degrees 36' southern latitude; from where it makes a great bend to the northeast, and cuts through the jungle Andes, until at the Pongo de Manseriche it flows into the flat Amazon basin.

Old River (New Hampshire)
The Old River is a 3.1 mile long (4.9 km) stream located in southeastern New Hampshire in the United States.  It is a tributary of the Taylor River, the primary tributary of the Hampton River estuary connected to the Atlantic Ocean.The river's entire course is within Hampton, New Hampshire.  It rises north of the center of town, in a wetland, and flows west, past the Interstate 95/NH 101 interchange at the Hampton tollbooths.

Amu Darya
The Amu Darya (Persian: آمودریا, Āmūdaryā; Turkmen: Amyderýa; Turkish: Ceyhun; Uzbek: Amudaryo; Tajik: Амударё; Pashto: د آمو سيند, da Āmú Sínd; Ancient Greek: Ὦξος, Oxos; Latin: "Oxus"; Sanskrit: वक्षु, Vakṣu), also called Amu River, is a major river in Central Asia. It is formed by the junction of the Vakhsh and Panj rivers and flows into the Aral Sea. In ancient times, the river was regarded as the boundary between Greater Iran and Turan.

Snow River
The Snow River is a 28-mile (45 km) tributary of Kenai Lake in the U.S. state of Alaska. Beginning in the Chugach Mountains of the Kenai Peninsula, it flows southwest through Chugach National Forest to near Primrose at the southern inlet of the lake. The river mouth is about 12 miles (19 km) northeast of Seward. Along its final reaches, the river intersects the Iditarod Trail and passes under the Seward Highway.

List of rivers of the Americas
This is a list of rivers in the Americas includes all the major rivers of the Americas.  See each article for their tributaries, drainage areas, etc.  Unusually significant tributaries appear in this list, under the river into which they drain.

Dronne
The Dronne is a 201-kilometre (125 mi) long river in southwestern France, right tributary of the Isle River. Its source is in the north-western Massif Central, east of the town of Châlus (south-west of Limoges) at an elevation of 510 metres (1,670 ft).

River Bogie
The River Bogie (Scottish Gaelic: Balgaidh), also known as the Water of Bogie, is a river in NW Aberdeenshire in the north east of Scotland.

Sabine River (Texas–Louisiana)
The Sabine River (/səˈbiːn/; Alibamu: Sabìina, Sabìnka ) is a river, 510 miles (820 km) long, in the U.S. states of Texas and Louisiana. In its lower course, it forms part of the boundary between the two states and empties into Sabine Lake, an estuary of the Gulf of Mexico. The river formed part of the United States-Mexican as well as the United States-Republic of Texas international boundary during the early 19th century.

Three Gorges
The Three Gorges (Chinese: 三峡; pinyin: Sānxiá About this sound listen now ) is a scenic area along the Yangtze River (Chang Jiang) in the People's Republic of China, which is classified as a AAAAA scenic area (the highest level) by the China National Tourism Administration.


Question: What is the longest river?

Among the longest rivers of Canada are 47 streams of at least 600 km (370 mi). In the case of some rivers such as the Columbia, the length listed in the table below is solely that of the main stem. In the case of others such as the Mackenzie, it is the combined lengths of the main stem and one or more upstream tributaries, as noted. Excluded from the list are rivers such as the Dauphin, a short connecting link between lakes Manitoba and Winnipeg, with main stems of 100 km (62 mi) or less.

Amu Darya
The Amu Darya (Persian: آمودریا, Āmūdaryā; Turkmen: Amyderýa; Turkish: Ceyhun; Uzbek: Amudaryo; Tajik: Амударё; Pashto: د آمو سيند, da Āmú Sínd; Ancient Greek: Ὦξος, Oxos; Latin: "Oxus"; Sanskrit: वक्षु, Vakṣu), also called Amu River, is a major river in Central Asia. It is formed by the junction of the Vakhsh and Panj rivers and flows into the Aral Sea. In ancient times, the river was regarded as the boundary between Greater Iran and Turan.

Douro
The Douro (Portuguese: Douro [ˈdo(w)ɾu]; Spanish: Duero [ˈdweɾo]; Latin: Durius) is one of the major rivers of the Iberian Peninsula, flowing from its source near Duruelo de la Sierra in Soria Province across northern-central Spain and Portugal to its outlet at Porto.

Rhine
The Rhine  is a European river that begins in the Swiss canton of Graubünden in the southeastern Swiss Alps, forms part of the Swiss-Austrian, Swiss- Liechtenstein border, Swiss-German and then the Franco-German border, then flows through the Rhineland and eventually empties into the North Sea in the Netherlands.

Middle River (Iowa)
The Middle River is a tributary of the Des Moines River in south-central Iowa in the United States. It is 123 miles (198 km) long and drains an area of 489.5 square miles (1,268 km2).

Braginka River
Braginka is a short winding river in the Brahin Raion of Belarus. Its length is 179 km. It falls into Pripyat just above its falling into Dnieper. Part of the river flows through the radioactive zone of alienation, and the river itself is under regular control for nuclear pollution. A small settlement of Brahin stands on the banks of the river.The river provides a scenery in Konstantin Paustovsky's short story "The Inn on Braginka".

Niger
Niger (/ˈnaɪdʒər/ or /niːˈʒɛər/; French: [niʒɛʁ]), officially the Republic of Niger, is a landlocked country in Western Africa, named after the Niger River. Niger covers a land area of almost 1,270,000 km2, making it the largest nation in West Africa, with over 80 percent of its land area covered by the Sahara Desert. The country's predominantly Islamic population of 17,138,707 is mostly clustered in the far south and west of the nation.

São Luís River
Rio São Luís is a river in the state of Acre, in Brazil, Brazil is a country in South America.

Trans-Siberian Railway
The Trans-Siberian Railway (TSR, Russian: Транссиби́рская магистра́ль, tr. Transsibirskaya Magistral; IPA: [trənsʲsʲɪˈbʲirskəjə məgʲɪˈstralʲ]) is a network of railways connecting Moscow with the Russian Far East and the Sea of Japan. With a length of 9,289 km (5,772 mi), it is the longest railway line in the world. There are connecting branch lines into Mongolia, China and North Korea.

Snow River
The Snow River is a 28-mile (45 km) tributary of Kenai Lake in the U.S. state of Alaska. Beginning in the Chugach Mountains of the Kenai Peninsula, it flows southwest through Chugach National Forest to near Primrose at the southern inlet of the lake. The river mouth is about 12 miles (19 km) northeast of Seward. Along its final reaches, the river intersects the Iditarod Trail and passes under the Seward Highway.

Bamako
Bamako is the capital and largest city of Mali, with a population of 1.8 million (2009 census, provisional). In 2006, it was estimated to be the fastest growing city in Africa and sixth-fastest in the world. It is located on the Niger River, near the rapids that divide the upper and middle Niger valleys in the southwestern part of the country.Bamako is the nation's administrative center. The city proper is a cercle in its own right.


Question: What is the longest river?

Among the longest rivers of Mexico are 26 streams of at least 250 km (160 mi). In the case of rivers such as the Colorado, the length listed in the table below is solely that of the main stem. In the case of the Grijalva and Usumacinta, it is the combined lengths of two river systems that share a delta. In the case of the Nazas and Aguanaval, it is the combined lengths of separate rivers that flow into the same closed basin.Three rivers in this list cross international boundaries or form them.

Garonne
The Garonne (French: Garonne, IPA: [ɡa.ʁɔn]; in Occitan, Catalan, Portuguese and Spanish: Garona; Latin: Garumna or Garunna) is a river in southwest France and northern Spain, with a length of 602 kilometres (374 mi). It flows into the Atlantic Ocean at Bordeaux.

Great River Road
The Great River Road is a collection of state and local roads which follow the course of the Mississippi River through ten states of the United States. They are Minnesota, Wisconsin, Iowa, Illinois, Missouri, Kentucky,  Tennessee, Arkansas, Mississippi and Louisiana. It formerly extended north into Canada, serving the provinces of Ontario and Manitoba.Although in a literal sense it is just a series of roads, the Great River Road is also a larger region inside the US and in each state.

Niagara River
The Niagara River (/naɪˈæɡrə/ ny-AG-ra) is a river that flows north from Lake Erie to Lake Ontario. It forms part of the border between the Province of Ontario in Canada (on the west) and the State of New York in the United States (on the east). There are differing theories as to the origin of the name of the river.

Gironde estuary
The Gironde is a navigable estuary (often falsely referred to as a river), in southwest France and is formed from the meeting of the rivers Dordogne and Garonne just downstream of the centre of Bordeaux. Covering around 635 km2 (245 sq mi), it is the largest estuary in western Europe.The Gironde is approximately 80 km (50 mi) long and 3–11 km (2–7 miles) wide and the French département Gironde is named after it.

Volta River
The Volta River is a river, primarily flowing in Ghana, that drains into the Atlantic Ocean at the Gulf of Guinea. It has three main tributaries—the Black Volta, White Volta and Red Volta.

Aare
The Aare (German pronunciation: [ˈaːrə]) or Aar is a tributary of the High Rhine and the longest river that both rises and ends entirely within Switzerland.Its total length from its source to its junction with the Rhine comprises about 295 km (183 miles), during which distance it descends 1,565 m (5,135 ft), draining an area of 17,779 km2 (6,865 sq mi), almost entirely within Switzerland, and accounting for close to half the area of the country, including all of Central Switzerland.

Sarasvati River
The Sarasvati River (Sanskrit: सरस्वती नदी sárasvatī nadī) is one of the main Rigvedic rivers mentioned in the Rig Veda and later Vedic and post-Vedic texts. It plays an important role in Hinduism, since Vedic Sanskrit and the first part of the Rig Veda are regarded to have originated when the Vedic people lived on its banks, 2nd millennium BCE .

Guadalquivir
The Guadalquivir (Spanish pronunciation: [ɡwaðalkiˈβir]) is the fifth longest river in the Iberian peninsula and the second longest river with its entire length in Spain. The Guadalquivir is 657 kilometers, (408 miles) long and drains an area of about 58,000 square kilometers.

Don River (Russia)
The Don (Russian: Дон; IPA: [don]) is one of the major rivers of Russia. It rises in the town of Novomoskovsk 60 kilometres (37 mi) southeast of Tula (120 km south of  Moscow, and flows for a distance of about 1,950 kilometres (1,220 mi) to the Sea of Azov.From its source, the river first flows southeast to Voronezh, then southwest to its mouth. The main city on the river is Rostov on Don.

Mad River (Cocheco River)
The Mad River is a 5.2-mile-long (8.4 km) river in eastern New Hampshire in the United States. It is a tributary of the Cocheco River, part of the Piscataqua River watershed leading to the Atlantic Ocean.The river is located entirely in the town of Farmington. It rises in Nubble Pond, between Nubble Mountain and Hussey Mountain, and flows northwest, then northeast, reaching the Cocheco near the town center of Farmington.