Green-sell.info

Новые технологии
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Язык программирования as

PLC — это просто!!

Сайт для тех кто хочет научиться программировать ПЛК

Язык ST для C программиста (часть 1)

Принято считать, что языки программирования ПЛК стандарта МЭК 61131-3 (далее для краткости МЭК) предназначены для применения неспециалистами в области информатики. Но возможности ПЛК растут, соответственно растут и требования, предъявляемые к прикладному программному обеспечению (ПО). Все чаше мы встречаем системы на ПЛК, включающие сложнейший математический аппарат. В ПЛК используют web-технологии, нечеткие регуляторы, многомерные интерполяторы систем управления движением (SoftMotion) и т.д.

Такие технологии требуют специальных знаний. Несмотря на все прогнозы и рассуждения, на сегодняшний день более половины ПО для ПЛК создается профессиональными программистами, имеющими высшее образование. С каждым годом их доля возрастает. Не смотря на это, подавляющее большинство изготовителей МЭК систем упорно продолжают создать простые инструменты «для чайников». Чаще всего это некий редактор FBD и интерпретирующая система исполнения, опирающаяся на вызов заранее откомпилированных модулей. Для расширения состава блоков их пишут на языке C внешними средствами. Если профессиональный программист сталкивается с такой средой, то часто результатом становится МЭК программа, состоящая из одного большого функционального блока, полностью написанного на C.

Стандарт МЭК включает высокоуровневый язык ST, по выразительной мощности не уступающий языкам C и Паскаль. К сожалению, в большинстве систем МЭК программирования он не реализован вовсе либо имеет массу ограничений. Как правило, это ограничение числа поддерживаемых типов данных, упрощенный интерпретирующий транслятор или промежуточный код, ограничения на доступ к аппаратным ресурсам, невозможность обрабатывать прерывания, выполнять динамическое распределение памяти, управлять процессами и др. На самом деле, это не ограничения языка ST. Это именно ограничения среды программирования.

Некоторым особняком в ряду комплексов МЭК стоит CoDeSys производства 3S-Smart Software Solution GmbH. Его уникальность состоит в том, что он изначально задумывался как инструмент для профессионалов. Исходя из собственных соображений, при адаптации CoDeSys для конкретного ПЛК, изготовитель может наложить ряд ограничений на возможности пользователя. Но изначально их нет.

Безусловно, в CoDeSys можно использовать внешние библиотеки, реализованные на C, но необходимость в этом возникает крайне редко. Практически все, что можно написать на C, в CoDeSys можно написать на ST, без изменения методологии проектирования. CoDeSys имеет встроенный компилятор и генераторы машинного кода для всех популярных семейств микропроцессоров. Внешний C компилятор не даст выигрыша по быстродействию, но значительно усложнит разработку.

Очень существенная тонкость стандарта МЭК состоит в том, что он включает только требование однозначности выполнения описанных в нем конструкций. Многие воспринимают это как возможность называть МЭК системой программирования среду, поддерживающую только часть стандарта. Однако справедлив и обратный подход: МЭК система может включать все, что описано в стандарте, плюс дополнительные возможности.

Практика показывает что, профессиональные программисты, работая с CoDeSys, чаше всего выбирают язык ST. Практически все они в совершенстве владеют языком C. Данная статья имеет целью быстро очертить C программистам границы возможностей языка ST в CoDeSys и подсказать типовые методы преодоления затруднений.

Типы данных.

В CoDeSys реализованы все стандартные типы данных МЭК 61131-3. Все типы данных доступны во всех 6 поддерживаемых языках. Специальных расширений для ST нет. Целочисленные типы таковы: SINT (char), USINT (unsigned char), INT (short int), UINT (unsigned int), DINT (long), UDINT (unsigned long), LINT (64 бит целое), ULINT (64 бит целое без знака).

Действительные типы: REAL (float), LREAL (double).

Специальные типы BYTE, WORD, DWORD, LWORD представляют собой битовые строки длиной 8, 16, 32 и 64 бит соответственно. Битовых полей в ST нет. К битовым строкам можно непосредственно обращаться побитно. Например: a.3 := 1; (* Установить бит 3 переменной a *). В C в подобных целях используются целые без знака и битовые логические операции. В CoDeSys к битовым стокам можно применять операции, доступные для целых без знака. Логический тип BOOL. Может иметь значение TRUE или FALSE. Физически переменная типа BOOL может соответствовать одному биту. Обычно так и есть, если речь идет о дискретном входе либо выходе ПЛК или прямоадресуемой переменной (см. ниже). В иных случаях CoDeSys выделяет один байт. Это вызвано тем, что большинство микропроцессоров не умеют непосредственно адресоваться к отдельным битам памяти.

