LINUX.ORG.RU

50 лет языку LISP

 , mccarthy,


1

0

Сегодня знаменательная дата, старейшему после фортрана языку программирования исполнилось 50 лет. Несмотря на столь почтенный для языка программирования возраст, он до сих пор активно развивается, используется в новых проектах и десятилетиями использует концепции, которые в новых языках стали появляться только недавно. Кое-кто считает даже, что когда все остальные языки канут в небытие, LISP останется, потому что это единственный язык, про который можно сказать, что он не придуман, а математически вычислен Джоном Маккарти.

>>> Подробности

anonymous

Проверено: Shaman007 ()

> до сих пор активно развивается

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

anonymous
()

(defun birthday (old)
(interactive)
    (if (= old 50)
        (message "Happy birthday to you! You please us %d years." old)
      (message "%s Not anniversary, but too it's good... Wait 100 anniversaries =))" old)))

kfv
()

Ура! Лисп наше всё!!!

anonymous
()
Ответ на: комментарий от kfv

> (message "%s Not anniversary, but too it's good... Wait 100 anniversaries =))" old)))

что-то слабовато... да и императивная парадигма какая-то

angel_eyes
()

In LISP we trust!

anonymous
()
Ответ на: комментарий от anonymous

> Re: 50 лет языку LISP Lisp - это не только CL. Это еще и Scheme, и все эти новые Arc, Closure, NewLisp (и ещё десятки никому не нужных проектов).

fixed

Промышленно применять можно только CL, о нем и говорим.

anonymous
()
Ответ на: комментарий от anonymous

> Промышленно применять можно только CL, о нем и говорим.

Scheme очень даже промышленно применяется. Всякие самодельные-доморощенные встраиваемые диалекты (вроде того же AutoLisp и elisp) так же растут в немерянных количествах, и конкретно для своих родных проектов они коненчо же представляют ценность. Да, да, я согласен, что лучше бы во всех таких случаях применяли какой либо стандартный Лисп, но факта это не отменяет.

anonymous
()
Ответ на: комментарий от anonymous

> Промышленно применять можно только CL, о нем и говорим.

"Промышленно" Вы сможете применять _только_ одну выбранную вами реализацию CL, ибо в противном случае огребёте ворох проблем "непромышленного" характера =) - так что сужайте область до возможной к применению для ваших условий.

И таки схемы тоже активно применяются.

И ещё есть (был?) лисп в автокаде.

Это если не вспоминать Гринспуна :D

Но если в вашем сознании (EQ lisp CL) - что-ж, вы ещё многому можете научиться ;)

yyk ★★★★★
()
Ответ на: комментарий от anonymous

> Да, да, я согласен, что лучше бы во всех таких случаях применяли какой либо стандартный Лисп...

Для этого надо профинансировать "бразильский сериал" "выработка и принятие стандарта CL-II" :)

yyk ★★★★★
()

Столман бох =) LISP форэва

anonymous
()

Не удивлюсь, если эта новость написана искусственным интеллектом, написанным на Лиспе.

Byron
()

По ссылке http://www.lisp50.org/ отметились IBM в качестве спонсора и Sun в лице Guy Steele в качестве участника.

А вообще практически одни "амеры"... :\

yyk ★★★★★
()

Да, вот раньше языки делали. Не то что нынче. Да здравствуют Лисп и Фортран, долгих лет и процветания! :)

V_P
()

Лисп для написания головоломок подходит превосходно! Но сам не заметил, как каКнул в это небытие. А уж что останется 100%, так это C (или Objective-C). Может и C# выживет, но уж точно не с такой помоечной библиотекой и архитектурой.

matumba ★★★★★
()
Ответ на: комментарий от anonymous

> Ну, я бы поставил на Схему.

Треды/потоки, full unicode, name space, библиотеки, полная поддержка 6-го стандарта, мультиплатформенность, генерация натива, причём и для библиотек тоже, с приемлемой оптимизацией выходного кода (это я к тому что ECL меня не устраивает в плане скорости)? (Про лицензию даже и не вспоминаю) - уже есть? Давно не интересовался...

yyk ★★★★★
()
Ответ на: комментарий от matumba

А вот и быдло привалило. Пока, быдло, гуляй мимо.

anonymous
()
Ответ на: комментарий от yyk

R6RS - и потоки, и юникод, и модули с неймспейсами.

anonymous
()
Ответ на: комментарий от matumba

L-3 Communications at the Air Force Research Laboratory in Mesa, AZ is currently looking for help building a text-to-speech (TTS) speech synthesis system based on the Festival Architecture. They list both LISP and Scheme as their top preference for programming languages.

Если я не ошибаюсь, амерские военные за все это время, сертифицировали только 2 языка - лисп и аду.

