Современное состояние языков программирования Ключевые слова: язык программирования,IDE,байт-код,виртуальная машина,NET,JAVA
В тексте встречаются термины:
IDE – среда разработки (Integrated Developer Environment)
Байт-код – код, который предназначен для выполнения не напрямую процессором, а через виртуальную машину, которая выполняет команды этого кода.
Кросс-платформенность – возможность запускать программу на разных операционных системах, как путем запуска, так и через перекомпиляцию проекта.
Языки для виртуальных машин
Программы, написанные на этих языках, работают несколько меделенне, чем EXE-файлы, так как скомпилированы в байт-код для виртуальных машин.
Java
• не компилирует в EXE, есть утилиты для превращения классов в EXE-файлы (и еще много других способов получить исполнямый бинарник)
• требует для выполнения программ библиотеку основных классов Java Runtime Enviroment, объем 80 Мб.(на самом деле 15 - 20 мегабайт в зависимости от платформы)
• компилирует программу в байт-код, запускаемый на виртуальной машине.
• позволяет использовать только язык JAVA, компилируемый в байт-код.(а еще jithon например)
• программы можно писать в любом текстовом редакторе, компилятор встроен в платформу.
• название IDE: не помню (eclipse, netbeans)
• кросс-платформенная – одна программа будет работать и в Windows, и в Linux, и в Mac OS
.NET
• целое семейство языков (сотни языков), рекламный слоган «приходи со своим языком».
• не компилирует в EXE
• требует для выполнения платформы .NET, объем тоже немаленький.
• компилирует программу в байт-код, запускаемый на виртуальной машине .NET.
• программы можно писать в любом текстовом редакторе, компилятор встроен в платформу.
• название IDE: не помню
• IDE от Microsoft для одного языка стоит 100$, для всех языков: 1000$
• программа будет работать только под Windows(и это тоже неправда)
• есть сторонние разработки для запуска .NET программ под другими ОС, но они пока еще не доработаны
Замечания
Байт-коды .Net и Java скорее всего несовместимы.
Учитывая, что .Net не кросс-платформенна, Java имеет некоторое преимущество.
Классические языки
Генерируют EXE-код.(не обязательно)
Нельзя перекомпилировать проект, чтобы он работал в другой операционной системе, нужно полностью переписывать программу.(утверждение далеко от истины)
Delphi (Borland)
• компилирует EXE
• язык:Паскаль
• IDE:встроена
C++ Builder (Borland)
• компилирует EXE
• язык:С++
• IDE:встроена
Visual C (Microsoft)
• компилирует EXE
• язык:С++
• IDE:встроена
Замечания
Следует заметить, что хотя Visual C и C++ Builder используют язык Си++, библиотека базовых классов у них разная и значительно отличающаяся друг от друга.
Зато библиотека классов Delphi и C++ Builder идентичны.
Не знаю, правда, годятся ли компоненты от Delphi для C++ Builder.
Резюме
Если требуется кросс-платформенность, имеет смысл обратить внимание на Java.
Если критична скорость, можно использовать классические языки программирования.
Для shareware скорее всего подойдут только классические языки программирования, т.к. генерируют небольшой exe-код, и не требуют наличия платформы для выполнения байт-кода.
Прошу дописать статью. |