Строки STRING. Являются именно строкой, а не массивом. Поэтому (в версии V2.3) нет возможности обращаться к отдельным символам. Зато можно сравнивать и копировать строки стандартными операторами. Например так: strA := strB. В МЭК есть стандартный набор функций для работы со строками. Внутренний формат строк не стандартизован. CoDeSys использует нуль-терминированные строки.

Специальные типы в стандарте МЭК определены для длительности (TIME), времени суток (TOD), календарной даты (DATE) и временного штампа (DT). Работа со временем и интервалами встречается в ПЛК программах повсеместно.

Применение структур (STRUCT) не отличается от C. Описание структуры должно предшествовать объявлению переменной данного типа. Допускаются вложенные структуры и массивы.

Массивы (ARRAY) строятся из элементов любых типов, включая структуры и массивы. Из особенностей нужно отметить возможность задания повтора значений при инициализации. Например: bX ARRAY[0..20] OF BOOL := TRUE, 10(FALSE), 9(TRUE); Значение FALSE повторено здесь 10 раз и значение TRUE, соответственно 9 раз. Массивы (и структуры) можно копировать с помощью обычной операции присваивания: bY := bX; Перечисления аналогичны перечислениям C. Пример: TYPE TEMPO: (Adagio := 1, Andante := 2); END_TYPE.

На базе целых можно построить типы, имеющие ограниченный диапазон значений.