Sun-ch
()
Ответ на: комментарий от Sectoid

А вам лишь бы повод что бы выпить!

И тем не менее - поздравляю всех пишущих профессионально и любительски на этом языке =)

Elvalery
()

такой тред, и почти без троллей :) по сабжу - поздравления лисперам ;)

jtootf ★★★★★
()
Ответ на: комментарий от yyk

>Для этого надо профинансировать "бразильский сериал" "выработка и принятие стандарта CL-II" :)

И с существующим стандартом можно делать дела. Было бы желание. То есть я даже как-то странно говорю. С существующим стандартом только и нужно делать дела. CL-II невозможен без этого. Когда стандарт был принят, были заинтересованные игроки: Symbolics, Xerox, Texas Instruments и т. д., были реальные крупные разработки у них и очень широкое использование. А сейчас кто заинтересован? Финансирование, как мне видится, тут второстепенно. Просто тем, кто реально заинтересован в развитии, надо создавать кодовую базу на том, что есть. Как только вовлеченность сообщества в CL начнет расти, то возможность обсуждания CL-II, появления комитета по стандартизации станет реальным. А пока что аргументов у лисперов в пользу возвращения CL в русло стандартизации не больше, чем у brainfuck. Наличие стандарта ANSI -- это уже большое добро. Отлично, что он есть.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

> Просто тем, кто реально заинтересован в развитии, надо создавать кодовую базу на том, что есть.

Заинтересован в развитии чего?

