LINUX.ORG.RU
ФорумTalks

Закапывателям лиспа

 


1

7

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

Краткая и неполная хроника лопатных походов на Lisp:

Время: 70-е - 80-е года прошлого века
Закапывающие: C
Итог: 
C: с боями выбил себе нишу низкоуровневого программирования и окуклился.
Lisp: потеряны Lisp-машины, сообщество объединилось под знаменем Common Lisp.
Время: конец 80-х - 90-е года прошлого века
Закапывающие: C++
Итог: 
C++: превратился в мумифицированный труп, изредка гальванизируемый для выжимания чуть большей производительности.
Lisp: ничего не заметил.
Время: начало 90-х
Закапывающие: Dylan
Итог: 
Dylan: породил несколько личинок, забыт.
Lisp: счел Dylan отличной шуткой.
Время: конец 90-х - начало 00-х
Закапывающие: Java
Итог: 
Java: до сих пор стучится лбом в хитиновый панцирь.
Lisp: урча и пожмякивая вобрал в себя виртуальные машины.
Время: начало-середина 2000-х
Закапывающие: личинки Dylan (Python, Ruby) и примкнувший к ним PERL
Итог: PERL выкинут на свалку истории, Python и Ruby выгнаны ссаными тряпками в веб.
Lisp: показательно проигнорировал недоязычки.
Время: 2000-е - 2010-е
Закапывающие: Caml, Haskell
Итог: 
Закапывающие: держатся впереди за счет бурной активности не испорченных адекватностью прозелитов.
Lisp: гонится за незадачливыми закопщиками, с громоподобным "ОМ НОМ НОМ НОМ" вбирая в себя их идеи. 

Источник: http://repl-stories.blogspot.com/2012/05/blog-post.html

Перемещено post-factum из development

★★★★★

Последнее исправление: ymn (всего исправлений: 1)

Ответ на: комментарий от AIv

Да есть уже у нас… creat вон функция, сэкономили.

// Я в курсе, что ты не об этом :}

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

а потом открываешь исходники STL

Ты всё ещё принимаешь си++?
И да, хаскель всё равно лаконичнее.
---
Кстати, никто не заметил, что хотя операция * может быть много чем, разные по типу объекты в математике обозначаются по разному?
И что математики не пишут листинги с 1001 переменной.

quantum-troll ★★★★★
()
Ответ на: комментарий от moscwich

речь о нотации которая привычна ибо вся непревычность ея была сглажена в начальной(средней) школе когда дети послушны Учителю

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

где гарантия(без заглядывания в реализацию) что это имено умножение матриц как определено в линейке ,а не какая иная мультипликативная операция ???

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

бери выше :

-2000 ano domini - Мейнстрим: свобные люди египта за пивасик во время межсезонья(читай когда нил в разливе и скучно) билдят пирамиды главному жрецу

Лисперы: ну ты понел

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

речь о нотации которая привычна ибо вся непревычность ея была сглажена в начальной(средней) школе когда дети послушны Учителю

Мне такая запись вполне привычна, подумаешь - скобки опустили.
Я вполне на математике могу написать α + (-β) = ...

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

ээээ компилЯтор это как чекает?

или мы «мамой клянусь» самим фактом перегрузки какбы говорим а вот тут подобие масивчиков ибо [] , а вот тут подобие функции(процедуры) ибо ()

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

о том и речь учили бы в школе лисповую нотацию (при иной исторической зогагулине в развитии математики например) и былобы вышеподискусии тому челу логично префиксное , а не инфиксное .

пишем же числа старшие сначала ( и читаем с детства числа так) при том что складываем с младших  — спасибо арабам.

qulinxao ★★☆
()
Ответ на: комментарий от quantum-troll

математическа запись тяготет к тем нормам записям которыми пользуются открыватели нового . - не на каждого Максвела Хевисайд найдётся.

qulinxao ★★☆
()
Ответ на: комментарий от quantum-troll

речь о Степанове и его стиле программирования - вполне себе заслуженый хаскелист.

ты курни универсальную функцию от 26 букв латыни ок?

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

В математике стандартно для обозначения суммы используется инфиксная запись:

\Sigma_{i=0}^N ...

А вы и дальше сидите со своей арифметикой уровня «2+2».

ugoday ★★★★★
()

Выше уже пошутили про Неуловимого Джо. Осталость только согласиться.