Например: TYPE DAC10: INT (0..16#3FF); END_TYPE.

Для любого типа можно создать псевдоним (typedef в C). Например: TYPE DEGR : UINT

Константы.

В МЭК используются типизированные константы. Например: 2#10001000 (целое, байт в двоичном формате), INT#40, t#10h14m5s (время дня), D#2006-01-31 (дата). Формат констант описан в документации и не вызывает сложностей.

Символьные константы можно объявлять локально или глобально в специальной секции раздела объявлений: VAR CONSTANT.

Идентификаторы.

Идентификаторы имен переменных могут иметь любую длину. Ограничения числа значимых символов нет. Идентификаторы не чувствительны к регистру (XZ и Xz одно и тоже). Идентификаторы не должны начинаться с цифры (12x). Двойные подчеркивания запрещены(__X).

Инициализация переменных.

По умолчанию, все переменные инициализируются нулем. Иное значение переменной можно указать явно при ее объявлении. Например: str1: STRING := ‘Hello world’. Переменные можно объявить как RETAIN или PERSISTENT. Это означает требование их размещения в энергонезависимой памяти контроллера (если она есть). Их инициализация производится только при первом запуске программы или по специальной команде.

Прямая адресация.

Помимо общей памяти данных в контроллере предусмотрены 3 специальные области памяти. Это область входов, выходов и прямо-адресуемая область. Эти области служат для связи системы исполнения контроллера и пользовательской программы. В простейших ПЛК распределение памяти в области входов/выходов фиксировано изготовителем. Мы можем непосредственно обращаться к нужному адресу из программы (например, %QB5 дает 5-й байт в области выходов) или объявить переменную, расположенную в соответствующем месте. Как правило, изготовители ПЛК снабжают CoDeSys конфигурационными файлами. Встроенный графический конфигуратор позволяет настроить и автоматически объявить переменные для всех входов/выходов и диагностических переменных без программирования, включая распределенные модульные системы (См. рис. 1).

Рис. 1. Конфигурирование переменных входов/выходов в CoDeSys

Преобразование типов.

Неявное преобразование типов запрещено. Любое преобразование нужно делать явно с помощью специальных операторов. Запомнить их легко. Пишем исходный тип, далее _TO_ и нужный тип. Например: iX := REAL_TO_INT(rX); .

Операторы и функции.

Наиболее часто используемые операторы и функции ST приведены в таблице 1. В МЭК определен целый ряд общепринятых и специализированных (для ПЛК программ) функций и функциональных блоков. В их числе таймеры, триггеры, счетчики, регуляторы и многое другое.

Написать ++x; или x += 1; в ST, конечно, нельзя. Единственный вариант – это x := x + 1;. Полное описание стандартных операций, функций и функциональных блоков вы найдете в руководстве программиста CoDeSys.

Sizeof В CoDeSys имеется оператор SIZEOF(in). Смысл его должен быть очевиден для C

Sprintf Такого оператора в ST нет. Преобразовать любой переменную любого типа в строку можно с помощью …_TO_STRING.

Указатели.

В МЭК указателей нет, в CoDeSys они есть. Адрес переменной можно получить с помощью оператора ADR, разыменовывание дает ‘^’. Например:

pt : POINTER TO INT;

Объединений в CoDeSys V2.3 нет. При необходимости это удается обойти, разместив несколько переменных разного типа по одному адресу в прямо адресуемой памяти либо посредством указателей. Аналогично можно получить доступ к элементам строки ‘совместив’ ее с массивом.

Точка с запятой.

Не смотря на явное родство ST с языком Паскаль, точка с запятой используется в нем также как в языке C. То есть она служит не разделителем, а признаком конца оператора. Естественно, в одной строке может быть любое число операторов. Кроме того, точка с запятой служит пустым оператором. Текст любого программного компонента (POU) на ST должен включать хотя бы один оператор.

Читать еще:  История развития языка программирования паскаль

Программные скобки.

В ST нет привычных программных скобок (<> в C или begin и end в Паскале). Вместо этого каждая программная конструкция имеет собственную закрывающую программную скобку. Например: END_FUNCTION или END_IF. Каждому кто имел ‘счастье’ видеть многоэтажные лесенки завершающих скобок в C, такое решение должно быть понятно. Некоторая многословность текста компенсируется средствами быстрого ввода CoDeSys.

IF ELSE

Оператор выбора IF почти эквивалентен соответствующему оператору в C. Условием может служить переменная или выражение только логического типа. В ином случае, необходимо выполнить явное приведение к логическому типу.

Дополнительно в IF можно вложить последовательную цепочку условий ELSIF. Это достаточно удобно при анализе сложных разветвляющихся условий.

Аналогичен switch в C. Альтернативные ветки не имеют закрывающей программной скобки и не могут выполняться одна за другой. Соответственно оператор break не имеет смысла и отсутствует. При указании значений констант альтернативы можно перечислить их через запятую или указать диапазон. Например:

Программирование на ActionScript 3.0 — начало

Если Вы работаете с Flash и используете его пока что только для рисования и простой анимации, создание роликов или баннеров, но ни разу не занимались программированием в нём, то вероятно Вам очень хотелось узнать эту сторону flash-а.

Что такое ActionScript? Как можно писать код на flash-е? Как можно полноценно программировать во flash? Какие инструменты для этого лучше всего использовать? В данной статье приводятся ответы на подобные вопросы.

Эта статья послужит хорошим руководством новичка в программировании под flash на ActionScript 3.0 и поможет выбрать лучшие инструменты для этого.

Что такое ActionScript?

Action Script — это объектно-ориентированный язык программирования, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений.

С помощью Action Script можно создавать интерактивные мультимедиа-приложения, игры и веб-сайты.

Если Вы работаете с графической средой разработки Flash IDE (например Adobe Flash Professional CS5), но ни разу не интересовались где там можно писать программный код, то вероятно Вас уже волнует вопрос «Где же он прячется, этот AS3?».

AS3 во Flash IDE.

Создадим новый проект File — New — ActionScript 3.0 (рис. 1).

Появится пустая сцена с пустым кадром на одном слое. Теперь можно выделить кадр и нажать F9, тем самым открыть окно «Actions», в котором и находится область редактирования программного кода данного кадра.

Давайте напишем в открывшемся окне следующий код:

Рис. 2. Код, написанный в редакторе Flash IDE.

Теперь можно запускать флешку (Ctrl+Enter). Данный код создаёт переменную s типа String (строка) и присваивает ей начальное значение — строку «its my AS3 code trace!«. Далее, функцией trace(), аргументом которой выступает ново созданная переменная, данная строка (а точнее уже значение переменной s) выводится во вкладку output, которая по умолчанию в интерфейсе IDE располагается рядом с вкладкой timeline.

Рис. 3. Отображение результата функции trace() в окне OUTPUT при запуске flash-ки.

Таким образом можно открывать и закрывать(на F9) редакторы кода для любого кадра флеш-приложения.

Вроде картина выходит не плохая — можно создавать разные объекты с анимациями (MovieClip), либо статичные картинки (Sprite) и у каждого объекта будут кадры и в каждом кадре можно запрограммировать всё что угодно. Выглядит удобно и гибко. Но это лишь на первый взгляд. Представьте что у Вас десятки объектов с десятками кадров и всем им нужно описать кодом различную или схожую логику поведения. Во втором случае (схожая логика) — это вообще означает сотни схожих строк кода, которые можно будет замучиться даже копировать из кадра в кадр. А представьте что в процессе разработки вам понадобится что-то изменить. Нет — это не дело! Не для этого хаоса был задуман язык AS3!

В добавок, если Вы поработаете редактором кода Flash IDE и, к примеру, работали в какой-нибудь другой среде программирования (Delphi, Visual Studio), то сразу заметите, что данный редактор, мягко говоря, удручает своей не удобностью и недоделанностью.

Что же делать, спросите Вы? Искать сторонние редакторы кода.

Альтернативные редакторы кода.

Самый лучший вариант для ОС Windows — это FlashDevelop (FD). Скачать свежую версию можно с сайта www.flashdevelop.org.

Для iOS хорошей альтернативой является FDT. Ознакомиться можно на оф. сайте fdt.powerflasher.com.

FlashDevelop.

Т.к. я на данный момент преимущественно обитаю в Windows, то расскажу о редакторе именно под эту ОС. В будущем, когда наберусь опыта в FDT, то напишу и о нём.

В установке нет ничего сложного, качайте свежую версию с оф. сайта и устанавливайте. Редактор совершенно бесплатный и для компиляции использует Flex SDK. Во время стандартной установки FD сам позаботится об установке последнего. Всё что надо установить для FD самому — это Java.

FD имеет массу удобств и особенностей среди которых: горячие клавиши, хорошая авто подстановка, шаблоны классов, возможность создавать свои шаблоны и редактировать имеющиеся.

После установки можно создать новый проект (Project — New Project…), откроется диалог создания проекта, как показано на рис. 4.

Рис. 4. Диалог создания нового проекта во FlashDevelop.

Как можно заметить, FD позволяет создавать не только AS3 проекты. Но сейчас нас интересует именно AS3 проект, я предпочитаю выбирать заготовку для проекта с Preloader-ом, который и выбран на рис. 4. Далее введите имя проекта (поле Name) и назначьте директорию проекта (поле Location), если стоит галочка «Create directory for project», то в директории Location будет создана папка с именем проекта (Name) и в неё уже поместятся файлы проекта, если галочка не стоит, то файлы поместятся в указанную директорию Location.

После создания проекта справа Вы увидите структуру файлов и папок проекта, откройте папку src и откройте двойным щелчком файл Main.as. После чего Вы должны наблюдать код примерно такой же, как на рис. 5.

Рис. 5. Код класса Main нового проекта во FlashDevelop.

Попробуем написать какой-нибудь код, например примерно тот же, который пробовали в Flash IDE. Писать можно после комментированной строки «// entry point» т.к. это точка где сцена уже точно создана. напишем команду trace(), на рис. 5. я уже позволил себе это деяние :]

Теперь можно скомпилировать проект (F8) или сразу запускать для тестирования (F5), после запуска в окне Output вы увидите результат работы функции trace() — вывод строки.

Результаты команды trace() можно наблюдать только во время запуска приложения из под IDE, в которой компилируется и запускается код.
При запуске файла .swf в браузере или в обычном flash-плеере результат (а т.е. отображение окна output) не будет виден никому.

Теперь я уверен, что Вам уже не терпится сделать свой первый проект на AS3! А для этого нужно приступить к изучению самого языка.

Изучение языка AS3.

Про AS3 можно конечно писать много, но лучше чем в книгах я вряд ли напишу, тем более что всё уже написано, поэтому моё дело посоветовать лучшую литературу отталкиваясь от своего опыта.

Хорошее дополнение к знаниям: Джои Лотт — «ActionScript 3.0. Сборник рецептов».

Читал в своё время ещё такую книгу: Рич Шуп — «Изучаем ActionScript 3.0. От простого к сложному». Написано хоть и не сильно много и подробно, но для новичков сойдёт, если под рукой нет Мука.

Этих книг весьма достаточно для бодрого старта! Читайте и практикуйтесь, практикуйтесь и читайте. Нет необходимости сесть и читать эти книги от корки до корки, т.к. в процессе чтения важно закреплять знания практикой, да и Вам самим будет приятно сделать что-нибудь как можно скорее :]

