Книга знаний

1С:Предприятие

Современное состояние языков программирования

Иногда программисты 1С отвлекаются от любимой среды разработки и пишут на других языках. Им в помощь небольшой путеводитель по языкам программирования, на которых можно быстро написать простое приложение с базой данных. Автор статьи: Гений 1С | Редакторы: Neco, Мяв-Мяв, SilentMan, Vovan58, ERWINS,
Последняя редакция №9 от 26.08.06 | История
URL: http://kb.mista.ru/article.php?id=344

Ключевые слова: язык программирования,IDE,байт-код,виртуальная машина,NET,JAVA


В тексте встречаются термины:
IDE – среда разработки (Integrated Developer Environment)
Байт-код – код, который предназначен для выполнения не напрямую процессором, а через виртуальную машину, которая выполняет команды этого кода.
Кросс-платформенность – возможность запускать программу на разных операционных системах, как путем запуска, так и через перекомпиляцию проекта.

Виды языков


- по типизации - типизированные(С++, Pascal, Object Pascal, Java...) и не типизированные (Visual Basic, 1C, PHP, Java Script...). В типизированных языках переменная может принимать всегда значение только одного типа, в нетипизированных - разных.
- по типу трансляции - компиляторы, интерпретаторы и компиляторы в промежуточный язык, который выполняется на интерпретаторе(виртуальной машине) - это не типы языков, а способ исполнения программ написанных на них. Так для одного и тогоже языка (DBase) существовали интерпретаторы - DBase - и компилятор - Clipper.

Языки для виртуальных машин


Программы, написанные на этих языках, работают несколько меделенне, чем EXE-файлы, так как скомпилированы в байт-код для виртуальных машин.

Java


•    не компилирует в EXE, есть утилиты для превращения классов в EXE-файлы (и еще много других способов получить исполнямый бинарник)
•    требует для выполнения программ библиотеку основных классов Java Runtime Enviroment, объем 80 Мб.(на самом деле 15 - 20 мегабайт в зависимости от платформы)
•    компилирует программу в байт-код, запускаемый на виртуальной машине (мягко говоря не совсем верно. Про JIT-компиляторы знаем?).
•    позволяет использовать только язык JAVA, компилируемый в байт-код.(а еще jithon например)
•    программы можно писать в любом текстовом редакторе, компилятор встроен в платформу.
•    название IDE: не помню (eclipse, netbeans)
•    кросс-платформенная – одна программа будет работать и в Windows, и в Linux, и в Mac OS

.NET


•    целое семейство языков (сотни языков - можно привести хотя-бы пару десятков для примера?), рекламный слоган «приходи со своим языком» - а можно ссылку на источник слогана?.
•    не компилирует в EXE
•    требует для выполнения платформы .NET, объем тоже немаленький. - неужели так сложно воспользоваться первоисточником? http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en
•    компилирует программу в байт-код, запускаемый на виртуальной машине .NET (мягко говоря не совсем верно. Про JIT-компиляторы знаем?).
•    программы можно писать в любом текстовом редакторе, компилятор встроен в платформу.
•    название IDE: не помню - Microsoft Visual Studio 2005 в разных вариациях, а также MS Visual Studio .NET (см. сайт MS)
•    IDE от Microsoft для одного языка стоит 100$, для всех языков: 1000$ - это ложь. Пример: http://msdn.microsoft.com/vstudio/express/
•    программа будет работать только под Windows(и это тоже неправда)
•    есть сторонние разработки для запуска .NET программ под другими ОС, но они пока еще не доработаны

Замечания


Байт-коды .Net и Java скорее всего несовместимы.
Учитывая, что .Net не кросс-платформенна (не совсем верно - см.Mono), Java имеет некоторое преимущество.

PHP


Разработан для создания динамических Web-страниц. Сейчас на нем пишут и серьезные приложения. Наиболее используемые Web-магазины написаны на PHP.

Perl

Java Script



Классические языки


Генерируют EXE-код.(не обязательно, см. Forth)
Нельзя перекомпилировать проект, чтобы он работал в другой операционной системе, нужно полностью переписывать программу.(утверждение далеко от истины)

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. Частичная совместимость обеспечивается и при использовании Delphi и Kilix.
Если критична скорость, можно использовать классические языки программирования (если критична скорость - есть ассемблер), чаще используют не объектно-орентированные языки - например С(а не С++).

Для shareware скорее всего подойдут только классические языки программирования, т.к. генерируют небольшой exe-код, и не требуют наличия платформы для выполнения байт-кода. - интересно, откуда такое утверждение? - http://www.pbus-167.com/nhc/nhc.htm


Прошу дописать статью.
Неплохо-бы удалить сию безграмотность и не позорить Книгу Знаний. Для ответов на все необходимые вопросы по языкам программирования и вяским фреймворкам достаточно иметь желание, Интернет и 1-3 часа Гугла.

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика