Трансля́тор — программа или техническое средство, выполняющее трансляцию программы.
Ассе́мблер — транслятор программы из текста на языке ассемблера в программу на машинном языке.
Компиля́тор — программа, переводящая написанный на языке программирования текст в набор машинных кодов.

Си — компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Согласно дизайну языка, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном программном обеспечении для множества устройств — от суперкомпьютеров до встраиваемых систем. Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.
Библиоте́ка в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО). С точки зрения операционной системы (ОС) и прикладного ПО, библиотеки разделяются на динамические и статические.
Байт-код — стандартное промежуточное представление, в которое может быть переведена компьютерная программа автоматическими средствами. По сравнению с исходным кодом, удобным для создания и чтения человеком, байт-код — это компактное представление программы, уже прошедшей синтаксический и семантический анализ. В нём в явном виде закодированы типы, области видимости и другие конструкции. С технической точки зрения байт-код представляет собой машинно-независимый код низкого уровня, генерируемый транслятором из исходного кода.
JIT-компиляция, динамическая компиляция — технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код или в другой формат непосредственно во время работы программы. Таким образом достигается высокая скорость выполнения по сравнению с интерпретируемым байт-кодом за счёт увеличения потребления памяти и затрат времени на компиляцию. Технология JIT базируется на двух более ранних идеях, касающихся среды выполнения: компиляции байт-кода и динамической компиляции.

Java Virtual Machine — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac). JVM может также использоваться для выполнения программ, написанных на других языках программирования. Например, исходный код на языке Ada может быть скомпилирован в байт-код Java, который затем может выполниться с помощью JVM.

DotGNU — проект организации Free Software Foundation (FSF) по созданию аналога платформы Microsoft .NET на базе свободного программного обеспечения, часть проекта GNU Project.

Scintilla — компонент редактирования с открытым исходным кодом для Microsoft Windows и Linux с GTK+, разработанный Нейлом Ходжсоном.

KDevelop — кроссплатформенная свободная интегрированная среда разработки. Разработка началась в 1998 году. KDevelop распространяется согласно условиям GNU General Public License.
Компилируемый язык программирования — язык программирования, исходный код которого преобразуется компилятором в машинный код и записывается в файл, с особым заголовком и/или расширением, для последующей идентификации этого файла, как исполняемого, операционной системой.
Это список программного обеспечения, разрабатываемого Free Software Foundation как часть проекта GNU — UNIX-подобной операционной системы, состоящей целиком из свободного программного обеспечения. Большая часть из этих пакетов также используется совместно с ядром Linux, что образует целостную операционную систему.
stddef.h — заголовочный файл стандартной библиотеки языка программирования С, определяющий макросы NULL и offsetof, а также типы ptrdiff_t, wchar_t и size_t.

GNU Classpath представляет собой проект, направленный на создание свободной реализации стандартной библиотеки классов для языка программирования Java. Несмотря на большой размер библиотеки, большая часть задачи уже выполнена, включая Swing, CORBA, и другие основные элементы. Разработчики Classpath реализовали почти все классы J2SE 1.4 и 5.0. Таким образом, Classpath можно использовать для запуска популярных Java-программ, таких, как Vuze и Eclipse.

GNU Compiler for Java — это свободный компилятор языка Java, являющийся частью GNU Compiler Collection, но с 2017 года он больше не поддерживается и не будет частью будущих выпусков.

Программная платформа Java — ряд программных продуктов и спецификаций компании Sun Microsystems, ранее независимой компании, а ныне дочерней компании корпорации Oracle, которые совместно предоставляют систему для разработки прикладного программного обеспечения и встраивания её в любое кросс-платформенное программное обеспечение. Java используется в самых разных компьютерных платформах от встраиваемых устройств и мобильных телефонов в нижнем ценовом сегменте, до корпоративных серверов и суперкомпьютеров в высшем ценовом сегменте.
Байт-код Java — набор инструкций, исполняемых виртуальной машиной Java. Каждый код операции байт-кода — один байт; используются не все 256 возможных значений кодов операций, 51 из них зарезервирован для использования в будущем.

Исполняемый файл — набор инструкций, который заставляет компьютер выполнить определённую задачу. В отличие от текстового файла, который рассчитан на чтение человеком, исполняемый файл рассчитан на чтение процессором.
Промежуточное представление — структура данных или код, используемый компилятором или виртуальной машиной для представления исходного кода. Промежуточное представление разработано, чтобы способствовать дальнейшей обработке, такой как оптимизация и трансформация кода. «Хорошее» промежуточное представление должно быть точным — способным представить исходный код без потери информации — и независимым от какого-либо конкретного источника кода или целевого языка. Промежуточное представление может принимать одну из нескольких форм: структура данных расположенная в памяти (in-memory), или специальный кортеж- или стек-подобный код читаемый программой. В последнем случае промежуточное представление также называется промежуточным языком.