Во время быстрого поиска документации в инете очень помогает оф. документация от Adobe.

Для дальнейшего развития, для хорошего осознания ООП и шаблонов проектирования (а это очень важно для хорошей ООП структуры) Вам будет незаменима следующая книга: Уильям Сандерс, Чандима Кумаранатунг — «ActionScript 3.0. Шаблоны проектирования».

На этом сайте вы так же найдёте не мало аспектов программирования на AS3, накопленных моим опытом.

К примеру, теперь вы можете узнать как использовать графику созданную в Flash IDE в своих флеш-проектах на FD, прочитав статью: Рисуем во Flash IDE, а кодим во FlashDevelop-е.

Или попробовать сделать свой первый прелоадер прочитав статью: Preloader своими руками.

Курс «ActionScript 3.0 Уроки для новичков»

Курс «ActionScript 3.0 Уроки для начинающих» предназначен для тех, кто только приступает к изучению программирования.

По сути дела, этот курс можно было бы также назвать «ActionScript для чайников» или «ActionScript для новичков», поскольку предстоит познакомиться с большим количеством новых терминов, понятий и концепций, то для облегчения усвоения материала на каждом уроке будет рассматриваться только небольшая его часть. Начинаем с самых простых вещей и по мере накопления знаний будем применять их на практике, создавая реальные проекты.

