ISWIM

Компетенция программиста -> Программист ISWIM -> ISWIM — абстрактный язык программирования (или семейство языков программирования) описанный Питером Лэндином (Peter J. Landin) в его статье «Следующие 700 языков программирования» («The Next 700 Programming Languages»), которая была опубликована в «the Communications of the ACM» в 1966 году. ISWIM расшифровывается как «If you See What I Mean» («Если вы понимаете, о чем я.»). Несмотря на то, что реализаций языка, как таковых, не существует, он довольно сильно повлиял на развитие других языков программирования, а именно таких функциональных языков, как SASL, Miranda, ML, Haskell. ISWIM — императивный язык с функциональным ядром (λ-исчисление с синтаксическим сахаром, для использования изменяемого состояния, присваивания и мощного механизма управления — оператора Лэндина «J», позволяющего захватывать текущее продолжение (call/cc оператор из Scheme — всего лишь упрощенная версия оператора «J»)). Благодаря λ-исчислению, в ISWIM есть функции высшего порядка и переменные с лексической областью видимости. Операционная семантика ISWIM определяется SECD (Stack, Environment, Code, Dump) машиной Лэндина и использует вызов по значению, то есть строгое вычисление. Код на ISWIM должен был выглядеть наиболее похожим на математическую нотацию, вследствие чего Лэндин убрал точку с запятой между утверждениями и блоки begin-end типичные для ALGOL и заменил их областью видимости зависимой от выравнивания. Особенной чертой в нотации ISWIM является использование where предложений. Программа на ISWIM — это единственное выражение, ограниченное утверждениями where (вспомогательные определения, включающие в себя отношения между переменными), условными выражениями и определениями функций. ISWIM (вместе с CPL) — первый язык, использующий where. Примечательной семантической чертой была возможность определять новые типы данных, как (потенциально рекурсивную) сумму произведений; для этого использовалось ёмкое описание, довольно сходное с естественными языками, по сути равное алгебраическим типам данных в современных функциональных языках. Переменные ISWIM не имели явных объявлений типа, это даёт основание считать (хоть и точно не указано в статье), что Лэндин планировал язык с динамической типизацией, как LISP, а не ALGOL; также возможно было развитие некоторой формы выведения типов. Как уже упоминалось, ISWIM не имеет прямых реализаций, хотя PAL Арта Эвана (Art Evan) и Gedanken Джона Рейнолда (John Reynold) использовали большинство ключевых концептов Лэндина включая мощные операции передачи управления. Оба эти языка использовали динамическую типизацию. ML Милнера (Milner) можно считать эквивалентным ISWIM без оператора «J», но с выведением типов. Другая линия продолжателей ISWIM избавилась от императивных особенностей (присваивания и «J») приводя, таким образом, к развитию чисто функциональных языков, впоследствии с переключением на ленивые вычисления. Этим путём пошли SASL, Miranda и Haskell. ISWIM ISWIM — абстрактный язык программирования (или семейство языков программирования) описанный Питером Лэндином (Peter J. Landin) в его статье «Следующие 700 языков программирования» («The Next 700 Programming Languages»), которая была опубликована в «the Communications of the ACM» в 1966 году. ISWIM расшифровывается как «If you See What I Mean» («Если вы понимаете, о чем я.»). Несмотря на то, что реализаций языка, как таковых, не существует, он довольно сильно повлиял на развитие других языков программирования, а именно таких функциональных языков, как SASL, Miranda, ML, Haskell. ISWIM — императивный язык с функциональным ядром (λ-исчисление с синтаксическим сахаром, для использования изменяемого состояния, присваивания и мощного механизма управления — оператора Лэндина «J», позволяющего захватывать текущее продолжение (call/cc оператор из Scheme — всего лишь упрощенная версия оператора «J»)). Благодаря λ-исчислению, в ISWIM есть функции высшего порядка и переменные с лексической областью видимости. Операционная семантика ISWIM определяется SECD (Stack, Environment, Code, Dump) машиной Лэндина и использует вызов по значению, то есть строгое вычисление. Код на ISWIM должен был выглядеть наиболее похожим на математическую нотацию, вследствие чего Лэндин убрал точку с запятой между утверждениями и блоки begin-end типичные для ALGOL и заменил их областью видимости зависимой от выравнивания. Особенной чертой в нотации ISWIM является использование where предложений. Программа на ISWIM — это единственное выражение, ограниченное утверждениями where (вспомогательные определения, включающие в себя отношения между переменными), условными выражениями и определениями функций. ISWIM (вместе с CPL) — первый язык, использующий where. Примечательной семантической чертой была возможность определять новые типы данных, как (потенциально рекурсивную) сумму произведений; для этого использовалось ёмкое описание, довольно сходное с естественными языками, по сути равное алгебраическим типам данных в современных функциональных языках. Переменные ISWIM не имели явных объявлений типа, это даёт основание считать (хоть и точно не указано в статье), что Лэндин планировал язык с динамической типизацией, как LISP, а не ALGOL; также возможно было развитие некоторой формы выведения типов. Как уже упоминалось, ISWIM не имеет прямых реализаций, хотя PAL Арта Эвана (Art Evan) и Gedanken Джона Рейнолда (John Reynold) использовали большинство ключевых концептов Лэндина включая мощные операции передачи управления. Оба эти языка использовали динамическую типизацию. ML Милнера (Milner) можно считать эквивалентным ISWIM без оператора «J», но с выведением типов. Другая линия продолжателей ISWIM избавилась от императивных особенностей (присваивания и «J») приводя, таким образом, к развитию чисто функциональных языков, впоследствии с переключением на ленивые вычисления. Этим путём пошли SASL, Miranda и Haskell. ISWIM
Характеристики
Название технологии ISWIM
Вид технолгии Кратко Компетенция программиста
ЯЗЫК, технология, библиотека, программа или навык Программист ISWIM
Описание ISWIM — абстрактный язык программирования (или семейство языков программирования) описанный Питером Лэндином (Peter J. Landin) в его статье «Следующие 700 языков программирования» («The Next 700 Programming Languages»), которая была опубликована в «the Communications of the ACM» в 1966 году. ISWIM расшифровывается как «If you See What I Mean» («Если вы понимаете, о чем я.»). Несмотря на то, что реализаций языка, как таковых, не существует, он довольно сильно повлиял на развитие других языков программирования, а именно таких функциональных языков, как SASL, Miranda, ML, Haskell. ISWIM — императивный язык с функциональным ядром (λ-исчисление с синтаксическим сахаром, для использования изменяемого состояния, присваивания и мощного механизма управления — оператора Лэндина «J», позволяющего захватывать текущее продолжение (call/cc оператор из Scheme — всего лишь упрощенная версия оператора «J»)). Благодаря λ-исчислению, в ISWIM есть функции высшего порядка и переменные с лексической областью видимости. Операционная семантика ISWIM определяется SECD (Stack, Environment, Code, Dump) машиной Лэндина и использует вызов по значению, то есть строгое вычисление. Код на ISWIM должен был выглядеть наиболее похожим на математическую нотацию, вследствие чего Лэндин убрал точку с запятой между утверждениями и блоки begin-end типичные для ALGOL и заменил их областью видимости зависимой от выравнивания. Особенной чертой в нотации ISWIM является использование where предложений. Программа на ISWIM — это единственное выражение, ограниченное утверждениями where (вспомогательные определения, включающие в себя отношения между переменными), условными выражениями и определениями функций. ISWIM (вместе с CPL) — первый язык, использующий where. Примечательной семантической чертой была возможность определять новые типы данных, как (потенциально рекурсивную) сумму произведений; для этого использовалось ёмкое описание, довольно сходное с естественными языками, по сути равное алгебраическим типам данных в современных функциональных языках. Переменные ISWIM не имели явных объявлений типа, это даёт основание считать (хоть и точно не указано в статье), что Лэндин планировал язык с динамической типизацией, как LISP, а не ALGOL; также возможно было развитие некоторой формы выведения типов. Как уже упоминалось, ISWIM не имеет прямых реализаций, хотя PAL Арта Эвана (Art Evan) и Gedanken Джона Рейнолда (John Reynold) использовали большинство ключевых концептов Лэндина включая мощные операции передачи управления. Оба эти языка использовали динамическую типизацию. ML Милнера (Milner) можно считать эквивалентным ISWIM без оператора «J», но с выведением типов. Другая линия продолжателей ISWIM избавилась от императивных особенностей (присваивания и «J») приводя, таким образом, к развитию чисто функциональных языков, впоследствии с переключением на ленивые вычисления. Этим путём пошли SASL, Miranda и Haskell.
Сочетания для поиска в 2015 ISWIM
СУММАРНЫЙ БАЛ 12
СУММАРНЫЙ БАЛ 12
http://hh.ru (Россия) 20140124 (ВНазванииСпециальности) 0
http://hh.ru (Россия) 20140124 12
Процент программистов из общего количества программистов требующихся на рынке, которые должны владеть этой компитенцией (относительно программисто только. Сис админи, дизайнеры, весрстальщики для сравнения тоже с программистами сравниваются) 0,09%
Номер по порядку 473
Суммарно раститровка по технологий для баллов >>>>>>>>>>>0>12>0,09%

← Назад в раздел