Книга знаний

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

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

Иногда программисты 1С отвлекаются от любимой среды разработки и пишут на других языках. Им в помощь небольшой путеводитель по языкам программирования, на которых можно быстро написать простое приложение с базой данных. Автор статьи: Гений 1С | Редакторы: Neco, Мяв-Мяв, SilentMan, Vovan58, ERWINS
Последняя редакция №14 от 30.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...). В типизированных языках переменная может принимать всегда значение только одного типа, в нетипизированных - разных.
Неверно. В Delphi (строго типизированный язык) есть тип вариант.
- по типу трансляции - компиляторы, интерпретаторы и компиляторы в промежуточный язык, который выполняется на интерпретаторе(виртуальной машине) - это не типы языков, а способ исполнения программ написанных на них. Так для одного и тогоже языка (DBase) существовали интерпретаторы - DBase - и компилятор - Clipper.

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


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

Java


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

.NET


•    целое семейство языков (сотни языков - можно привести хотя-бы пару десятков для примера?), рекламный слоган «приходи со своим языком» - а можно ссылку на источник слогана?.
•    не компилирует в EXE
•    требует для выполнения платформы .NET, объем 22 Мб (скачать можно здесь 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 для разработчика работает на W2K и выше, однако приложения .NET могут запускаться на ОС, начиная с Win95. Для этого используется специальный дистрибутив, который устанавливает компоненты .NET, необходимые только для исполнения .NET-приложений, соответственно, меньшего размера, чем весь пакет .NET. Приведите его название, я не помню.

Замечания


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

PHP


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

Perl

Java Script



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


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

Delphi (Borland)


•    компилирует EXE, DLL
•    язык:Паскаль
•    IDE:встроена

C++


•    компилирует EXE, DLL
•    язык:С++
•    IDE:Builder (Borland), Visual C

Замечания


Следует заметить, что хотя Visual C и C++ Builder используют язык Си++, библиотека базовых классов у них разная и значительно отличающаяся друг от друга.
Зато библиотека классов Delphi и C++ Builder идентичны.

C++ Builder позволяет не только использовать скомпилированный код от Delphi, но и исходники...
Кроме того версии Delphi начиная с 8.0 могут компилировать и использовать библиотеки под .Net
Здесь можно указать на время связывания - раннее (EXE) и позднее (DLL).

Резюме


Если требуется кросс-платформенность, имеет смысл обратить внимание на Java. Частичная совместимость обеспечивается и при использовании Delphi(Windows) и Kilix(Linux).
Если критична скорость, можно использовать классические языки программирования (если критична скорость - есть ассемблер), чаще используют не объектно-орентированные языки - например С(а не С++).

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

О языках программирования можно писать бесконечно...

Огромная просьба к автору Гению1С - не сбиваться в классификации - в 1-ой половине одна, во второй - другая. Так сравнить ничего не получиться!

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

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

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