Читать еще:  Обеспечение безопасности web сервисов

Итак, ниже размещены ссылки на уже опубликованные 70 уроков.

Какие еще обучающие материалы доступны на сайте?

Курс «Основы анимации в ActionScript 3.0» вводит в тему и служит отправной точкой для дальнейшего успешного изучения более продвинутых понятий и концепций, а также приемов и техник, связанных с анимацией в AS 3.

Книга «Все о массивах в ActionScript 3.0» познакомит Вас со всей необходимой информацией, касающейся массивов. Создание массивов, управление ими (добавление и удаление элементов), основные свойства и методы, принадлежащие массивам, как типу данных — вот лишь краткий перечень того, о чем Вам предстоит узнать:

Если же Вам нужно изучить работу с арифметическими операторами в ActionScript 3.0 или освежить в памяти эту тему, тогда эта книга для Вас:

Более 7000 человек уже получили!

Не забудьте подтвердить подписку и проверить почтовый ящик

Отзывы

«По AS 3.0 вышло уже немало курсов, но по степени доступности для пользователя, не имеющего навыков в программировании, аналогов курсу Валерия я еще не видел. Доступность и в плане бесплатности курса и в плане понимания его.» — Евгений

Рекомендую

  • Этот сайт размещен на хостинге компании «Бегет».
  • Если Вы ищете хостинг с отличным соотношением цена/качество, то я рекомендую именно его.

Помощь сайту

  • Уроки Вам помогли? Внесите вклад в развитие сайта. Перечислите любую сумму на один из кошельков:
  • R861898673040
  • 410011923517064
  • Деньги пойдут на создание уроков, курсов, развитие сайта и оплату серверов. В примечании к платежу укажите Ваш email.
  • Спасибо всем, кто уже внес свой вклад!
  • Валерий Медведев

Об авторе

Меня зовут Валерий Медведев. C 2008 года разрабатываю веб-приложения с использованием Flash-технологии. В 2011 решил начать делиться своими знаниями с другими и создал этот сайт. ActionScript 3.0 — это по сути «движок флеша», зная который можно создавать как простые, так и совершенно удивительные вещи. Если у Вас есть желание познакомиться поближе или стать профессионалом в этой области, то на этом ресурсе Вы найдете много полезных материалов особенно для начинающих программистов. Бесплатный курс «ActionScript 3.0 Уроки для новичков» обеспечит Вам быстрый старт, а курс «Основы анимации в AS 3» познакомит с более продвинутыми концепциями и техниками. Начните изучать ActionScript 3.0 прямо сейчас!

PHP, ASP, Perl, Ruby

Более 400 созданных сайтов

Язык программирования PHP

PHP — интерпретируемый скриптовый язык программирования, разработанный для создания на сервере динамических веб-страниц и работы с базами данных. Сегодня PHP является наиболее удобным и мощным средством разработки приложений WWW и интерфейсов к БД в Интернет и входит в LAMP — «стандартный» набор для создания веб-сайтов. РНР появился осенью 1994 года, и был разработан Расмусом Лердорфом для собственных нужд. Но довольно быстро перерос в самостоятельный проект, и в начале 1995 года вышла первая версия продукта. На тот момент РНР обладал крайне скромными возможностями: простейший анализатор кода, который понимал несколько специальных команд, и разные утилиты для использования на домашней странице, необходимые для построения разных полезных вещей: гостевая книга, счетчик, чат, системы статистики и тому подобное. К середине 1995 года язык был основательно переработан, появилась обработка форм, были добавлены функции работы с базами данных, и в таком виде вышла вторая версия продукта.Ныне PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета. Группа разработчиков PHP состоит из множества людей, добровольно работающих над ядром и расширениями PHP, и смежными проектами. PHP — это интерпретируемый язык программирования, код которого встраивается непосредственно в HTML-страницы. Синтаксис PHP основан на синтаксисе языков Си, Java и Perl.