malices_gossips ★★★
()

Про лисп слышал мало, но про умерщвление C/C++ и Java враньё.

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

Документация - это нормальное явление в среде нормальных людей. В ней нормальные люди описывают API, данные и приводят как можно более полный список возможных usecaseов

Есть полудокументация, например доки от яблочников. Юзкейсов там не приводится, поскольку «мыэлита» и «работать в нашем банке большая честь».

И язык тут совершенно нипричем.

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

ckotinko ☆☆☆
()
Ответ на: комментарий от ugoday

А вы и дальше сидите со своей арифметикой уровня «2+2».

А под суммой у Вас тоже тока суммы да П cтоят, и ни одной операции? Да, я пожалуй тогда посижу в сторонке, такая быдломатематика не для меня.

AIv ★★★★★
()
Ответ на: комментарий от quantum-troll

Ты всё ещё принимаешь си++?

При правильном использовании оно позволяет выжимать из машины все.

Кстати, никто не заметил, что хотя операция * может быть много чем, разные по типу объекты в математике обозначаются по разному?

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

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

В математике все таки 2+2 (и в подавляющем большинстве ЯП тоже), и это гораздо естественней для ествственнонаучного сотрудника. КОнечно, человек не блоха и ко всему привыкнуть может...

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

В математике все таки 2+2

Опять таки, при чём тут лисп?

и в подавляющем большинстве ЯП тоже

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

гораздо естественней для ествственнонаучного сотрудника

При чём тут «ествственнонаучные сотрудники»? Пусть «ествственнонаукой» занимаются.

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

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

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

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

Например алгебраические выражения из питона в С и обратно можно тупо копипастить (если не изгалятся с floordiv и степенями). Да, различия конечно есть... но не такие кардинальные как с лиспом.

Когда приходится постоянно писать на разных языках проще когда эти языки сильно различаются, а то постоянно путаешь конструкции.

Нифига. Я наоборот эпизидически пытаюсь втыкать питонячьи циклы и условия в С++, так что это все индивидуально.

При чём тут «ествственнонаучные сотрудники»? Пусть «ествственнонаукой» занимаются.

Ниче, что у меня наука это больше чем на 50% программирование?

AIv ★★★★★
()

Скучные сообщения.

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

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

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

Например алгебраические выражения из питона в С и обратно
можно тупо копипастить

Ну, 2 + 2 можно. И чё?

Ниче, что у меня наука это больше чем на 50% программирование?

Казалось бы, при чём здесь ты?

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

документация юзкейсами не гарантирует отсутствие нетривиальностей в использовании так документированного кода.

кто тут ругает язык?

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

Казалось бы, при чём здесь ты?

Ок, я вообще тут не причем.

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

Префиксная нотация имени Лиспа как ни странно с этим справляется без кодирования и прочих спецсредств.

И да, деление - дорогая операция, и ее надо по возможности заменять умножением.

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

Для уточнения, я писал не вычислительные задачи а символьные преобразования.

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

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

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

Для числодробилок это существенно. И это тоже отдельная наука, как закодить схему так, что бы она считалась быстро.

Забавно, Лисп вроде вышел из академической среды... как вышел, так и не вернулся. Апологеты лиспа теперь говорят что типа научные сотрудники непричем (т.е. им оно не надо - ну так и есть видимо). Ну так и отсальные 99% видать тоже непричем... и о чем тогда разговор?

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

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

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

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

Интересная логика, программа на лиспе может понимать ввод только в лисповой нотации?

типа научные сотрудники непричем
Ну так и отсальные 99% видать тоже непричем...

Мне вот давно интересно, почему «ествственнонаучные сотрудники» никогда не удосуживаются демонстрировать способ логического вывода одного утверждения из другого? Какие-либо логические связи в утверждениях у «ествственнонаучных сотрудников» прослеживаться должны? Или одного того факта, что они «ествственнонаучные» уже достаточно?

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

довольно таки странно будет вводить числ схему в лисповой нотации.

Я не предлагал. Просто забавно видеть утверждения что в лиспе «2 +2» неправильные.

А можно посмотреть как у вас записывается относительно сложная формула? Или у вас стандартная мат. запись?

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

Мне вот давно интересно, почему «ествственнонаучные сотрудники» никогда не удосуживаются демонстрировать способ логического вывода одного утверждения из другого?