Из открытого всё хоть в чём-то да не доделано... :(

Никто и не говорит о необходимости разрабатывать вторую версию стандарта сейчас - это нереально. Но без него получается фактически "писанина" на одной реализации, ибо в стандарте сейчас далеко не всё из повседневно используемого, а многие "унифицирующие" библиотеки вносят дополнительный оверхед, не идеальны и проч. и проч.

> Как только вовлеченность сообщества в CL начнет расти, то возможность обсуждания CL-II, появления комитета по стандартизации станет реальным.

Мне кажется что даже если когда-нибудь и будет принят CL-II, то он будет отличаться от первого как ламповый приёмник от одной специализированной микросхемы. А в противном случае - да, он не нужен.

yyk ★★★★★
()

Правильно Реймонд заметил, что хороший программер должен знать Лисп, даже если и ничего на нём не будет писать в своей проф. карьере. Лисп - такая же математика, как и SQL(не реляционная алгебра конечно, но - в смысле невозможности писать, рефакторизовывать и поддерживать огромные куски многими людьми). Человеческое сознание дискретно и ограничено, средний чел держит в голове в среднем 7 объектов и этот кеш почему-то не развивается в процессе эволюции. Человеки пишут на процедуральных языках, лисп - для богов.

Да, красивее было-бы написать все операции над множествами - на SQL (и ленивее - пусть оптимайзер парится с порядком джойнов - ему виднее), но после страницы-двух перемешенных джойнов, сабзапросов и повторения одних и тех-же кусков - вы гораздо быстрее напишете то-же - но с курсорами, как хранимая процедура, процедурально. И это гораздо быстрее для человека - манипулировать винтиками, чем реляционной алгеброй. Потом оптимайзер БД, как и мусоросборщик - не боги! Для простых запросов (менее страницы) - SQL, однозначно, как и лисп - для простых функций (ну и академии и преподавания, конечно). ИМХО.

anonymous
()
Ответ на: комментарий от Zubok

> И с существующим стандартом можно делать дела. Было бы желание.

Желания как раз таки и нет. Отсутствие статической типизации, просто отбивает всякое желание что-нибудь делать на нем, при условии что есть активно (не как лисп, а действительно активно) развивающиеся альтернативы, имеющие одну-две неплохие реализации, вместо вагона калек, статическую типизацию, все современные современные и не очень наработки.

anonymous
()
Ответ на: комментарий от anonymous

можно сказать даже больше. Процедуральное программирование - вызов богам. Да, я орудую скальпелем (С например), но я могу написать надёжную прогу, и знаю как написать её эффективно, знаю где у алгоритма узкое место. Потом есть профайлеры. А человек ленивый - пытается скинуть ответственность на оптимайзер, виртуальную машину, rule-engine. Проблема в том, что последние писали тоже не боги, а люди. А любая фреймвок имеет оверхед. Вот и живём в мире - где всё тормозит, потому-что люди не полностью контролируют среды исполнения своих программ. Ещё один аргумент против лиспа как универсального языка: математика аналитическая и прикладное вычисление функций численными методами. Никто и не говорит что аналитика отстой - если можно просчитать любую функцию до любой точности. Просто подход программиста - винтики, итерации (для написания функции), подход математика - формулы и лисп (для понимания и обучения).

anonymous
()
Ответ на: комментарий от anonymous

> Человеческое сознание дискретно и ограничено, средний чел держит в голове в среднем 7 объектов и этот кеш почему-то не развивается в процессе эволюции

Именно по этой причине и нужны языки с высокой степенью абстракции. Такие, как Лисп.

> Человеки пишут на процедуральных языках, лисп - для богов

Я что, бог? Мне писать на Лиспе проще, чем на каком либо питоне.

> как и лисп - для простых функций

Преимущества Лиспа проявляются как раз таки только на больших задачах. Там, где есть смысл в разработке DSLей. В общем, Лиспа ты просто не понял...

anonymous
()
Ответ на: комментарий от anonymous

> Преимущества Лиспа проявляются как раз таки только на больших задачах. Там, где есть смысл в разработке DSLей. В общем, Лиспа ты просто не понял...

Ок, опишите свой большой проект. Или это просто теория?

anonymous
()
Ответ на: комментарий от anonymous

Чувак ты удивишься, в лиспе тоже есть профайлеры, а коммерческие компиляторы генерят бинарный код такой же быстрый как и С.

Sun-ch
()
Ответ на: комментарий от anonymous

Про свои задачи не буду, укажу лучше на известные и крупные: та же неоднократно тут упоминавшаяся Maxima, например. Очень типичный пример заточенного сугубо под задачу DSL. Лиспа там ровно столько, сколько надо для реализации DSL, всё остальное реализовано уже на нём.

anonymous
()
Ответ на: комментарий от anonymous

Deep Space 1 launched from Cape Canaveral on October 24, 1998. During a highly successful primary mission, it tested 12 advanced, high-risk technologies in space. In an extremely successful extended mission, it encountered Comet Borrelly and returned the best images and other science data ever from a comet. During its fully successful hyperextended mission, it conducted further technology tests. The spacecraft was retired on December 18, 2001.

Sun-ch
()
Ответ на: комментарий от anonymous

> Ещё один аргумент против лиспа как универсального языка: математика аналитическая и прикладное вычисление функций численными методами.

Лисп идеально подходит как раз для оптимизации численного алгоритма аналитическими методами и генерации оптимального кода (хоть даже и на ассемблере, если не на Фортране) из него для дальнейших численных рассчётов. Ты мыслишь слишком плоско, не видишь таких очевидных и простых возможностей.

anonymous
()
Ответ на: комментарий от Sun-ch

Remote Agent, developed at NASA Ames Research Center and JPL, was the first artificial intelligence control system to control a spacecraft without human supervision. Remote Agent successfully demonstrated the ability to plan onboard activities and correctly diagnose and respond to simulated faults in spacecraft components.

Remote Agent written in Common Lisp.

http://en.wikipedia.org/wiki/Deep_Space_1

Sun-ch
()
Ответ на: комментарий от anonymous

> Отсутствие статической типизации, просто отбивает всякое желание что-нибудь делать на нем

Слабак. Настоящие мужчины не боятся динамической типизации!

> развивающиеся альтернативы

Назови хоть одну. С аналогом (defmacro ...), обязательно.

anonymous
()
Ответ на: комментарий от anonymous

Как там с автоматическим распараллеливанием? Никак? Что? Даже и с мануальным все плохо?

anonymous
()

Уря!.

З.Ы. А где метки "Слава роботам", "зе матрикс хаз ю"?

marsijanin ★★
()
Ответ на: комментарий от anonymous

> Слабак. Настоящие мужчины не боятся динамической типизации!

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

> Назови хоть одну. С аналогом (defmacro ...), обязательно.

Template Haskell, допустим. Не так они часто и нужны, эти ваши DSL.

anonymous
()
Ответ на: комментарий от anonymous

Повторю - ты плоско мыслишь (очевидно, IQ низкий очень). Прочитай то, на что ты отвечаешь, ещё пять раз (или больше - пока не поймешь). При таком подходе можно автоматически распараллеливать что угодно и как угодно. Но, боюсь, тебе не хватит интеллекта понять смысл вышенаписанного.

anonymous
()
Ответ на: комментарий от anonymous

> Настоящие мужчины занимаются делом, а не отлавливают ошибки, которые может выловить компилятор.

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

> Template Haskell, допустим.

Допустим, оно не очень-то применимо на практике.

> Не так они часто и нужны, эти ваши DSL.

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

anonymous
()
Ответ на: комментарий от anonymous

> При таком подходе можно автоматически распараллеливать что угодно и как угодно.

Теоретически или есть какие то практические наработки?

> Но, боюсь, тебе не хватит интеллекта понять смысл вышенаписанного.

Боюсь что тебе не хватит интеллекта понять то, что напел тебе Рабинович -- полная теоретическая .уйня.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.