При запросе пользователя web-сервер просматривает документ, выполняет найденные в нем PHP-инструкции, а результат их выполнения возвращает пользователю. При этом статическая часть документа, написанная на языке HTML, фактически является шаблоном, а изменяемая часть формируется при исполнении PHP-инструкций. Сами скрипты находятся на сервере и их содержимое посетителю сайта просмотреть невозможно. В итоге пользователь видит обычную веб-страницу, которая от других отличается лишь расширением.

Главные достоинства РНР – простота, скорость выполнения, богатая функциональность и распространение исходных кодов на основе лицензии PHP. PHP особенен наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, динамической графикой, криптографическими библиотеками, документами формата PDF и др. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.

СGI (Common Gateway Interface) — общий шлюзовой интерфейс, является стандартом, который предназначен для создания серверных приложений HTTP. Он запускается сервером в реальном режиме времени, который передает запросы пользователя CGI-программе, которая их обрабатывает и возвращает результат своей работы на экран пользователя. Кроме этого, РНР может использоваться для решения административных задач в операционных системах UNIX, Linux, Windows и Mac OS X. Однако в таком качестве он не получил распространения.

У РНР есть и недостатки, главным из которых является относительная сложность написания больших и сложных программ. Тем не менее, многие достаточно сложные проекты реализованы именно на РНР. Но так как РНР — это все же скриптовый язык, то для выполнения несложных манипуляций на сайте, РНР — лучший выбор.

Текущая версия PHP 5.3.х.

Язык программирования ASP

ASP (англ. Active Server Page – активные серверные страницы) – язык программирования, используемый для создания динамических веб-страниц, обрабатываемых на стороне сервера. Динамические страницы – это такие страницы, содержимое которых изменяется в зависимости от действий пользователя. Напротив, статические страницы выглядят всегда одинаково, независимо от того, кто и когда ее просматривает. Первоначально все страницы были статическими, однако развитие Интернета вызвало потребность в предоставлении быстро меняющейся информации. Самые простые примеры – курсы валют, прогнозы погоды, обновляющиеся новости. Сложные – это интернет-магазины, on-line издания. Так, система Яндекс определяет географический адрес Вашего IP и предлагает поиск, карту и другие сервисы, актуальные для Вашего региона. С ростом потребности в динамически изменяемых web-страницах стали появляться и технологии их создания, одним из которых и стала технология ASP. Эта технология была разработана Microsoft в 1997 году, когда компания выпустила очередную версию своего веб-сервера (Internet Information Server или IIS). ASP по своей сути – это обычные текстовые файлы (как правило с расширением asp), содержащие конструкции языка HTML и сценарии, написанные на языках JScript и/или VBScript, которые выполняются на сервере наряду с обычным HTML-кодом.

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

Еще одним преимуществом этой технологии является кроссплатформенность, обеспеченная тем, что Ваш код выполняется лишь на одной версии единственного сервера. В начале своей истории технология ASP имела достаточно ограниченные возможности. Использование скриптовых языков, которые имеют меньше возможностей, чем полнофункциональные языки программирования. Кроме того, ASP был встроен в HTML в виде специальных тегов, а это создавало определенную путаницу.

В 2000 году на конференции разработчиков в качестве части новой технологии .NET Microsoft представила ASP+. С выходом .NET Framework 1.0 она получила название ASP.NET. Microsoft .NET Framework – это платформа для создания, развертывания и запуска Web-сервисов и приложений. ASP.NET стала революционным развитием технологии ASP. В ней появилось много новых функций, а уже существовавшие были значительно усовершенствованы.

В ASP.NET используются компилируемые языки. Во время компиляции проверяется синтаксическая корректность исходного текста. Скомпилированный в промежуточный язык код выполняется быстрее, сохраняя при этом независимость от языка. Кроме того, компилируемые языки поддерживают строгую типизацию.

Пять лет спустя была представлена технология ASP.NET 2.0. В новой версии появилось большое количество возможностей, например, использование шаблонов дизайна страниц, упрощенная локализация Web-приложений. Разработчикам удалось повысить скорость разработки сайтов, масштабируемость, легкость поддержки и администрирования сайтов, скорость работы сервера. Шаблоны дизайна, темы и скины позволяют разделить дизайн сайта и его функциональность, темы включают графику и каскадные таблицы стилей. В ASP.NET 2.0 также встроена технология автоматического обновления баз данных. Данные, полученные из базы, хранятся на сервере, при изменении базы данных кэш обновляет свое содержимое.

Язык программирования Ruby