А мне вот еще более интересно. откуда взялась ЛОР-овская манера не говорить по существу, а пытаться опустить собеседника и поднять ЧСВ? Мне ультрафиолетово, но с т.з. убеждения оппонента в своей правоте это наихудший из всех возможных подходов.

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

откуда взялась ЛОР-овская манера не говорить по существу,
а пытаться опустить собеседника и поднять ЧСВ?

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

с т.з. убеждения оппонента в своей правоте это наихудший
из всех возможных подходов.

Я вовсе не стараюсь вас убедить. Просто указываются на нелепость ссылок на «ествственнонаучных сотрудников».

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

Просто забавно видеть утверждения что в лиспе «2 +2» неправильные.

Я лисп видел только в конфигах емакса. И мне не понравилось. Конечно, там всяких DSL можно кучу наплодить... но скажем питон тем и хорош, что просто пишешь код на питоне. Не нажо учить новый ЯП (средств питона хватает), просто пишешь схему.... можно юзать тот же питон для оптимизации ее задания.

А можно посмотреть как у вас записывается относительно сложная формула? Или у вас стандартная мат. запись?

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

mk_vars( 'Ex Ey Ez', 'компоненты электрического поля')
mk_vars( 'Hx Hy Hz', 'компоненты магнитного поля' )
mk_steps('dt dx dy dz')
mk_vars( 'c', 'скорость света' )
mk_vars( 'varepsilon', 'диэлектрическая проницаемость' )
mk_vars( 'mu', 'магнитная проницаемость' )


Ex(0,.5,.5)[.5] = Ex(0,.5,.5)[-.5] + varepsilon*dt//(c*dy)*( Hz(0,1,.5)[0]-Hz(0,0,.5)[0] ) + varepsilon*dt//(c*dz)*( Hy(0,.5,0)[0]-Hy(0,.5,1)[0] )
cyclicShift( Ex(0,.5,.5)[.5], xyz='E%s H%s d%s' )
cyclicShift( Ey(.5,0,.5)[.5], xyz='E%s H%s d%s' )

Hx(.5,0,0)[1] = Hx(.5,0,0)[0] + mu*dt//(c*dz)*( Ey(.5,0,.5)[.5]-Ey(.5,0,-.5)[.5] ) + mu*dt//(c*dy)*( Ez(.5,-.5,0)[.5]-Ez(.5,.5,0)[.5] )
cyclicShift( Hx(.5,0,0)[1], xyz='E%s H%s d%s' )
cyclicShift( Hy(0,.5,0)[1], xyz='E%s H%s d%s' )

Это метод FDTD для у-й Максвелла.

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

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

А вот это Вам показалось, не надо перергивать. Я лишь хотел сказать, что для наших задач крайне важна естетсвенность (привычность) кодирования сложных выражений.

Я вовсе не стараюсь вас убедить

Тогда зачем Вы все это пишете?

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

Да, я знаю. Как изобрели эсперанто, который архиудобен, но никто не хочет его учить, так и с лиспом.

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

lisp как был не нужен, так и остался

Безусловно. Но есть люди, которым нравится на нём писать и которым он помогает решать стоящие перед ними задачи. Вот конкретно им он то и нужен. А вообще, конечно, не нужен. «Вообще» ничего не нужно. Я помню у меня был культурный шок, когда из Gentoo выпилили Ion3: провели голосование и удалил, ибо большинство решило «не нужен». Если провести голосование, то окажется, что «Python не нужен», «С++ не нужен», «PHP не нужен» ну и т.д.

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

Ну да, все мнения субъективны. Я скажу своё - на C++ видел кучу проектов, и работаю сейчас над весьма крупным (причём под Линукс). А на лисп не видел ни проектов, ни вакансий.

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

Паскаль тоже остался.

Разумеется. Никто и не спорит. Кому действительно необходимо, используют паскаль. Другие тоже по необходимости используют лисп. Да и вообще «нужность/ненужность» понятия крайне субъективные.

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

mk_vars( 'Ex Ey Ez', 'компоненты электрического поля')

Ыыы... если это то, о чем я подумал, СДЕЛАЙТЕ МЕНЯ РАЗВИДЕТЬ ЭТО!!111

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

Это нормальное питонячье читерство;-) Можно писать традиционно, но уж больно многобукв получается.

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