Ruby (англ. — рубин) – молодой, но уже весьма популярный объектно-ориентированный язык программирования. Он был разработан в начале 90-х годов Юкихиро Мацумото. По словам автора, главной целью создания нового языка была «эффективность разработки программ, и пользователи найдут, что программирование на нем эффективно и даже забавно».
Ruby является полностью свободным языком с возможностью копирования, модификации и распространения. Ruby перенесён на множество платформ. Он разрабатывался на Linux, но работает на многих версиях Unix, Windows, DOS, Mac OS, BeOS и др. Начиная с версии 7.2 Ruby входит в стандартную поставку Linux, использование же Ruby в других операционных системах практически ничем не отличается, а результаты выполнения не зависят от используемой ОС.

Читать еще:  Программирование на языке r

Ruby имеет простой, понятный и четкий синтаксис, позволяет обрабатывать исключения в стиле Java и Python и легко переопределять операторы, которые на самом деле являются методами. Его также характеризуют быстрый цикл разработки (редактирование — запуск — редактирование), использование интерпретатора, нетипизированные переменные, не требующие объявления.
Как интерпретируемый язык сценариев Ruby столь же полезен для создания небольших специализированных скриптов, как и для полномасштабных приложений. Благодаря модели прямого выполнения и динамического контроля типов, Ruby позволяет разрабатывать код поэтапно, причем в большинстве случаев вы можете добавить функцию и сразу же ее опробовать. Программы на Ruby, как правило, короче, чем аналогичные программы на Perl, Python или C++. Язык использует простые соглашения для обозначения области видимости.

Как и Perl, Ruby обладает возможностями, благодаря которым он легко адаптируется как к обработке текстовых файлов, так и к задачам системного управления. Также Ruby позволяет писать код различными способами. Так как Ruby — полностью объектно-ориентированный язык программирования, то все данные в Ruby являются объектами. Среди недостатков Ruby можно выделить неуправляемость некоторых процессов (например, выделение памяти) и невозможность задания низкоуровневых структур данных или подпрограмм. Отсюда проистекает главная проблема – низкое быстродействие. В июле 2004 года появился фреймворк Ruby on Rails, разработанный Дэвидом Ханссоном, и вызвавший резкий рост популярности языка Ruby. С его помощью можно очень быстро создать сайт с требуемой функциональностью. Rails — это свободно распространяемая среда программирования, реализованная на Ruby и предназначенная для быстрого и удобного создания ориентированных на работу с базами данных Web-приложений.

Одна из ключевых характеристик Ruby on Rails — «полностековость», под которой Ханссон понимает совместную работу всех уровней, притом такую, чтобы вам не приходилось повторять уже сделанное и можно было использовать один язык сверху донизу. В Rails все написано на Ruby.

Язык программирования Perl

Perl (англ. Page Extraction and Report Language – практический язык извлечений и отчетов, также англ. perl – жемчужина) – интерпретируемый язык скрипт-программирования. Это язык широкого назначения, он используется для создания CGI-приложений (гостевых книг, форумов и др.), обработки текстовых файлов, генерации отчётов, решения системных задач, а также для обеспечения доступа к базам данным и создания динамических HTML-страниц.

Perl оказался прекрасным средством для взаимодействия с web-серверами через CGI и очень широко применяется в создании веб-проектов. Наример, на языке Perl написан Livejournal.com. Однако в последнее время в этой сфере его очень активно теснит PHP, который имеет много преимуществ в программировании CGI, так как создавался именно для этого.Сегодня большинство программистов работают с пятой версией языка Perl, но в то же время на некоторых веб-серверах используются скрипты, написанные на четвёртой версии. С 2000 г. идут работы над созданием шестой версии, которая, по сути, является новым языком программирования, и, хотя, существуют рабочие прототипы, о практическом применении Perl 6 говорить рано.

Сам язык был разработан Ларри Уоллом в конце 80-х и писался под Unix. Сейчас над языком работает целая группа, но Ларри строго контролирует этот процесс. Первая версия языка была очень компактной и предназначалась для решения строго ограниченных задач, но с развитием самого языка увеличивался и спектр возможностей.

Основной идеологией Perl является его свободность, этот язык славится богатой библиотекой модулей (CPAN — Comprehensive Perl Archive Network), которую постоянно пополняют энтузиасты. На ней можно найти модули для решения множества практических задач. Можно утверждать, что за этим языком большое будущее.

5 перспективных языков программирования, которые перевернут мир ИТ

Сегодня можно реально затеряться в фауне объектно-ориентированных, функциональных, императивных, динамических, компилируемых, интерпретируемых и скриптовых языков. Их стало настолько много, что ни один разработчик не может познать их все, но давайте посмотрим на 5 перспективных языков программирования, которые перевернут мир ИТ.

И так — сегодня в посте:
Ора,
F#,
Dart,
Go,
haXe

В Opa-приложениях интерфейсы пользователя клиента, логика сервера и взаимодействие с БД — все написано на одном языке.

NodeJs и MongoDB используют движок v8. Тоже все написано на одном языке + возможность использовать библиотеки С.

1. никогда не слышал.
2. F# неплохой, но я бы не назвал его чем-то революционным. Просто функциональный язык на .NET
3. Дарт скорее всего не взлетит потому, что есть нативный ЖС и зоопарк браузеров в которых для установки Дарта нужны дополнительные нинужные телодвижения
4. Говорят, что язык годный. Я последнюю неделю в нём копаюсь, пока чувства странные. Выглядит неплохо, все Питоняши от него в восторге, как бы не заменил серверные веб-технологии
5. Слышал о haXe, но не встречал широкого применения.

Вообщем хз, я не уверен в этом рейтинге.

Opa
Веб-программирование штука сложная. Даже самое простое веб-приложение состоит из огромного количества строк, написанных на нескольких языках, например HTML и JavaScript для клиента, PHP или Java для серверной стороны, SQL для базы данных. Opa заменяет их всех сразу — получаетсясовершенно новая парадигма веб-программирования. В Opa-приложениях интерфейсы пользователя клиента, логика сервера и взаимодействие с БД — все написано на одном языке.

Такой результат получается за счет комбинирования фреймворков. Компилятор Opa сам решает где запускать программу — на сервере, клиенте или же на обеих сторонах.

F#
5 перспективных языков программирования, которые перевернут мир ИТ
Функциональное программирование уже очень давно пользуется большой популярностью, но именно чисто функциональные языки (Lisp и Haskell) часто считаются непригодными для разработки ПО, из-за того, что коды функционального типа сложно сочетать с кодами и библиотеками, которые написаны на императивных языках (C++ или Java).

F# — язык, разработанный в стенах Microsoft. Поскольку F# язык первого класса на .Net CLR, он поддерживает те же библиотеки и функции, какие используют и другие CLR языки (например C# или Visual Basic). Код F# похож на OCaml, но со своим уникальным синтаксисом. Например, чтобы облегчить научные расчёты числовыми типами данных в F# могут быть единицы измерения. Также тут есть и конструкции для облегчения асинхронных вводов/выводов, инструменты параллелизации ЦПУ и т.п.

Dart
5 перспективных языков программирования, которые перевернут мир ИТ
JavaScript хорошо подходит для создания базовой динамичности на странице, но как только приложение начинает разростаться, можно заметить недостатки JS. Поэтому разработчики Google создали Dart. Возможно что Dart, так само как и JavaScript, приживется в веб-программировании основательно и надолго.

Разница между JS и DART в том, что JavaScript основан на прототипах, а Dart на объектах. Сейчас Dart мало где используется, но так как Google выпускает Dart по беспланой лицензии BSD, вы можете спокойно писать свои приложения, соглашаясь с условиями лицензии.

Go
5 перспективных языков программирования, которые перевернут мир ИТ
Команда Google не перестает нас радовать. Go это язык программирования общего назначения. На нем можно написать как приложение так и целые системы. Чем то он похож на C или C++, чем то на Java или C#, но нужно понимать, что Go был создан для легкого программирования и в основном он похож на С. Но во время оптимизации кода компилятор удаляет ненужные повторения кода.

Спецификация языка пока еще не готова, но Google подготовила хорошую документацию, в которой нельзя не заметить разницу между Go и другими языками.

haXe
5 перспективных языков программирования, которые перевернут мир ИТ
Переносимый код уже давно не фантастика. Например, C имеет множество компиляторов заточенных под разные архимектуры и ЦПУ. haXe больше чем переносимый язык. Это мультиплатформный язык — его можно использовать как на разных архитектурах, так и на разных типах ОС.

Синтаксис haXe напоминает C, но этот языкпросто изобилирует огромным количеством функций. Но его главным преимуществом считается возможность устранения проблем, которые свойственны каждой из платформ. Например, haXe строготипизированный, но его код может конвертироваться в JavaScript, который в свою очередь не ограничивает переменные типами — компилятор учтет такую разницу и сделает все необходимое для получения нормального js на выходе.

Хотя haXe все еще находится на стадии разработки — его создатель (игровая студия Motion Twin) успешно использует его в комерческих целях. haXe доступен для Windows, Mac OS X и Linux по комбинациях бесплатных лицензий.

Это далеко не все новые языки и как говорят «хороший программист должен каждый год учить новый язык, чтобы расширять свое мышление».

Ссылка на основную публикацию
Adblock
detector