Что мы потеряли?
От: Mamut Швеция http://dmitriid.com
Дата: 24.08.06 07:06
Оценка: 41 (10) +1 :)
Вытянуто с comp.lang.erlang.general

Для нетерпеливых — вопрос находится в самом конце этой цитаты

(перевод мой)

К сожалению, я не смог стать частью "поколения Lisp" — весь мой опыт с этим языком заключается в в том, что я заставил свой emacs работать так, как мне надо. До сих пор Lisp для меня — величайшая тайна. Мне удалось раздобыть выкинутую кем-то книгу по Лиспу, написанную в 1982 году Уинстоном и Хорном (Winston and Horn). Что приводит меня в изумление — это те типы проблем, которые решались в конце 70-х. Из оглавения [1]:

Глава 18: Lisp in Lisp (Building an interpreter)
      24: Symbolic pattern matching
      26: Rule based expert systems and forward chaining
      30: Procedure writing programs

и т.д.

Что меня волнует, так это то, что "старые" языки могли выполнять задачи, которые (как мне кажется) сложны или вообще невыполнимы в современных языках. Как так произошло, что все эти Java и C# потеряли все эти возможности, а называются "современными"?

Я заметил одну ОЧЕНЬ беспокоящую тенденцию в мире Java (к сожалению, одной ногой я глубоко увяз в грязном мире консультаций по Websphere). Такое впечатление, что люди обнаружили, что они могут модифицировать свой код не изнутри, а снаружи. Так, теперь можно написать кучу маленьких файлов XML, которые описывают поведения или что-то похожее. Эти файлы могут выглядеть вот так (взято с http://static.springframework.org/spring-webflow/docs/1.0-rc3/reference/flow-definition.html#flow-xml — из очень популярного фреймворка Spring для J2EE) :
    <flow start-state="displaySearchForm">
        <view-state id="displaySearchForm" view="searchForm">
            <transition on="submit" to="processFormSubmission"/>
            <transition on="cancel" to="processCancellation"/>
        </view-state>

        ...
    </flow>

(Этот код описывает порядок выполнения (flow) веб-страницы, передающей куда-то данные). Проблема заключается в том, что XML *внешний* по отношению к коду, который на самом деле что-то выполняет, и не зависит от него. Но для меня это проблема, потому что код, отвечающий за выполнение, настолько тесно связан с этим кодом, что они на самом деле неразделимы. (Выше у вас может быть описана форма, содержащая три поля, и поэтому отправляющий код должен понимать эти три поля). Таким образом, для того, чтобы изменить поведение страницы, вам необходимо создать код, понимающий такое поведение... Поэтому поведение связано, *тесно* связано, с кодом, отвечающим за него. Не забывайте, что XML не компилируется и никак не проверяется, кроме как на правильность структуры, и могущие возникнуть проблемы нельзя никак определить до тех пор, пока вы его не протестируете или не развернете на сайте. В прошлом названия из кода выше были бы классами или экземплярами класса и компилятор мог бы сразу обнаружить ошибку. Теперь они потеряли эту немаловажную возможность.

Кажется, что им удалось изобрести новый скриптовый язык поверх Java, который на самом деле имитирует то, что у нас уже было лет десять тому назад в ASP/JSP/VB, но имимтирует намного хуже, потому что XML — это не язык, а структура данных...

Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?




[1] Я не имею ни малейшего представления, как перевести некоторые из этих терминов, поэтому оставил их, как есть.
... << RSDN@Home 1.2.0 alpha rev. 655>>


dmitriid.comGitHubLinkedIn
Re: Что мы потеряли?
От: DrDred Россия  
Дата: 24.08.06 08:56
Оценка: +5
Здравствуйте, Mamut, Вы писали:

M>Вытянуто с comp.lang.erlang.general


M>Для нетерпеливых — вопрос находится в самом конце этой цитаты


M>(перевод мой)

M>

M>К сожалению, я не смог стать частью "поколения Lisp" — весь мой опыт с этим языком заключается в в том, что я заставил свой emacs работать так, как мне надо. До сих пор Lisp для меня — величайшая тайна. Мне удалось раздобыть выкинутую кем-то книгу по Лиспу, написанную в 1982 году Уинстоном и Хорном (Winston and Horn). Что приводит меня в изумление — это те типы проблем, которые решались в конце 70-х. Из оглавения [1]:
M>

M>Глава 18: Lisp in Lisp (Building an interpreter)
M>      24: Symbolic pattern matching
M>      26: Rule based expert systems and forward chaining
M>      30: Procedure writing programs
M>

M>и т.д.

M>Что меня волнует, так это то, что "старые" языки могли выполнять задачи, которые (как мне кажется) сложны или вообще невыполнимы в современных языках. Как так произошло, что все эти Java и C# потеряли все эти возможности, а называются "современными"?

<skipped>

M>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


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

Я поскипал размышления насчет Java и XML, потому что это имхо предмет для отдельного обсуждения...
--
WBR, Alexander
Re: Что мы потеряли?
От: Master Yoda Великобритания  
Дата: 24.08.06 09:15
Оценка: :)
Здравствуйте, Mamut, Вы писали:

M>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


А разве коммерческий софт когда-то разрабатывался всерьез на Lisp-е или Smalltalk-е? Имхо если такое и было (я еще не так много живу, могу чего и не знать ), то просто люди очень быстро поняли, что эти языки плохо для этого подходят. С какой стати кому-то в повседневной работе может понадобиться написание интерпретатора языка или какие-то экспертные системы. Для каждой задачи свой инструмент, и пусть Lisp и Smalltalk используются там где это хоть как-то оправдано.

И потом, кто сказал, что в "этих" (Java, C# etc.) языках заново изобретаются возможности, существовавшие в "древних" языках? Единственное серьезное новшество в этих языках, появившееся не сразу — это дженерики (кстати и шаблоны появились в C++ с небольшим запозданием).

И последнее:

C#/Java - C++/Delphi = сборка мусора, меньше акцента на производительность, больше на надежность и "управляемость"


Вот эти два фактора по правую сторону от знака равенства и есть, то что требовалось современной индустрии разработки софта и что явилось одной из причин их появления. Мощь Lisp-а имхо просто не нужна.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.08.06 09:28
Оценка: 186 (25) +2 -1
Здравствуйте, Mamut

M>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


Элитарность.

Попробую объяснить свою мысль, но сильно не пинайте, если получится не складно. Имхо, для достижения успеха в чем-то нужно приложить усилия + нужно иметь способности. Как говорится, гений -- это 10% таланта + 90% труда. Но сейчас важно сосредоточится именно на способностях. Точнее даже на складе ума. Для разных областей деятельности нужны разные способности. Именно поэтому кто-то становится врачем, кто-то математиком, кто-то программистом. Здесь нельзя сравнивать уровень интеллекта (умность). Врач может быть по жизни более умным, чем программист, но, тем не менее, абсолютно не понимать, как можно запрограммировать рисование окружности на экране. Он просто думает по другому, у него нет способностей к этому.

Я вспоминаю, как на занятиях по мат.анализу в университете из нашего потока (почти пятьдесят человек) только человек 7-8 действительно что-то понимали. Остальные только умели оперировать зазубренными формулами. Когда дело дошло до функ.анализа, количество понимающих сократилось чуть ли не в двое. А уже на уравнениях матфизики из нас, программистов, вообще никто ничего не понимал. Вообще. Даже признаные отличники могли оперировать выученными формулировками, но не более того. Хотя на параллельном, математическом потоке было несколько человек, которые понимали.

Они не были умнее. Они просто думали по другому. Грубо говоря, их мозги были приспособленны к математике. То, что для меня являлось совершенно непонятным нагромождением греческих букв и математических символов, для них было описанием чего-то вполне конкретного и им понятного. Однако C++ код для многих из них был такой же нечитабельной ерундой, а вот для меня вполне обычным описанием вполне конкретных и понятных вещей.

Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту. Они двигают прогресс. Но результатами их достижений должны пользоваться "простые смертные". А посему, для простых смертных результаты прогресса должны быть представленны в виде простых инструкций: возьми это, приведи к такому-то виду, подставь сюда, примени вот этот метод. На данном уровне искусство превращается в ремесло. И чем больше спрос, тем примитивнее должны быть методы.

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

Вот такие инструменты мы и получаем.

А были бы способны писать на Lisp-е... Были бы элитой. По прежнему

Не хочу никого обижать, все вышесказанное является моим субьективным мнением. Поскольку лично моих способностей не хватает, чтобы понимать код вида (* (+ n 1) k). Не судьба, да и хрен с ней.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 24.08.06 10:55
Оценка: 23 (4) +4
Здравствуйте, Master Yoda, Вы писали:

MY>А разве коммерческий софт когда-то разрабатывался всерьез на Lisp-е или Smalltalk-е? Имхо если такое и было (я еще не так много живу, могу чего и не знать ), то просто люди очень быстро поняли, что эти языки плохо для этого подходят. С какой стати кому-то в повседневной работе может понадобиться написание интерпретатора языка или какие-то экспертные системы. Для каждой задачи свой инструмент, и пусть Lisp и Smalltalk используются там где это хоть как-то оправдано.


О! Может быть хоть вы скажете, почему люди, не умеющие писать на Lisp или Smalltalk упорно верят, что на этих языках ничего серьёзного, коммерческого и большого никогда не писалось? И даже больше — что эти языки не предназначены для таких задач.

Относительно же Больших Серьёзных Проектов — про Lisp не скажу (потому что не Lisp-овец ), но на Smalltalk-е писались небезызвестный проект C3 (в процессе написания которого сформировалось Extreme Programming), система ControlWorks (иснструмент, предназначенный для управления производством полупроводниковых чипов. его используют практически все производители полупроводниковых чипов, так что с помощью ControlWorks производится около 99% полупроводниковых чипов в мире), семейство сред разработки IBM VisualAge (в том числе и VisualAge for Java) и т.д. Разумеется, это далеко не полный список, это то, что навскидку вспомнилось. Кстати, корни у Eclipse-овского SWT тоже растут из Smalltalk-а — из IBM-овской реализации графической подсистемы для VisualAge.

PS. Не очень понял, при чём тут "интерпретатора языка или какие-то экспертные системы".
--
Бесчастнов Евгений
Re[3]: Что мы потеряли?
От: Master Yoda Великобритания  
Дата: 24.08.06 11:08
Оценка: :)
Здравствуйте, Eugene Beschastnov, Вы писали:

EB>Относительно же Больших Серьёзных Проектов — про Lisp не скажу (потому что не Lisp-овец ), но на Smalltalk-е писались небезызвестный проект C3 (в процессе написания которого сформировалось Extreme Programming), система ControlWorks (иснструмент, предназначенный для управления производством полупроводниковых чипов. его используют практически все производители полупроводниковых чипов, так что с помощью ControlWorks производится около 99% полупроводниковых чипов в мире), семейство сред разработки IBM VisualAge (в том числе и VisualAge for Java) и т.д. Разумеется, это далеко не полный список, это то, что навскидку вспомнилось. Кстати, корни у Eclipse-овского SWT тоже растут из Smalltalk-а — из IBM-овской реализации графической подсистемы для VisualAge.


Ну а если сейчас начать составлять список приложений на Java, С++, Delphi, C#? Я не спорю что на этих языках что-то пишется, но по сравнению с мейнстривомыми это просто капля в море.

EB>PS. Не очень понял, при чём тут "интерпретатора языка или какие-то экспертные системы".


Там в начале приводился список задач, которые люди решали на Lisp-е N, скорее даже M лет назад. И потом говорилось о том, что современные языки эти задачи решать не могут.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[3]: Что мы потеряли?
От: DrDred Россия  
Дата: 24.08.06 11:21
Оценка: +1
Здравствуйте, Eugene Beschastnov, Вы писали:

MY>>А разве коммерческий софт когда-то разрабатывался всерьез на Lisp-е или Smalltalk-е? Имхо если такое и было (я еще не так много живу, могу чего и не знать ), то просто люди очень быстро поняли, что эти языки плохо для этого подходят. С какой стати кому-то в повседневной работе может понадобиться написание интерпретатора языка или какие-то экспертные системы. Для каждой задачи свой инструмент, и пусть Lisp и Smalltalk используются там где это хоть как-то оправдано.


EB>О! Может быть хоть вы скажете, почему люди, не умеющие писать на Lisp или Smalltalk упорно верят, что на этих языках ничего серьёзного, коммерческого и большого никогда не писалось? И даже больше — что эти языки не предназначены для таких задач.


А разве можно говорить об инструменте в отрыве от человека, который его применяет? Точнее можно сформулировать так — связка Lisp + среднестатический программист (пусть для разннобразия будет не индус, а мексиканец ) не предназначена для создания серьезных коммерческих проектов. А вот связка — этот же программист + Java/C#/Delphi/... предназначена. Время кустарей-одиночек с мотором проходит/прошло, безотносительно того, как к этому относиться.
--
WBR, Alexander
Re[2]: Что мы потеряли?
От: Mamut Швеция http://dmitriid.com
Дата: 24.08.06 11:22
Оценка:
MY>

M>>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


MY>А разве коммерческий софт когда-то разрабатывался всерьез на Lisp-е или Smalltalk-е? Имхо если такое и было (я еще не так много живу, могу чего и не знать ), то просто люди очень быстро поняли, что эти языки плохо для этого подходят.


Viaweb (куплен Yahoo!), Orbitz, Amazon.com — написаны на/c использованием Lisp.

C Viaweb и Amazon произошло одно и то же. Элита
Автор: eao197
Дата: 24.08.06
, о которой говорит eao197, ушла, остались ничего в этой жизни не понимающие програмисты, для которых Lisp — это заоблачные дали. Увы. Кличество строчек кода в Амазоне растет на 8 миллионов строчек в квартал:

Когда Амазон только начинался, у нас были великолепные программисты... Они написали сервер Obidos — то, благодаря чему Амазон стал успешным. Они позволяли использовать только два языка: Lisp и С


MY>С какой стати кому-то в повседневной работе может понадобиться написание интерпретатора языка или какие-то экспертные системы. Для каждой задачи свой инструмент, и пусть Lisp и Smalltalk используются там где это хоть как-то оправдано.


MY>И потом, кто сказал, что в "этих" (Java, C# etc.) языках заново изобретаются возможности, существовавшие в "древних" языках? Единственное серьезное новшество в этих языках, появившееся не сразу — это дженерики (кстати и шаблоны появились в C++ с небольшим запозданием).


Анонимные функции, макросы, карринг, метапрограммирование, легковесные процессы... Да даже сборщик мусора появился на минимум десять-двадцать лет позже Лиспа и Смоллтолка (и это в Java, про C# молчу). Возможности замены работающих модулей на лету до сих пор нет нигде, кроме тех же Лиспа и Эрланга (ну и наверняка других, не менее экзотических языков).

MY>И последнее:


MY>
MY>C#/Java - C++/Delphi = сборка мусора, меньше акцента на производительность, больше на надежность и "управляемость"
MY>




Сборка мусора во всех них есть/была раньше, чем даже в Java.
Надежность... Erlang используется в системах, где нужна надежность от пяти девяток и выше (в телекомах, например) (см. также Making reliable distributed systems in the presence of hardware errors). На презентации Эрланга было показано, как Java и C# умирают при создании 1500 потоков, в то время, как Эрланг спокойно выдает до 30 000 (это о легковесных процессах)
Управляемость... С этим тем более можно поспорить

MY>Вот эти два фактора по правую сторону от знака равенства и есть, то что требовалось современной индустрии разработки софта и что явилось одной из причин их появления. Мощь Lisp-а имхо просто не нужна.


С этим тем более можно поспорить
... << RSDN@Home 1.2.0 alpha rev. 655>>


dmitriid.comGitHubLinkedIn
Re[3]: Что мы потеряли?
От: Master Yoda Великобритания  
Дата: 24.08.06 11:29
Оценка:
Здравствуйте, Mamut, Вы писали:

M>C Viaweb и Amazon произошло одно и то же. Элита
Автор: eao197
Дата: 24.08.06
, о которой говорит eao197, ушла, остались ничего в этой жизни не понимающие програмисты, для которых Lisp — это заоблачные дали.


Так как ты думаешь по какой причине она ушла? Потому что в современных условиях требования к языку несколько другие, чем раньше Собственно eao197 об этом писал — легче получить примтивный инструмент, который позволит решать задачи в приемлемые сроки и получать при этом приемлемое качество, чем повышать свой уровень и париться с "элитными инструментами". Только вот в его посте я чувствую некоторое сожаление о том, что мы пришли к такой ситуации, а для меня это всего лишь естественный процесс эволюции и ничего отрицательного я в нем не вижу.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[4]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.08.06 11:39
Оценка:
Здравствуйте, Master Yoda, Вы писали:

MY>Только вот в его посте я чувствую некоторое сожаление о том, что мы пришли к такой ситуации, а для меня это всего лишь естественный процесс эволюции и ничего отрицательного я в нем не вижу.


На счет сожаления -- это вам показалось.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.08.06 11:40
Оценка: 12 (2) +2
Здравствуйте, Mamut, Вы писали:

M>C Viaweb и Amazon произошло одно и то же. Элита
Автор: eao197
Дата: 24.08.06
, о которой говорит eao197, ушла, остались ничего в этой жизни не понимающие програмисты, для которых Lisp — это заоблачные дали.


Никуда она не ушла. Просто занимается вещами, которые не будут восстребованны мейнстримом еще лет десять-пятнадцать.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 24.08.06 11:48
Оценка: +5
Здравствуйте, eao197, Вы писали:

E>Никуда она не ушла. Просто занимается вещами, которые не будут восстребованны мейнстримом еще лет десять-пятнадцать.


Добавлю — и эти вещи, собственно, и сформируют мейнстрим лет через 10-15. Разумеется, в упрощённой и адаптированной для массового восприятия форме.
--
Бесчастнов Евгений
Re[4]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 24.08.06 11:53
Оценка: 24 (3) +5
Здравствуйте, DrDred, Вы писали:

DD>А разве можно говорить об инструменте в отрыве от человека, который его применяет? Точнее можно сформулировать так — связка Lisp + среднестатический программист (пусть для разннобразия будет не индус, а мексиканец ) не предназначена для создания серьезных коммерческих проектов. А вот связка — этот же программист + Java/C#/Delphi/... предназначена.

Я бы еще добавил к этой связке сильно формализованные процессы разработки.

DD>Время кустарей-одиночек с мотором проходит/прошло, безотносительно того, как к этому относиться.

Я бы выразился так — прошло время, когда кроме "кустарей-одиночек с мотором" больше ничего не было. Сами-то кустари-одиночки никуда не делись, я бы даже сказал, что их число возрасло — в абсолютных величинах, но крайне уменьшилось в относительных величинах.
--
Бесчастнов Евгений
Re[4]: Что мы потеряли?
От: Gaperton http://gaperton.livejournal.com
Дата: 24.08.06 11:58
Оценка: +5
Здравствуйте, Master Yoda, Вы писали:

MY>Ну а если сейчас начать составлять список приложений на Java, С++, Delphi, C#? Я не спорю что на этих языках что-то пишется, но по сравнению с мейнстривомыми это просто капля в море.


Это вы к чему? Каким образом тот факт, что большинство пишет на Java, C++, Delphi, доказывает, что на LISP и Smalltalk неудобно писать те приложения, которые на них были написаны?
Re[5]: Что мы потеряли?
От: Master Yoda Великобритания  
Дата: 24.08.06 12:16
Оценка: :)
Здравствуйте, Gaperton, Вы писали:

MY>>Ну а если сейчас начать составлять список приложений на Java, С++, Delphi, C#? Я не спорю что на этих языках что-то пишется, но по сравнению с мейнстривомыми это просто капля в море.


G>Это вы к чему? Каким образом тот факт, что большинство пишет на Java, C++, Delphi, доказывает, что на LISP и Smalltalk неудобно писать те приложения, которые на них были написаны?


Я не спорил с тем, что перечисленные Евгением приложения, написанные на Smalltalk-е, удобней было написать на другом языке. Хотя допускаю возможность, что имей (или знай?) люди другой инструмент, они возможно выбрали бы его. Я просто вижу тот факт что сейчас менеджер проекта в качестве языка разработки скорее выберет Java или C#, нежели Smalltalk, хотя бы потому-что для последнего легче найти квалифицированных разработчиков (но не только поэтому).

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

Я знаю много замечательных приложений написанных на ассемблере, Visual FoxPro и т.п. Я не считаю что их нужно переписать на другие языки (хотя это было бы гораздо проще). Но я знаю, что начни кто-нибудь сейчас писать подобное одному из тех приложений, он выберет другой инструмент.
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: Что мы потеряли?
От: AVC Россия  
Дата: 24.08.06 12:33
Оценка:
Здравствуйте, Mamut, Вы писали:

M>

M>К сожалению, я не смог стать частью "поколения Lisp" — весь мой опыт с этим языком заключается в в том, что я заставил свой emacs работать так, как мне надо. До сих пор Lisp для меня — величайшая тайна. Мне удалось раздобыть выкинутую кем-то книгу по Лиспу, написанную в 1982 году Уинстоном и Хорном (Winston and Horn). Что приводит меня в изумление — это те типы проблем, которые решались в конце 70-х. Из оглавения [1]:
M>

M>Глава 18: Lisp in Lisp (Building an interpreter)
M>      24: Symbolic pattern matching
M>      26: Rule based expert systems and forward chaining
M>      30: Procedure writing programs
M>

M>и т.д.


Если оставить в стороне эмоции, то какие именно задачи не могут решаться на "современных" языках?
Меня мало интересует список специфических приемов программирования на Lisp.
А вот перечисление задач было бы убедительным.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[5]: Что мы потеряли?
От: IB Австрия http://rsdn.ru
Дата: 24.08.06 12:42
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Каким образом тот факт, что большинство пишет на Java, C++, Delphi, доказывает, что на LISP и Smalltalk неудобно писать те приложения, которые на них были написаны?

Не верно формулируешь... Это говорит в пользу того факта, что на LISP и Smalltalk неудобно писать те приложения, которые на них не были написаны....
... << RSDN@Home 1.2.0 alpha rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: Что мы потеряли?
От: FR  
Дата: 24.08.06 12:50
Оценка: 1 (1) +1 :)
Здравствуйте, AVC, Вы писали:


AVC>Если оставить в стороне эмоции, то какие именно задачи не могут решаться на "современных" языках?


Я думаю что на современных языках можно решить любую задачу которую можно решить на лиспе, вопрос только в удобстве и производительности пишущего, ну еще может в красоте решения.
Re[6]: Что мы потеряли?
От: _rasta  
Дата: 24.08.06 12:58
Оценка:
Здравствуйте, Master Yoda, Вы писали:

MY>На мой взгляд это просто естественная эволюция — естественный отбор, борьба за выживание и т.п.


хм... а как же евгеника?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Что мы потеряли?
От: Sergey Россия  
Дата: 24.08.06 13:13
Оценка:
> Если оставить в стороне эмоции, то какие именно задачи не могут решаться на "современных" языках?
> Меня мало интересует список специфических приемов программирования на Lisp.
> А вот перечисление задач было бы убедительным.

Если уж пошло на то, то абсолютно все задачи, в принципе решаемые на компьютере, могут решаться на ассемблере. И что с того? Фишка-то именно в приемах программирования
Posted via RSDN NNTP Server 2.0
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: Что мы потеряли?
От: _rasta  
Дата: 24.08.06 13:26
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Если оставить в стороне эмоции, то какие именно задачи не могут решаться на "современных" языках?

AVC>Меня мало интересует список специфических приемов программирования на Lisp.
AVC>А вот перечисление задач было бы убедительным.

да господи, всякий тьюринг-полный язык решает любую задачу.
ага, даже brainfuck
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Что мы потеряли?
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.08.06 13:33
Оценка:
Здравствуйте, _rasta, Вы писали:

_>Здравствуйте, AVC, Вы писали:


AVC>>Если оставить в стороне эмоции, то какие именно задачи не могут решаться на "современных" языках?

AVC>>Меня мало интересует список специфических приемов программирования на Lisp.
AVC>>А вот перечисление задач было бы убедительным.

_>да господи, всякий тьюринг-полный язык решает любую задачу.

Таки любую? И задачу останова
Re[6]: Что мы потеряли?
От: Gaperton http://gaperton.livejournal.com
Дата: 24.08.06 13:48
Оценка: 1 (1) +2 -3
Здравствуйте, IB, Вы писали:

IB>Здравствуйте, Gaperton, Вы писали:


G>>Каким образом тот факт, что большинство пишет на Java, C++, Delphi, доказывает, что на LISP и Smalltalk неудобно писать те приложения, которые на них были написаны?

IB>Не верно формулируешь... Это говорит в пользу того факта, что на LISP и Smalltalk неудобно писать те приложения, которые на них не были написаны....

Это никак не говорит в пользу названного тобой факта. Есть масса непопулярных технологий, который существенно удобнее и функциональнее своих популярных аналогов. Причем, практически в любой отрасли.
Re[6]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 24.08.06 13:53
Оценка: 7 (3) +2 -1 :))
Здравствуйте, Master Yoda, Вы писали:

MY>Я не спорил с тем, что перечисленные Евгением приложения, написанные на Smalltalk-е, удобней было написать на другом языке. Хотя допускаю возможность, что имей (или знай?) люди другой инструмент, они возможно выбрали бы его. Я просто вижу тот факт что сейчас менеджер проекта в качестве языка разработки скорее выберет Java или C#, нежели Smalltalk, хотя бы потому-что для последнего легче найти квалифицированных разработчиков (но не только поэтому).


Прошу прощения, но Ваш начальный вопрос был:
MY>А разве коммерческий софт когда-то разрабатывался всерьез на Lisp-е или Smalltalk-е?

Я ответил с примерами, что да, разрабатывался и продолжает разрабатываться. В ответ Вы написали:
MY>Ну а если сейчас начать составлять список приложений на Java, С++, Delphi, C#? Я не спорю что на этих языках что-то пишется, но по сравнению с мейнстривомыми это просто капля в море.
Это, на мой взгляд, явная подмена темы. Изначально Вы спрашивали совершенно другое, и отвечал я на Ваш исходный вопрос.


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

MY>Ведь мы же пришли каким-то образом к такой ситуации, что одни языки в определенной области (в нашем случае — коммерческая разработка) популярней чем другие? Как это объяснить? На мой взгляд это просто естественная эволюция — естественный отбор, борьба за выживание и т.п. В этом и заключается основная мысль моих сообщений, если не очень понятно (допускаю, что я выражаюсь не совсем точно). А не в том, что приложения, написанные на Smalltalk были написаны на нем по недоразумению.


Я буду говорить только о том, что знаю очень хорошо. Я довольно много писал на Java. Также я пару лет писал на Smalltalk (коммерческие вещи).
* Я могу однозначно сказать, что как Smalltalk мне как язык нравится значительно больше, чем Java — я считаю, что он значительно гибче, позволяет большинство вещей делать более простыми, лёгкими и быстрыми способами, и практически нету вещей, которые бы на нём было сделать сложнее, чем на Java.
* Как среда исполнения он тоже приятнее, чем Java (чего стоит хотя бы отсутствие необходимости тащить за собой всю JRE, обойдясь одной виртуальной машиной размеом 1 Мб).
* Относительно удобства сред разработки — на данный момент (после выхода IntelliJ IDEA) я считаю, что среды разработки для Java примерно сравнялись в удобстве со средами разработки для Smalltalk. Разумеется, в силу специфики языков "удобство" для них заключается в разных вещах, поэтому можно говорить только об общем впечатлении.
* Богатство библиотек у Java и у Smalltalk, на мой взгляд, примерно одинаковое. По количеству Java выигрывает, но по степени охвата задач — примерно паритет. По среднему качеству библиотек Smalltalk выигрывает, но за счёт отсутствия большого количества некачественных поделок. Если же брать только _нормальные_ библиотеки, то тут тоже примерно одинаково.
* Комьюнити. О, Smalltalk-овское комьюнити — это отдельная пестня, причём исключительно мажрная Такой отзывчивости, искреннего желания помочь и скорости реакции я не видел больше нигде
* Документация. Если пользоваться коммерческими версиями Smalltalk (например, VisualWorks от Cincom), то Smalltalk однозначно выигрывает по качеству и охвату, но проигрывает по абсолютному количеству. Впрочем, а они нужны, огромные горы мусора?

Итого, из шести пунктов Smalltalk лучше, чем Java, в четырёх пунктах, и наравне с ней в двух. Здесь во весь рост встаёт вопрос, почему же он настолько менее популярен, чем Java? На мой взгляд, дело в двух вещах:
1) Как здесь уже говорили, Smalltalk слишком хорош для "среднего кодера". Он предоставляет очень большую свободу — и, как следствие, требует большой самодисциплины.
2) Маркетинг. В рекламу Java были вложены очень большие деньги — в отличии от рекламы Smalltalk.
--
Бесчастнов Евгений
Re[3]: Что мы потеряли?
От: AVC Россия  
Дата: 24.08.06 14:07
Оценка:
Здравствуйте, FR, Вы писали:

AVC>>Если оставить в стороне эмоции, то какие именно задачи не могут решаться на "современных" языках?


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


Вот и интересно, какова разница (и для каких задач, и почему), и в чью пользу?
Меня не слишком интересуют "остроумные" высказывания (в этом топике они есть) относительно машины Тьюринга, Брейнфака, задачи останова и т.п.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[7]: Что мы потеряли?
От: Master Yoda Великобритания  
Дата: 24.08.06 14:13
Оценка: :)
Здравствуйте, Gaperton, Вы писали:

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


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

Но если этот замечательный инструмент, гораздо более удобный и функциональный, нежели чем его популярные аналоги, так и остается за бортом на протяжении долгого времени, значит пора поискать причину в нем самом. Может на самом деле он не такой замечательный, как кажется с первого взгяда.

Тут многие могут считать, что Java и C# это исключительно продукты успешной маркетинговой компании Sun и Microsoft. Это личное дело (и право) людей, которые так думают. Однако это вовсе не мешает этим языкам быть лидерами в своей области на протяжении уже долгого времени (последнее конечно больше относится к Java).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[7]: Что мы потеряли?
От: Master Yoda Великобритания  
Дата: 24.08.06 14:31
Оценка: :)
Здравствуйте, Eugene Beschastnov, Вы писали:

EB>Прошу прощения, но Ваш начальный вопрос был:

MY>>А разве коммерческий софт когда-то разрабатывался всерьез на Lisp-е или Smalltalk-е?

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

EB>Я ответил с примерами, что да, разрабатывался и продолжает разрабатываться. В ответ Вы написали:

MY>>Ну а если сейчас начать составлять список приложений на Java, С++, Delphi, C#? Я не спорю что на этих языках что-то пишется, но по сравнению с мейнстривомыми это просто капля в море.
EB>Это, на мой взгляд, явная подмена темы. Изначально Вы спрашивали совершенно другое, и отвечал я на Ваш исходный вопрос.

Эта не подмена темы. Вы начали перечислять продукты созданные на Smalltalk с тем уклоном (как мне по крайней мере показалось), что он ничуть не менее популярный, чем Java или C#. Я ответил, что так не считаю. Если я вас неправильно понял (хотя мне так не кажется), то извините.

EB>1) Как здесь уже говорили, Smalltalk слишком хорош для "среднего кодера". Он предоставляет очень большую свободу — и, как следствие, требует большой самодисциплины.


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

Лейтмотив моих рассуждений — пользуются тем языком, который лучше всего вписывается в текущую ситуацию в коммерческой разработке софта. Это включает в себя и уровень программистов в этой отрасли (и многие другие факторы). А под последними вашими словами сам готов подписаться.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[7]: Что мы потеряли?
От: IB Австрия http://rsdn.ru
Дата: 24.08.06 14:44
Оценка: 8 (1) +1
Здравствуйте, Gaperton, Вы писали:

G>Это никак не говорит в пользу названного тобой факта.

Говорит. Можно очень много говорить про маркетинг, миллионы мух и мировой заговор, но против фактов не попрешь. Если на языке написаны тонны софта, значит на этом языке писать этот софт было удобнее. Не важно в силу каких причин — простоты синтаксиса, удобства среды, наличия разработчиков, наличия опыта, существования библиотек, это уже другой вопрос. Но то что конкретной команде, в конкретный момент времени, было удобнее разрабатывать софт именно на этом языке — факт.

G> Есть масса непопулярных технологий, который существенно удобнее и функциональнее своих популярных аналогов.

Технология может быть просто супер функциональной и удобной, но с высоким порогом вхождения — и привет. Все зашибись, а на практике об удобстве и речи не идет.
Просто когда речь заходит о промышленном применении технологии, наружу всплывают такие параметры "удобства", о которых поначалу не задумываешься, а иные вообще оборачиваются недостатками... А вот количество реального продукта, получившееся с использованием той или иной технологии, дает вполне объективную картину "удобства", естественно с поправкой на время жизни технологии.

Это первое... А второе — всякая технология может быть "удобна" в довольно узких рамках, поэтому говорить об удобстве вообще, в отрыве от области пременения, на мой взгляд, занятие довольно бесперспективное.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[4]: Что мы потеряли?
От: FR  
Дата: 24.08.06 15:06
Оценка: 6 (2)
Здравствуйте, AVC, Вы писали:

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


AVC>Вот и интересно, какова разница (и для каких задач, и почему), и в чью пользу?

AVC>Меня не слишком интересуют "остроумные" высказывания (в этом топике они есть) относительно машины Тьюринга, Брейнфака, задачи останова и т.п.

Я думаю высококвалифицированному программисту при решении большого класса нетривиальных задач лисп и ему подобные могут помощь сильно ускорить и упростить разработку.

Ну а вообще думаю основная разница между мейнстримом и теми же лиспом, смаллтоком, динамическими и функциональными языками, в том что мейнстрим хорош как инструмент для массового производства, а вторая категория как инструмент для индивидуальной работы. Притом для освоения второй категории требуется гораздо больше самостоятельно думать, зато и результат может быть очень хорошим.
Re[8]: Что мы потеряли?
От: Gaperton http://gaperton.livejournal.com
Дата: 24.08.06 15:50
Оценка: 5 (2) +4 -1
Здравствуйте, IB, Вы писали:

IB>Здравствуйте, Gaperton, Вы писали:


G>>Это никак не говорит в пользу названного тобой факта.

IB>Говорит. Можно очень много говорить про маркетинг, миллионы мух и мировой заговор, но против фактов не попрешь. Если на языке написаны тонны софта, значит на этом языке писать этот софт было удобнее. Не важно в силу каких причин — простоты синтаксиса, удобства среды, наличия разработчиков, наличия опыта, существования библиотек, это уже другой вопрос. Но то что конкретной команде, в конкретный момент времени, было удобнее разрабатывать софт именно на этом языке — факт.

Если тебе неважно, в силу каких причин — то непонятно к чему ты тогда вообще помянул популярность. Ничего нового и интересного ты не сказал — и так все знают, что Java популярнее Lisp. Мне рассуждать на тему популярности и переливать из пустого в порожнее не интересно. Здесь не маркетинговая тусовка, и главный предмет обсуждения — технологии, а не объемы продаж и сегментации рынков.

G>> Есть масса непопулярных технологий, который существенно удобнее и функциональнее своих популярных аналогов.

IB>Технология может быть просто супер функциональной и удобной, но с высоким порогом вхождения — и привет. Все зашибись, а на практике об удобстве и речи не идет.
IB>Просто когда речь заходит о промышленном применении технологии...
Это тоже многим известно, что происходит при промышленном применении технологий, тут не только пионеры сидят. При этом, любая технология в момент появления — сыра. Рассуждали бы все таким образом (популярность, и неважно в силу каких причин), как ты описываешь — все бы сейчас до сих пор писали на макроассемблере и автокоде.

IB>Это первое... А второе — всякая технология может быть "удобна" в довольно узких рамках, поэтому говорить об удобстве вообще, в отрыве от области пременения, на мой взгляд, занятие довольно бесперспективное.


Замечательно. Согласен. Так давай не и будем, не разбираясь в технологиях (LISP/Smalltalk), c умным видом говорить об их удобстве или неудобстве, высасывая аргументы из пальца ("популярность").
Re[9]: Что мы потеряли?
От: IB Австрия http://rsdn.ru
Дата: 24.08.06 17:06
Оценка: +1 -1 :)))
Здравствуйте, Gaperton, Вы писали:

G>Если тебе неважно, в силу каких причин — то непонятно к чему ты тогда вообще помянул популярность.

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

G> Ничего нового и интересного ты не сказал — и так все знают, что Java популярнее Lisp.

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

G> Здесь не маркетинговая тусовка, и главный предмет обсуждения — технологии, а не объемы продаж и сегментации рынков.

Конечно, поэтому давай обсуждать тьехнологии, а не кто, что нового сказал...

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

Кто бы сомневался, конечно не пионеры, однако некоторые передергивают как дети..

G> Рассуждали бы все таким образом (популярность, и неважно в силу каких причин), как ты описываешь — все бы сейчас до сих пор писали на макроассемблере и автокоде.

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

G>Замечательно. Согласен.

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

G> Так давай не и будем, не разбираясь в технологиях (LISP/Smalltalk), c умным видом говорить об их удобстве или неудобстве, высасывая аргументы из пальца ("популярность").

Я согласный, убирай умный вид и прекращай сосать из пальца, а я пойду с лиспом разбираться..
... [RSDN@Home 1.2.0 alpha rev. 619]
Мы уже победили, просто это еще не так заметно...
Re: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.06 17:52
Оценка: 88 (12) +6 -1 :))) :)
Здравствуйте, Mamut, Вы писали:

M>Для нетерпеливых — вопрос находится в самом конце этой цитаты


Для нетерпеливых — ответ сразу. Это провакационный толчек сознания, а-ля НЛП с закосом под невинный вопрос. В принципе в саомй провакации нет ничего плохого, но вот булшит лично мне не нарвится. У меня стойкое ощущение, что это не вопрос, а гипноз.

Пояснию. При верной посылке (почему в мэйнстриме нет некоторых мощьных возможностей существовавших в Лиспе и Смолтоке десятки лет назад) совершенно протеворечивая и на сквозь лживая аргументация. Причем это даже не аргументация. Текст построен так, что он не доказыает, что-то, и не объясняет, и даже не является вопросом. Хотя внешне на то похоже, но автот этих строк имеет четкую позицию и пытается навязать ее читателю использую "безпроигрышные методы".

Чтобы не быть голословным, поясню на примерах...

M>Глава 18: Lisp in Lisp (Building an interpreter)

...
M> 30: Procedure writing programs

M>Что меня волнует, так это то, что "старые" языки могли выполнять задачи, которые (как мне кажется) сложны или вообще невыполнимы в современных языках. Как так произошло, что все эти Java и C# потеряли все эти возможности, а называются "современными"?


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

И главный вопрос. Зачем строить фразу так, как будто факт потери очевиден?

M>Я заметил одну ОЧЕНЬ беспокоящую тенденцию в мире Java...

M>теперь можно написать кучу маленьких файлов XML, которые описывают поведения или что-то похожее...
M>Не забывайте, что XML не компилируется и никак не проверяется, кроме как на правильность структуры, и могущие возникнуть проблемы нельзя никак определить до тех пор, пока вы его не протестируете или не развернете на сайте. В прошлом названия из кода выше были бы классами или экземплярами класса и компилятор мог бы сразу обнаружить ошибку. Теперь они потеряли эту немаловажную возможность.

А теперь вопрос. Что не так в этих рассуждения? Никто не догадался?
Правильно, ни Лисп, ни Смолток не являются компилируемыми языками и самое лучшее на что они могут быть рассчитаны — это JIT-компиляция в момент выполенния. Таким образом проверки корректности в случае "старых языков" будет выполняться точно так же в рантайме или (в лучшем случае, во время развертывания, но это уже при применении супер технлогий вывода типов и т.п.). Так что претензию отсуствия статических проверок можно предъявить те же претензии что и к внешним ХМЛ-файлам.

M>Кажется, что им удалось изобрести новый скриптовый язык поверх Java, который на самом деле имитирует то, что у нас уже было лет десять тому назад в ASP/JSP/VB, но имимтирует намного хуже, потому что XML — это не язык, а структура данных...


Любой язык можно характеризовать как структура данных интерпретируемые человеком и машиной. Так что ХМЛ-языки фрэймворков вроде Spring-а — это такие же языки как и все остальные, только очень специализированные. Другими словами — это DSL-и рассчитанные реализацию конкретных возможнсотей отсуствующих в Яве или C#.

M>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


Это очередной булшит этой заметки. "Мы" (Кстати, кто это? Мэйнстрим? Или это прием цель которого создать впечатление, что автор и читатель стоят на одних позициях?) никогда не теряли Lisp/Smalltalk. Их попросту никогда не было у "нас". Были (да и есть) люди для которых был Lisp. Были и есть те для кого существует Smalltalk. Есть даже откровенные фанаты этих языков. Но все они это капля в море. Ява и C# — это мэйнстрим языки. Они захватывают умы тех кто учился программировать на Паскале, С и С++ (или на самих Яве и C#). А в этих языках никогда не было тех возможнсотей которые есть в Лиспе.

Так что правильно ставить вопрос так:
Почему умы масс захватили Паскале, С, С++, Ява, VB и C#, а не Lisp или Smalltalk?

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

К такому положению дел, по-моему, привели следующие вещи:
1. Привычки. Лисп и Смолток очень не традиционные языки. Привычки — это опыт который закладывается в каждого человека с детства и остается в сознании практически на уровне рефлексов. Так в начальной школе нас обучали арифметике в которой есть инфиксная запись выражений и есть приоритеты. Так вот и Лисп и Смолток нарушают эти прадиции (и не только эти). Смолток плюет на приоритеты (ради умозрительных приемуществ), а Лисп и вовсе плюет на инфиксную запись. Примитивные арефмитические выражения на этих языках уже выглядят не похоже на то к чему привыкли те самые массы. Уже одно это заставляет ломать сознание. А вот как раз ломка сознания и борьба с привычками — это очень болезненные процессы. Большинство людей скорее выбросят нечто не привычное, чем будут пытаться себя перебороть.
2. Традиции. Лисп и Смолток родились в недрах исследовательских лабороторий и очень долго жили только там. Потом из Смолтока долго пытались устроить успешный коммерческий продукт, но добились только того, что интерес к Смолтоку так никогда и не возник. А Лисп вообще долгое время существовал для окружающего мира почти как прикол. Потом пошли ПК на которых оба языка по началу вообще не могли работать. Там счет шел на байты и инструкции, и GC с нитерпретацией смотрелись совсем странно. Алголоподобные же языки напротив поставлялись с массовыми компьютерами и вообще были ближе к народу.
3. Lisp и Smalltalk плохие языки. Понимаю, что этот пунтк вызовет бурю эмоций у их фанатов. Но объективно это так. Надо только понимать, что термин "плохие" для разных людей имеет разное содержание. Вы можете быть фанатом динамически типизированных языков, и вам может быть не важны проверки компилятора и скорость исполнения, или вы можете считать отставание Lisp и Smalltalk не сущесвенным, а проверки в рантайме ничем не хуже сделанных компилятором... но это ваше мнение. А мнение других людей другое. Так вот очень многие из особенностей этих языков делали их плохими для программистов. Отсуствие синтаксиса в Лисп является приемуществом для тех кто ценит макросы, но является недостатком для того кто не хочет читать вместо понятных выражений какой-то (по его мнению) эзопов язык (польскую нотацию). И таких примеров в обоих языках море. Главное что объеденят Лисп и Смолток — это то охренение в которое пребывает программист, привыкшей к Алголоподобным языкам, впервые сталкивающися с Лиспом или Смолтоком.

Ну, а теперь ответ на вопрос.

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

Скала, Немерле и даже Питон с Руби и являются развитием идей этих старичков. Они потихоничку проникают в массы и рано или поздно проникнут в современных фаворитов (Яву и C#, возможно и в С++, но похоже скорее случится второе пришествие), или гибриды воде Скалы и Немерле вытеснят с рынка сегодняшних фаворитов, как они, в свое время, вытеснили вчерашних.

Есть правда еще один ответ. Основан он на глубокой и чистой вере в человеческую глупост и бездарность. В соотсвествии с ней в мэйнстрим-ЯП вообще нельзя вводить что-то мощьное или сложное, так как по делу это будет использоваться очень редко, но вот во вред его будут использовать часто и с большим удовольствием. Совершенно естественно, что выдаются такие суждения теми, кто о себе подобное никогда в жизни не подумает. Тупые и бездарные это те кто седят за соседними столами. В общем, как в том анекдоте:

------------------
— Глянь какая здоровенная жидяра перед нами идет!
— Ага.
— А, давай ему морду набьем?
— Ты, что? А если он нам?
— А нам то за что?


В общем, это мнение тоже не безосновательно. Но сдается мне, что оправдвать отсуствие нужных многим программистам возможнсотей тем, что ими могут как-то не так воспользоваться тупые индусы. Особенно этот аргумент бессмысленнен в средах типа .net и Явы где можно без проблем использовать два и более языка. А языки типа Nemerle и Scala к тому же еще и имеют неплохие средства защиты от дурака.

M>[1] Я не имею ни малейшего представления, как перевести некоторые из этих терминов, поэтому оставил их, как есть.


Ну, например слово "могущие" нужно переводить как "которые могут", то есть не "могущие возникнуть проблемы", а "проблемы которые могут возникнуть". В остальном перевод очень неплох.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Что мы потеряли?
От: FR  
Дата: 24.08.06 18:22
Оценка: +2
Здравствуйте, VladD2, Вы писали:

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


Я в первый раз баловался с лиспом на комьпютере zx spectrum с 48 кб озу. Интерпретатор занимал около восьми килобайт и работал шустрее встроенного бейсика. Кстати на нем интерпетатор бейсика не смотрелся странно, как и на большинстве тогдашних восьми и шестнадцатиразрядных машинках.
Re[2]: Что мы потеряли?
От: DenisY Россия  
Дата: 24.08.06 18:50
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Правильно, ни Лисп, ни Смолток не являются компилируемыми языками и самое лучшее на что они могут быть рассчитаны — это JIT-компиляция в момент выполенния.


О чем ты? google common lisp compiler

А по теме топика (почему лисп и др. не мэйнстрим) -- worse is better
Re[3]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.06 18:55
Оценка:
Здравствуйте, FR, Вы писали:

FR>Я в первый раз баловался с лиспом на комьпютере zx spectrum с 48 кб озу. Интерпретатор занимал около восьми килобайт и работал шустрее встроенного бейсика. Кстати на нем интерпетатор бейсика не смотрелся странно, как и на большинстве тогдашних восьми и шестнадцатиразрядных машинках.


Предлагаешь развести бурную дискуссию по поводу теории относительности?
У меня вот небыло zx spectrum, и Лиспа на доступных мне PC-шках небыло. А отношение к интерпретаторам было очень плохое, так как ресурсов было и так очень мало. В общем, я высказываю мое мнение. На истину в последней инстанции не претендую.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.06 19:03
Оценка:
Здравствуйте, DenisY, Вы писали:

DY>О чем ты? google common lisp compiler


Ну, ты почитай свои ссылки. А потом... и вопросов не возникнет. Лисп (если не брать эксперементальные клоны) это не типизированный язык и до стадии выполнения у него попросту не хватает информации о типах чтобы породить статический код. По этому в Лиспе используют методы динамической компиляции, а это и есть JIT-компиляция.

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

На свете есть языки в которых типизация статическая, но типы так же явно не указываются. Это Хаскель, клоны ML, Немерле, Скала. Пследние два допускают вывод типов только в врыжениях. Эти языки специально спроектиррованы так, чтобы типы в них были всегда изместны еще до стадии сыполнения. А Лисп, Смолток, Руби и Питон — это динамически типизированные языки полная информация о типах в которых доступна только в рантайме.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.06 19:25
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Анонимные функции, макросы, карринг, метапрограммирование, легковесные процессы... Да даже сборщик мусора появился на минимум десять-двадцать лет позже Лиспа и Смоллтолка (и это в Java, про C# молчу).


Ну, ты загнул.

M> Возможности замены работающих модулей на лету до сих пор нет нигде, кроме тех же Лиспа и Эрланга (ну и наверняка других, не менее экзотических языков).


Серьезно? А мужики то не знали и даже на VB5 это делали.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Что мы потеряли?
От: 0xDEADBEEF Ниоткуда  
Дата: 24.08.06 21:55
Оценка: +2
Здравствуйте, Mamut, Вы писали:

Эпиграф:
Есть только две настоящих бесконечности: Человеческая глупость и Вселенная. Впрочем, насчет второй я не уверен. (с) А.Эйнштейн.

M>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk

Потеряли свободу? Да. Потеряли. Заабстрагировались, что называтеся, по самое немогу. А когда абстракция повернулась лицом к реальной жизни (т.е производительности), не устояли.
Данные языки за деревьями не видят леса, точнее — его границ (по памяти, по процессору и тд), и, следовательно, там где данные границы важны, они сосут по полной.

M>на всякие VB/Delphi/C++?

...в начале был Ассемблер и он породил СИ. (ок, Фортран был первее, но где тот фортран?)
А потом были Делфи и C++ (о том, что их времена прошли — тема отдельной баталии), но пойнт был все тот же: удаляться от "железа" на "разумное" расстояние — но, не "полностью абстрагироваться", как было с Lisp/Smalltalk/Basic.
В их случае, "разумное" значило "абстрактнее, чем СИ, но до разумных пределов".
Ибо, спрос на программистов возрос, и их стало не хватать. И любой, кто знал что семь-ю-семь это не сорок семь и что у памяти есть пределы, мог стать программистом. Почили в бозЕ регистровые переменные и статические функции, облегчилось (но не ушло насовсем) управление динамической памятью. Впрочем, об ассемблере сии языки не тоже забывали.

M>а потом на всякие Java/C# и т.д.,

...Спрос на программистов все возрастал. В итоге, любой, кто смог запомнить синтаксис операторов "for" и "if" смог стать программистом. Но, использование таких программистов требует соответствующего языка. Что, собственно говоря и произошло. Конечно, с такими программистами у 90% проектов у зебры кончились полоски и последовал закономерный финал, но идея управлять ресурсами "на халяву" (несмотря на все свои недостатки) имеет свою притягательность....

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

M>и какие возможности теперь заново изобретают (в худших формах) в этих новых "языках"?

Изучение Лиспа (за Smalltalk не говорю ибо его не знаю) требовало "как-то по-особому вывернуть мозги". Если точнее — проникнуться философией языка. Так возникли "lisp-way", "c-way" и прочия. Следование какому-то "-way" позволяло что-то сделать хорошо. Но, для того чтобы ему следовать, надо было впитать его философию. Что требует (а)времени (б)значительных интеллектуальных усилий.

С другой стороны, интерпретируемые языки имеют одно интертерестое свойство: им не важна (на первый взгляд) "цена" языковой конструкции. То есть, то, во что эта конструкция выливается в машинном коде. Посему, есть великий соблазн тащить в свою помойку все что кажется привлекательным. А программисты-прикладники потом отсортируют. Ессесно, пОтом и кровью, но дизайнеров языка это мало интересует.
__________
16.There is no cause so right that one cannot find a fool following it.
Re[4]: Что мы потеряли?
От: FR  
Дата: 25.08.06 03:32
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, FR, Вы писали:


FR>>Я в первый раз баловался с лиспом на комьпютере zx spectrum с 48 кб озу. Интерпретатор занимал около восьми килобайт и работал шустрее встроенного бейсика. Кстати на нем интерпетатор бейсика не смотрелся странно, как и на большинстве тогдашних восьми и шестнадцатиразрядных машинках.


VD>Предлагаешь развести бурную дискуссию по поводу теории относительности?


Необязательно, можно просто спокойно об этом поговорить

VD>У меня вот небыло zx spectrum, и Лиспа на доступных мне PC-шках небыло. А отношение к интерпретаторам было очень плохое, так как ресурсов было и так очень мало. В общем, я высказываю мое мнение. На истину в последней инстанции не претендую.


Может просто тебе не нужен был лисп? Так как на PC он точно тогда был. А к интерпретаторам тогда отношение по моему было лучше чем в середине 90, на том же бейсике для восьми разрядных машинок было написано очень много программ.
Re[4]: Что мы потеряли?
От: _rasta  
Дата: 25.08.06 03:33
Оценка:
Здравствуйте, Курилка, Вы писали:

_>>да господи, всякий тьюринг-полный язык решает любую задачу.

К>Таки любую? И задачу останова

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

зы. дальше меня про это можно не спрашивать, ибо в вопросе не очень силен
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 25.08.06 04:19
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>... Смолток практически ничего не дал миру кроме ООП которое и без Смолток выше крыши в мэйснтирме.


Не позорился бы, а? http://www.smalltalk.ru/articles/smalltalk.html
--
Бесчастнов Евгений
Re[8]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 25.08.06 04:32
Оценка: 23 (3)
Здравствуйте, Master Yoda, Вы писали:

MY>Здравствуйте, Eugene Beschastnov, Вы писали:


EB>>Прошу прощения, но Ваш начальный вопрос был:

MY>>>А разве коммерческий софт когда-то разрабатывался всерьез на Lisp-е или Smalltalk-е?

MY>Всерьез — означает широкомасштабно, повсеместно, распространенно. Если так было, то я спорить не буду, я не утвеждал это и даже спечиально оговорился, что могу ошибаться.


Странное использование слова "всерьёз" (я воспринял Ваш вопрос, как "разрабатывался ли когда-нибудь серьёзный коммерческий софт на Smalltalk" — и отвечал именно на этот вопрос), ну да ладно.


MY>Эта не подмена темы. Вы начали перечислять продукты созданные на Smalltalk с тем уклоном (как мне по крайней мере показалось), что он ничуть не менее популярный, чем Java или C#.


Вам показалось. Глупо спорить с очевидными вещами — а то, что Smalltalk менее популярен, чем Java или C# — это очевидно.

MY>Я ответил, что так не считаю. Если я вас неправильно понял (хотя мне так не кажется), то извините.



EB>>1) Как здесь уже говорили, Smalltalk слишком хорош для "среднего кодера". Он предоставляет очень большую свободу — и, как следствие, требует большой самодисциплины.


MY>Вот с этого и надо начинать, а не перечислять достоинства Smalltalk. Я же не спорю с тем, что это замечательный язык, что для него есть много библиотек, что у вас сложилось хорошее коммьюнити и т.д. и т.п.. Я просто не могу с этим спорить, поскольку не сталкивался с этим языком. Поэтому охотно вам верю.


Чтобы устранить недопонимание: я не "перечислял достоинства Smalltalk", а попытался более-менее объективно (но на основе собственного опыта) сравнить его с Java. Я же не виноват, что он по четырём пунктам лучше, по двум — наравне, и нет ни одного пункта, по которому он был бы хуже .

Кстати, забыл еще один критерий для сравнения — скорость. По моему опыту, интегральная скорость работы программ на Smalltalk примерно равна скорости работы программ на Java. В чём-то Java быстрее, в чём-то — Smalltalk, но в среднем — примерно наравне. Я сейчас говорю про VisualWorks, потому что диалект в данном случаем имеет очень большое значение — например, Squeak работает заметно медленнее.

MY>Лейтмотив моих рассуждений — пользуются тем языком, который лучше всего вписывается в текущую ситуацию в коммерческой разработке софта. Это включает в себя и уровень программистов в этой отрасли (и многие другие факторы). А под последними вашими словами сам готов подписаться.

Опять же —
--
Бесчастнов Евгений
Re[3]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.06 05:26
Оценка: -1
Здравствуйте, Eugene Beschastnov, Вы писали:

VD>>... Смолток практически ничего не дал миру кроме ООП которое и без Смолток выше крыши в мэйснтирме.


EB>Не позорился бы, а? http://www.smalltalk.ru/articles/smalltalk.html


Не выпендиривался бы ты, а сказал с чем не согласен. Если конечно есть что сказать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что мы потеряли?
От: little_alex  
Дата: 25.08.06 06:06
Оценка: 1 (1)
Здравствуйте, VladD2, Вы писали:


VD>Лисп (если не брать эксперементальные клоны) это не типизированный язык и до стадии выполнения у него попросту не хватает информации о типах чтобы породить статический код. По этому в Лиспе используют методы динамической компиляции, а это и есть JIT-компиляция.


Неправда. Common Lisp практически единственный современный диалект Lisp-а. У него статическая типизация есть! И он далеко не 'эксперементальный клон'. Соотвественно есть быстые компиляторы. А вот JIT для Lispа AFAIK нет.
Re[4]: Что мы потеряли?
От: Mamut Швеция http://dmitriid.com
Дата: 25.08.06 06:38
Оценка:
M>>Анонимные функции, макросы, карринг, метапрограммирование, легковесные процессы... Да даже сборщик мусора появился на минимум десять-двадцать лет позже Лиспа и Смоллтолка (и это в Java, про C# молчу).

VD>Ну, ты загнул.


Может мне в маркетологи податься..

M>> Возможности замены работающих модулей на лету до сих пор нет нигде, кроме тех же Лиспа и Эрланга (ну и наверняка других, не менее экзотических языков).


VD>Серьезно? А мужики то не знали и даже на VB5 это делали.


О, вот этого не знал. Сорри
... << RSDN@Home 1.2.0 alpha rev. 655>>


dmitriid.comGitHubLinkedIn
Re[4]: Что мы потеряли?
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.08.06 07:54
Оценка: 1 (1) +7
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, DenisY, Вы писали:


DY>>О чем ты? google common lisp compiler


VD>Ну, ты почитай свои ссылки. А потом... и вопросов не возникнет. Лисп (если не брать эксперементальные клоны) это не типизированный язык и до стадии выполнения у него попросту не хватает информации о типах чтобы породить статический код. По этому в Лиспе используют методы динамической компиляции, а это и есть JIT-компиляция.


Пример CMUCL — фраза native code compiler надеюсь не нуждается в переводе?

VladD2, есть подозрение, что твоё мнение о лиспе (и, возможно, не только) основано не на реальных данных о нём.
Re[10]: Что мы потеряли?
От: Gaperton http://gaperton.livejournal.com
Дата: 25.08.06 07:56
Оценка: 7 (3) +2 -1
Здравствуйте, IB, Вы писали:

IB>Во-первых, не мне неважно, а вообще не важно, а во-вторых, упомянул не я...

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

IB>Упомянуто же это было к тому, что не смотря на то, что в данном аспекте, причины популярности не существенны, популярность — это более чем объективный критерий удобства той или иной технологии.


Это не правда. Bullshit.

G>> Ничего нового и интересного ты не сказал — и так все знают, что Java популярнее Lisp.

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

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


Докажи. Где я передергиваю.

G>> Здесь не маркетинговая тусовка, и главный предмет обсуждения — технологии, а не объемы продаж и сегментации рынков.

IB>Конечно, поэтому давай обсуждать тьехнологии, а не кто, что нового сказал...
Давай. Пока, правда, ты почему-то стратегический маркетинг обсуждаешь — наверно о LISP со Smalltalk сказать нечего. Ок, нивапрос, поговорим о маркетинге.

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

IB>Кто бы сомневался, конечно не пионеры, однако некоторые передергивают как дети..
А некоторые бросаются словами налево-направо, как пионеры. Покажи где я передергиваю. Подсказка: обыкновенно для этого показывают на ошибку в рассуждениях, и контраргументы приводят. А "как дети" и "детский сад" обычно говорят, когда сказать нечего.

G>> Рассуждали бы все таким образом (популярность, и неважно в силу каких причин), как ты описываешь — все бы сейчас до сих пор писали на макроассемблере и автокоде.

IB>Почему популярность определенной технологии на каком-то отрезке времени, для определенного класса задачь, должна исключить появление более удобных технологий в последствии?

Жизненный цикл технологии несколько сложнее, чем тебе кажется. Очень мало технологий становится популярны сразу после появления (они не друг за другом появляются, как тебе кажется) — такого практически никогда не бывает. На практике обычная ситуация — перспективные в будущем технологии известны и развиваются до того, как на определеном текущем отрезке времени получает популярность технология Х. Примеров можно привести массу, один из них — Windows NT и Win 95. Маркетолог сказал бы, что у технологии NT, не смотря на то, что она появилась раньше, "время выхода на плато продуктивности" существенно больше, чем у 95. Однако, в перспективе 5-7 лет NT вытеснит 95.

Более того. Первое применение новой технологии практически всегда заканчивается провалом, если это технология существенно отличается от предыдущих. Оконные интерфейсы и мышка были изобретены в 60-х. Ксерокс пытался продавать свои рабочие станции на этом принципе — провал. Apple LISA — провал. И только Макинтош — успех. Дальше, правда, еще больше бабок забрала Windows 3.1 (технология вышла на "плато продуктивности").

Для людей, которые занимаются стратегическим маркетингом в области хай-тек, это прописная истина, а не предмет дискуссий. Термин "хайп-цикл" ничего тебе не говорит? Google "hipe-cycle". Это в качестве ликбеза по теме "популярности" и "технологий", и по твоему вопросу, почитай. Да, ликбеза. Маркетинг в хайтеке — очень непростая штука, это кажется только по началу, что ты все знаешь.

G>>Замечательно. Согласен.

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

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

G>> Так давай не и будем, не разбираясь в технологиях (LISP/Smalltalk), c умным видом говорить об их удобстве или неудобстве, высасывая аргументы из пальца ("популярность").

IB>Я согласный, убирай умный вид и прекращай сосать из пальца, а я пойду с лиспом разбираться..

Я тоже согласный. Тока с одним условием — ты тоже не забудь убрать умный вид, ну и палчик тоже не соси, мы ведь тут взрослые дяди, правильно?
популярность как критерий "удобства"
От: IB Австрия http://rsdn.ru
Дата: 25.08.06 10:12
Оценка: -3
Здравствуйте, Gaperton, Вы писали:

G>Во-первых, не вообще не важно, а тебе не важно, так как за всех говорить ты не можешь.

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

G>А упомянул правда не ты. Но это неважно , так как разговор на эту тему ты поддерживаешь.

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

G>Это не правда. Bullshit.

Вот собственно на этом твоя аргументация и закончилась, конструктивненько, не правдали?

G>Хе, если бы ты писал более доходчиво, не составило бы труда понять, о чем ты.

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

G>Докажи. Где я передергиваю.

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

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

Мои же посылки отвергаешь на основании того, что я якобы не разбираюсь в какой-то конкретной технологии.
Так будь ты последователен, в конце-концов. Либо мы рассуждаем об абстрактном соотношении "популярность"/"удобство", тогда причем тут знание конкретной технологии, либо твоя аналогия полностью некорректна.

G> Пока, правда, ты почему-то стратегический маркетинг обсуждаешь...

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

G> А "как дети" и "детский сад" обычно говорят, когда сказать нечего.

Ага, а так же пытаются ставить под сомнение квалификацию оппонента, что, кстати, правилами форума запрещено...

IB>>Почему популярность определенной технологии на каком-то отрезке времени, для определенного класса задачь, должна исключить появление более удобных технологий в последствии?

G> Жизненный цикл технологии несколько сложнее, чем тебе кажется.
Тоже вот, ловкий нырок в сторону — вместо ответа на прямо поставленый вопрос, нарываешься на лекцию о маркетинге...
Все что ты написал очень интересно, не смотря на то, что так же всем известно (большие дяди, в конце концов ) и в целом верно, только вот ни в чем не противоречит моим словам...

G> На практике обычная ситуация — перспективные в будущем технологии известны и развиваются до того, как на определеном текущем отрезке времени получает популярность технология Х. Примеров можно привести массу, один из них — Windows NT и Win 95. Маркетолог сказал бы, что у технологии NT, не смотря на то, что она появилась раньше, "время выхода на плато продуктивности" существенно больше, чем у 95. Однако, в перспективе 5-7 лет NT вытеснит 95.

Гут, все верно. Далее я утверждаю, что раз технология X (95) была более популярна чем технология Y (NT) для решения ряда задач, на определенном отрезке времени, значит на этом отрезке времени для решения этих задач использовать X, в большинстве случаев, было "удобнее", чем Y.

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

Вот я и не понимаю, к чему ты это привел..

G>Маркетинг в хайтеке — очень непростая штука, это кажется только по началу, что ты все знаешь.

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

G>А я не рассуждаю об удобстве. Ты меня с кем-то путаешь.

"Каким образом тот факт, что большинство пишет на Java, C++, Delphi, доказывает, что на LISP и Smalltalk неудобно писать те приложения, которые на них были написаны?"
...
"Есть масса непопулярных технологий, который существенно удобнее и функциональнее своих популярных аналогов."

Кто здесь? Собственно первая цитата и сподвигла меня поправить точность "твоей" формулировки, с чего и начался наш задушевный разговор..

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

Да, ты прав. Душераздирающее зрелище, наверное поэтому они все время пытаются съехать с неудобной темы?

G> Из этого они делают вывод, что предмет разговора — непопулярен, и тут изумленная публика выясняет, что оказывается, сказать в этой ситуации можно очень даже много .

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

G> Тока с одним условием — ты тоже не забудь убрать умный вид, ну и палчик тоже не соси, мы ведь тут взрослые дяди, правильно?

Дык, я этим и так не грешу, на Котлера не ссылаюсь, умными терминами не разбрасываюсь, авторитетом не давлю, так что теперь твоя очередь.. Да, палец тоже убери..
... << RSDN@Home 1.2.0 alpha rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[5]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.06 12:41
Оценка: +1
Здравствуйте, little_alex, Вы писали:

_>Неправда. Common Lisp практически единственный современный диалект Lisp-а.


А как на счет Схемы, Emacs Lisp и AutoLISP?

_> У него статическая типизация есть! И он далеко не 'эксперементальный клон'.



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

Is dynamically typed, but with optional type declarations that can improve efficiency.


_> Соотвественно есть быстые компиляторы. А вот JIT для Lispа AFAIK нет.


Неможет динамически типизированный язык быть заранее на 100% откомпилирован. Темболее не может быть откомпилирован язык который может в рантайме порождать и выполнять макросы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.06 12:41
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Пример CMUCL — фраза native code compiler надеюсь не нуждается в переводе?


Это как раз пример эксперементов. Читаем во превых строках:

...It mainly conforms to the ANSI Common Lisp standard... a sophisticated native-code compiler which is capable of powerful type inferences, and generates code competitive in speed with C compilers.


Вывод типов и статическая компиляция резко убивают некоторые особенности Лиспа (динамическую генерацию и исполнения кода).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.06 13:12
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Пример CMUCL — фраза native code compiler надеюсь не нуждается в переводе?


http://www.cons.org/cmucl/FAQ.html

...
Q: How do I compile my Lisp program to an executable?
A: CMUCL does not support delivery as an executable. If this bothers you, note that this is also the case of most other programming language implementations: for example Sun's java implementation requires a bundle of class files.
...

... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Что мы потеряли?
От: Beam Россия  
Дата: 25.08.06 13:15
Оценка: 4 (1) +2
Здравствуйте, Mamut, Вы писали:

Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


Что потеряли:

Все эти взаимосвязанные между собой пункты позволяют значительно легче "объяснять свою идеи компьютеру" на более абстрактном уровне, а не в терминах Byte & Integer. Так "отсутствие" синтаксиса позволяет при необходимости написать и использовать свой DSL.

Что "изобретают":

Наверное, много чего еще можно добавить...

P.S. И почему Smalltalk считается экзотическим языком? Тот же ООП только в более ярко выраженной форме. Поменьше точек и скобок, плюс вызов метода немного иначе выглядит, а так все принципы те же что и в Java/C#
Java:
foo.findText(text, bigText);
for (int i=0; i<10; i++) {
   foo.go(i)
}

Smalltalk:
foo findText: text in: bigText.
0 to: 9 do: [:i | foo go: i].
Best regards, Буравчик
Re[5]: Что мы потеряли?
От: AVC Россия  
Дата: 25.08.06 14:15
Оценка:
Здравствуйте, FR, Вы писали:

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

AVC>>Вот и интересно, какова разница (и для каких задач, и почему), и в чью пользу?
AVC>>Меня не слишком интересуют "остроумные" высказывания (в этом топике они есть) относительно машины Тьюринга, Брейнфака, задачи останова и т.п.
FR>Я думаю высококвалифицированному программисту при решении большого класса нетривиальных задач лисп и ему подобные могут помощь сильно ускорить и упростить разработку.

Ответ, может быть, и точный, но ясным его не назовешь.
Каких-таких "нетривиальных задач"?
Есть ли какой-нибудь пример?
Кивок на требуемую высокую квалификацию (жирным шрифтом), видимо, должен означать: "ну что тебе объяснять — все равно не поймешь"?

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[6]: Что мы потеряли?
От: little_alex  
Дата: 25.08.06 14:32
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это как раз пример эксперементов. Читаем во превых строках:

VD>

...It mainly conforms to the ANSI Common Lisp standard... a sophisticated native-code compiler which is capable of powerful type inferences, and generates code competitive in speed with C compilers.


VD>Вывод типов и статическая компиляция резко убивают некоторые особенности Лиспа (динамическую генерацию и исполнения кода).

Да не же — типы есть в стандарте Common Lisp. И mainly conforms совсем не-за типов.
Re[6]: Что мы потеряли?
От: little_alex  
Дата: 25.08.06 15:08
Оценка: -1
Здравствуйте, VladD2, Вы писали:



VD>http://en.wikipedia.org/wiki/Common_Lisp

VD>

Is dynamically typed, but with optional type declarations that can improve efficiency.



VD>Неможет динамически типизированный язык быть заранее на 100% откомпилирован. Темболее не может быть откомпилирован язык который может в рантайме порождать и выполнять макросы.


Очень интересно, что значит 100% . У меня программа скомпилированная Intel C++ компилятором выполняется более чем в 2 раза быстрее ,чем скомпилированная MSVS 6.0. Значит ли это что msvs компилирует не на 100%? Проверки типов — ну будут они в коде, который нагенерирует компилятор Lisp'а. Равно как и яве при приведение типа от Object, как и dynamic_cast в C++. Этих проверок можно избежат если объявить типы некоторых переменных(например аргументов ф-ии) — остальные типы компилятор выведет сам.
Re[6]: Что мы потеряли?
От: little_alex  
Дата: 25.08.06 15:16
Оценка:
Здравствуйте, VladD2, Вы писали:



VD> Темболее не может быть откомпилирован язык который может в рантайме порождать и выполнять макросы.


Выполнять в рантайм нагенерированные макросы это не очень частое явление даже в Lisp. Например в некоторых коммерческих реализациях забанены compile и eval в продукте, который распространяет пользователь компилятора по соображениям лицензирования — что бы не перепродалали компилятор.
Re[6]: Что мы потеряли?
От: little_alex  
Дата: 25.08.06 15:22
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>А как на счет Схемы, Emacs Lisp и AutoLISP?


IFAIK Emacs Lisp и AutoLISP создавались до CL. Их сложно назвать современными диалектами по многим причинам — хотя бы отсутствие лексических переменных чего стоим.
Re[6]: Что мы потеряли?
От: little_alex  
Дата: 25.08.06 15:28
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>http://www.cons.org/cmucl/FAQ.html

VD>

...
VD>Q: How do I compile my Lisp program to an executable?
VD>A: CMUCL does not support delivery as an executable. If this bothers you, note that this is also the case of most other programming language implementations: for example Sun's java implementation requires a bundle of class files.
VD>...


На самом деле это обозначает, что cmucl не умеет генерировать ELF заголовки (заголовок исполнительного файла в *nix)
Просто скомпированный образ загружает маленькая C программа. Но функции внутри образа скомпилированы в маш код.
Re[6]: Что мы потеряли?
От: FR  
Дата: 25.08.06 16:27
Оценка:
Здравствуйте, AVC, Вы писали:

FR>>Я думаю высококвалифицированному программисту при решении большого класса нетривиальных задач лисп и ему подобные могут помощь сильно ускорить и упростить разработку.


AVC>Ответ, может быть, и точный, но ясным его не назовешь.

AVC>Каких-таких "нетривиальных задач"?
AVC>Есть ли какой-нибудь пример?
AVC>Кивок на требуемую высокую квалификацию (жирным шрифтом), видимо, должен означать: "ну что тебе объяснять — все равно не поймешь"?

Ну я сам тоже не являюсь высококвалифицированным программистом на лиспе
Просто хотел донести такую мысль что лисп и ему подобные это инструменты для одиночек, что освоить их тяжело, но если освоишь то можешь решать многие задачи намного быстрее.
Re[7]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.08.06 19:59
Оценка: -2
Здравствуйте, little_alex, Вы писали:

_>Очень интересно, что значит 100% . У меня программа скомпилированная Intel C++ компилятором выполняется более чем в 2 раза быстрее ,чем скомпилированная MSVS 6.0. Значит ли это что msvs компилирует не на 100%? Проверки типов — ну будут они в коде, который нагенерирует компилятор Lisp'а. Равно как и яве при приведение типа от Object, как и dynamic_cast в C++. Этих проверок можно избежат если объявить типы некоторых переменных(например аргументов ф-ии) — остальные типы компилятор выведет сам.


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

Мне же эти разговры не нитересны.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Ничего мы не потеряли
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 25.08.06 22:09
Оценка: 69 (7) +6
Здравствуйте, Mamut, Вы писали:

M>Вытянуто с comp.lang.erlang.general


Правильный ответ — никто ничего не потерял. Потеряли те, кто никогда не имел. Их просто не будут тянуть дальше за уши. Надоело. А структура IT-индустрии на данный момент такова, что сожрёт ещё кучу разноквалифицированного персонала и не подавится. Автор оригинального постинга тоже Lisp не удосужился изучить, а туда же — жалеть о том, что "мы", мол, потеряли.

Вот интересно, кто сейчас мешает заняться теми самыми экспертными системами и смежной проблематикой? Правильный ответ — никто. Кто мешает открыть книжку по Lisp, а не жаловаться, как всё, мол, было когда-то прикольно и какое нынче вокруг дерьмо? Аналогично — никто не мешает. Так чего сопли развозить? Или это правда, что "некоторые старятся раньше, чем успевают начать взрослеть" (c) ?

Действительно, до поры, до времени Lisp, Prolog и прочее подобное совпадало в некоторой степени с "майнстримом". Вернее, не с майнстримом, а с тем Далёким Светлым И Чистым, от чего много ждут и говорят с придыханием. Когда "майнстрим" приобрёл несколько иной (заметно более убогий) характер — Lisp-разработки стали заметно хуже финансироваться, это и вызвало негативную реакцию (логично, однако!). Когда "майнстрим" стало ругательным словом (наконец-то) Lisp тоже оживился. И это снова правильно.

Так что, нет причин плакать, нет повода для грустных дум.
<< Под музыку: Аквариум — Пабло >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 25.08.06 22:23
Оценка: 4 (1)
Здравствуйте, eao197, Вы писали:

M>>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


E>Элитарность.


Ой ли? Если уж говорить о потерях, то здесь не потери, а привнесение иного качества. Конкретно — оформление метафоры "механической детали" вместо математической формулы. Взято было из "механической" индустрии, прижилось в "промышленном программировании".

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

Кстати, насколько я понимаю, чем сложнее ("необычнее") язык, тем сильнее выражена элитарность. Сейчас не в курсе, как в Lisp-сообществе дела обстоят, но мне тебе рассказывать, что из тех, кто называет себя C++-никами хорошо, если 10% умеют им пользоваться.
<< Под музыку: Аквариум — Уткина заводь >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Что мы потеряли?
От: BlackBox Россия ---
Дата: 26.08.06 11:49
Оценка:
Здравствуйте, FR, Вы писали:

FR>Ну я сам тоже не являюсь высококвалифицированным программистом на лиспе :)

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

У нас девочки на CommonLISP'е писали программы и ничего =) И ушло на изучение меньше семестра.
Re[2]: Что мы потеряли?
От: Win2k  
Дата: 26.08.06 12:36
Оценка:
Здравствуйте, 0xDEADBEEF, Вы писали:

DEA>Данные языки за деревьями не видят леса, точнее — его границ (по памяти, по процессору и тд), и, следовательно, там где данные границы важны, они сосут по полной.


Что, даже когда region analisys умеют делать — тоже сосут? Интересно-с...


M>>на всякие VB/Delphi/C++?

DEA>...в начале был Ассемблер и он породил СИ. (ок, Фортран был первее, но где тот фортран?)

Фортран и теперь живее всех Си-клонов вместе взятых. Только вам, лабающим формочки в визардах, об этом знать не положено.
А вообще улыбнула краткая история IT. Так всё переврать — это надо уметь.

DEA>не "полностью абстрагироваться", как было с Lisp/Smalltalk/Basic.


Lisp бывает и очень даже близким к железу. Как — спроси у тех, кто видел Symbolics. Lisp бывает близким к железу даже на древних PC XT.
Как? Посмотри на MuLisp. Типичная программа — сначала маленькая кучка макр, полных ассемблерными вставками, потом — много высокоуровневого кода на этих макрах. Результат — тогдашние компиляторы Си по скорости и рядом не валялись.

M>>а потом на всякие Java/C# и т.д.,

DEA>...Спрос на программистов все возрастал. В итоге, любой, кто смог запомнить синтаксис операторов "for" и "if" смог стать программистом.

Кодером, а не программистом. Называйте вещи своими именами.

DEA>Изучение Лиспа (за Smalltalk не говорю ибо его не знаю) требовало "как-то по-особому вывернуть мозги".


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

DEA>Что требует (а)времени (б)значительных интеллектуальных усилий.


А вообще всё, что не требует значительных интеллектуальных усилий, не имеет права на существование.
Re[2]: Что мы потеряли?
От: Win2k  
Дата: 26.08.06 12:48
Оценка: 30 (3) -10 :))
Здравствуйте, VladD2, Вы писали:

VD>Правильно, ни Лисп, ни Смолток не являются компилируемыми языками и самое лучшее на что они могут быть рассчитаны — это JIT-компиляция в момент выполенния.


Ну зачем же ТАК сильно лажаться? :-O

VD>1. Привычки. Лисп и Смолток очень не традиционные языки.


Раб привычек — он и по жизни вообще раб. А кому интересно иметь дело с рабами? Лично мне — совсем не интересно.

Да и про традиционность языка не надо. Лисп традиционней всех Си-клонов вместе взятых. Традиционнее Фортрана и ассемблера. Он был традиционным ещё когда ни одного компьютера в мире не было. Он — язык, легко понятный математикам. А не-математиков в программировании быть не должно.


VD> Привычки — это опыт который закладывается в каждого человека с детства и остается в сознании практически на уровне рефлексов. Так в начальной школе нас обучали арифметике в которой есть инфиксная запись выражений и есть приоритеты.


Фигак. Когда нас учат складывать и умножать в столбик, то никаких приоритетов нет. Есть жестко заданная последовательность. По сути, нас учат интерпретировать инфиксную запись с приоритетами, преобразуя её в префиксную запись с конкретным порядком действий. Когда появились калькуляторы, всё стало ещё хуже — люди начали более привыкать к обратной польской записи.

VD> А вот как раз ломка сознания и борьба с привычками — это очень болезненные процессы.


Вопрос в сторону — а можно ли причислять к виду homo sapiens тех, для кого применение интеллекта является болезненным процессом? Лично я бы не стал. А то обидно очень считать что ЭТИ принадлежат к тому же биологическому виду, что и я.

VD> Большинство людей скорее выбросят нечто не привычное, чем будут пытаться себя перебороть.


Швыряться предметами обезьянки любят. Ну и попугайчики ещё. За людьми такого не замечено. Так может, я таки прав, на тему разных биологических видов?

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


Symbolics были приколом? Ну ну. Одно время они были единственными доступными машинами класса около-ПК. Остальные были гораздо зверее.

VM> Потом пошли ПК на которых оба языка по началу вообще не могли работать.


Скажите, вас где учили так беззастенчиво лгать?

VM> Там счет шел на байты и инструкции, и GC с нитерпретацией смотрелись совсем странно. Алголоподобные же языки напротив поставлялись с массовыми компьютерами и вообще были ближе к народу.


Народ вообще никому не интересен, в силу серости. А про "поставлялись с массовыми компьютерами"... Ба! Да это ж про бейсик!!! Интерпретируемый такой весь из себя.

VD>3. Lisp и Smalltalk плохие языки. Понимаю, что этот пунтк вызовет бурю эмоций у их фанатов. Но объективно это так.


"объективно"... И далее попёр субъективный поток сознания. Вы, простите, кто такой, чтоб брать на себя роль вещателя "объективной истины"?

VD>Лисп и Смолток были не принодны для мэйнстрима по очень большому количеству фаторов.


Для мейнстрима вообще ничего стоящего не пригодно. Мейнстрим — это, иными словами, попса. А хорошая вещь попсой не станет никогда.
Re[8]: Что мы потеряли?
От: FR  
Дата: 26.08.06 13:02
Оценка:
Здравствуйте, BlackBox, Вы писали:

BB>Здравствуйте, FR, Вы писали:


FR>>Ну я сам тоже не являюсь высококвалифицированным программистом на лиспе

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

BB>У нас девочки на CommonLISP'е писали программы и ничего =) И ушло на изучение меньше семестра.


Программки на той же схеме писать можно и за неделю научится. Но для работы это ничто. Про лисп ни буду, но вот возмем тот же питон, казалось бы простейший язык, любой знающий си(или паскаль, бейсик) может через неделю уверено писать программы, но для серъезной и эффективной работы (и чтобы получался красивый короткий код) нужен приличный опыт работы и изучение концепции которые процедурно и объектно — ореинтированным программистам не нужны и обычно неизвестны.
Re[3]: Что мы потеряли?
От: 0xDEADBEEF Ниоткуда  
Дата: 26.08.06 15:30
Оценка: 1 (1) +3 :))) :))) :)
Здравствуйте, Win2k, Вы писали:

W>Здравствуйте, 0xDEADBEEF, Вы писали:


DEA>>Данные языки за деревьями не видят леса, точнее — его границ (по памяти, по процессору и тд), и, следовательно, там где данные границы важны, они сосут по полной.


W> Что, даже когда region analisys умеют делать — тоже сосут? Интересно-с...

Моя ваш инглиш компрене нихт. Впрочем, пусть они умеют все что угодно — кофе варить, собак выгуливать — неважно. Просто на тот момент более "приземленные" языки умели то же самое, но лучше.

Вот цитата из Википедии: http://en.wikipedia.org/wiki/Lisp_programming_language

Partly because of garbage collection and partly because of its representation of internal structures, Lisp became difficult to run on the memory-limited stock hardware of the day. (The specific garbage collection routines for LISP were coded by then-MIT graduate student Daniel Edwards. This was a significant accomplishment because it made it practical to run Lisp on any general-purpose computing system.) This led to the creation of LISP machines: dedicated hardware for running Lisp environments and programs.

Как вам такое: пришлось делать специальный хардвар, чтобы все что наколбасили хоть как-то шевелилось

M>>>на всякие VB/Delphi/C++?

DEA>>...в начале был Ассемблер и он породил СИ. (ок, Фортран был первее, но где тот фортран?)
W> Фортран и теперь живее всех Си-клонов вместе взятых.
Шоб вам жить как тому фортрану

W> Только вам, лабающим формочки в визардах, об этом знать не положено.

...а вы, судя по апломбу, решаете Великие Проблемы где-то в Очень Секретном Месте. Причем, на Фортране

W> А вообще улыбнула краткая история IT. Так всё переврать — это надо уметь.

Смех продляет жизнь. Надеюсь, мой пост позволит вам умереть минут на пару позже срока

DEA>>не "полностью абстрагироваться", как было с Lisp/Smalltalk/Basic.

W> Как? Посмотри на MuLisp.
W> Типичная программа — сначала маленькая кучка макр, полных ассемблерными вставками,
W> потом — много высокоуровневого кода на этих макрах.
Угу. Видел подобные вещи. Макры гонят асемблер, и получается щасце. Этакий "компилятор для бедных".
Такой подход стоило бы применить, если у вас единственный-в-мире-компьютер и больше ничего нету.
Интерпретатор лиспа настолько прост, что его быстро можно написать на чем угодно — хоть в машинных кодах. А потом садиться и плести "макры"...

Вот только вы забыли указать, что сей подход не используется уже лет 30. Нормальные люди для новой платформы пишут кросс-компиляторы.

W> Результат — тогдашние компиляторы Си по скорости и рядом не валялись.

Когда-то "тогда" и дубина была вундервафлей. Например, по сравнению с кулаком

DEA>>...Спрос на программистов все возрастал. В итоге, любой, кто смог запомнить синтаксис операторов "for" и "if" смог стать программистом.

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

DEA>>Изучение Лиспа (за Smalltalk не говорю ибо его не знаю) требовало "как-то по-особому вывернуть мозги".

W> Не требовало. Такие мозги есть у каждого, кто в школе математику изучал.
Гы Я вот изучал и даже что-то помню, но ни в школе, ни в институте никто не удосужился мне рассказать о префиксной записи арифметики, которая в лиспе используется Пришлось "выворачивать мозги"

W> А кто не изучал, или кому не понравилось — того ссаными тряпками из программирования гнать надо.

Не понравился лисп? Или префиксная запись?

DEA>>Что требует (а)времени (б)значительных интеллектуальных усилий.

W> А вообще всё, что не требует значительных интеллектуальных усилий, не имеет права на существование.
Очень надеюсь, вы следуете этому правилу и не занимаетесь ничем, что не требует значительных интеллектуальных усилий. Например, сексом

А пост, на который я отвечаю, без сомнения, потребовал очень серьезных интеллектуальных усилий с вашей стороны.
__________
16.There is no cause so right that one cannot find a fool following it.
Re[4]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 28.08.06 06:48
Оценка: 14 (2) +4
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Eugene Beschastnov, Вы писали:


VD>>>... Смолток практически ничего не дал миру кроме ООП которое и без Смолток выше крыши в мэйснтирме.


EB>>Не позорился бы, а? http://www.smalltalk.ru/articles/smalltalk.html


VD>Не выпендиривался бы ты, а сказал с чем не согласен. Если конечно есть что сказать.


Кроме ООП (которое, кстати, появилось вовсе даже в Simula, но на современное понимание которого Smalltalk оказал крайне сильное влияние), из Smalltalk выросло следующее:
* Концепция и первая реализация объектной системы, построенной на обмене сообщениями (sea of living objects);
* Графический интерфейс WIMP (Windows, Icons, Menus and Pointing devices);
* Концепция MVC (Model-View-Controller);
* Традиционный набор коллекций, который потом скопировали практически все ОО-языки;
* Концепция и первая реализация JIT-компилятора;
* Утверждение о том, все гибкие методологии вышли из Smalltalk, будет, пожалуй, немного слишком сильным (хотя Smalltalk и подталкивает к такому стилю разработки), но вот то, что Extreme Programming обязан рождением Smalltalk-у — это совершенно точно.

Блин, в подпись, что ли, это уже вынести?

PS. Интересно, что мне мешает ответить так же
Автор: VladD2
Дата: 25.08.06
?
--
Бесчастнов Евгений
Re[2]: Что мы потеряли?
От: Mirrorer  
Дата: 28.08.06 07:54
Оценка: 95 (12) :))) :))) :))) :)))
E>Не хочу никого обижать, все вышесказанное является моим субьективным мнением. Поскольку лично моих способностей не хватает, чтобы понимать код вида (* (+ n 1) k). Не судьба, да и хрен с ней.
[Скорее всего оффтоп]
По поводу (* (+ n 1) k)
Не могу сказать что я большой спец в лиспе , скорее даже наоборот.
Но с пониманием такого кода проблем нет. Попробую объяснить как я его вижу, может кому-то покажется полезным

возьмем всеми любимый XML
<multiply>
    <operands>
        <operand>
            <add >
                <operands>
                    <operand>
                        n
                    </operand>
                    <operand>
                        1
                    </operand>
                </operands>
            </add>    
        </operand>
        <operand>
            k
        </operand>
    </operands>
</multiply>

фууу.. как объемно и некрасиво.
попробуем попроще.
Уберем уродливые Operands и operand теги
ХМЛ легким движением руки превращается ....
<multiply>
    <add>
        <n></n>
        <1></1>
    </add>
    <k></k>
</multiply>

О.. не совсем ХМЛ, но понять то можно, не правда ли ?

А теперь финт ушами..
превращаем
<tag>
</tag>

в такую вот вещь

<tag
/tag>


Сбалансированных скобок достаточно чтобы обеспечить корректность, верно ?

И еще чуть- чуть упростим. Зачем нам закрывающий тег ? Достаточно и закрывающей угловой скобки.

<tag
>


И преобразовываем все теги в примере к такому виду.

было
<multiply>
    <add>
        <n></n>
        <1></1>
    </add>
    <k></k>
</multiply>

стало

<multiply
    <add
        <n>
        <1>
    >
    <k>
>


И еще небольшое косметическое усовершенстование...
заменяем
<tag>

на
tag

в том случае, если у него нету никаких внутренностей

<multiply
    <add
        n
        1
    >
    k
>

Вуаля.

Теперь записываем это все дело в одну строку
<multiply <add n 1> k>

и сравниваем
(*        (+   n 1) k)


В чем же отличие.. ах да.. "*" и "+" намного сложнее воспринимаются чем multiply и add. Но я думаю к этому можно привыкнуть
Равно как и к замене <> на ()
[/Скорее всего оффтоп]
... << RSDN@Home 1.1.4 silent>>
Re[4]: Что мы потеряли?
От: Курилка Россия http://kirya.narod.ru/
Дата: 28.08.06 08:53
Оценка:
Здравствуйте, 0xDEADBEEF, Вы писали:

DEA>Здравствуйте, Win2k, Вы писали:


W>>Здравствуйте, 0xDEADBEEF, Вы писали:


DEA>>>Что требует (а)времени (б)значительных интеллектуальных усилий.

W>> А вообще всё, что не требует значительных интеллектуальных усилий, не имеет права на существование.
DEA>Очень надеюсь, вы следуете этому правилу и не занимаетесь ничем, что не требует значительных интеллектуальных усилий. Например, сексом

Хороший секс требует хороших интеллектуальных усилий.
Но это не для обсуждения на РСДН
Re[3]: Что мы потеряли?
От: squiz  
Дата: 28.08.06 08:57
Оценка: 38 (2) +1
Здравствуйте, Win2k, Вы писали:

W> Фортран и теперь живее всех Си-клонов вместе взятых. Только вам, лабающим формочки в визардах, об этом знать не положено.

W> А вообще улыбнула краткая история IT. Так всё переврать — это надо уметь.
Да, и COBOL "живой" еще Fortran конечно поживее будет, но в плане "свежести" только. Профессора старой закалки души в нем не чаявшие знаешь что используют? MatLab, Mathematica, MatCAD. Почему? Ведь это более "естественные" среды с языками для решения мат. задач да и плюс это удобные среды.

W> Lisp бывает и очень даже близким к железу. Как — спроси у тех, кто видел Symbolics.

Это железо там близко к Lisp было, а не Lisp к железу. Да и где теперь, да что уж теперь, 10 лет назад еще, тот Symbolics...

W>Как? Посмотри на MuLisp. Типичная программа — сначала маленькая кучка макр, полных ассемблерными вставками, потом — много высокоуровневого кода на этих макрах.

Это шедевр! Но это уж тогда не Lisp, это ассемблер. И оскольку в ассемблере тоже есть макросы то использовать Lisp для вышеописанного сценария не вижу смысла.

W>Результат — тогдашние компиляторы Си по скорости и рядом не валялись.

Результат будет минимум тем же, если тоже написать "сначала маленькую кучку макр, полных ассемблерными вставками, потом — много высокоуровневого кода на этих макрах"

DEA>>...Спрос на программистов все возрастал. В итоге, любой, кто смог запомнить синтаксис операторов "for" и "if" смог стать программистом.

W> Кодером, а не программистом. Называйте вещи своими именами.
Да, здесь полностью согласен. Все таки если от души и талант — это Developer, а если за так — programmer. Но и для тех и для других места в IT предостаточно.

W> Не требовало. Такие мозги есть у каждого, кто в школе математику изучал. А кто не изучал, или кому не понравилось — того ссаными тряпками из программирования гнать надо.

Извини, но это уже похоже только на то, что ну хочется этой самой "ссаной" тряпкой в руки и помахать да повода нет
Never underestimate those behind you...
Re[2]: Что мы потеряли?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 28.08.06 10:23
Оценка: 19 (2) +4 :))) :)))
Здравствуйте, VladD2, Вы писали:

VD>1. Привычки. Лисп и Смолток очень не традиционные языки. Привычки — это опыт который закладывается в каждого человека с детства и остается в сознании практически на уровне рефлексов. Так в начальной школе нас обучали арифметике в которой есть инфиксная запись выражений и есть приоритеты.


Но там нету никаких int, long, float, double. И ничё, все привыкают. Многие даже считают, что если сложить два положительных числа, то отрицательный результат это не бага
Автор: Andrei N.Sobchuck
Дата: 15.06.06
, а фича.

VD>2. Традиции. Лисп и Смолток родились в недрах исследовательских лабороторий и очень долго жили только там. Потом из Смолтока долго пытались устроить успешный коммерческий продукт, но добились только того, что интерес к Смолтоку так никогда и не возник.


Казалось бы, причём сдесь Немерле? Кстати, в 93 году на ST программировало количество программеров сопоставимое с C++. Факторы, которые всё поменяли, я приводил не раз.

VD>3. Lisp и Smalltalk плохие языки. Понимаю, что этот пунтк вызовет бурю эмоций у их фанатов. Но объективно это так. Надо только понимать, что термин "плохие" для разных людей имеет разное содержание.


Ну, так и пиши, "Для меня, VladD2, Lisp и ST плохие".

VD> Главное что объеденят Лисп и Смолток — это то охренение в которое пребывает программист, привыкшей к Алголоподобным языкам, впервые сталкивающися с Лиспом или Смолтоком.


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

VD>Ну, а теперь ответ на вопрос.


VD>Лисп и Смолток были не принодны для мэйнстрима по очень большому количеству фаторов. Но многие родившиеся в них идеи поитихоничку переходя или прямо в мэйснтрим-языки или в языки претендующие на мэйнстрим. Скорее, правда, речь можно вести про Лиспе, так как Смолток практически ничего не дал миру кроме ООП которое и без Смолток выше крыши в мэйснтирме.


Тебе б маркетингом заниматься. Куча слов и совсем без фактов.

VD> А языки типа Nemerle и Scala к тому же еще и имеют неплохие средства защиты от дурака.


А вот и Немерле. А я уж думал, ты про него позабыл.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[5]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.08.06 11:42
Оценка: 9 (1) +1 -3
Здравствуйте, Eugene Beschastnov, Вы писали:

EB>* Концепция и первая реализация объектной системы, построенной на обмене сообщениями (sea of living objects);


Мы вроде о языках программирования говорим? Ну, так детали реализации компиляторов тут никого не трогают. С с точки зрения компьютерной науки Смолток явился развитием идей ООП.

EB>* Графический интерфейс WIMP (Windows, Icons, Menus and Pointing devices);


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

Самому — то не смешно говорить о том что Смотлок породил мышь?

EB>* Концепция MVC (Model-View-Controller);


А, ну, да. Самому — то не смешно? MVC — это один из десятков (а то и сотен, как посмотреть) паттернов ООП. Эдак Смолток порадил еще "концепцию" "Прокси" и т.п.

EB>* Традиционный набор коллекций, который потом скопировали практически все ОО-языки;


Очередная глупость. Какое отношение коллекции имеют к языку? Может Лисп еще и список миур подарил? Почитай на досуге книжку из серии "Алгоритмы и структуры данных". Поймешь, что все эти коллекции были за длого до Смолтока. Ну, а то что в Смолтоке их (причем не все) оформили в виде объектов — это чистейшее следствие использования ООП.

EB>* Концепция и первая реализация JIT-компилятора;


Это детали компиляторостроения. И ты глубоко ошибашся если думашь, что концепции JIT-компиляции были придуманы в Смолтоке. В Ксероксе использовали интерпретаторы. JIT-компиляторы для Смолотка появились сильно позднее (в 1980-ые, в коммерческой реализации — VisualWorks, если не ошибаюсь).
Насколько мне извесно в том же Лиспе работы по динамической компиляции были проведены значительно раньше. Вот только звучного имени "JIT" им забыли дать.
Более того, по иронии судьбы многие причисляют первенство в JIT опять же Ксероксовскому языку, но не Смолтоку, а Селфу. Вот только появился он в 1986.

EB>* Утверждение о том, все гибкие методологии вышли из Smalltalk, будет, пожалуй, немного слишком сильным


Да, ладно. На фоне притягивания за уши чего попало и оно прокатит. Покрайней мере фанаты согласятся.

EB> (хотя Smalltalk и подталкивает к такому стилю разработки), но вот то, что Extreme Programming обязан рождением Smalltalk-у — это совершенно точно.


В полне воможно. К языкм программирования это, правда, тоже отношения не имеет. Но... Остается записать Смолток родиной слонов и все будет ОК.

EB>PS. Интересно, что мне мешает ответить так же
Автор: VladD2
Дата: 25.08.06
?


Незнаю. Думаю фиговое знание особенностей реализации компилятора и неумение относить факты к конкретным областям знаий.

Если серьезно ты ни сказал ничего нового и ни на грам не опроверг мои слова:

Смолток практически ничего не дал миру кроме ООП которое и без Смолток выше крыши в мэйснтирме.

За ООП Смолтоку большое спасибо. Хотя не в нем его придумали, но он стал отличным его популяризатором, да и концепции инкапсуляции придуманы были именно в Смолтоке.
В остальном же Смолток так же очень многое заимствовал из других языков. Лисп другое дело. Это не только пионр ФЯ. В Лиспе были развиты и проработаны забавнейшие решения многие из кторых до сих пор не добрались до мэйнстрим-языков.

Это объективная реальность и никакой фанатизм это не изменит. Хотя конечно можно поглядеть и под другим углом. ООП — одним из родоначальников которого был Смолток, является очень важной вехой в развитии ЯП. И пожалуй, что на сегодня ООП повлияло на программирование больше всего. Вот только не ясно почему сложилось нездоровое воспевание одного Смолтока? Ведь, по сути, придуман ООП был в Симуле. И большинство ООЯ развивают именно ее традиции.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.08.06 12:34
Оценка: 3 (1) -1
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Но там нету никаких int, long, float, double. И ничё, все привыкают. Многие даже считают, что если сложить два положительных числа, то отрицательный результат это не бага
Автор: Andrei N.Sobchuck
Дата: 15.06.06
, а фича.


Тип там один, потому его никто и не указывает (начальная школа, все же). В типизированном лямбда-исчислении типы есть. А деление типов по размерам — это особенности архитектуры компоьютеров. Это не сложно понять и принять. Темболее, что любое обучение программированию на сегодня начинается с рассказа о том как устроен современный компьютер.

VD>>2. Традиции. Лисп и Смолток родились в недрах исследовательских лабороторий и очень долго жили только там. Потом из Смолтока долго пытались устроить успешный коммерческий продукт, но добились только того, что интерес к Смолтоку так никогда и не возник.


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


А действительно? Причем? Догадался? При том, что основное его отличие от языков которым не удалось пробиться в массы как раз и является то, что он пытается быть традиционным. И именно по этому я сморю на него как на потенциальный мэйнстрим-язык.

ANS> Кстати, в 93 году на ST программировало количество программеров сопоставимое с C++. Факторы, которые всё поменяли, я приводил не раз.


Отвечу цитатой одно известного тебе товарища:

Тебе б маркетингом заниматься. Куча слов и совсем без фактов.


VD>>3. Lisp и Smalltalk плохие языки. Понимаю, что этот пунтк вызовет бурю эмоций у их фанатов. Но объективно это так. Надо только понимать, что термин "плохие" для разных людей имеет разное содержание.


ANS>Ну, так и пиши, "Для меня, VladD2, Lisp и ST плохие".


Для фанатствующих индивидумов поясняю. Я излогал свое мнение о том, почему Лисп и Смолток не стали мэйнстрим-зяыками программирования (почему они не завоевали такую же популярность как VB, C++, Паскаль...). Так что совершенно не важно чем они являюстя для меня. Главное, что кроме меня были еще многие и многие для которых эти языки были плохими. И что они понимали под этим словом я тоже очень доходчиво объяснил. Если ты не в силах тревзво взглянуть на вещиили тебя раздражает чужой взгляд, то я тут совершенно не причем.

VD>> Главное что объеденят Лисп и Смолток — это то охренение в которое пребывает программист, привыкшей к Алголоподобным языкам, впервые сталкивающися с Лиспом или Смолтоком.


ANS>Вот, вот. А у людей, незнакомых с программированием охренение вызывают алголоподобные языки. И что с того?


Ты читал, что я написал? Ах, да, извини забыл. Фанатизм не дает расслабить мозг и воспринять написанное. Тогда в двух словах повторю. Есть такие вещи как традиции и привычки. Ты можешь искусать свои локти, но большинство людей в своей жизни врабатывает такие привычки и привыкает к таким тардициям, что Смолток и Лисп для них выглядят дико. Им приходится буквально ломать свое сознание чтобы начать думать на Лиспе или Смолтоке (хотя со вторым наверно чуть проще). И неумение/нежелание популяризаторов этих языков доходчиво объяснить их принципы и концепции, а так же нежелание делать эти языки ближе к людям привело к сегодняшнему положению дел. Языки типа Явы полностью захватили рынок.

ANS>Тебе б маркетингом заниматься.


Спасибо за комплимент. Я многим занимаюсь очень не плохо. Чего и тебе желаю.

ANS> Куча слов и совсем без фактов.


Хочешь забавнейший эксперемент? Прочти свои слова и найди в них хотя бы одно слово подтвержденное фактами.

Моей целью не было создать обвинительное заключение против Лиспа и Смолтока. Я просто всказывал своим мысли родившиеся у меня в процессе анализа информации которую я узнал знаимаясь вопросом генеалогии ЯП. Ты же просто размахивашь ссаной трямкой просто потому что мое мнение тебе не нравится.

VD>> А языки типа Nemerle и Scala к тому же еще и имеют неплохие средства защиты от дурака.


ANS>А вот и Немерле. А я уж думал, ты про него позабыл.


Да, что ты так беспокошся то? Не забудет плод твоего вожделения от появлениея Немерле или Скалы. Смолток давно и прочно занял "место в кремлевской стене". Он стал вехой в истории (хотя на мой взгляд и сильно переоцененой, на фоне недооценки Симулы). Немерле же это попытка привнести в мэйснтрим то, что умудрилось обойти его сторной. И если основные концепции рожденные в Смолтоке уже присуствуют в мэйнстриме, то концепциям Лиспа только предстоит войти в мэйнстрим. Вот Немерле и занимается этим. И не факт что это удастся. Но шансы есть. Потому я в данный момент с удовольствием занимаюсь этим языков.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что мы потеряли?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 28.08.06 15:20
Оценка: 16 (2) +1
Здравствуйте, VladD2, Вы писали:

VD>>>Потом из Смолтока долго пытались устроить успешный коммерческий продукт, но добились только того, что интерес к Смолтоку так никогда и не возник.


Это отсутствие интереса?:
95 год:

A recent Gartner Group survey shows that of developers using
object-oriented languages:

42% use C++
26% use an "object-oriented" 4GL (Is this an oxymoron?)
17% use Smalltalk
15% use some other OOPL


Касательно объёма рынка:

* report IDC #10782, Nov 95, can be ordered from International Data Corporation.

Language Market Share (%)
C++ 71.3
Smalltalk 15.1
Objective C 5.7
OO Pascal 4.2
CLOS 2.5
Eiffel 1.1
All other 0.2


И вообще:

- Twenty-six percent of object-oriented professionals who are not
currently using Smalltalk would recommend Smalltalk to MIS shops planning
to adopt object-oriented programming.
— Smalltalk contract programmers are in demand, earning up to $150 an hour.
— Smalltalk is the fastest-growing object-oriented language on the
market, growing at a 60 percent annual rate.
— Fifty-four percent of the time, Smalltalk is used for information
retrieval/reporting/ query/decision support. Therefore, Smalltalk is
typically used in a client/server computing model.


А вот и основная причина ухода с рынка:

SUNNYVALE, CALIF. (May 22) BUSINESS WIRE -May 22, 1995--ParcPlace Systems, Inc. (NASDAQ:PARQ) and Digitalk, Inc. jointly announced today that they have signed a definitive agreement to merge the two companies.


После слияния, эти фирмы, занимавшие 80% рынка (ParcPlace — 50%, Digitalk — 30%) не выпустили обещаного продукта *вообще*. Естественно, клиенты год могут ждать, могут два, но сантехники не спали.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[5]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.08.06 16:59
Оценка: +1 -7 :)
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Это отсутствие интереса?:

ANS>95 год:
ANS>

ANS>A recent Gartner Group survey shows that of developers using
ANS>object-oriented languages:

ANS>42% use C++
ANS>26% use an "object-oriented" 4GL (Is this an oxymoron?)
ANS>17% use Smalltalk
ANS>15% use some other OOPL


Это ссылка на кауюто фигню.

К тому же здесь речь идет о ООЯ. Для справки. В 1995 году даже С++ использовался не часто. Обжект Паскаль вообще только появился.

ANS>Касательно объёма рынка:

ANS>

ANS>* report IDC #10782, Nov 95, can be ordered from International Data Corporation.

ANS>Language Market Share (%)
ANS>C++ 71.3
ANS>Smalltalk 15.1
ANS>Objective C 5.7
ANS>OO Pascal 4.2
ANS>CLOS 2.5
ANS>Eiffel 1.1
ANS>All other 0.2


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

Но даже если исходить из этих данных, фраза:

Кстати, в 93 году на ST программировало количество программеров сопоставимое с C++. Факторы, которые всё поменяли, я приводил не раз.

Выглядит как явный обман.

К тому же в первый раз я не просек основной прикол. В 1993 году С++ не был фаворитом вообще. Тогда властвовали не ООЯ. Тогда народ писал на С и Турбо Паскале. А 1995 это как раз то время когда появился Обжект Паскаль и стал стремительно заваевывать популярность С++.

Где-то в 95-ом (или в 94-ом) я как раз в первый раз увидел Смолток у нас. Это было на какой-то выставке где IBM представлял свои Визуал Эйджи. Мы взяли коробочку с Визуал Эйджем фор Смолток и фор С++ и пошли глядеть на это чудо. Забавно оказалось уже то, что в требованиях к железу было записано (если не ошибаюсь) 64 метра памяти. И это тогда кода на очень современных машинах стояло 8 метров. Я как раз в то время собрал супер дорогую тачку на базе 90-го Пня имевшую 32 метра памяти, но и для нее это чудо оказалось слишком крутым.

Меж тем в это время мы уже во всю писали на Gupta SQL Windows который прекрасно ползволял писать и отлаживать Windows GUI-приложения в 8 метрах даже под 95-ым Винловс.

Больше никгде я Смолток не видел. А до 94-го скорее всего самыми популяными были разные Xbase-ы (Клипер, например). Я же писал в то врмя на С и прекрасно помню, что С++ как раз завоевывал популярность.

Когда же IBM в 96-ом переключаилась на Яву, так и не продувинув Смолток в массы, на Смолток вообще можно было ставить крест.

В общем, сероезной популярности у Смолтока никогда не было. А тот факт, что его легко смогла вытеснить Ява говорит о том, что это было не случайно.

Так что прибереги свои сказки для кого нибудь другого.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 28.08.06 18:24
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Тогда народ писал на С и Турбо Паскале. А 1995 это как раз то время когда появился Обжект Паскаль и стал стремительно заваевывать популярность С++.


TP 5.5 появился в 1989 году. В 1995-м речь шла уже о Delphi. С++ тоже начал завоёвывать популярность немного раньше. В частности, как раз к 1995 году Борланд начал усиленно сдавать свои позиции на рынке компиляторов C++, где до этого долгие годы был одним из лидеров и вполне прилично смотрелся в бушевавших в то время войнах компиляторов.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 28.08.06 19:04
Оценка: +3
Здравствуйте, VladD2, Вы писали:

VD>К тому же в первый раз я не просек основной прикол. В 1993 году С++ не был фаворитом вообще. Тогда властвовали не ООЯ. Тогда народ писал на С и Турбо Паскале. А 1995 это как раз то время когда появился Обжект Паскаль и стал стремительно заваевывать популярность С++.


VD>Где-то в 95-ом (или в 94-ом) я как раз в первый раз увидел Смолток у нас. Это было на какой-то выставке где IBM представлял свои Визуал Эйджи. Мы взяли коробочку с Визуал Эйджем фор Смолток и фор С++ и пошли глядеть на это чудо. Забавно оказалось уже то, что в требованиях к железу было записано (если не ошибаюсь) 64 метра памяти. И это тогда кода на очень современных машинах стояло 8 метров. Я как раз в то время собрал супер дорогую тачку на базе 90-го Пня имевшую 32 метра памяти, но и для нее это чудо оказалось слишком крутым.


VD>Меж тем в это время мы уже во всю писали на Gupta SQL Windows который прекрасно ползволял писать и отлаживать Windows GUI-приложения в 8 метрах даже под 95-ым Винловс.


VD>Больше никгде я Смолток не видел. А до 94-го скорее всего самыми популяными были разные Xbase-ы (Клипер, например). Я же писал в то врмя на С и прекрасно помню, что С++ как раз завоевывал популярность.


VD>Когда же IBM в 96-ом переключаилась на Яву, так и не продувинув Смолток в массы, на Смолток вообще можно было ставить крест.


Да уж, прямо "Евангелие популярности языков от VladD2"

Во-первых, Object Pascal появился лет на десять раньше:

Object Pascal was a creation of Niklaus Wirth and Larry Tesler. It was created at Apple Computer in early 1985 through their collaboration. It added object-oriented extensions to the existing Pascal programming language.

и активно использвался Apple-ом для написания софта для Mac-ов. Objective-C был позднее.

Во-вторых, как раз в 1993-м году C++ на персоналках был вообще вне конкуренции для серьезных задач. И даже у нас в провинции свободно ходили по рукам разные версии Borland C++ и Zortech C++ (а затем и Watcom C++, это MS C и C++ были редкостью). Для всего остального был Clipper (просто мания какая-то) и почему-то у нас очень популярным был Prolog (бывшие оборонщики на нем лихо делали экспертные системы и системы обработки изображений для медицины, различную статистику для народного хозяйства). А интерфейсы, написанные на C++ и Zinc-е выглядели вообще гораздо приятнее, что Windows 3.*.

Книга "Язык программирования С++" в электронном виде на русском языке ко мне попала в 1991-м, а в 93-м или 92-м я купил ее печатное издание в обычном книжном магазине.

А в 1995 мне в руки попался какой-то Smalltalk, который спокойно запускался на 486DX2-80 с 8Mb. Правда был он какой-то очень простенький и по сравнению с IDE Borland C++ 4.5 выглядел просто убого. Да и литературы по Smalltalk-у на тот момент было с гулькин нос, я помню только одну или несколько статей в журналах с ссылкой на какую-то книгу, которую нигде нельзя было найти.

Но вот только судить о популярности C++ и Smalltalk в мире по тому, что творилось в бывшем Союзе -- это маразм. Тогда разница между Союзом и Западом была видна невооруженным взглядом.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[7]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 28.08.06 19:08
Оценка:
E>Во-первых, Object Pascal появился лет на десять раньше:
E>

E>Object Pascal was a creation of Niklaus Wirth and Larry Tesler. It was created at Apple Computer in early 1985 through their collaboration. It added object-oriented extensions to the existing Pascal programming language.

E>и активно использвался Apple-ом для написания софта для Mac-ов. Objective-C был позднее.

Уточнение: Objective-C появился позже в разработках Apple (как язык Objective-C появился одновременно с Object Pascal, если не раньше: в начале 80-х).


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Что мы потеряли?
От: squiz  
Дата: 28.08.06 20:13
Оценка: -2
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Это отсутствие интереса?:

ANS>95 год:
ANS>

ANS>A recent Gartner Group survey shows that of developers using
ANS>object-oriented languages:

ANS>42% use C++
ANS>26% use an "object-oriented" 4GL (Is this an oxymoron?)
ANS>17% use Smalltalk
ANS>15% use some other OOPL


А это присутствие интереса?:

http://rsdn.ru/?search/?q=lisp&amp;mode=tid&amp;group=N&amp;group=59 — 0 вакансий
http://rsdn.ru/?search/?q=smalltalk&amp;mode=tid&amp;group=N&amp;group=59 — 6 вакансий

http://www.google.com/trends?q=lisp&amp;ctab=0&amp;geo=all&amp;date=all
http://www.google.com/trends?q=smalltalk&amp;ctab=0&amp;geo=all&amp;date=all

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

Причем тех кто не "понимает" что скобки это рулез сразу крестят в дураков от рождения без знания математики...

Отчасти понятно, что языки не новые, кто знал тот знает, кто не знал — тому видимо не надо. А вот Nemerle, Ruby — юниоры, подающие надежды.
А в чем причина негодования по каждому посту поясняющему или открывающему или сравнивающему ту или иную фичу Nemerle с AAA ? Видимо надо себе при всех доказывать что Lisp\Smalltalk\Erlang\Haskell\C++\C\Asm\(..?..) это правильный выбор а все остальные не понимают? Никто же никого не тащитсилой в Nemerle или Ruby или ...
Never underestimate those behind you...
Re[6]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 28.08.06 20:39
Оценка: :)))
Здравствуйте, squiz, Вы писали:

S>Никто же никого не тащитсилой в Nemerle или Ruby или ...


Зачем силой? Упираться еще будут.
Лучше мягко подталкивая и заманивая калачами


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[6]: Что мы потеряли?
От: DrDred Россия  
Дата: 29.08.06 06:19
Оценка: +1 :))
Здравствуйте, squiz, Вы писали:

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


Ну... А арабы как, за людей не считаются?
--
WBR, Alexander
Re[6]: Что мы потеряли?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 29.08.06 07:21
Оценка:
Здравствуйте, squiz, Вы писали:

S>А это присутствие интереса?:


Зачем же передёргивать. О (не)распространённости сейчас речи нет. Ты обратил внимание, что я писал о 19993-95 г.г.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[6]: Что мы потеряли?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 29.08.06 07:21
Оценка: 2 (2) +2
Здравствуйте, VladD2, Вы писали:

ANS>>95 год:

ANS>>

ANS>>A recent Gartner Group survey shows that of developers using
ANS>>object-oriented languages:


VD>Это ссылка на кауюто фигню.


Все претензии к Gartner.

VD>К тому же здесь речь идет о ООЯ. Для справки. В 1995 году даже С++ использовался не часто. Обжект Паскаль вообще только появился.


Тебе уже указали на то, что ты заблуждаешся.

ANS>>

ANS>>* report IDC #10782, Nov 95, can be ordered from International Data Corporation.


VD>К сожалению прямой ссылки на отчет IDC там нет.


Влад, есть номер отчета, можеш его заказать.

VD>Но даже если исходить из этих данных, фраза:

VD>

Кстати, в 93 году на ST программировало количество программеров сопоставимое с C++. Факторы, которые всё поменяли, я приводил не раз.

VD>Выглядит как явный обман.

ANS>>42% use C++
ANS>>17% use Smalltalk

это несопоставимые цифры? Ну-ну.

VD>К тому же в первый раз я не просек основной прикол. В 1993 году С++ не был фаворитом вообще. Тогда властвовали не ООЯ. Тогда народ писал на С и Турбо Паскале. А 1995 это как раз то время когда появился Обжект Паскаль и стал стремительно заваевывать популярность С++.


1-е место по объёму рынка у C++ это не фаворит? Мысль поясни.

VD>Где-то в 95-ом (или в 94-ом) я как раз в первый раз увидел Смолток у нас. Это было на какой-то выставке где IBM представлял свои Визуал Эйджи. Мы взяли коробочку с Визуал Эйджем фор Смолток и фор С++ и пошли глядеть на это чудо. Забавно оказалось уже то, что в требованиях к железу было записано (если не ошибаюсь) 64 метра памяти. И это тогда кода на очень современных машинах стояло 8 метров. Я как раз в то время собрал супер дорогую тачку на базе 90-го Пня имевшую 32 метра памяти, но и для нее это чудо оказалось слишком крутым.


Что ж ты хочеш — IBM. Ты думаш ситуация с их уеб-сферой сейчас лучше? Были более адекватные решения:

I would estimate that 8MB of memory is adequate to run the largest
commercial Smalltalk (VisualWorks 1.0 from ParcPlace Systems) under
Windows or MacOS. I have a 486/33 with 16 MB and can run two Smalltalk
sessions simultaneously without paging problems. For OS/2, you might
need 10-12MB. For a Sun or comparable machine you'd need a lot more
(24? 32?), mainly because of Unix and X Window.



VD>А до 94-го скорее всего самыми популяными были разные Xbase-ы (Клипер, например).


Но на clipere нельзя было написать real-time систему управления производством чипов поб VxWorks.

Кстати, из того же гугля видно, что народ у буржуев писал скорее на VB, чем на xBase.

VD>В общем, сероезной популярности у Смолтока никогда не было.


Угу, а PHP популярнее чем C#.

VD>А тот факт, что его легко смогла вытеснить Ява говорит о том, что это было не случайно.


Я вроде по русски написал, что производители, контролировавшие 80% рынка, совершили суицид. Ни о какой конкуренции реч особо не могла идти.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[7]: Что мы потеряли?
От: squiz  
Дата: 29.08.06 07:39
Оценка:
Здравствуйте, DrDred, Вы писали:

DD>Ну... А арабы как, за людей не считаются?

Я скорее имел в виду "читают" экран, забыл написать. Также думал написать о арабах, но не думаю что они снизу вверх читают. Мысль была в том, что человек (не задавшись такой целью специально) не читает экран с нижнего правого угла
Never underestimate those behind you...
Re[7]: Что мы потеряли?
От: squiz  
Дата: 29.08.06 07:41
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

S>>А это присутствие интереса?:

ANS>Зачем же передёргивать. О (не)распространённости сейчас речи нет. Ты обратил внимание, что я писал о 19993-95 г.г.

Ну это же не я начал "Кстати, в 93 году на ST программировало количество программеров сопоставимое с C++." Почему там это было кстати, когда там о 90х не говорили? Да и потом, отвечая на фразу "что интерес к Смолтоку так никогда и не возник." вы привели 95, никогда как по мне это и есть никогда, то есть ни тогда до теперешнего времени.
Never underestimate those behind you...
О юниорах
От: Mamut Швеция http://dmitriid.com
Дата: 29.08.06 08:28
Оценка: 45 (5) +1
S>Отчасти понятно, что языки не новые, кто знал тот знает, кто не знал — тому видимо не надо. А вот Nemerle, Ruby — юниоры, подающие надежды.
S>А в чем причина негодования по каждому посту поясняющему или открывающему или сравнивающему ту или иную фичу Nemerle с AAA ? Видимо надо себе при всех доказывать что Lisp\Smalltalk\Erlang\Haskell\C++\C\Asm\(..?..) это правильный выбор а все остальные не понимают? Никто же никого не тащитсилой в Nemerle или Ruby или ...

Насчет юниоров: Matz’s Weird and Wild Ideas — это то, что он хочет добавить в Руби 2.0. Такое впечатление, что он перекурил Лиспа :

именованные параметры (синтаксис, Лисповский &amp;rest?)

Множественные значения (так и написано — a la Common Lisp, синтаксис).

Lambda (возможный синтаксис — от Лиспоподобного до Хаскелеподобного)

Мультиметоды (так и написано — a la Common Lisp)

Так что защищаться приверженцам "экзотических" языков, в принципе, и не надо. Мэйнстрим идет к тому же семимильными шагами
... << RSDN@Home 1.2.0 alpha rev. 655>>


dmitriid.comGitHubLinkedIn
Re: О юниорах
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.08.06 09:11
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Насчет юниоров: Matz’s Weird and Wild Ideas — это то, что он хочет добавить в Руби 2.0. Такое впечатление, что он перекурил Лиспа :


Однако не факт, что все это вообще найдет воплощение в Ruby когда-нибудь
Реальность пока далека от мечтаний :)


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: О юниорах
От: Mamut Швеция http://dmitriid.com
Дата: 29.08.06 09:30
Оценка:
M>>Насчет юниоров: Matz’s Weird and Wild Ideas — это то, что он хочет добавить в Руби 2.0. Такое впечатление, что он перекурил Лиспа :

E>Однако не факт, что все это вообще найдет воплощение в Ruby когда-нибудь

E>Реальность пока далека от мечтаний :)

Вижу пока
— New constant lookup rules
— возможная подготовка к именованным параметрам в виде нового синтаксиса для хэшей:
{a: "foo"}        # => {:a=>"foo"}

— Лямбды
— Splats и instance_exec (здесь)

То есть, что-то куда-то движется
... << RSDN@Home 1.2.0 alpha rev. 655>>


dmitriid.comGitHubLinkedIn
Re: О юниорах
От: squiz  
Дата: 29.08.06 09:32
Оценка:
Здравствуйте, Mamut, Вы писали:

[список фич поксипан]
Если посмотреть сюда то понятно зачем эти все идеи.

M>Так что защищаться приверженцам "экзотических" языков, в принципе, и не надо. Мэйнстрим идет к тому же семимильными шагами

Рад за Ruby, он уже мейнстрим... Осталось только Nemerle туда записать и всем спорам конец?
Never underestimate those behind you...
Re[2]: Что мы потеряли?
От: xBlackCat Россия  
Дата: 29.08.06 09:48
Оценка:
Здравствуйте, eao197, Вы писали:

E>Не хочу никого обижать, все вышесказанное является моим субьективным мнением. Поскольку лично моих способностей не хватает, чтобы понимать код вида (* (+ n 1) k). Не судьба, да и хрен с ней.


А что тут понимать — это обратная записть обратной польской нотации .
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Rojac &mdash; Rsdn Offline JAva Client
Анонсы и обсуждение здесь
Автор: xBlackCat
Дата: 08.02.10
Re[3]: Что мы потеряли?
От: Programmierer AG  
Дата: 29.08.06 10:05
Оценка: +1
xBlackCat wrote:

> E>Не хочу никого обижать, все вышесказанное является моим субьективным мнением. Поскольку лично моих способностей не хватает, чтобы понимать код вида (* (+ n 1) k). Не судьба, да и хрен с ней.

>
> А что тут понимать — это обратная записть обратной польской нотации .

Польская запись бывает не только обратная. И кроме того, синтаксис
s-выражений Лиспа, строго говоря, не являются польской нотацией, т.к. в
польской нотации арность операций известна и скобки не нужны.

Just a little nitpicking .
Posted via RSDN NNTP Server 2.0
Re[6]: Что мы потеряли?
От: trophim Россия  
Дата: 29.08.06 18:19
Оценка: -2 :)))
Браво! Влад как всегда в своем репертуаре.
Может ввести новую оценку "высший балл за обси-ание поста" и вручить ее единственному достойному кандидату — Владу?
З.Ы. А я что? Я ниче...
[EOF]
Let it be! — Давайте есть пчелу!
Re[7]: Что мы потеряли?
От: RustM Россия  
Дата: 29.08.06 20:14
Оценка: +3
Здравствуйте, trophim, Вы писали:

T>Браво! Влад как всегда в своем репертуаре.

T>Может ввести новую оценку "высший балл за обси-ание поста" и вручить ее единственному достойному кандидату — Владу?
T>З.Ы. А я что? Я ниче...

Сам то что сейчас делаешь .

Не нравится — ставь минус, молча не соглашайся или если так и прёт что высказать, то лучше аргументировать несостоятельность доводов оппонента, чем выплескивать свои эмоции (кстати, это куда информативней)

Будьте вежливы к друг другу господа
... << RSDN@Home 1.2.0 alpha rev. 655>>
Re[7]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.08.06 00:08
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Все претензии к Gartner.


Какие претензии? Там что есть ссылка на их отчет?
Вот когда он будет, то о обсудим.

VD>>К тому же здесь речь идет о ООЯ. Для справки. В 1995 году даже С++ использовался не часто. Обжект Паскаль вообще только появился.


ANS>Тебе уже указали на то, что ты заблуждаешся.


В чем? Это ты заблуждаешя. Я это все видел своими глазами. Я как бы не учебник истории пересказываю, а то что видел сам.

ANS>Влад, есть номер отчета, можеш его заказать.


А зачем я буду заказывать что-то чтобы опровергнуть голословные утверждения аргументированные ссылками в пустоту? Мы поступим с точностью до наоборот. Пусть то кто делает голословные утверждения их и подтверждает. Пока что ни ничего не стоият.

VD>>Но даже если исходить из этих данных, фраза:

VD>>

Кстати, в 93 году на ST программировало количество программеров сопоставимое с C++. Факторы, которые всё поменяли, я приводил не раз.

VD>>Выглядит как явный обман.
ANS>

ANS>>>42% use C++
ANS>>>17% use Smalltalk

ANS>это несопоставимые цифры? Ну-ну.

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

C++ 71.3
Smalltalk 15.1


Извини, но ощаться с теми кто прибегает к явной подтасовке фактов у меня нет ни времени, ни желания. Всего хорошего.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.08.06 00:08
Оценка:
Здравствуйте, IT, Вы писали:

IT>TP 5.5 появился в 1989 году. В 1995-м речь шла уже о Delphi.


О нем я и говорю. В 95 как раз писали на нем. Я наверно неверно назвал Обжект Паскалем, то о чем говорил. В 1995 появилась конечно Дельфи. Но как раз она и стала тем моментом с котрого Обжект Паскаль начал стремительно набирать популярность.

IT> С++ тоже начал завоёвывать популярность немного раньше.


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

IT> В частности, как раз к 1995 году Борланд начал усиленно сдавать свои позиции на рынке компиляторов C++, где до этого долгие годы был одним из лидеров и вполне прилично смотрелся в бушевавших в то время войнах компиляторов.


Это преувеличение. МС до 1998 вообще не имел приличного компилятора С++. А Борланд как раз с 1990 по 1995 завоевал немалую популярность. В 1994 корчился один из более менее приличных компиляторов С++ для DOS/Windows — Zortech C++. Его купил Семантик и выпустил единственную версию Semantec C++.

Рельно основная масса стала переходить на С++ как раз где-то в середине 90-ых. А в 1998 уже поперла Ява.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.08.06 00:08
Оценка:
Здравствуйте, eao197, Вы писали:

E>Во-первых, Object Pascal появился лет на десять раньше:

E>

E>Object Pascal was a creation of Niklaus Wirth and Larry Tesler. It was created at Apple Computer in early 1985 through their collaboration. It added object-oriented extensions to the existing Pascal programming language.

E>и активно использвался Apple-ом для написания софта для Mac-ов. Objective-C был позднее.

Это просто бред. Обжект Паскаль торговая марка Борланда. Правда я действительно немного ошибся. Я в общем-то говорил скорее о Дельфи. Которая и явилась реальным популяризатором Обжект Паскаль. Вирт же к нему вообще отношения не имел.

E>Во-вторых, как раз в 1993-м году C++ на персоналках был вообще вне конкуренции для серьезных задач.


Чушь. В 1993 С++ использовали еденицы. Более того тогда и компиляторов то прличных для PC не было. У МС вообще компилтора не было (в это время у них был MS C 6). Был (если не ошибаюсь) Борланд Турбо С++, Зортеч (доступный очень не многим).

Это время когда появился Windows 3.1. Я прекрасно помню, что весе примеры были на С.

Возможно ты просто путашь понятие "был в принципе" и "реально использовался". Так вот С++ был в принципе в 1985. Но реально в начале девяностых он использовался очень не многими. Мой отец примерно в это врямя начал осваивать ПК. До этого они писали на разных Фортранах. А на ПК появились диковинные вещи вроде С.

E> И даже у нас в провинции свободно ходили по рукам разные версии Borland C++ и Zortech C++ (а затем и Watcom C++, это MS C и C++ были редкостью).


Возможно у вас в глубинке было все не как у дргих. Не исключено, что у вас даже MS C++ было редкостью. Ведь он вообще тогда не существовал. А в наших краях ходили MS C 6 и Девелопер Воркбэнч (который хоть и был для доса, но раьботал еле еле). И так же можно было увидеть Турбо С++. А вот найти Зортеч было практически невозможно. А в 1994 году Зортеча вообще не стало. Появился Семантик С++ на чем он и кончился. У меня на работе валяется коробка от него и документация.

E> Для всего остального был Clipper (просто мания какая-то) и почему-то у нас очень популярным был Prolog


У вас может быть. А Клипер с другими ХБэйсами действительно был популярен. И никакой С++ тогда с ним сравниться не мог.

E>Книга "Язык программирования С++" в электронном виде на русском языке ко мне попала в 1991-м, а в 93-м или 92-м я купил ее печатное издание в обычном книжном магазине.


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

E>А в 1995 мне в руки попался какой-то Smalltalk, который спокойно запускался на 486DX2-80 с 8Mb.


Тебе повезло. Я такого чуда не видел.

E> Правда был он какой-то очень простенький и по сравнению с IDE Borland C++ 4.5 выглядел просто убого.


Ну, и что-же ты не стал на нем писать? Это же по словам его фататов был очень популярный язык в то время. Ты просто не мог не проникнуться и запасть на него. Ведь правда?

Ах, нет? Ах, ты поглядел на него как на некую диковину и выкинул? А что так?

E> Да и литературы по Smalltalk-у на тот момент было с гулькин нос,


Скажем более честно. Я ее не видел во все.

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


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

E>Но вот только судить о популярности C++ и Smalltalk в мире по тому, что творилось в бывшем Союзе -- это маразм. Тогда разница между Союзом и Западом была видна невооруженным взглядом.


Не. Маразм выдавать свое вожделение за правду. Правда в том, что Смолток никогда не был реально популярным. Возможно это фатальное стечение обстаятелств. И возможно мир программирования от этого много потерял. Но это факт.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Что мы потеряли?
От: FR  
Дата: 30.08.06 03:51
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, eao197, Вы писали:


E>>Во-первых, Object Pascal появился лет на десять раньше:

E>>

E>>Object Pascal was a creation of Niklaus Wirth and Larry Tesler. It was created at Apple Computer in early 1985 through their collaboration. It added object-oriented extensions to the existing Pascal programming language.

E>>и активно использвался Apple-ом для написания софта для Mac-ов. Objective-C был позднее.

VD>Это просто бред. Обжект Паскаль торговая марка Борланда. Правда я действительно немного ошибся. Я в общем-то говорил скорее о Дельфи. Которая и явилась реальным популяризатором Обжект Паскаль. Вирт же к нему вообще отношения не имел.


Есть два разных object pascal. В свое время на Apple он был чуть ли не основным языком.
Re[8]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 30.08.06 04:09
Оценка: 10 (4) +3
Здравствуйте, VladD2, Вы писали:

VD>Чушь. В 1993 С++ использовали еденицы. Более того тогда и компиляторов то прличных для PC не было. У МС вообще компилтора не было (в это время у них был MS C 6). Был (если не ошибаюсь) Борланд Турбо С++, Зортеч (доступный очень не многим).


Влад, ну что ты несёшь. В 1993 уже вышел Borland C++ 4.0. Учитывая то, что пятёрка оказалась редкостным г.., то это была предпоследняя версия нормального компилятора от Борланда. В 1993 мы уже не певый год всем НИИ с упоением топили спутики в Индийском океане в наших моделях, написанных на C++. В 1991 я сам лично ездил в столицу забирать купленный конторой лицензионный BC++ 2.0. Просто приехал в педставительство Борланды и забрал коробку. Никаких проблем. Это была версия с исходниками библиотеки. Вот счастья то было. В 1992 ещё раз ездил за BC++ 3.1. До этого у нас были все версии Борландовых компиляторов и добывались они без особых проблем буквально через 3-4 месяца после релиза. Был у меня и Zortech, я изучал по нему как делать шаблоны на макросах (бред, блин). Но восторженных чувств он у меня не вызвал. Борландовый компилятор был на порядок удобнее и продвинутее. Возможно, именно поэтому Zortech и не пошёл.

VC++ в 1993 тоже уже был. Но его было не достать. Можно было купить, но глядя на предыдущих монстров от MS не очень то и хотелось. До 1995 VC++ у нас тоже просто не пошёл, так как на него практически не было документации на русском и был он трудно доступен. В 1995 Борланд явно переключился на Delphi, не оставив плюсовикам выбора, кроме как искать более достойные альтернативы от других производителей. Такой альтернативой оказался VC++ 4.2. Но это уже другая история.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Что мы потеряли?
От: trophim Россия  
Дата: 30.08.06 06:05
Оценка:
Да что вы в самом деле. Я тоже Извиняйте, если что не так.
[EOF]
Let it be! — Давайте есть пчелу!
Re[8]: Что мы потеряли?
От: Gadsky Россия  
Дата: 30.08.06 06:30
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, eao197, Вы писали:


E>>Во-вторых, как раз в 1993-м году C++ на персоналках был вообще вне конкуренции для серьезных задач.


VD>Чушь. В 1993 С++ использовали еденицы. Более того тогда и компиляторов то прличных для PC не было. У МС вообще компилтора не было (в это время у них был MS C 6). Был (если не ошибаюсь) Борланд Турбо С++, Зортеч (доступный очень не многим).


http://www.openwatcom.com/index.php/History

1993 — Watcom C/C++ 9.5 and C/C++ 9.5/386 released
1994 — Watcom C/C++ 10.0 released
1995 — Watcom C/C++ 10.5 released
Re[8]: Что мы потеряли?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 30.08.06 06:55
Оценка: +1
Здравствуйте, VladD2, Вы писали:

ANS>>Тебе уже указали на то, что ты заблуждаешся.


VD>В чем? Это ты заблуждаешя. Я это все видел своими глазами. Я как бы не учебник истории пересказываю, а то что видел сам.


То нужно писать, что это было в твоей эпсилон-окресности. А глобальные выводы делать не нужно.

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


...в своём глазу бревно не замечаеш.

VD>О. Ну, это прямой подлог. Он же гнусный и мелкий обман.

VD>Точная цитата из отчета IDC на который нет ссылки, но о которых тут говорилось:
VD>

C++ 71.3
VD>Smalltalk 15.1


Если ты не понял, то то что я привёл это количество программистов, а эти цифры объём рынка. Который, скорее всего, меряется в (мега)баксах.

VD>Извини, но ощаться с теми кто прибегает к явной подтасовке фактов у меня нет ни времени, ни желания. Всего хорошего.


Ну, прощай! (по не бритой щеке скатывается скупая мужская слеза...)
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[8]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 30.08.06 07:15
Оценка: 11 (2) +1
Здравствуйте, VladD2, Вы писали:

E>>Во-первых, Object Pascal появился лет на десять раньше:

E>>

E>>Object Pascal was a creation of Niklaus Wirth and Larry Tesler. It was created at Apple Computer in early 1985 through their collaboration. It added object-oriented extensions to the existing Pascal programming language.

E>>и активно использвался Apple-ом для написания софта для Mac-ов. Objective-C был позднее.

VD>Это просто бред. Обжект Паскаль торговая марка Борланда. Правда я действительно немного ошибся. Я в общем-то говорил скорее о Дельфи. Которая и явилась реальным популяризатором Обжект Паскаль. Вирт же к нему вообще отношения не имел.


Уж не знаю, кто владеет торговой маркой Object Pascal и есть ли такая торговая марка вообще, но то, что для Mac-а ObjectPascal использовался очень активно -- это факт. Если не ошибаюсь, то в книге Буча отдельно упоминается библиотека классов MacApp как пример удачной объектной библиотеке. И здесь недавно давали ссылку на видеоролик с первой презентацией Apple Macintosh -- там на одном из screenshot-ов явно виден текстовый редактор с Паскалевким кодом.

E>>Во-вторых, как раз в 1993-м году C++ на персоналках был вообще вне конкуренции для серьезных задач.


VD>Чушь. В 1993 С++ использовали еденицы. Более того тогда и компиляторов то прличных для PC не было. У МС вообще компилтора не было (в это время у них был MS C 6). Был (если не ошибаюсь) Борланд Турбо С++, Зортеч (доступный очень не многим).


VD>Это время когда появился Windows 3.1. Я прекрасно помню, что весе примеры были на С.


VD>Возможно ты просто путашь понятие "был в принципе" и "реально использовался". Так вот С++ был в принципе в 1985. Но реально в начале девяностых он использовался очень не многими. Мой отец примерно в это врямя начал осваивать ПК. До этого они писали на разных Фортранах. А на ПК появились диковинные вещи вроде С.


Говори за себя, ладно? Поскольку ты имеешь в виду "В моем окружении C++ использовали единицы". А вот в моем -- наоборот. И в соседней ветке тебе о том же IT говорит. Что касается Windows, то Borland C++ 2.0 уже позволял писать программы под Windows и часть примеров была на C++. В 93-м мы с моим другом начали писать под Windows и из Borland-овских примеров взяли идею для своей библиотеки классов -- хранить указатель на экземпляр класса, связанный с окном в extra-байтах.

А так же я знаю ряд примеров, когда в эти годы на C++ писали систему управления производственными линиями, информационно-измерительные системы учета расхода воды и электроэнергии, расчитывали прочность зданий, делали системы визуализации для экспертных систем, картографические пакеты, собственные CAD-ы, системы имитационного моделирования, кросскомпиляторы и пр. Наблюдал все это потому, что в подобных проектах участвовали мои сокурсники и знакомые по университету (тогда было обычной практикой для научных руководителей -- сваливать основную работу на студентов-курсовиков и дипломников). И это все было в период с 92-го по 95-й год.

E>> И даже у нас в провинции свободно ходили по рукам разные версии Borland C++ и Zortech C++ (а затем и Watcom C++, это MS C и C++ были редкостью).


VD>Возможно у вас в глубинке было все не как у дргих. Не исключено, что у вас даже MS C++ было редкостью. Ведь он вообще тогда не существовал. А в наших краях ходили MS C 6 и Девелопер Воркбэнч (который хоть и был для доса, но раьботал еле еле). И так же можно было увидеть Турбо С++. А вот найти Зортеч было практически невозможно. А в 1994 году Зортеча вообще не стало. Появился Семантик С++ на чем он и кончился. У меня на работе валяется коробка от него и документация.


Если заметил, я сказал MS C, который был изначально. MS C++ появился позднее. Года до 95 лично я пользовался только Borland-овскими компиляторами (2.0, 3.1, 4.0) под DOS, Windows и OS/2. А с 95-го начал еще использовать Watcom C++ 10.* (в основном под OS/2). И даже STL мы начали применять где-то в 96-97. Под MS C++ 4.2 пришлось перейти где-то году в 97-м, когда Borland C++ 5.01 (из C++Builder-а, кажется) стал глючить на нашем проекте в 250K строк. В 96-м я использовал GNU C++ под Linux-ом, а под OS/2 был какой-то ворованный и сильно урезанный IBM Visual Age C++.

Zortech C++ я пробовал, и впечатлился его C++ библиотеками в исходниках. Но среда у него была очень специфическая, по сравнению с Borland-ом 2.0, да и компилировал он, имхо, медленее. И Symantic C++ затем видел, но не понял, чем же он лучше Borland-а и Watcom-а.

Так что мне не нужно рассказывать о том, что было среди C++ компиляторов.

E>> Для всего остального был Clipper (просто мания какая-то) и почему-то у нас очень популярным был Prolog


VD>У вас может быть. А Клипер с другими ХБэйсами действительно был популярен. И никакой С++ тогда с ним сравниться не мог.


Это если бухгалтерию или учет кадров писать. Да, здесь с Clipper-ом никто не конкурировал.

E>>Книга "Язык программирования С++" в электронном виде на русском языке ко мне попала в 1991-м, а в 93-м или 92-м я купил ее печатное издание в обычном книжном магазине.


VD>Ну, и что-же ты не стал на нем писать? Это же по словам его фататов был очень популярный язык в то время. Ты просто не мог не проникнуться и запасть на него. Ведь правда?


VD>Ах, нет? Ах, ты поглядел на него как на некую диковину и выкинул? А что так?


E>> Да и литературы по Smalltalk-у на тот момент было с гулькин нос,


Вот потому и не стал, что документации не было. Ни книг, ни даже help-а в инсталляции. Только огромная куча примеров, в которых без описания языка я лично не смог разобраться. А популярным Smalltalk был -- я же про него знал (в отличии от Lisp-а или Oberon, про которые только слышал, а про Eiffel, например, я вообще узнал через несколько лет).

И еще о популярности Smalltalk. Такой неповоротливый гигант, как IBM, выпускает средства разработки только для мейнстримовых языков: Visual Age for C++, Visual Age for Java. И в этом ряду Visual Age for Smalltalk.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 30.08.06 08:47
Оценка:
VladD2,

M>> Возможности замены работающих модулей на лету до сих пор нет нигде, кроме тех же Лиспа и Эрланга (ну и наверняка других, не менее экзотических языков).


VD>Серьезно? А мужики то не знали и даже на VB5 это делали.


Можно порадоваться за Васик, но он здесь не к месту. Такая "горячая замена" есть для любого интерпретатора и называется она "переписывание исходников". Поэтому, имхо, VB5 не эквивалент ниразу.

Чуть усложнили язык — и привет. Такие вещи как статическая типизация и инкапсуляция являясь преимуществами с одной стороны оборачиваются большими препятствиями со стороны hot upgrade. (Например, я обновил интерфейс класса, как мне теперь обновить все объекты этого класса? Все ссылки на эти объекты? Если я заменил класс двумя классами? Если сделал рефакторинг?) Кстати, наиболее продвинутая в этом вопросе Ява также ещё далека от совершенства (я о HotSwap).

Вот что понимают под горячей заменой кода другие люди :
1. Переход от старого к новому коду и обратно так же эффективен для выполняемого кода, как и отсутствие перехода. (Это совсем не то, что например "горячая замена" JSP-формы, что вызывает генерацию и перекомпиляцию соответствующего сервлета и является по сути маленькой кнопочкой "reset").
2. Контроль за гранулярностью загрузки.
3. Контроль над процессом загрузки (в т.ч. и откат).
4. Слабые условия на новый код, произвольный старый код.
5. Замена (то есть загрузка кода и передача управления) выполняется автоматически средой.

Между прочим, такая горячая замена у компилируемых языков есть только у динамически типизированных (Erlang, Lisp, Smalltalk). А REPL вообще только для двух последних. Совпадение?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[5]: Что мы потеряли?
От: Programmierer AG  
Дата: 30.08.06 08:56
Оценка:
Lazy Cjow Rhrr wrote:
> Между прочим, такая горячая замена у компилируемых языков есть только у динамически типизированных (Erlang, Lisp, Smalltalk). А REPL вообще только для двух последних. Совпадение?
Что имелось в виду?
Posted via RSDN NNTP Server 2.0
Re[3]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 30.08.06 09:00
Оценка: 9 (2)
Mirrorer,

M>В чем же отличие.. ах да.. "*" и "+" намного сложнее воспринимаются чем multiply и add. Но я думаю к этому можно привыкнуть

M>Равно как и к замене <> на ()

Твои мысли удивительным образом пересекаются с

The Nature of Lisp

Случайно, ты — не он?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[6]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 30.08.06 09:10
Оценка:
Programmierer AG,

>> Между прочим, такая горячая замена у компилируемых языков есть только у динамически типизированных (Erlang, Lisp, Smalltalk). А REPL вообще только для двух последних. Совпадение?

PA>Что имелось в виду?

Read-Eval-Print Loop.

http://en.wikipedia.org/wiki/Read-eval-print_loop

Я не в курсе, компилируем ли Питон. Если да, то его тоже нужно добавить в этот список.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[7]: Что мы потеряли?
От: Programmierer AG  
Дата: 30.08.06 09:15
Оценка:
Lazy Cjow Rhrr wrote:
> Programmierer AG,
>
>>> Между прочим, такая горячая замена у компилируемых языков есть только у динамически типизированных (Erlang, Lisp, Smalltalk). А REPL вообще только для двух последних. Совпадение?
> PA>Что имелось в виду?
>
> Read-Eval-Print Loop.
Как расшифровывается REPL, я знаю . Я не понял, действительно ли ты
имел в виду, что REPL есть только у CL и Smalltalk. А OCaml
(компилируемый, статически типизированный!)? А J? Или там неправильный
REPL и делает неправильный мед?
Posted via RSDN NNTP Server 2.0
Re[7]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 30.08.06 09:17
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Read-Eval-Print Loop.


LCR>http://en.wikipedia.org/wiki/Read-eval-print_loop


Т.е. приведенный мной здесь
Автор: eao197
Дата: 04.10.05
пример на Ruby является примером REPL (в конце сообщения)?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Что мы потеряли?
От: Mirrorer  
Дата: 30.08.06 09:26
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Твои мысли удивительным образом пересекаются с

LCR>Случайно, ты — не он?

Случайно нет

Одинаковые мысли приходят в голову известно кому


Мысль пришла когда смотрел на пример Scheme. Какое-то гуишное приложение под вынь.
Появилось смутное впечатление что "где-то я такое видел". Оказалось в XML. Дальнейшее изучение Scheme только больше меня убедило в том, что аналогия уместна. Появилась идея сделать туториал на этой ассоциации Объяснить макросы как преобразования ХМЛ документа и т.п.

А потом начал изучать Haskell и J Но идея все равно осталась. На следующей итерации изучения лиспа может и родится что-то такое.

ЗЫ. При изучении монад в Хаскеле мое видение их тоже удивительно совпало с примером про астронавтов.

ЗЗЫ. А за ссылку спасибо.
... << RSDN@Home 1.1.4 trck1005>>
Re[7]: Что мы потеряли?
От: FR  
Дата: 30.08.06 10:06
Оценка: 1 (1)
Здравствуйте, Lazy Cjow Rhrr, Вы писали:


LCR>Я не в курсе, компилируем ли Питон. Если да, то его тоже нужно добавить в этот список.


Компилируется в байт-код, REPL тоже есть.
Re[5]: Что мы потеряли?
От: vdimas Россия  
Дата: 30.08.06 10:19
Оценка: +1
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>VladD2,


M>>> Возможности замены работающих модулей на лету до сих пор нет нигде, кроме тех же Лиспа и Эрланга (ну и наверняка других, не менее экзотических языков).


VD>>Серьезно? А мужики то не знали и даже на VB5 это делали.


LCR>Можно порадоваться за Васик, но он здесь не к месту. Такая "горячая замена" есть для любого интерпретатора и называется она "переписывание исходников". Поэтому, имхо, VB5 не эквивалент ниразу.


Наверно речь шла о технологии COM. Ошибка тут в том, что не с VB5, а с VB4 стало возможным это все использовать (когда VB стал полностью бинарно COM-овским)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Что мы потеряли?
От: vdimas Россия  
Дата: 30.08.06 10:19
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Ну, ты почитай свои ссылки. А потом... и вопросов не возникнет. Лисп (если не брать эксперементальные клоны) это не типизированный язык и до стадии выполнения у него попросту не хватает информации о типах чтобы породить статический код. По этому в Лиспе используют методы динамической компиляции, а это и есть JIT-компиляция.


Схема совмещает это все. А попытки создать Схему для дотнета помогут использовать "двухтактный JIT", первый раз самим компилятором Схемы, второй раз — нативным JIT. У Схемы один очень серьезный недостаток — она безнадежно опоздала, да и ставший модным Common Lisp убил всю красоту ФП. (По сути, только последний недавний 5-й стандарт на Схему более-менее приличный, но этот стандарт опоздал лет на 20)

VD>На свете есть языки в которых типизация статическая, но типы так же явно не указываются. Это Хаскель, клоны ML, Немерле, Скала. Пследние два допускают вывод типов только в врыжениях. Эти языки специально спроектиррованы так, чтобы типы в них были всегда изместны еще до стадии сыполнения.


Схема выводит типы, где может. Где не может — остается интерпретатором. Т.е. часть кода на схеме компилируется в двоичный код, а часть — в предкомпиленные S-выражения.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 30.08.06 11:00
Оценка:
eao197,

LCR>>http://en.wikipedia.org/wiki/Read-eval-print_loop

E>Т.е. приведенный мной здесь
Автор: eao197
Дата: 04.10.05
пример на Ruby является примером REPL (в конце сообщения)?


Очень похоже на это.

Весь кайф REPL (и отличие от обычной командной строки) в том, что работа идёт с настоящими объектами. Они "плавают" в "море" сами по себе, мы вытаскиваем их, модифицируем их, и возвращаем обратно плавать. И таким образом наворачиваем функционал системы (начиная с нуля), которая уже работает и мы наблюдаем её работу. Естественно такая командная оболочка должна помогать "вылавливать" нужные сущности (объекты, функции и т.п.) и результатом таких сеансов "объектной ловли" в конечном итоге должен быть работающий исходный код.

Вычисления в command window — это не то. Объекты в command window берутся от пользователя (а не из "моря") и после вывода их представления на экран исчезают. Eclipse и IDEA имеют такое окно, но им почти никто не пользуется, потому что сформировать нужный объект, потом провести над ним вычисление — это нетривиальная работа, чтобы затем просто выкинуть объект. Поэтому все, кого я знаю, действуют по старинке: редактор-компилятор-отладчик.

Я пробовал писать из шелла в Эрланге, но оттуда удобно только наблюдать за состоянием системы. Определять функции (особенно рекурсивные) требует некоторого усилия и расширять/изменять их неудобно. И в общем, я не думаю, что можно всю систему написать таким образом. Тем не менее у Эрланга всё для этого имеется (read, eval, print).

Если Ruby компилируем, то нужно расширить список компилируемых языков с REPL.

ps: Ещё Питон и OCaml.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[8]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 30.08.06 11:04
Оценка:
Глеб,

PA>Как расшифровывается REPL, я знаю .

Да, и правда чего это я?

PA> Я не понял, действительно ли ты

PA>имел в виду, что REPL есть только у CL и Smalltalk. А OCaml
PA>(компилируемый, статически типизированный!)?

Ой, забыл о нём. Да-а... Получается, что OCaml уникален. Теперь меня мучает вопрос:

Верно ли, что Hot Upgrade необходим для REPL, или это ортогональные вещи?

Если ортогональны, то я зря приплёл REPL в сообщении к Re[4]: Что мы потеряли?
Автор: Lazy Cjow Rhrr
Дата: 30.08.06
.

PA>А J?

А тут интерпретатор, однако. Но вообще в командной строке J можно писать программы, там в принципе то, что нужно (есть правда маленькие нарекания).

PA> Или там неправильный REPL и делает неправильный мед?

Правильный REPL — это те самые вычисления в командной строке плюс окружение должно помогать инкрементальному стилю разработки программ. Подробнее я ответил Евгению в Re[8]: Что мы потеряли?
Автор: Lazy Cjow Rhrr
Дата: 30.08.06
.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[6]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 30.08.06 11:16
Оценка:
vdimas,

LCR>>Можно порадоваться за Васик, но он здесь не к месту. Такая "горячая замена" есть для любого интерпретатора и называется она "переписывание исходников". Поэтому, имхо, VB5 не эквивалент ниразу.


V>Наверно речь шла о технологии COM. Ошибка тут в том, что не с VB5, а с VB4 стало возможным это все использовать (когда VB стал полностью бинарно COM-овским)


Хм. Ну ладно, COM. Как COM решает вопрос с горячей заменой кода? Скажем, провели мы малость рефакторинг. Дальше?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[5]: Что мы потеряли?
От: mihoshi Россия  
Дата: 30.08.06 13:40
Оценка:
Здравствуйте, vdimas, Вы писали:

V>У Схемы один очень серьезный недостаток — она безнадежно опоздала, да и ставший модным Common Lisp убил всю красоту ФП. (По сути, только последний недавний 5-й стандарт на Схему более-менее приличный, но этот стандарт опоздал лет на 20)


В смчсле "опоздал"? По некоторым параметрам это мейнстримовские языки от него на 20 лет отстают. А если чего-то не хватает в стандарте — пиши Request for Implementation
Re[9]: Что мы потеряли?
От: Programmierer AG  
Дата: 30.08.06 15:34
Оценка:
Lazy Cjow Rhrr wrote:
>
> Верно ли, что Hot Upgrade необходим для REPL, или это ортогональные вещи?
Теперь стало понятнее.
Да, в этом смысле REPL для OCaml недостаточно мощный. Там не происходит
модификации "объекта в море", как ты описывал в
Re[8]: Что мы<br />
потеряли?
Автор: Lazy Cjow Rhrr
Дата: 30.08.06
, там используется lexical scoping — ввод нового
определения объекта foo добавляет новый объект в окружение, но все ранее
определенные объекты, использующие foo, ссылаются на предыдущее значение
foo.
И Hot upgrade нет — #load "foo.cmo" не сработает, если интерфейс модуля
Foo изменился.
Поэтому написать всю программу с помощью OCaml toplevel проблематично.
Я его использую в связке с tuareg-mode емакса для экспериментов с
текущим модулем, хватает.
Posted via RSDN NNTP Server 2.0
Re[7]: Что мы потеряли?
От: vdimas Россия  
Дата: 30.08.06 17:06
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Хм. Ну ладно, COM. Как COM решает вопрос с горячей заменой кода? Скажем, провели мы малость рефакторинг. Дальше?


Согласно правилам COM, однажды опубликованный интерфейс и гвид к нему фиксируются. Так что твой рефакторинг может быть только внутри компонента. А заменить на горячую компонент легко.

Set someVar = Null    
Application.DoEvents        ' если ссылок на компонент больше нет, то в WM_IDLE будут выгружены лишние DLL
PrepareNewDllVersion        ' типа вызов процедуры замены старой DLL на новую
Set someVar = CreateObject("Lib.AppId") ' создали объект заново
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 31.08.06 04:25
Оценка:
vdimas,

LCR>>Хм. Ну ладно, COM. Как COM решает вопрос с горячей заменой кода? Скажем, провели мы малость рефакторинг. Дальше?


V>Согласно правилам COM, однажды опубликованный интерфейс и гвид к нему фиксируются. Так что твой рефакторинг может быть только внутри компонента.


Подменить имплементацию интерфейса — это детский сад, совсем неинтересно. Весь прикол в том, что работающий код ожидает интерфейс I1, а получает вместо новый интерфейс I2 (как раз в этот момент был горячий апгрейд) и всё летит в щепки. Можно (теоретически) сделать так, чтобы по команде "Фас!" любой компонент переезжал с одного интерфейса на другой, но это невозможно сделать в общем случае и простота такого решения вызывает сомнение.

V> А заменить на горячую компонент легко.

V>
V>Set someVar = Null    
V>Application.DoEvents        ' если ссылок на компонент больше нет, то в WM_IDLE будут выгружены лишние DLL
V>PrepareNewDllVersion        ' типа вызов процедуры замены старой DLL на новую
V>Set someVar = CreateObject("Lib.AppId") ' создали объект заново
V>


Это понятно, дело техники.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[6]: Что мы потеряли?
От: vdimas Россия  
Дата: 31.08.06 05:33
Оценка: +1
Здравствуйте, mihoshi, Вы писали:


V>>У Схемы один очень серьезный недостаток — она безнадежно опоздала, да и ставший модным Common Lisp убил всю красоту ФП. (По сути, только последний недавний 5-й стандарт на Схему более-менее приличный, но этот стандарт опоздал лет на 20)


M>В смчсле "опоздал"?


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

M>По некоторым параметрам это мейнстримовские языки от него на 20 лет отстают. А если чего-то не хватает в стандарте — пиши Request for Implementation


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

Ведь в чем слабость Лисп-коммюнити? В непереносимости программ м/у различными Лисп-средами. Майнстримовыми стали те языки, в которых код более-менее переносим хотя бы на уровне исходников.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Что мы потеряли?
От: ie Россия http://ziez.blogspot.com/
Дата: 31.08.06 10:08
Оценка: :)))
Здравствуйте, Mirrorer, Вы писали:

M>В чем же отличие.. ах да.. "*" и "+" намного сложнее воспринимаются чем multiply и add.


Я все понял! Лисп — это xml без синтаксического оверхеда!
... << RSDN@Home 1.2.0 alpha rev. 0>>
Превратим окружающую нас среду в воскресенье.
Re[9]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.08.06 10:35
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Есть два разных object pascal. В свое время на Apple он был чуть ли не основным языком.


Охоно верю. Я говорит о том что знали чуть большее число людей. Об Общект Паскале от Эпэл я узнал лично отвас. Само по себе это уже показатель известности.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.08.06 10:35
Оценка:
Здравствуйте, IT, Вы писали:

IT>Влад, ну что ты несёшь. В 1993 уже вышел Borland C++ 4.0. Учитывая то, что пятёрка оказалась редкостным г.., то это была предпоследняя версия нормального компилятора от Борланда.


Нормальный компилятор С++ Борланд, по-моему, не создал и по сей день. Ну, а то что Борланд успел наплодить 4 версии (с промежуточными) с 1990 — это говорит только о качестве того что он плодил.

IT> В 1993 мы уже не певый год всем НИИ с упоением топили спутики в Индийском океане в наших моделях, написанных на C++.


Значит, вы были продвинутыми ребятами и гнались за всем новым. В ГОСПЛАНЕ СССР где-то в 1990 появились персооналки и народ начал думать о переходе на С. До этого на ЕС-ах о нем даже не думали.

IT> В 1991 я сам лично ездил в столицу забирать купленный конторой лицензионный BC++ 2.0. Просто приехал в педставительство Борланды и забрал коробку. Никаких проблем.


А я вот в 1993 прочел первую книжку о С++. А окружающие и того не делали. Народ к 94-ому во всю колбасил на Клипере. Интернета в 1993 у нас еще не было. Информацию можно было брать по знакомым. Компиляторы там же.

IT>Был у меня и Zortech, я изучал по нему как делать шаблоны на макросах (бред, блин). Но восторженных чувств он у меня не вызвал. Борландовый компилятор был на порядок удобнее и продвинутее.

IT> Возможно, именно поэтому Zortech и не пошёл.

Интересно чем же он был удобнее? Зортечь компилировал язык максимально риближеный к Страуструповскому описанию. Борладн какой-то странный язык. Другое дело, что уже в 1994 Зортеча не стало. Спасибо семантику. Хотя они выпустили среду которая была на порядок уобнее Борлондовской. Ну, да это уже другая история.

IT>VC++ в 1993 тоже уже был. Но его было не достать.


Знаешь, тут пару-тройку месяцев назад в железе человек спросил кокой процессор ему брать в новую машину, чтобы МС++ быстро бегал. Я сказал — бери АМД по шустрее и будет тебе щастье. Тут налетели "продвинутые" молодые орлы и махая ссаной тряпкой начали тыкать в тесты нового интеловских процессоров. Мол, вот! КорДуо намного круче! Кто же спорит? Круче коенчно. На несколько процентов круче. Вот только АМД можно пойти и купить (и цена более менее), а КорДуо был специально прислан для этих тестов Интелом и в районе Москвы (не то что более отдаленных уголках нашей родины) небыло вовсе.

К чему это я? Ах, да. Я клоню к тому, что в 1993 году VC++ появился в принципе. Он не был распространен даже на западе, а до нас он даже не добрался. Как ты понимашь, количество писавших на VC++ 1.0 в 1993 году стремилось к нулю.

Более того VC++ 1.0 — это был не С++-компилятор, а компилятор некого недоязыка в котором небыло (если не ошибаюсь) ни шаблонов, ни обработки исключений. Причем 1.5-шка не решила проблем. Нормальным (и то с кучей оговорок) VC++ стал где-то к 4-5 версиям. А они реально стали использоваться уже после 1995.

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

На западе уже в то время МС был брэндом и многие выбирали их средства разработки только потому, что считали, что под ОС МС нужно писать на средствах разрабоки МС. Так вот в 1993 году реально от МС был доступен С 5.0 (если не ошибаюсь). И это в то время как уже были Windows 3.0/3.1, SQL Server, ODBC, OLE2...

IT> Можно было купить, но глядя на предыдущих монстров от MS не очень то и хотелось.


Серьезно? Каких же? До VC 1.0 был только Quick C++ 1.0 который я так никогда и не увидел. Да и слышал про него всего один раз. Это явно была какая-то проба пера. А может слух.

Купить же компиляторы МС тогда вообще не ясно где можно было.

IT> До 1995 VC++ у нас тоже просто не пошёл, так как на него практически не было документации на русском и был он трудно доступен.


Документации на русском я вообще ни для одного компилятора никогда не видел. Хотя вру. Вот для VB.NET мыс сделал путем автаматического перевода.

IT> В 1995 Борланд явно переключился на Delphi, не оставив плюсовикам выбора, кроме как искать более достойные альтернативы от других производителей. Такой альтернативой оказался VC++ 4.2.


Борланд всегда редржал Паскаль в фаворитах. Ничего не изменилось и с приходом Дельфи. За дельфи появились Билдеры. И даже сейчас доступен Билдер Х и т.п.

IT> Но это уже другая история.


Это действительно другая история. Вот только даже из твоей истории видно, что С++ не был фаворитом в начале 1990-ых. Он им становился. Вот к 1996-у году, да он набрал силу. Но тут на горизонте появилась Ява.

Кстати, скромный вопрос. Эта подветка выросла из разговоров о том, что в 1993 Смолток якобы был невероятно популярен. Раз так, то такие продвинутые ребята как вы не могли же пройти мимо такого яркого события. Поделился бы воспоминаниями. Как тебе показался Смолток в промежутке 1990-1995?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.08.06 10:35
Оценка:
Здравствуйте, Gadsky, Вы писали:

VD>>Чушь. В 1993 С++ использовали еденицы. Более того тогда и компиляторов то прличных для PC не было. У МС вообще компилтора не было (в это время у них был MS C 6). Был (если не ошибаюсь) Борланд Турбо С++, Зортеч (доступный очень не многим).


G>http://www.openwatcom.com/index.php/History


G>1993 — Watcom C/C++ 9.5 and C/C++ 9.5/386 released

G>1994 — Watcom C/C++ 10.0 released
G>1995 — Watcom C/C++ 10.5 released

И? Это подтверждает или опровергает мои слова?
Я бы еще понял если бы ты на Трубо С++ показал. Тот хотя бы в 1990 появился. А как мог стать популярным компилятор который повился то в 1993?

Реально Watcom считался сильным С-компилятором с поддержкой 32-бытных расширений ДОС-а. На нем писался Дум. К 1995 конечно народ начал осваивать С++ более бурно, но это не был пик популярности. Пик популярности, по моим оценкам, как раз 1996-2000. Далее Ява и в последствии дотнет отобрали у С++ пальму первенства.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.08.06 10:35
Оценка:
Здравствуйте, vdimas, Вы писали:

VD>>На свете есть языки в которых типизация статическая, но типы так же явно не указываются. Это Хаскель, клоны ML, Немерле, Скала. Пследние два допускают вывод типов только в врыжениях. Эти языки специально спроектиррованы так, чтобы типы в них были всегда изместны еще до стадии сыполнения.


V>Схема выводит типы, где может. Где не может — остается интерпретатором. Т.е. часть кода на схеме компилируется в двоичный код, а часть — в предкомпиленные S-выражения.


Я не понял. А в чем твои слова протеворечат моим?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.08.06 10:35
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

VD>>Серьезно? А мужики то не знали и даже на VB5 это делали.


LCR>Можно порадоваться за Васик, но он здесь не к месту. Такая "горячая замена" есть для любого интерпретатора и называется она "переписывание исходников". Поэтому, имхо, VB5 не эквивалент ниразу.


К месту, к месту. VB5 был компилируемым, а горячая замена обеспечивалась средствами COM. Даже VB 1.0 в общем-то обеспечивал горячую замену, но только для контролов (они были основаны на внутреннем стандарте VBX).

LCR>Чуть усложнили язык — и привет. Такие вещи как статическая типизация и инкапсуляция являясь преимуществами с одной стороны оборачиваются большими препятствиями со стороны hot upgrade.


VB5 позволял писать полностью статически типизированные программы. Точнее это уже умел делать VB4. А вот с его динамики для динамической загрузки как раз толку было не так много.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Что мы потеряли?
От: Ramzes_ Россия http://ramzes.ws/
Дата: 31.08.06 10:45
Оценка: 1 (1) +6
Здравствуйте, VladD2, Вы писали:

VD>Охоно верю. Я говорит о том что знали чуть большее число людей. Об Общект Паскале от Эпэл я узнал лично отвас. Само по себе это уже показатель известности.


Если вы о чем-то не знаете, это показатель известности этого чего-то?
Re[6]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 31.08.06 10:55
Оценка:
VladD2,

LCR>>Можно порадоваться за Васик, но он здесь не к месту. Такая "горячая замена" есть для любого интерпретатора и называется она "переписывание исходников". Поэтому, имхо, VB5 не эквивалент ниразу.


VD>К месту, к месту. VB5 был компилируемым, а горячая замена обеспечивалась средствами COM. Даже VB 1.0 в общем-то обеспечивал горячую замену, но только для контролов (они были основаны на внутреннем стандарте VBX).


Ок, здесь моя ошибка насчёт Васика.

Однако я старался сделать акцент на том, что менять реализацию на лету — это неинтересно, гораздо интереснее менять часть интерфейсов на лету. Пока никто не возразил насчёт того, что интерфейсы менять — (почти) невозможно.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[4]: Что мы потеряли?
От: Mirrorer  
Дата: 31.08.06 12:39
Оценка:
Здравствуйте, ie, Вы писали:

ie>Я все понял! Лисп — это xml без синтаксического оверхеда!



Ну по большому счету так оно и есть
<xsl:choose>
          <xsl:when test="price &gt; 10">
            <td bgcolor="#ff00ff">
            <xsl:value-of select="artist"/></td>
          </xsl:when>
          <xsl:when test="price &gt; 9">
            <td bgcolor="#cccccc">
            <xsl:value-of select="artist"/></td>
          </xsl:when>
          <xsl:otherwise>
            <td><xsl:value-of select="artist"/></td>
          </xsl:otherwise>
        </xsl:choose>

(cond
      ((&;gt; price 10) (td (bgcolor "#ff00ff") artist))
      ((&;gt; price 9) (td (bgcolor "#cccccc") artist))
      (else (td artist)))


XML позволяет с помощью XML описывать действия над XML.
Lisp позволяет с помощью Lisp описывать действия над Lisp.

Не находите совпадения ?
... << RSDN@Home 1.1.4 Pink Floyd — Is There Anybody Out There>>
Re[5]: Что мы потеряли?
От: ie Россия http://ziez.blogspot.com/
Дата: 31.08.06 12:51
Оценка: :))) :))) :)))
Здравствуйте, Mirrorer, Вы писали:

M>XML позволяет с помощью XML описывать действия над XML.

M>Lisp позволяет с помощью Lisp описывать действия над Lisp.

M>Не находите совпадения ?




значит правильно — eXtensible Markup Lisp ?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Превратим окружающую нас среду в воскресенье.
Re[10]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 31.08.06 15:04
Оценка: 3 (3) +5
Здравствуйте, VladD2, Вы писали:

VD>Нормальный компилятор С++ Борланд, по-моему, не создал и по сей день. Ну, а то что Борланд успел наплодить 4 версии (с промежуточными) с 1990 — это говорит только о качестве того что он плодил.


Это ты зря. У Борланда был один из лучших компиляторов и самая лучшая среда разработки, включая отладчик. Частые версии говорят о двух вещах: тогда всё очень быстро менялось, сам C++, DOS, Windows и ребята за всем за этим поспевали, пока Борланд окончательно не сменил стратегию и не забил на C++.

VD>Значит, вы были продвинутыми ребятами и гнались за всем новым. В ГОСПЛАНЕ СССР где-то в 1990 появились персооналки и народ начал думать о переходе на С. До этого на ЕС-ах о нем даже не думали.


У нас переход был ну может на год раньше.

VD>Интересно чем же он был удобнее? Зортечь компилировал язык максимально риближеный к Страуструповскому описанию. Борладн какой-то странный язык.


Мне надо было не шашечки, а ехать. У Борланда кроме собсвенно компилятора был ещё нормальный отладчик и удобные библиотеки типа Turbo Vision. С версии 3.1, если не ошибается мой склероз, появилась поддержка DPMI, т.е. мы смогли без труда вырваться за пределы мегабайта без извращений вроде EMS и оверлеев.

VD>Другое дело, что уже в 1994 Зортеча не стало. Спасибо семантику. Хотя они выпустили среду которая была на порядок уобнее Борлондовской. Ну, да это уже другая история.


На счёт порядков я не в курсе. А то, что Семантик загубил не один хороший проект, так это ни для кого не секрет.

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


У нас писали и на Клиппере и на Паскале. На плюсах тоже писали и очень не мало. О том, что в те времена никто не писал на плюсах, я узнал только от тебя только сейчас. Кстати, плюсы тогда очень не плохо, если не лучше всего освещались в периодике. Я тогда скупал все компьютерные журналы подряд и практически в каждом можно было найти кусочек кода на плюсах. Была ещё одно время такая штука — СофтПанорама, типа заменителя интернета, библиотека всяких программулек и исходного кода. Распространялась на дискетах довольно долго с завидной периодичностью. Плюсового кода там было до дури.

IT>> Можно было купить, но глядя на предыдущих монстров от MS не очень то и хотелось.


VD>Серьезно? Каких же?


Microsoft C 6.0. Помнишь такого монстрика?

VD>Купить же компиляторы МС тогда вообще не ясно где можно было.


В любой шаражкиной конторе, торгующей коробками с софтом. Где там Лозинский свой антивирус клепал? Вот там можно было.

IT>> До 1995 VC++ у нас тоже просто не пошёл, так как на него практически не было документации на русском и был он трудно доступен.


VD>Документации на русском я вообще ни для одного компилятора никогда не видел.


Документация на русском была по Турбо Паскалю. По ней я учился основам ООП. Книжка Гради Буча появилась гораздо позже и была полезна в плане приведения в порядок иозгов. Документация по плюсам тоже была. В том числе и по всей run-time библиотеке. Не помню насчёт Turbo Vision. Паскалевская версия точно была, для плюсов не помню. Документацией этой в том числе и торговали. Были такие умные программки, которые позволяли просматривать это дело либо только с экрана, либо напечатать. Причём печатали прямо в порт, т.е. перехватить печать просто так было не возможно. Пришлось изучать защищённый режим процессора и перехватывать команду out.

VD>Борланд всегда редржал Паскаль в фаворитах. Ничего не изменилось и с приходом Дельфи. За дельфи появились Билдеры. И даже сейчас доступен Билдер Х и т.п.


Изменилось и очень сильно. С приходои Дельфи, на развитие линейки C++ компиляторов забили вообще. Вышедший с большим опозданием BC++ 5.0 был просто одним большим глюком. Когда вышел Билдер, то было уже поздно. Все кому надо было пересели на VC++.

VD>Кстати, скромный вопрос. Эта подветка выросла из разговоров о том, что в 1993 Смолток якобы был невероятно популярен. Раз так, то такие продвинутые ребята как вы не могли же пройти мимо такого яркого события. Поделился бы воспоминаниями. Как тебе показался Смолток в промежутке 1990-1995?


Смолток для PC тогда был в виде какой-то оболочки, которая была и редактором и средой исполнения. Нам нужны были программы, которые в откомпилированном виде работали бы сами по себе. Смолток этим требованиям не удовлетворял, поэтому шёл лесом.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Что мы потеряли?
От: Трурль  
Дата: 01.09.06 04:54
Оценка: :))
Здравствуйте, ie, Вы писали:

ie>значит правильно — eXtensible Markup Lisp ?


Нет, правильно — eXtremally Munged Lisp.
Re[9]: Что мы потеряли?
От: vdimas Россия  
Дата: 01.09.06 08:25
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

V>>Согласно правилам COM, однажды опубликованный интерфейс и гвид к нему фиксируются. Так что твой рефакторинг может быть только внутри компонента.


LCR> Подменить имплементацию интерфейса — это детский сад, совсем неинтересно. Весь прикол в том, что работающий код ожидает интерфейс I1, а получает вместо новый интерфейс I2 (как раз в этот момент был горячий апгрейд) и всё летит в щепки.


То, что ты говоришь, возможно только при динамическом связывании. В VB такое тоже есть, достаточно использовать в своей программе вместо типизированных объектных переменных просто Object (IDispatch в переводе на COM) в тех местах, в которых ожидается замена.


LCR>Можно (теоретически) сделать так, чтобы по команде "Фас!" любой компонент переезжал с одного интерфейса на другой, но это невозможно сделать в общем случае и простота такого решения вызывает сомнение.


Это возможно во всех динамических языках, скриптах и в VB с его поздним связыванием.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Что мы потеряли?
От: vdimas Россия  
Дата: 01.09.06 10:17
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>>>На свете есть языки в которых типизация статическая, но типы так же явно не указываются. Это Хаскель, клоны ML, Немерле, Скала. Пследние два допускают вывод типов только в врыжениях. Эти языки специально спроектиррованы так, чтобы типы в них были всегда изместны еще до стадии сыполнения.


V>>Схема выводит типы, где может. Где не может — остается интерпретатором. Т.е. часть кода на схеме компилируется в двоичный код, а часть — в предкомпиленные S-выражения.


VD>Я не понял. А в чем твои слова протеворечат моим?


Не противоречат. Я просто добавил. По сути, где компиляция невозможна, Схема становится интерпретатором. Это что-то вроде позднего связывания и применения типа данных VARIANT в VB. Красота подхода в том, что синтаксически интерпретируемые строки (вызов через IDispatch и рекурсивный ресолвинг значения VARIANT) не отличаются от компилируемых.

Когда-то я отметил для себя потрясающее удобство такого подхода. На интерпретируемом способе легко делать прототипирование. Затем, тем где это требуется, немного типизируем. И все! Продакшн-код готов. В Схеме это происходит вообще автоматически. Было бы неплохо иметь такую фичу и Немерле, т.е. в случае невозможности вывода типов компилировать позднее связывание (Invoke-вызовы) и пр.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.09.06 16:41
Оценка: +1
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Однако я старался сделать акцент на том, что менять реализацию на лету — это неинтересно, гораздо интереснее менять часть интерфейсов на лету. Пока никто не возразил насчёт того, что интерфейсы менять — (почти) невозможно.


Менять интерфейсы на лету тоже можно. Но для этого нужно иметь или интерпретатор, или генерировать и компилировать код на лекту.

Реально менять интерфейсы на лету не очень то и нужно. А вот подменять реализацию или подгружать другую (полиморфную) реализацию очень даже нужно и часто. Собственно компонентные технологии и решают эту проблему для компилируемых статически типизированных языков.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.09.06 16:41
Оценка: -1 :)
Здравствуйте, Ramzes_, Вы писали:

VD>>Охоно верю. Я говорит о том что знали чуть большее число людей. Об Общект Паскале от Эпэл я узнал лично отвас. Само по себе это уже показатель известности.


R_>Если вы о чем-то не знаете, это показатель известности этого чего-то?


В общем — да, если говорить об IT-области знаний. Я не архивариус, но и не полный ньюби. Так что если о чем-то не слышал, то с огромной долей вероятности это не очень извесная вещь.

В данном случае мою правоту легко проверить созданием глосования. Уверен, что подавляющее большинство скажет, что Обжект Паскаль — это язык от Борланд.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.09.06 16:41
Оценка:
Здравствуйте, IT, Вы писали:

IT>Это ты зря. У Борланда был один из лучших компиляторов и самая лучшая среда разработки, включая отладчик. Частые версии говорят о двух вещах: тогда всё очень быстро менялось, сам C++, DOS, Windows и ребята за всем за этим поспевали, пока Борланд окончательно не сменил стратегию и не забил на C++.


Ну, да. Все так быстро менялось, что МС сделал компилятор только к 1993-ему. А рабочий к 1995-му.

Мне кажется все объясняется проще. Борланд пытался снять сливки на всем новом и перспектином.

VD>>Значит, вы были продвинутыми ребятами и гнались за всем новым. В ГОСПЛАНЕ СССР где-то в 1990 появились персооналки и народ начал думать о переходе на С. До этого на ЕС-ах о нем даже не думали.


IT>У нас переход был ну может на год раньше.


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

Вот
Автор: eao197
Дата: 01.09.06
погляди сюда. Сдается мне, что вы в те времена были в лучшем случае в группе Early adopters. А то и в Technologists (по данной классификации).

А вот после 1994-но на С++ начали переходить прагматики критическая масса набралась где-то к 1997-му. Ну, а там многие уже валили на Яву, а далее на дотнет.

Так что в 1993 С++ не был самым популярным ЯП нисмотря на то что вы уже на нем работали. Появился же С++ в 1985-ом. О чем это говорит? По-моему только об одном. ООП как раз и набирал популярность в первой половине 90-ых годов того века.

IT>Мне надо было не шашечки, а ехать. У Борланда кроме собсвенно компилятора был ещё нормальный отладчик и удобные библиотеки типа Turbo Vision.


Я слышал не мало мата о Turbo Vision со стороны С++-ников. Библитоека все же была создана для Паскаля и его уши торчали не хуже чем уши Дельфи из Билдера.

IT> С версии 3.1, если не ошибается мой склероз, появилась поддержка DPMI, т.е. мы смогли без труда вырваться за пределы мегабайта без извращений вроде EMS и оверлеев.


Зортечь имел офигительную графическую (не ГУИ, но все же) библиотеку и поддеркжу ДОС экстендеров за долго до Боланда. Просто Зортеч был редким явлением, вот вы на него внимания и не обратили. Почти в то время когда у Борланда был 3.1, если не ошибаюсь Семантик создал на базе Зортеча Семантик С++ с которым шла среда для Виндвос и даже поддерживался 32-битный компилятор и Win32S. Watcom еще во времина С обеспечивал ДОС-экстендер. Вот только причем тут это? Мы говорим о популярности языка в 1993-ем году.

IT>На счёт порядков я не в курсе.


Я знаю. Я его лично использовал.

IT> А то, что Семантик загубил не один хороший проект, так это ни для кого не секрет.


Это, да.

IT>У нас писали и на Клиппере и на Паскале. На плюсах тоже писали и очень не мало. О том, что в те времена никто не писал на плюсах, я узнал только от тебя только сейчас.


Ненадо передергивать. Я не говорил "никто не писал на плюсах". Я сказал, что С++ не был популярным языком, чтобы с ним можно было сравнивать количество пользователей на других языках. Вот в 1997 другое дело. А в 1993 сравнивать лучше было бы с С и Паскалем. На их фоне у С++ то популярнсость была не высока, а у Смолтока она вообще была ну уровне плинтуса.

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


Извини, но звучит забавно. Какие "все компьютерные журналы"? Все два?

IT> Была ещё одно время такая штука — СофтПанорама, типа заменителя интернета, библиотека всяких программулек и исходного кода. Распространялась на дискетах довольно долго с завидной периодичностью. Плюсового кода там было до дури.


Не знаю. Не видел.

IT>>> Можно было купить, но глядя на предыдущих монстров от MS не очень то и хотелось.


VD>>Серьезно? Каких же?


IT>Microsoft C 6.0. Помнишь такого монстрика?


И где купить? И какое отношение этот компилтор имел к С++?

IT>В любой шаражкиной конторе, торгующей коробками с софтом. Где там Лозинский свой антивирус клепал? Вот там можно было.


У меня ошущение, что у всас был какой-то продвинутый город в 93-ем. У нас в Москве сейчас то коробочный софт днем с огнем не сыщешь. А тогда это вообще было чудо какое-то. Был один книжный где продавался МС ДОС, 1ЭС и другая дрибедень. Компилятор Семантика я покупал на выставке (Софтуле, что ли). Борланда увидил там же. Это был один из немногих производителей который торговал софтом у нас сам.

IT>Документация по плюсам тоже была.


На русском? Ты ее с книгами не путашь?

IT> В том числе и по всей run-time библиотеке.


Это по которой? По С-шной? Ага, была. Только С тогда действительно был супер популярным. А рантайм-библиотеки для С++ вообщем-то не было. Она в стандарт то вошла в 1993-ем если не ошибаюсь, не то что в библиотеки компиляторов. Те книги Страуструпа на которых я изучил С++ о ней ни слова ни говорили.

VD>>Борланд всегда редржал Паскаль в фаворитах. Ничего не изменилось и с приходом Дельфи. За дельфи появились Билдеры. И даже сейчас доступен Билдер Х и т.п.


IT>Изменилось и очень сильно. С приходои Дельфи, на развитие линейки C++ компиляторов забили вообще. Вышедший с большим опозданием BC++ 5.0 был просто одним большим глюком. Когда вышел Билдер, то было уже поздно. Все кому надо было пересели на VC++.


Это уже фобия. Дельфи сама запоздала на 2 года и то что Билдер задержался от этого числа на год совершенно не странно. ТурбоВижон тоже был паскалевским и попадал в С++ с большим опозданием. Проблем с ним тоже хватало.

IT>Смолток для PC тогда был в виде какой-то оболочки, которая была и редактором и средой исполнения. Нам нужны были программы, которые в откомпилированном виде работали бы сами по себе. Смолток этим требованиям не удовлетворял, поэтому шёл лесом.


Так ты его хоть посмотрел?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Что мы потеряли?
От: Ramzes_ Россия http://ramzes.ws/
Дата: 01.09.06 17:23
Оценка: 6 (3) +6
Здравствуйте, VladD2, Вы писали:

VD>В общем — да, если говорить об IT-области знаний. Я не архивариус, но и не полный ньюби. Так что если о чем-то не слышал, то с огромной долей вероятности это не очень извесная вещь.


Видите ли в чем дело… После ознакомления с вашими ответами, складывается следующее впечатление. Ваши собеседники, основываются на том, что они видели и с чем знакомы, утверждают, что это имело место. Вы же, основываясь на том, что этого не видели и об этом не слышали, доказываете то, что это место не имело, либо было уникальным в своем роде. Это несколько разные обоснования, не правда ли? По крайней мере для человека, знакомого с логикой.
Re[2]: Что мы потеряли?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 01.09.06 18:01
Оценка: 1 (1) +2 -1 :))) :)
Здравствуйте, eao197, Вы писали:

E>Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту. Они двигают прогресс. Но результатами их достижений должны пользоваться "простые смертные". А посему, для простых смертных результаты прогресса должны быть представленны в виде простых инструкций: возьми это, приведи к такому-то виду, подставь сюда, примени вот этот метод. На данном уровне искусство превращается в ремесло. И чем больше спрос, тем примитивнее должны быть методы.


Все вокруг в г..., одни мы (элита) в белом фраке. Эта идея стара как мир.
... << RSDN@Home 1.2.0 alpha rev. 637>>
AVK Blog
Re[13]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.09.06 18:54
Оценка: :)
Здравствуйте, Ramzes_, Вы писали:

VD>>В общем — да, если говорить об IT-области знаний. Я не архивариус, но и не полный ньюби. Так что если о чем-то не слышал, то с огромной долей вероятности это не очень извесная вещь.


R_>Видите ли в чем дело… После ознакомления с вашими ответами, складывается следующее впечатление. Ваши собеседники, основываются на том, что они видели и с чем знакомы, утверждают, что это имело место. Вы же, основываясь на том, что этого не видели и об этом не слышали, доказываете то, что это место не имело, либо было уникальным в своем роде. Это несколько разные обоснования, не правда ли? По крайней мере для человека, знакомого с логикой.


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

Кстати, какое отношение этот выпад имеет к предыдущему вопросу?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что мы потеряли?
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 02.09.06 15:19
Оценка:
Здравствуйте, ie, Вы писали:

ie>Я все понял! Лисп — это xml без синтаксического оверхеда!


Сам Лисп не знаю, но если судить по тому, что здесь говорят, то Лисп — это язык, где вручную описывается AST
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 02.09.06 20:04
Оценка: +3
Здравствуйте, VladD2, Вы писали:

IT>>Это ты зря. У Борланда был один из лучших компиляторов и самая лучшая среда разработки, включая отладчик. Частые версии говорят о двух вещах: тогда всё очень быстро менялось, сам C++, DOS, Windows и ребята за всем за этим поспевали, пока Борланд окончательно не сменил стратегию и не забил на C++.


VD>Ну, да. Все так быстро менялось, что МС сделал компилятор только к 1993-ему. А рабочий к 1995-му.


При чём тут MS? MS вообще на рынке качественных компиляторов засветилась довольно поздно.

VD>Мне кажется все объясняется проще. Борланд пытался снять сливки на всем новом и перспектином.


Остаётся только вспомнить, что как раз в то время Андрюша Хелсберг работал в Борланд и во всю снимал сливки вместе со всеми. Теперь он снимает сливки в другом, не будем показывать пальцем в каком, месте.

Я думаю, всё гораздо проще. Борланд всегда была конторой, в которой работали талантливейшие разработчики и абсолютно бездарнейшие манагеры. В своё время они зарубили почти готовый проект по разработке целой линейке компиляторов с единым кодогенератором и совместимым объектным кодом. Его выкупили сами же разаботчики и потом он появился в другой реинкарнации (к сожалению, забыл название). В MS до какого-то времени в отношении компиляторов всё было с точностью до наоборот. Сделать свои компиляторы MS не могла, а купить разрабочиков на любой вкус и цвет могла легко. Соответственно, можно не объяснять почему так низко в то время пал C++ в Борланд и как он потом резво поднялся в MS. Байку про мерседесы на стоянке Борлада я слышал давно и почему-то склонен этой байке верить. Знаешь какой вид на мерседес самый лучший? Это вид с водительского места. Отказаться не возможно. При этом я вовсе не оусждаю MS, я порицаю Борланд. Так крепко держать лидерство разработки компиляторов в своих руках и так бездарно проглядеть мэйстримовый язык и полностью его прощёлкать нужно уметь.

VD>Я надесюь, ты не будешь спорить, что С++ в таких условиях был пеонерским языком, и ни о какой подавляющей его популярности говорить был нельзя?


C++ прежде всего был расширением C. Я надеюсь, ты тоже не будешь с этим спорить. Так вот возможность совмешать оба языка в одном проекте делала переход на C++ довольно простым делом. На С тогда писала куча народа, кто хотел переходил на плюсы без проблем.

VD>А вот после 1994-но на С++ начали переходить прагматики критическая масса набралась где-то к 1997-му. Ну, а там многие уже валили на Яву, а далее на дотнет.


Ты не поверишь, но про Яву до штатов я слышал вскользь всего пару раз.

VD>Так что в 1993 С++ не был самым популярным ЯП нисмотря на то что вы уже на нем работали. Появился же С++ в 1985-ом. О чем это говорит? По-моему только об одном. ООП как раз и набирал популярность в первой половине 90-ых годов того века.


На счёт C++ я не могу спорить, потому что это всё равно сведётся к тому, что мы в своей деревне бежали впереди паровоза. Хотя у меня тогда даже подозрений таких не было. Что касается ООП, то это в корне не верно. ООП во всей красе был уже в TP 5.5. А он во всю использовался уже с начала 90-х.

IT>>Мне надо было не шашечки, а ехать. У Борланда кроме собсвенно компилятора был ещё нормальный отладчик и удобные библиотеки типа Turbo Vision.


VD>Я слышал не мало мата о Turbo Vision со стороны С++-ников. Библитоека все же была создана для Паскаля и его уши торчали не хуже чем уши Дельфи из Билдера.


Эти уши выражались только в том, что в С++ не использовались деструкторы для подчистки объектов. Ещё этой библиотеке не хватало редактора форм. Разработка форм с программным пристреливанием контролов выливалась в жуткое занятие. Эта проблема была нами решена. Был написан редактор форм, который избавил нас от ручной работы совсем. Всё, больше проблем не было. Сама же по себе библиотека являлась примерои того, какой должна быть настоящая объектно-ориентированная UI библиотека. Ни MFC, ни WinForms до сих пор даже на километр не приблизились к чистоте объектной модели TV.

IT>> С версии 3.1, если не ошибается мой склероз, появилась поддержка DPMI, т.е. мы смогли без труда вырваться за пределы мегабайта без извращений вроде EMS и оверлеев.


VD>Зортечь имел офигительную графическую (не ГУИ, но все же) библиотеку и поддеркжу ДОС экстендеров за долго до Боланда.


Точно? Ты ничего не путаешь? Значит я что-то пропустил. Никаких упоминаний о чём-то подобном я никогда не слышал, хотя старался быть в курсе всего и регулярно читал всю периодику.

VD>Просто Зортеч был редким явлением, вот вы на него внимания и не обратили. Почти в то время когда у Борланда был 3.1, если не ошибаюсь Семантик создал на базе Зортеча Семантик С++ с которым шла среда для Виндвос и даже поддерживался 32-битный компилятор и Win32S. Watcom еще во времина С обеспечивал ДОС-экстендер. Вот только причем тут это? Мы говорим о популярности языка в 1993-ем году.


Как это причём? Ты же сам начал кидаться какашками в Борланд.

IT>>На счёт порядков я не в курсе.


VD>Я знаю. Я его лично использовал.


А Борланд лично использовал?

IT>>У нас писали и на Клиппере и на Паскале. На плюсах тоже писали и очень не мало. О том, что в те времена никто не писал на плюсах, я узнал только от тебя только сейчас.


VD>Ненадо передергивать. Я не говорил "никто не писал на плюсах". Я сказал, что С++ не был популярным языком, чтобы с ним можно было сравнивать количество пользователей на других языках. Вот в 1997 другое дело. А в 1993 сравнивать лучше было бы с С и Паскалем. На их фоне у С++ то популярнсость была не высока, а у Смолтока она вообще была ну уровне плинтуса.


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

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


VD>Извини, но звучит забавно. Какие "все компьютерные журналы"? Все два?


Это сейчас их два. А тогда ими были завалены все полки в книждых магазинах. PC World, Доктор Джобс, ComputerWorld, Монитор, Компьютер. Это то, что я могу вспомнить сходу.

IT>> Была ещё одно время такая штука — СофтПанорама, типа заменителя интернета, библиотека всяких программулек и исходного кода. Распространялась на дискетах довольно долго с завидной периодичностью. Плюсового кода там было до дури.


VD>Не знаю. Не видел.


Ну вот и как с тобой после этого можно о чём-то разговаривать

IT>>>> Можно было купить, но глядя на предыдущих монстров от MS не очень то и хотелось.

VD>>>Серьезно? Каких же?
IT>>Microsoft C 6.0. Помнишь такого монстрика?
VD>И где купить? И какое отношение этот компилтор имел к С++?

Такое же как и TC++ к TC. Последовательный переход с одного языка на другой.

IT>>В любой шаражкиной конторе, торгующей коробками с софтом. Где там Лозинский свой антивирус клепал? Вот там можно было.


VD>У меня ошущение, что у всас был какой-то продвинутый город в 93-ем. У нас в Москве сейчас то коробочный софт днем с огнем не сыщешь.


Шаражкины конторы как раз все были в Москве. У нас софт в то время вообще не продавался.

IT>>Документация по плюсам тоже была.


VD>На русском? Ты ее с книгами не путашь?


На русском. Не путаю.

IT>>Изменилось и очень сильно. С приходои Дельфи, на развитие линейки C++ компиляторов забили вообще. Вышедший с большим опозданием BC++ 5.0 был просто одним большим глюком. Когда вышел Билдер, то было уже поздно. Все кому надо было пересели на VC++.


VD>Это уже фобия. Дельфи сама запоздала на 2 года


Дельфи вышла в 1995 в одно время с Windows 95. Никакого опоздания не было. Ну может на пару дней. Возможно MS опоздал со своими компиляторами, но вот Борланд всё сделал очень чётко и во-время.

VD>и то что Билдер задержался от этого числа на год совершенно не странно.


Билдер задержался ровно на два года. BC++ 5.0, которого уже и не ждали вышел даже позже.

VD>ТурбоВижон тоже был паскалевским и попадал в С++ с большим опозданием. Проблем с ним тоже хватало.


TV для С++ появился в 92. В 93-м мы уже вовсю клепали на нём многочисленные приложения. О проблемах я уже писал. Проблема по большому счёту там была одна — визуальный редактор форм. Но к счастью, уже тогда в TV был реализован механизм сериализации и была возможность загружать иерархии объктов, в том числе визуальных, из ресурсов. Вот такой редактор ресурсов и был нами написан и использовался без проблем года до 98-го, когда мы полностью перешли на Windows.

IT>>Смолток для PC тогда был в виде какой-то оболочки, которая была и редактором и средой исполнения. Нам нужны были программы, которые в откомпилированном виде работали бы сами по себе. Смолток этим требованиям не удовлетворял, поэтому шёл лесом.


VD>Так ты его хоть посмотрел?


Смотрел. Правда без особого интереса. Неудовлетворение самым неоходимым требованиям не оставило Смолтоку никаких шансов.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 02.09.06 20:09
Оценка: +2
Здравствуйте, AndrewVK, Вы писали:

E>>Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту. Они двигают прогресс. Но результатами их достижений должны пользоваться "простые смертные". А посему, для простых смертных результаты прогресса должны быть представленны в виде простых инструкций: возьми это, приведи к такому-то виду, подставь сюда, примени вот этот метод. На данном уровне искусство превращается в ремесло. И чем больше спрос, тем примитивнее должны быть методы.


AVK>Все вокруг в г..., одни мы (элита) в белом фраке. Эта идея стара как мир.


Это ещё и хороший способ самовнушения из серии я не понят, потому что им не дано
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: Что мы потеряли?
От: Cyberax Марс  
Дата: 02.09.06 20:32
Оценка:
IT wrote:
> Эти уши выражались только в том, что в С++ не использовались деструкторы
> для подчистки объектов. Ещё этой библиотеке не хватало редактора форм.
> Разработка форм с программным пристреливанием контролов выливалась в
> жуткое занятие. Эта проблема была нами решена. Был написан редактор
> форм, который избавил нас от ручной работы совсем. Всё, больше проблем
> не было. Сама же по себе библиотека являлась примерои того, какой должна
> быть настоящая объектно-ориентированная UI библиотека. Ни MFC, ни
> WinForms до сих пор даже на километр не приблизились к чистоте объектной
> модели TV.
Я в свое время написал несколько простеньких layout'ов для TV — мне хватало.

Лучше TV я пока видел только SWING в Java. Вот если бы он еще не был
тормознутым монстром...

> VD>Просто Зортеч был редким явлением, вот вы на него внимания и не

> обратили. Почти в то время когда у Борланда был 3.1, если не ошибаюсь
> Семантик создал на базе Зортеча Семантик С++ с которым шла среда для
> Виндвос и даже поддерживался 32-битный компилятор и Win32S. Watcom еще
> во времина С обеспечивал ДОС-экстендер. Вот только причем тут это? Мы
> говорим о популярности языка в 1993-ем году.
Кстати, в 94 году Watcom был самым оптимизирующим компилятором. На нем
писались почти все игры.

> TV для С++ появился в 92. В 93-м мы уже вовсю клепали на нём

> многочисленные приложения. О проблемах я уже писал.
В конце 94 года появился порт TV на Watcom, который я использовал.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[14]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.09.06 23:09
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кстати, в 94 году Watcom был самым оптимизирующим компилятором. На нем

C>писались почти все игры.

В 94 была одна инга. Хотя, да... две. Дум и DOOM ][.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.09.06 23:09
Оценка:
Здравствуйте, IT, Вы писали:

IT>При чём тут MS? MS вообще на рынке качественных компиляторов засветилась довольно поздно.


Серьезно? А я их C4 и Quick C 1.0 ползовался. И что забавно до сих пор доволен.

IT>Остаётся только вспомнить, что как раз в то время Андрюша Хелсберг работал в Борланд и во всю снимал сливки вместе со всеми. Теперь он снимает сливки в другом, не будем показывать пальцем в каком, месте.


Он в то время только пришел. И вообще причем тут он?

IT>Я думаю, всё гораздо проще. Борланд всегда была конторой, в которой работали талантливейшие разработчики и абсолютно бездарнейшие манагеры. В своё время они зарубили почти готовый проект по разработке целой линейке компиляторов с единым кодогенератором и совместимым объектным кодом. Его выкупили сами же разаботчики и потом он появился в другой реинкарнации (к сожалению, забыл название). В MS до какого-то времени в отношении компиляторов всё было с точностью до наоборот. Сделать свои компиляторы MS не могла, а купить разрабочиков на любой вкус и цвет могла легко.


Ну, ну. МС и начался то с компиляторов. Вот ОС они действительно купили (если ДОС можно ОС-мо назвать).

IT> Соответственно, можно не объяснять почему так низко в то время пал C++ в Борланд и как он потом резво поднялся в MS.


Да нинадо обяснять то чего не было. Борланд оказался по прозорливее и поставил на темную лошадку. Но кодгда лошадка начала подходить к финишу, Борланд почему-то ретировался. А МС как раз заметив что С++ выходит в фаворты поставило на него. В 1992 они рассматривали С++ как язык для новой ОС (NT) и решили, что это хреновый выбор. По сему NT было написано опять же на С. В обещем разумный консерватизм. Остается задуматься почему же МС вообще не рассматривал Смолток? Сдается мне, что если С++ им поаказался слишком болшим оверхэдом, то Смолток вообще полной задницей.

IT> При этом я вовсе не оусждаю MS, я порицаю Борланд. Так крепко держать лидерство разработки компиляторов в своих руках и так бездарно проглядеть мэйстримовый язык и полностью его прощёлкать нужно уметь.


Ничего они не держали. Бабки были у МС, технологии у Зортеча и Ваткома. Последних двух в последствии купили, а Борланд жив то сей день. Не так уж и плохо.

IT>C++ прежде всего был расширением C. Я надеюсь, ты тоже не будешь с этим спорить. Так вот возможность совмешать оба языка в одном проекте делала переход на C++ довольно простым делом. На С тогда писала куча народа, кто хотел переходил на плюсы без проблем.


Вот именно. На С. И согласен, что простота перехода сиграла роль в поплуярнсоти.

В общем-то ты и подтверждаешь мои слова. Лидер был С, Паскаль, ХБэйс... А С++ набирал обороты. Во многом из-за совместимости с С. Ну, так с этим никто не спорит. Я не согласен с тем, что в 1993-ем С++ был фаворитом, а Смолток смотрелся на его фоне серьезным конкурентом.

Реалии были другими. С++ набирал популярность на фоне фаворитов (С и Паскаля), а Смолток был уделом посвященных одиночек.

IT>Ты не поверишь, но про Яву до штатов я слышал вскользь всего пару раз.


А у нас (в Москве) в 1996 про нее все компьютерные газеты трубили.

IT>На счёт C++ я не могу спорить, потому что это всё равно сведётся к тому, что мы в своей деревне бежали впереди паровоза. Хотя у меня тогда даже подозрений таких не было. Что касается ООП, то это в корне не верно. ООП во всей красе был уже в TP 5.5. А он во всю использовался уже с начала 90-х.


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

IT>Эти уши выражались только в том, что в С++ не использовались деструкторы для подчистки объектов.


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

IT> Ни MFC, ни WinForms до сих пор даже на километр не приблизились к чистоте объектной модели TV.


Это уже явное преувеличение.

IT>Точно? Ты ничего не путаешь?


Ничего не путаю. Зортэчь был очень продвинутым продуктом.

IT>Как это причём? Ты же сам начал кидаться какашками в Борланд.


Я в него ничем не кидался. Но технологически они были далеко не первыми. Первыми были Зортеч и Ватком.

IT>А Борланд лично использовал?


Пытался. Но что-то любовью к их продуктам не пронискя. Позже использовал Дельфи 2-4, но и то отказался (уже будучи директором). Выбрал как раз спарку MS C++ и VB.

IT>В 1993 абсолютно все сишники, которых я знал уже писали на плюсах. Некоторые правда соскочили на Паскаль.


Ну, ну. Вот только я наблюдал картину сползнания с Фортрана на С. Видимо мы разных людей видили.

IT>Это сейчас их два. А тогда ими были завалены все полки в книждых магазинах. PC World, Доктор Джобс, ComputerWorld, Монитор, Компьютер. Это то, что я могу вспомнить сходу.


ComputerWorld левой газетов с новостями был, ею и осталься. PC World тоже. Доктор Джобс на русском тогда не выходил. Про Монитор, я слышал. Но в живую не видел. А что такое Компьютер я и сейчас не знаю. Тера появилась сильно позже. PC Mag на расском тоже. Компресс помню. И это все.

VD>>И где купить? И какое отношение этот компилтор имел к С++?


IT>Такое же как и TC++ к TC. Последовательный переход с одного языка на другой.


Странный ответ. По мне так MS C 6 — это С-компилятор и переходов в нем небыло никуда.

IT>Дельфи вышла в 1995 в одно время с Windows 95.


Ага. Напомню одну мелоч. Дельфи была 16-бытной средой разработки для 16-битного Windows. А Windows 95 была 32-битной ОС.

IT> Никакого опоздания не было. Ну может на пару дней. Возможно MS опоздал со своими компиляторами, но вот Борланд всё сделал очень чётко и во-время.


Ты серьезно считашь, что средство разработки для ОС вышедшей в 1991 году выпускаемое в 1995-ому (одновременно с ОС следующего поколения) не является опозданием?

Извни, но кроме как предвзятостью я это объяснить не могу.

Они обосрались с Дельфи на долгие 4 года. Все эти 4 года VB был безусловным Фаворитом. Конкуренцию ему составляла мало кому извесная SQL Windows от Gupta. Думаю, ты даже не занашь что это такое.

VD>>и то что Билдер задержался от этого числа на год совершенно не странно.


IT>Билдер задержался ровно на два года. BC++ 5.0, которого уже и не ждали вышел даже позже.


По-моему, билдер был в 1996-ом. Я что-то путаю? Ну, и даже если так, то как по-твоему, 2 года это много на фоне 4 лет отставания дельфи?

IT>TV для С++ появился в 92. В 93-м мы уже вовсю клепали на нём многочисленные приложения. О проблемах я уже писал. Проблема по большому счёту там была одна — визуальный редактор форм. Но к счастью, уже тогда в TV был реализован механизм сериализации и была возможность загружать иерархии объктов, в том числе визуальных, из ресурсов. Вот такой редактор ресурсов и был нами написан и использовался без проблем года до 98-го, когда мы полностью перешли на Windows.


Ну, вот и сравни это с моим опытом. Программы для Виндовс я писал в 1993-ем. И в этом же году я познакомился с С++. И я еще был нехилым пионером в моем окружении.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Что мы потеряли?
От: Cyberax Марс  
Дата: 02.09.06 23:49
Оценка:
VladD2 wrote:
> C>Кстати, в 94 году Watcom был самым оптимизирующим компилятором. На нем
> C>писались почти все игры.
> В 94 была одна инга. Хотя, да... две. Дум и DOOM ][.
Они как раз и были на Watcom'е написаны. Во многих играх при запуске
появлялись слова: "DOS4GW Professional protected mode runtime..." — вот
это как раз признак Watcom'а.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[16]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.09.06 00:17
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Они как раз и были на Watcom'е написаны. Во многих играх при запуске

C>появлялись слова: "DOS4GW Professional protected mode runtime..." — вот
C>это как раз признак Watcom'а.

Да, да. Во многих. В Дум и DOOM ][.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 03.09.06 02:16
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>При чём тут MS? MS вообще на рынке качественных компиляторов засветилась довольно поздно.

VD>Серьезно? А я их C4 и Quick C 1.0 ползовался. И что забавно до сих пор доволен.

Да ну, нафик. Ничего хорошего там не было. Бледненько всё, не серьёзно.

IT>>Остаётся только вспомнить, что как раз в то время Андрюша Хелсберг работал в Борланд и во всю снимал сливки вместе со всеми. Теперь он снимает сливки в другом, не будем показывать пальцем в каком, месте.


VD>Он в то время только пришел. И вообще причем тут он?


А при чём тут вообще сливки?

VD>Ну, ну. МС и начался то с компиляторов. Вот ОС они действительно купили (если ДОС можно ОС-мо назвать).


Это ты про васик что ли?
Блин, Влад, не смеши так.

IT>> Соответственно, можно не объяснять почему так низко в то время пал C++ в Борланд и как он потом резво поднялся в MS.


VD>Да нинадо обяснять то чего не было. Борланд оказался по прозорливее и поставил на темную лошадку. Но кодгда лошадка начала подходить к финишу, Борланд почему-то ретировался.


Потому что манагеры у них были дятлы.

VD>А МС как раз заметив что С++ выходит в фаворты поставило на него. В 1992 они рассматривали С++ как язык для новой ОС (NT) и решили, что это хреновый выбор. По сему NT было написано опять же на С. В обещем разумный консерватизм. Остается задуматься почему же МС вообще не рассматривал Смолток? Сдается мне, что если С++ им поаказался слишком болшим оверхэдом, то Смолток вообще полной задницей.


Я уже говорил, тот Смолток не компилировал exe-шники и был слишком далёк от железа. Академическая игрушка.

IT>> При этом я вовсе не оусждаю MS, я порицаю Борланд. Так крепко держать лидерство разработки компиляторов в своих руках и так бездарно проглядеть мэйстримовый язык и полностью его прощёлкать нужно уметь.


VD>Ничего они не держали. Бабки были у МС, технологии у Зортеча и Ваткома.


Ватком был лысым компилятором. Без ничего вообще. Ни среды, ни библиотек. Я даже не помню был ли у них свой отладчик или они строили код, совместимый с майкросовтовским отладчиком. У них был очень крутой по тем временам оптимизатор и поддержка расширенного режима DOS (кажется только 32-х разрядного), которая значительно уступала по удобству использования поддержки DPMI от Борланда.

Зортеч, когда я его ковырял был примерно таким же, но только без плюсов Ваткома. Может, конечно, Семантик туда чего-то и натолкал, но долго это не прожило всё равно, что говорит само за себя.

VD>В общем-то ты и подтверждаешь мои слова. Лидер был С, Паскаль, ХБэйс... А С++ набирал обороты. Во многом из-за совместимости с С. Ну, так с этим никто не спорит. Я не согласен с тем, что в 1993-ем С++ был фаворитом, а Смолток смотрелся на его фоне серьезным конкурентом.


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

VD>Реалии были другими. С++ набирал популярность на фоне фаворитов (С и Паскаля), а Смолток был уделом посвященных одиночек.


В 93 C++ уже был достаточно популярен и конкурировал с объектным Паскалем. Если этой популярности не было в твоём кругу, то это не значит, что её не было совсем. Была она, Влад, была, как это не горько тебе признавать

IT>>Ты не поверишь, но про Яву до штатов я слышал вскользь всего пару раз.


VD>А у нас (в Москве) в 1996 про нее все компьютерные газеты трубили.


Я в курсе. Трубить трубили, но использовать её никто толком не использовал. Да и зачем? Дельфи в то время рулила не по детски. Кого это не устраивало уже обзавёлся другими инструментами вроде VC++. Тогда одно только упоминание байт кода и интерпретации вызывало у многих рвотный рефлекс.

IT>>На счёт C++ я не могу спорить, потому что это всё равно сведётся к тому, что мы в своей деревне бежали впереди паровоза. Хотя у меня тогда даже подозрений таких не было. Что касается ООП, то это в корне не верно. ООП во всей красе был уже в TP 5.5. А он во всю использовался уже с начала 90-х.


VD>Во всю? Ну, ну. Дай бог чтобы его использовали для компиляции Паскалевских исходников с эксперементальными вкроплениями классов.


Использовали. В этом нет никакого сомнения.

IT>>Эти уши выражались только в том, что в С++ не использовались деструкторы для подчистки объектов.


VD>Незнаю, спорить не буду. Я об этом сужу по чужим словам. Я в то время сам на С написал аналок ТрубоВижона без каких бы то нибыло ушей.


Мы все тогда писали аналоги. Только я свой выкинул на помойку практически сразу, как увидел TV.

IT>> Ни MFC, ни WinForms до сих пор даже на километр не приблизились к чистоте объектной модели TV.


VD>Это уже явное преувеличение.


Вовсе нет. В MFC явно, в WinForms довольно заметно торчат уши WinAPI, в последней вообще полно всяких несуразиц. В TV была чистая объектная модель. Да и писали TV явно люди с более высокой квалификацией, чем писатели того же WinForms. Даже переписанный с Паскаля TV имел очень качественную архитектуру.

IT>>Точно? Ты ничего не путаешь?

VD>Ничего не путаю. Зортэчь был очень продвинутым продуктом.

Я не заметил.

IT>>Как это причём? Ты же сам начал кидаться какашками в Борланд.

VD>Я в него ничем не кидался. Но технологически они были далеко не первыми. Первыми были Зортеч и Ватком.

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

У Ваткома был лучший оптимизатор и он выдавал самый быстрый код. За это его сильно уважали игроделы. Но сам по себе этот компилятор был жутко тормозной, особенно это было заметно на шаблонах. На шаблонах его последняя 11 версия умудрялась компилировать код в 10 раз медленнее чем тот же BC++ и VC++.

Борланд всегда был не просто компилятором, а отличной интегрированной средой с самым продвинутыи на тот день отладчиком. Идеи, использовавшиеся Борландом, были наиболее передовые и драли их все кому не лень. Даже MS выпуская Windows не имел ничего даже близко сравнимого с Борландовскими продуктами под винду. Вспомним хотя бы то факт, что у Борланд был (первая версия скорее всего купленная) редактор ресурсов, который наделал не мало шума и вызвал восторженный писк не у одного периодического издания.

Так что, насчёт технологий ты не прав.

Кстати, Борланд первым стал поставлять исходники run-time библиотеки. За ним потянулись остальные.

IT>>А Борланд лично использовал?

VD>Пытался. Но что-то любовью к их продуктам не пронискя.

Тогда почему такое уверенно отрицательное суждение о компиляторе?

IT>>В 1993 абсолютно все сишники, которых я знал уже писали на плюсах. Некоторые правда соскочили на Паскаль.

VD>Ну, ну. Вот только я наблюдал картину сползнания с Фортрана на С. Видимо мы разных людей видили.

Я наблюдал картину сползания с Фортрана и PL/1 на C и практически без задержик на C++. На C даже ещё не успели в то время написать много кода. Да и интергрировался он с плюсами без проблем.

IT>>Это сейчас их два. А тогда ими были завалены все полки в книждых магазинах. PC World, Доктор Джобс, ComputerWorld, Монитор, Компьютер. Это то, что я могу вспомнить сходу.


VD>ComputerWorld левой газетов с новостями был, ею и осталься. PC World тоже.


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

VD>Доктор Джобс на русском тогда не выходил.


Разве? Я его точно покупал. Может и правда чуть позже.

VD>Про Монитор, я слышал. Но в живую не видел. А что такое Компьютер я и сейчас не знаю. Тера появилась сильно позже. PC Mag на расском тоже. Компресс помню. И это все.


Я как раз в то время регулярно ездил в командировки в Звёздный Городок. Каждая моя поездка заканчивалась набегом на книжные магазины и скупкой всей компьютерной периодики. Штуки 4 разных журналов точно было. Правда они почему-то иногда отмирали, но тут же появлялись новые.

IT>>Дельфи вышла в 1995 в одно время с Windows 95.

VD>Ага. Напомню одну мелоч. Дельфи была 16-бытной средой разработки для 16-битного Windows. А Windows 95 была 32-битной ОС.

Дельфи 2 была уже 32-х битной. А это было начало 1996-го, т.е. никакого 4-х летнего отсавания не было и в помине. К тому же этот год ушёл на превыкание разработчиков к новой операционке.

Кстати, пятая студия была выпущена в 1997 году. До этого на 4.2 без слёз смотреть было нельзя. Так что кто от кого отставал это ещё большой вопрос.

IT>> Никакого опоздания не было. Ну может на пару дней. Возможно MS опоздал со своими компиляторами, но вот Борланд всё сделал очень чётко и во-время.

VD>Ты серьезно считашь, что средство разработки для ОС вышедшей в 1991 году выпускаемое в 1995-ому (одновременно с ОС следующего поколения) не является опозданием?

Ты про NT? До четвёртой версии я её в глаза не видел. До 3.5, насколько ине известно, на ней вообще кроме 32-х разрядных приложений ничего не работало и в качестве рабочих станций NT не использовалась. То, что Борланд не писал под NT компиляторы не имело для большинства никакого значения.

VD>Извни, но кроме как предвзятостью я это объяснить не могу.


Предвзятось скорее у тебя. Не понравился тебе Борланд в своё время, причём скорее всего Дельфи, ты обобщил свой опыт на всю линейку продуктов.
Да и откуда у меня сейчас взяться предвзятости? Я отказался в своё время от Борланда по причине того, что они просто бессовестно кинули С++ комьюнити, и перешёл на VC++. У меня к Борланду нет ни симпатии, ни привязанности, ни предвзятости. Но компилятор и среду разработки в своё время они делали превосходные. Их продукты были лучшими, наиболее продвинутыми и полными в своём классе. За этои им мой респект. Потом они сдулись и упустили переход разработчиков на Win32. За это им моё фу.

VD>Они обосрались с Дельфи на долгие 4 года.


Ты опять про NT? Так тогда она нафиг не кому была не нужна.

VD>Все эти 4 года VB был безусловным Фаворитом. Конкуренцию ему составляла мало кому извесная SQL Windows от Gupta. Думаю, ты даже не занашь что это такое.


В конкурентах у Дельфи был PowerBuilder. VB практически нигде не использовался. Да и нормальная его версия появилась только вместе с пятой студией. Вот после этого VB действительно пошёл. Но вместе с ним пошёл и VC++. При всём при этом Дельфистов было на порядок больше. Причина — до 95-го года Борланд практически безраздельно доминировал на российском рынке. Больше всего было паскалистов, меньше сишников.

VD>По-моему, билдер был в 1996-ом. Я что-то путаю? Ну, и даже если так, то как по-твоему, 2 года это много на фоне 4 лет отставания дельфи?


Отставания от чего? Не было никакого отставания. До Дельфи были TP и BC++, которые удовлетворяли всем необходимым требованиям.

VD>Ну, вот и сравни это с моим опытом. Программы для Виндовс я писал в 1993-ем. И в этом же году я познакомился с С++. И я еще был нехилым пионером в моем окружении.


Это проблемы твоего окружения. Моё окружение к этому времени уже давно писало на плюсах.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[15]: Что мы потеряли?
От: Cyberax Марс  
Дата: 03.09.06 09:42
Оценка:
IT wrote:
> VD>Ничего они не держали. Бабки были у МС, технологии у Зортеча и Ваткома.
> Ватком был лысым компилятором. Без ничего вообще. Ни среды, ни
> библиотек. Я даже не помню был ли у них свой отладчик или они строили
> код, совместимый с майкросовтовским отладчиком.
Отладчик был, вполне нормальный.

> У них был очень крутой

> по тем временам оптимизатор и поддержка расширенного режима DOS (кажется
> только 32-х разрядного), которая значительно уступала по удобству
> использования поддержки DPMI от Борланда.
DPMI как раз у Watcom'а было вне конкуренции — DOS4GW рулил однозначно.
А еще можно было использовать PharLap и получить поддержку paging'а.

Причем в Watcom'е была поддержка не только 32-разрядного расширенного
режима, а еще и поддержка полных 48-битных указателей. Так что можно
было при желании писать свой extender.

> У Ваткома был лучший оптимизатор и он выдавал самый быстрый код. За это

> его сильно уважали игроделы. Но сам по себе этот компилятор был жутко
> тормозной, особенно это было заметно на шаблонах. На шаблонах его
> последняя 11 версия умудрялась компилировать код в 10 раз медленнее чем
> тот же BC++ и VC++.
Ага, я старался писать так, чтобы в файлах не включался windows.h — это
тормозило компиляцию в несколько раз.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[17]: Что мы потеряли?
От: Cyberax Марс  
Дата: 03.09.06 11:39
Оценка:
VladD2 wrote:
> C>Они как раз и были на Watcom'е написаны. Во многих играх при запуске
> C>появлялись слова: "DOS4GW Professional protected mode runtime..." — вот
> C>это как раз признак Watcom'а.
> Да, да. Во многих. В Дум и DOOM ][.
Еще Transport Tycoon, Quake, Duke Nukem, Rise of Triad и еще куче игр.
Часть уже потом появилась.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[18]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.09.06 16:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Еще Transport Tycoon, Quake, Duke Nukem, Rise of Triad и еще куче игр.

C>Часть уже потом появилась.

И все это в 1993-1994. Ну, ты крут.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Что мы потеряли?
От: Cyberax Марс  
Дата: 03.09.06 16:10
Оценка:
VladD2 wrote:
> C>Еще Transport Tycoon, Quake, Duke Nukem, Rise of Triad и еще куче игр.
> C>Часть уже потом появилась.
> И все это в 1993-1994. Ну, ты крут.
TT — как раз в начале 1994 года, ROTT — конец 94 года. Вот с DN напутал.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[16]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 03.09.06 16:47
Оценка:
Здравствуйте, Cyberax, Вы писали:

>> У них был очень крутой

>> по тем временам оптимизатор и поддержка расширенного режима DOS (кажется
>> только 32-х разрядного), которая значительно уступала по удобству
>> использования поддержки DPMI от Борланда.
C>DPMI как раз у Watcom'а было вне конкуренции — DOS4GW рулил однозначно.

Он рулил только если тебе не надо было общаться с опереционкой сложнее чем через вызов прерывания и передачи параметров через пару регистров. Вещь в себе.

C>А еще можно было использовать PharLap и получить поддержку paging'а.


Зачем?

C>Причем в Watcom'е была поддержка не только 32-разрядного расширенного

C>режима, а еще и поддержка полных 48-битных указателей. Так что можно
C>было при желании писать свой extender.

В том то и проблема. Как оказалось нормальным совместимым с DOS режимом был только DPMI16. В DPMI32 уже полноценно работала защита первого мегабайта памяти и передавать блоки памяти резидентным программам оказалось невозможным. А так, например, надо было работать с Btrieve.

Кстати, DOS4GW поддерживал dll?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[17]: Что мы потеряли?
От: Cyberax Марс  
Дата: 03.09.06 18:00
Оценка:
IT wrote:
>> > по тем временам оптимизатор и поддержка расширенного режима DOS (кажется
>> > только 32-х разрядного), которая значительно уступала по удобству
>> > использования поддержки DPMI от Борланда.
> C>DPMI как раз у Watcom'а было вне конкуренции — DOS4GW рулил однозначно.
> Он рулил только если тебе не надо было общаться с опереционкой сложнее
> чем через вызов прерывания и передачи параметров через пару регистров.
> Вещь в себе.
Это как раз Борландовский DPMI был неюзабельной вещью — у меня на машине
с 16Мб памяти даже не мог распределить пару мегабайт памяти.

А заклинение "set DPMIMEM=MAXMEM 16384" я вообще до сих пор помню

> C>А еще можно было использовать PharLap и получить поддержку paging'а.

> Зачем?
Я делал тогда программу моделирования движения атомов в кристаллической
решетке. Было удобно распределить массивчик так мегабайт на 20 и
работать в нем (тогда 16 мегабайт считалось достаточным объемом).

> C>Причем в Watcom'е была поддержка не только 32-разрядного расширенного

> C>режима, а еще и поддержка полных 48-битных указателей. Так что можно
> C>было при желании писать свой extender.
> В том то и проблема. Как оказалось нормальным совместимым с DOS режимом
> был только DPMI16. В DPMI32 уже полноценно работала защита первого
> мегабайта памяти и передавать блоки памяти резидентным программам
> оказалось невозможным. А так, например, надо было работать с Btrieve.
Точно помню, что специально для этого был специальный гейт и возможность
распределять память в нижней области. DOS4G по умолчанию занимал всего
несколько килобайт из нижней памяти, так что почти все DOSовое без
проблем работало. Вот прерывания торррррмозилли так как постоянно
переключались контексты.

> Кстати, DOS4GW поддерживал dll?

Да, я некоторое время развлекался с ними.

Эххх.... Были времена....
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[18]: Что мы потеряли?
От: IT Россия linq2db.com
Дата: 03.09.06 19:51
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Это как раз Борландовский DPMI был неюзабельной вещью — у меня на машине

C>с 16Мб памяти даже не мог распределить пару мегабайт памяти.

У меня борландовский DPMI летал как трофейный мессершмидт без всяких заклинанай.

C>А заклинение "set DPMIMEM=MAXMEM 16384" я вообще до сих пор помню


Не припомню.

>> C>А еще можно было использовать PharLap и получить поддержку paging'а.

>> Зачем?
C>Я делал тогда программу моделирования движения атомов в кристаллической
C>решетке. Было удобно распределить массивчик так мегабайт на 20 и
C>работать в нем (тогда 16 мегабайт считалось достаточным объемом).

Ужас

C>Эххх.... Были времена....


Да ну, брось. Сейчас такие же. Не хуже и не лучше. Ещё через 10 лет будешь вспоминать как боролся с боксингом или ещё какой к тому времени забытой хренью и будешь точно так же ронять скупую программистскую слезу
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[19]: Что мы потеряли?
От: Cyberax Марс  
Дата: 03.09.06 20:00
Оценка:
IT wrote:
> C>Это как раз Борландовский DPMI был неюзабельной вещью — у меня на машине
> C>с 16Мб памяти даже не мог распределить пару мегабайт памяти.
> У меня борландовский DPMI летал как трофейный мессершмидт без всяких
> заклинанай.
Может быть. Скорее всего у меня тогда руки неправильно росли.

> C>Эххх.... Были времена....

> Да ну, брось. Сейчас такие же. Не хуже и не лучше. Ещё через 10 лет
> будешь вспоминать как боролся с боксингом или ещё какой к тому времени
> забытой хренью и будешь точно так же ронять скупую программистскую слезу
Раньше трава была зеленее, а программы быстрее
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[20]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.09.06 00:45
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>VladD2 wrote:

>> C>Еще Transport Tycoon, Quake, Duke Nukem, Rise of Triad и еще куче игр.
>> C>Часть уже потом появилась.
>> И все это в 1993-1994. Ну, ты крут.
C>TT — как раз в начале 1994 года, ROTT — конец 94 года. Вот с DN напутал.

Кто такие TT и ROTT знаешь один ты. А вот Квак и Дюк были значительно позже. Так что единственная популярная игра и была Дум. В 1994-ом в нашей стане его еле тянули компьютеры вше среднего. И написан он был на С.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 00:56
Оценка: +2
Здравствуйте, konsoletyper, Вы писали:

ie>>Я все понял! Лисп — это xml без синтаксического оверхеда!

K>Сам Лисп не знаю, но если судить по тому, что здесь говорят, то Лисп — это язык, где вручную описывается AST

AST — частный случай применения списочных структур.
<< Под музыку: Enigma — Mea Culpa (fading shades) >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 00:56
Оценка:
Здравствуйте, IT, Вы писали:

IT>Это ещё и хороший способ самовнушения из серии я не понят, потому что им не дано


Иногда это именно так и обстоит. Но только иногда.
<< Под музыку: Enigma — Mea Culpa (fading shades) >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 01:08
Оценка: 1 (1) +1
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Однако я старался сделать акцент на том, что менять реализацию на лету — это неинтересно, гораздо интереснее менять часть интерфейсов на лету. Пока никто не возразил насчёт того, что интерфейсы менять — (почти) невозможно.


Это невозможно в общем случае. Если пользователь ожидает определённое имя метода (частный случай — смещение в VMT), то для замены интерфейса нужно переделать пользователя. Динамическая загрузка позволяет в некоторой степени избавиться от соблюдения требований к "смещению в VMT", но только за счёт дополнительной схемы поиска адреса метода в VMT. Но если пользователь рассчитывает на имя "Open", то ему бесполезно подсовывать имя "Open_please". Если уж хочется подменять и имя метода, то придётся вводить дополнительное звено косвенности, типа такого:

1) Загрузить имя метода, который будет вызываться;
2) Найти смещение этого метода;
3) Связаться с адресом метода.

Соответственно, когда появится такая схема, тотчас горячие головы захотят организовать подмены на шаге 1) и появится ищё один уровень косвенности:

0) Найти то хранилище, откуда будет загружено имя метода.

И так далее до бесконечности. А ещё ежели захочется вместо одного метода вызывать два...

Вот до чего может довести пренебрежительное отношение к LSP.
<< Под музыку: Enigma — Mea Culpa (fading shades) >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 01:13
Оценка: :)
Здравствуйте, Трурль, Вы писали:

Т>Нет, правильно — eXtremally Munged Lisp.


eXtremally Muddled Lisp
<< Под музыку: Cruachan — Bloody Sunday >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 01:25
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

>> Да ну, брось. Сейчас такие же. Не хуже и не лучше. Ещё через 10 лет

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

А ещё:

Блоки питания — тяжелее;
Вентиляторы — шумнее;
Модули памяти — толще;
Флоппики — диаметристее и флопичнее.

Короче, куда ни кинь: "берёшь в руки, маешь — вещь".

<< Под музыку: Cruachan — Ossian's Return >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 02:20
Оценка: +1
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Чуть усложнили язык — и привет. Такие вещи как статическая типизация и инкапсуляция являясь преимуществами с одной стороны оборачиваются большими препятствиями со стороны hot upgrade. (Например, я обновил интерфейс класса, как мне теперь обновить все объекты этого класса? Все ссылки на эти объекты? Если я заменил класс двумя классами? Если сделал рефакторинг?) Кстати, наиболее продвинутая в этом вопросе Ява также ещё далека от совершенства (я о HotSwap).


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

LCR>Вот что понимают под горячей заменой кода другие люди :

LCR>1. Переход от старого к новому коду и обратно так же эффективен для выполняемого кода, как и отсутствие перехода. (Это совсем не то, что например "горячая замена" JSP-формы, что вызывает генерацию и перекомпиляцию соответствующего сервлета и является по сути маленькой кнопочкой "reset").
LCR>2. Контроль за гранулярностью загрузки.
LCR>3. Контроль над процессом загрузки (в т.ч. и откат).
LCR>4. Слабые условия на новый код, произвольный старый код.
LCR>5. Замена (то есть загрузка кода и передача управления) выполняется автоматически средой.

Если реализовать контроль за вызовами функций, то горячую замену компонентов можно сделать даже на C. Перезагрузка самого бинарного кода — это совсем не большая проблема. Куда как труднее в общем случае развязать взаимные зависимости состояний пользователей и самих используемых компонентов. Поэтому, кстати, рассуждения относительно преимуществ stateless-модели часто соседствуют с обсуждением горячей замены.

LCR>Между прочим, такая горячая замена у компилируемых языков есть только у динамически типизированных (Erlang, Lisp, Smalltalk). А REPL вообще только для двух последних. Совпадение?


Если язык предусматривает динамическое связывание, то задача немного упрощается, только и всего.
<< Под музыку: a-Ha — Crying in the rain >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 02:39
Оценка:
Здравствуйте, eao197, Вы писали:

LCR>>Read-Eval-Print Loop.

LCR>>http://en.wikipedia.org/wiki/Read-eval-print_loop
E>Т.е. приведенный мной здесь
Автор: eao197
Дата: 04.10.05
пример на Ruby является примером REPL (в конце сообщения)?


Твой пример, кстати, иллюстрирует одну особенность REPL. Заменяется неактивный в данный момент объект. Обрати внимание на последовательность выделенных слов:

Вначале вызываем метод hello у объекта t класса Test. Получаем то, что и было сразу реализовано в классе Test.
Затем через eval расширяем класс (Стоп! В этот момент в нашем контексте нет активного обращения к t — Г.В.) Test и добавляем метод bye. Вызваем его у уже существующего объекта t. Получаем ожидаемый результат -- вызов нового метода.


То есть типизация осталась на своём месте, чудес не бывает. Произошла перетрансляция (или пересвязывание, хоть груздём назови) кода типа Test. Здесь, кстати, сильно поможет GC, который по мере удаления ссылок на бинарный код типа в конце концов его прихлопнет.
<< Под музыку: a-Ha — The swing of things >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 03:15
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Ведь в чем слабость Лисп-коммюнити? В непереносимости программ м/у различными Лисп-средами. Майнстримовыми стали те языки, в которых код более-менее переносим хотя бы на уровне исходников.


Скажу честно. Мне было бы страшно пользоваться программами, если бы Lisp стал мэйнстримовым языком.
<< Под музыку: a-Ha — Hunting high and low >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 03:29
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Иногда это именно так и обстоит. Но только иногда.


Элиты очень мало — по определению. Поэтому не "иногда", а "в большинстве случаев"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[12]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 03:34
Оценка: +3
Здравствуйте, VladD2, Вы писали:

VD>В общем — да, если говорить об IT-области знаний. Я не архивариус, но и не полный ньюби. Так что если о чем-то не слышал, то с огромной долей вероятности это не очень извесная вещь.


Фиг его знает. Значит, свой диплом в 93-м я писал под влиянием очень малоизвестного Smalltalk, о котором было, правда, было написано в книжке где-то 91-го года издания, что и сподвигло меня на поиски. А русскую документацию на BC++ 2.0 в 92-м распечатывал во сне. Место действия — Севастополь. Кстати, вот этот вот словарь
Автор: Геннадий Васильев
Дата: 29.11.05
появился как раз в то же время, в 92-93 (обрати внимание на упоминание C++).

В том же 93-м мне предложили работу как раз на C++. Контора работала на германцев, кажись. Так что, я бы не стал утверждать, что C++ не был известен или был уделом единиц. Паскалем же нередко пользовались в силу того, что он значимо быстрее компилировался на распространённых тогда машинах (286/1M/5.25+3.5/типичный объём винта не помню). Хотя и 386-е уже были в достаточном количестве, чтобы эта проблема не была большой.
<< Под музыку: Кельтская гитара — Туман окутал родные горы >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[6]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 03:37
Оценка:
Здравствуйте, Дарней, Вы писали:

ГВ>>Иногда это именно так и обстоит. Но только иногда.

Д>Элиты очень мало — по определению. Поэтому не "иногда", а "в большинстве случаев"

На том и остановимся: в большинстве случаев это самовнушение (что "им не дано понять"), а в некоторых редких "им" действительно не дано понять.
<< Под музыку: Кельтская гитара — Туман окутал родные горы >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[21]: Что мы потеряли?
От: Mikhail Polykovsky Россия http://glader.ru
Дата: 04.09.06 03:40
Оценка: 1 (1) +7
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Cyberax, Вы писали:


C>>VladD2 wrote:

>>> C>Еще Transport Tycoon, Quake, Duke Nukem, Rise of Triad и еще куче игр.
>>> C>Часть уже потом появилась.
>>> И все это в 1993-1994. Ну, ты крут.
C>>TT — как раз в начале 1994 года, ROTT — конец 94 года. Вот с DN напутал.

VD>Кто такие TT и ROTT знаешь один ты.


Это ложное высказывание
Re[7]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 04:20
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

опять игрой в слова развлекаешься
самовнушение — это отнесение себя любимого к "элите" на основании знания каких-то технологий или языков, экзотических или не очень.
На самом же деле, элита — это те, кто умеет создавать новое. Или решать старые задачи, но новыми (лучшими) способами. Неважно, какими инструментами. Их можно подобрать или придумать свой.
"Все мы слишком много знаем и слишком мало умеем" (С) Ремарк
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[9]: Что мы потеряли?
От: FR  
Дата: 04.09.06 04:49
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Твой пример, кстати, иллюстрирует одну особенность REPL. Заменяется неактивный в данный момент объект. Обрати внимание на последовательность выделенных слов:


>>> class Test:
...  def run(self):
...     Test.test = lambda self : "test"
...
>>> tst = Test()
>>> tst.run()
>>> tst.test()
'test'
>>>
Re[10]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 05:36
Оценка:
Здравствуйте, FR, Вы писали:

>>>> tst = Test()

1-й вызов, он устанавливает значение слота test (я не знаю, как это точно называется в Ruby)
>>>> tst.run()
2-й вызов, обращение к слоту test.
>>>> tst.test()

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

Т.е., новый код подключится в момент очередного вызова изменившегося метода. Ну а иначе как стеки раскручивать-то?
<< Под музыку: Blackmoore's Night — Greensleeves >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 05:36
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>самовнушение — это отнесение себя любимого к "элите" на основании знания каких-то технологий или языков, экзотических или не очень.

Д>На самом же деле, элита — это те, кто умеет создавать новое. Или решать старые задачи, но новыми (лучшими) способами. Неважно, какими инструментами. Их можно подобрать или придумать свой.

Речь была не об основаниях, которые позволяют отнести себя к элите, а об её, элиты, взаимоотношениях с окружающими и сопутствующих тараканах.
<< Под музыку: Blackmoore's Night — Greensleeves >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[21]: Что мы потеряли?
От: night beast СССР  
Дата: 04.09.06 06:12
Оценка: +3
Здравствуйте, VladD2, Вы писали:

>>> C>Еще Transport Tycoon, Quake, Duke Nukem, Rise of Triad и еще куче игр.

>>> C>Часть уже потом появилась.
>>> И все это в 1993-1994. Ну, ты крут.
C>>TT — как раз в начале 1994 года, ROTT — конец 94 года. Вот с DN напутал.

VD>Кто такие TT и ROTT знаешь один ты. А вот Квак и Дюк были значительно позже. Так что единственная популярная игра и была Дум.


А такие названия как UFO, Mortal Kombat 2, Warcraft вам что-нибудь говорят?
Для ознакомления
Re[11]: Что мы потеряли?
От: FR  
Дата: 04.09.06 06:40
Оценка: 20 (1) +1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, FR, Вы писали:


>>>>> tst = Test()

ГВ>1-й вызов, он устанавливает значение слота test (я не знаю, как это точно называется в Ruby)
>>>>> tst.run()
ГВ>2-й вызов, обращение к слоту test.
>>>>> tst.test()

ГВ>Пожалуй, я не совсем удачно выразился. В момент замены метода у нас нет активного обращения именно к этому методу (сам объект, в общем, никуда не делся). Подмена производится не изнутри самого метода test(). Я вполне допускаю, что такое возможно, хотя тогда, по идее, уже запущенный метод test должен был бы отработать без изменений.


Возможно, и именно так и работает:
>>> class Test:
...     def test(self):
...             Test.test = lambda self : "test"
...
>>> tst = Test()
>>> tst.test()
>>> tst.test()
'test'
>>>


ГВ>Т.е., новый код подключится в момент очередного вызова изменившегося метода. Ну а иначе как стеки раскручивать-то?


Он подключится в момент присваивания, но старый метод (активный) не выгрузится пока из него не вернется управление, при этом если в этом старом есть рекурсия то будет вызыватся уже новый метод.
Re[9]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 06:56
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


Для начала надо определиться, кто к этой группе относится. А потом уже думать об их взаимоотношениях
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: Что мы потеряли?
От: LaptevVV Россия  
Дата: 04.09.06 07:14
Оценка:
Здравствуйте, eao197, Вы писали:

M>>Возвращаясь к отправной точке — какие возможности мы потеряли, перейдя с Lisp/Smalltalk на всякие VB/Delphi/C++? а потом на всякие Java/C# и т.д., и какие возможности теперь заново изобретают (в худших формах) в этих новых "язвках"?


E>Элитарность.


E>Попробую объяснить свою мысль, но сильно не пинайте, если получится не складно. Имхо, для достижения успеха в чем-то нужно приложить усилия + нужно иметь способности. Как говорится, гений -- это 10% таланта + 90% труда. Но сейчас важно сосредоточится именно на способностях. Точнее даже на складе ума. Для разных областей деятельности нужны разные способности. Именно поэтому кто-то становится врачем, кто-то математиком, кто-то программистом. Здесь нельзя сравнивать уровень интеллекта (умность). Врач может быть по жизни более умным, чем программист, но, тем не менее, абсолютно не понимать, как можно запрограммировать рисование окружности на экране. Он просто думает по другому, у него нет способностей к этому.


Позволю себе не согласиться...
Козьма Прутков выразил абсолютно точно в плодах раздумья 66
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.

Дело не в способностях... Способности как раз практически одинаковые... Те самые — интеллектуальные... Но вот обучение в детстве, очевидно, происходило по-разному... Поэтому и СТИЛЬ МЫШЛЕНИЯ — разный...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Что мы потеряли?
От: LaptevVV Россия  
Дата: 04.09.06 07:21
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

M>>В чем же отличие.. ах да.. "*" и "+" намного сложнее воспринимаются чем multiply и add. Но я думаю к этому можно привыкнуть

M>>Равно как и к замене <> на ()

LCR>Твои мысли удивительным образом пересекаются с


LCR>The Nature of Lisp


Класс!!!!!! Называется "Как современному кодировщику объяснить, что такое Лисп?"
Великолепно!!!!!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Что мы потеряли?
От: _rasta  
Дата: 04.09.06 07:36
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

M>>В чем же отличие.. ах да.. "*" и "+" намного сложнее воспринимаются чем multiply и add. Но я думаю к этому можно привыкнуть

M>>Равно как и к замене <> на ()
LCR>Твои мысли удивительным образом пересекаются с
LCR>The Nature of Lisp

говорили мне что это все очередной баян... придумали баян и радуются, а я не верил...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 08:13
Оценка: 20 (1)
Здравствуйте, Геннадий Васильев

ГВ>Твой пример, кстати, иллюстрирует одну особенность REPL. Заменяется неактивный в данный момент объект. Обрати внимание на последовательность выделенных слов:


ГВ>

ГВ>Вначале вызываем метод hello у объекта t класса Test. Получаем то, что и было сразу реализовано в классе Test.
ГВ>Затем через eval расширяем класс (Стоп! В этот момент в нашем контексте нет активного обращения к t — Г.В.) Test и добавляем метод bye. Вызваем его у уже существующего объекта t. Получаем ожидаемый результат -- вызов нового метода.


Гена, ты не прав
Вот простейший пример модификации методом самого себя (из работающего проекта):
module So_4
    class LibraryMode
        include Singleton

        ...

        def static?
            static_mark_exists = File.exists?( '.so4.static' )
            MxxRu.show_brief( "detecting SObjectizer-4 library mode: " +
                    "#{static_mark_exists ? 'STATIC' : 'SHARED'}" )
            if static_mark_exists 
                Oess_1::LibraryMode.instance.force_static
            else
                Oess_1::LibraryMode.instance.force_shared
            end

            self.class.class_eval %Q{ def static?; #{static_mark_exists}; end }
            static_mark_exists
        end

        ...
    end
end

Метод static? должен отрабатывать только один раз -- когда его вызывают впервые. Он должен сделать свои действия, вычислить булевское значение, а затем возвращать его при последующих вызовах. В первый раз он делает именно это. А затем заменяет свое собственное тело для того, чтобы при последущих вызовах вообще ничего не делать.
Без модификации собственного кода потребовалось бы метод оформлять следующим образом:
def static?
  return @static_mark_exists if nil != @static_mark_exists
  ...bla-bla-bla...
  @static_mark_exists = ...bla-bla...
  @static_mark_exists
end

или в более традиционной записи:
def static?
  if nil == @static_mark_exists
    ...bla-bla-bla...
    @static_mark_exists = ...bla-bla...
  end
  @static_mark_exists
end


А вот модификация приводившегося мной ранее примера. Только теперь объект t задействован на отдельной нити, которая в бесконечном цикле дергает его метод long_play:
require 'thread'

class Test
    def initialize
        @restart = false
    end

    def hello
        puts "Test#hello"
    end

    def restart
        @restart = true
    end

    def long_play
        puts "Entering long play"
        puts "calling hello..."
        hello

        until @restart
            sleep 0.1
        end
        @restart = false
        puts "Leaving long play"
    end
end

REQUIRE_REGEX = /require [\'\"]([^\'\"]+)[\'\"]/
CALL_METHOD_REGEX = /call ([[:alnum:]]+)/
EVAL_REGEX = /eval (.+)/
RESTART_LONG_PLAY_REGEX = /restart/

def exception_guard
    begin
        yield
    rescue StandardError => x
        puts x
    end
end

t = Test.new

Thread.new do
    while true
        t.long_play
    end
end

print "=>"
while line = gets.chop
    if "quit" == line
        break
    elsif line =~ REQUIRE_REGEX
        exception_guard do
            require REQUIRE_REGEX.match( line )[ 1 ]
        end
    elsif line =~ CALL_METHOD_REGEX
        exception_guard do
            m = t.method( CALL_METHOD_REGEX.match( line )[ 1 ] )
            m.call
        end
    elsif line =~ EVAL_REGEX
        exception_guard do 
            eval EVAL_REGEX.match( line )[ 1 ]
        end
    elsif line =~ RESTART_LONG_PLAY_REGEX
        t.restart
    end

    print "=>"
end


А вот результат работы (жирным я выделил наиболее важные моменты):
Entering long play
calling hello...
Test#hello
=>eval t.restart
=>Leaving long play
Entering long play
calling hello...
Test#hello                # <= здесь отработал старый вариант t.hello
require 'test_modification'      # <= обновление Test#hello
=>restart
=>Leaving long play
Entering long play
calling hello...
updated Test#hello
Test#hello                   # <= отработал новый вариант t.hello
require 'test_modification_long_play'  # <= теперь заменяем сам Test#long_play
=>restart
=>Leaving long play                    # <= это конец старого метода.
*** This is new long_play  method! *** # <= а вот это уже новый метод.
restart
=>*** Bye! ***
*** This is new long_play  method! ***
eval class Test; def long_play; until @restart; sleep 0.1; end; @restart = false; end; end
=>restart
=>*** Bye! ***                         # <= после очередной замены доработал старый метод
restart                                # <= а вот новый метод ничего не делает.


Содержимое файла test_modification.rb:
module Sample
    def something; puts "Sample#something"; end
end

class Test
    alias :old_hello :hello
    def hello
        puts "updated Test#hello"
        old_hello
    end

    include Sample
end


Содержимое файла test_modification_long_play.rb
class Test
    def long_play
        puts "*** This is new long_play  method! ***"
        until @restart
            sleep 0.1
        end
        @restart = false

        puts "*** Bye! ***"
    end
end


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 09:50
Оценка: 27 (2) +2
Здравствуйте, LaptevVV, Вы писали:

LVV>Позволю себе не согласиться...


Да это сколько угодно
Я ведь свое впечатление высказал, не претендуя на истину в последней инстанции.

LVV>Дело не в способностях... Способности как раз практически одинаковые... Те самые — интеллектуальные... Но вот обучение в детстве, очевидно, происходило по-разному... Поэтому и СТИЛЬ МЫШЛЕНИЯ — разный...


Очень может быть. Да вот только меня 10-ть лет в школе учили русскому языку, а научить писать правильно так и не смогли (хотя иногда брались за меня в усиленном порядке). А вот C++-у никто не учил, а получается

Ну да не в этом суть. Не важно по каким причинам, но в каждой из областей есть выдающиеся личности. В программировании это, например, Дейкстра, МакКарти, Флойд, Вирт, Кей, Томпсон, Ричи, Страуструп, Гослинг, Джой, Столман, Уолл, ван Россум, Мацумото, Хальсенберг, Торвальдс, ... Имхо, иначе как элитой программистов их не назовешь. Лего считать "мы все в г..., а есть элита, которая вся в белом" старой банальностью, но лично моей фамилии в данном списке нет и не будет. Даже если я и не понят современниками

А что элитарности, то опять же, личные впечатления. Когда я учился в начале 90-x, то у профессии был некий ореол элитарности: "Ты на кого учишся?" -- "На программиста" -- "О, а это что, что-то по компьютерам?"
Даже в нашей среде термины "исскуственный интеллект", "экспертные системы", "распознавание образов" выглядели как "заумные" и люди, знавшие Lisp или Prolog вызывали уважение (хотя бы потому, что книг и документации по этим вещам не было, приходилось людям как-то выкручиваться и выискивать). И, что интересно, экспертные системы и системы распознавания образов (на Prolog-е с использованием Pascal и C++) в те времена писались и даже внедрялись (например, в некоторые наши больницы и институт радиоционной медицины), т.е. были реально восстребованы. Поэтому у нас, у студентов, был некий пиетет перед "матерыми программистами", поскольку мы с ними сталкивались (вели они у нас спец-курсы) и знали их профессиональный уровень.

Сейчас же практически все знают, что такое "программист". Компьютеры не диковенка. Экспертные системы сейчас кому-нибудь вообще нужны? (Здесь об этом Геннадий Васильев, кажется упоминал). Участь многих выпускников сейчас -- попасть в крупную оффшорную шарагу на сопровождение какой-нибудь корпоративной информационной системы, где придется Web-формочки править или SQL-запросы профилировать. Какая уж тут элитарность? Обычная работа, как раньше инженер у кульмана.

ИМХО, естественно.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[12]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 10:25
Оценка:
Здравствуйте, FR, Вы писали:

[...]

FR>Возможно, и именно так и работает:


[...]

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


Да, я именно это и имел ввиду.
<< Под музыку: Blackmoore's Night — Greensleeves >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 11:13
Оценка:
Здравствуйте, eao197, Вы писали:

E>Гена, ты не прав

E>Вот простейший пример модификации методом самого себя (из работающего проекта):

Да, согласен и свою неточность уже признал.

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

Понимаешь, изменить ссылку на метод можно без особых проблем. Даже в C++. Сложно обеспечить непротиворечивость системы в переходный момент, если, скажем, перезагружается модуль с некотОрым количеством разных методов внутри. В идеале в это время управление не должно находиться в теле замещаемых методов. Вот это-то как раз самое трудное в горячей замене. Особенно, если модифицируемая система — не stateless.
<< Под музыку: Blackmoore's Night — Play, Minstrel, play >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 11:57
Оценка: 1 (1) +1
Здравствуйте, Дарней, Вы писали:

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


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


Так eao197 вполне ясно определил
Автор: eao197
Дата: 24.08.06
:

Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту.


Вполне возможно, что их кто-то не понимает. Хотя бывают многочисленные вариации на эту тему.
<< Под музыку: Blackmoore's Night — Magical World >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 12:25
Оценка: +1 :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>

ГВ>Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту.


Ну так я еще раз тебе скажу, что это определение крайне далеко от действительности. Программирование — это работа человека, который создает, а не что-то там "понимает"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[12]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 12:28
Оценка: +2 :)
Здравствуйте, Дарней, Вы писали:

ГВ>>

ГВ>>Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту.


Д>Ну так я еще раз тебе скажу, что это определение крайне далеко от действительности. Программирование — это работа человека, который создает, а не что-то там "понимает"




А он хоть понимает, что создает? Или хотя бы осознает, что он делает?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[12]: Что мы потеряли?
От: Курилка Россия http://kirya.narod.ru/
Дата: 04.09.06 12:31
Оценка: +3 -1 :))) :))
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>>

ГВ>>Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту.


Д>Ну так я еще раз тебе скажу, что это определение крайне далеко от действительности. Программирование — это работа человека, который создает, а не что-то там "понимает"


Конечно, у него же есть чёткая инструкция, по которой он всё создаёт, а думать и тем более понимать — ну нафиг не надо
Re[13]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 12:44
Оценка: -1
Здравствуйте, eao197, Вы писали:

E>А он хоть понимает, что создает? Или хотя бы осознает, что он делает?


понимание — это условие необходимое, но не достаточное
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[12]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 13:24
Оценка: +1
Здравствуйте, Дарней, Вы писали:

ГВ>>

ГВ>>Так вот, люди, которые понимают сложные вещи в своей предметной области и составляют элиту.


Д>Ну так я еще раз тебе скажу, что это определение крайне далеко от действительности. Программирование — это работа человека, который создает, а не что-то там "понимает"


Понимание прокладывает дорогу действиям. Как бы, никто и не сомневается, что создавать — необходимо. Беспокоят обычно другие вопросы: зачем, что и как. А ключ к ответу на них — понимание.
<< Под музыку: Blackmoore's Night — Magical World >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 13:24
Оценка:
Здравствуйте, Дарней, Вы писали:

E>>А он хоть понимает, что создает? Или хотя бы осознает, что он делает?

Д>понимание — это условие необходимое, но не достаточное

Угу. Ещё есть хотение. По-научному — мотивация.
<< Под музыку: Blackmoore's Night — Magical World >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 13:28
Оценка:
Здравствуйте, Курилка, Вы писали:

Д>>Ну так я еще раз тебе скажу, что это определение крайне далеко от действительности. Программирование — это работа человека, который создает, а не что-то там "понимает"


К>Конечно, у него же есть чёткая инструкция, по которой он всё создаёт, а думать и тем более понимать — ну нафиг не надо


Угу, песня программиста:

Не надо думать — с нами тот,
Кто все за нас решит.

Веселые — не хмурые —
Вернемся по домам...

<< Под музыку: Cruachan — Spancil Hill >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 13:32
Оценка: 2 (2)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Понимаешь, изменить ссылку на метод можно без особых проблем. Даже в C++. Сложно обеспечить непротиворечивость системы в переходный момент, если, скажем, перезагружается модуль с некотОрым количеством разных методов внутри. В идеале в это время управление не должно находиться в теле замещаемых методов. Вот это-то как раз самое трудное в горячей замене. Особенно, если модифицируемая система — не stateless.


Вообще-то проблем с заменой кода я особых не вижу. А вот замена структур данных, которая может производится в момент замены кода -- вот это да, тот еще подарочек. Поэтому мне кажется, что REPL хорошо использовать для bug fixing-а в on-line. А вот upgrade лучше выполнять рестартом -- проще и надежнее. И вообще, оказывается, что принцип "fail fast, restart quickly" замечательно работает для обновления систем 24x7 -- быстрый рестарт, в момент которого происходит переход на новую версию ПО, оказывается всего лишь частным случаем общей схемы поведения системы.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[15]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 13:33
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Угу. Ещё есть хотение. По-научному — мотивация.


а помимо хотения есть еще умение
простое "понимание" в программировании — это то же самое, что "глубокая теоретическая подготовка в области секса"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[16]: Что мы потеряли?
От: Курилка Россия http://kirya.narod.ru/
Дата: 04.09.06 13:41
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>>Угу. Ещё есть хотение. По-научному — мотивация.


Д>а помимо хотения есть еще умение

Д>простое "понимание" в программировании — это то же самое, что "глубокая теоретическая подготовка в области секса"

В сексе думать (порой и теоретически) есть вещь далеко не маловажная, позволяющая достичь много большего
Re[16]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 13:43
Оценка: :))
Здравствуйте, Дарней, Вы писали:

ГВ>>Угу. Ещё есть хотение. По-научному — мотивация.

Д>а помимо хотения есть еще умение
Д>простое "понимание" в программировании — это то же самое, что "глубокая теоретическая подготовка в области секса"

Ты имеешь ввиду ловкость попадания по Ctrl-Esc? Таки да, умение почти как в сексе.
<< Под музыку: Cruachan — Ride On >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[16]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 13:51
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>простое "понимание" в программировании — это то же самое, что "глубокая теоретическая подготовка в области секса"


Интересно, выбор средств контрацепции к области секса относится?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[17]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 14:45
Оценка:
Здравствуйте, eao197, Вы писали:

E>Интересно, выбор средств контрацепции к области секса относится?


примерно настолько же, насколько умение заливать каток относится к умению играть в хоккей
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[18]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 14:47
Оценка:
Здравствуйте, Дарней, Вы писали:

E>>Интересно, выбор средств контрацепции к области секса относится?


Д>примерно настолько же, насколько умение заливать каток относится к умению играть в хоккей


Попытка не защитана: заливают катки и играют в хокей разные люди.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[19]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 15:03
Оценка:
Здравствуйте, eao197, Вы писали:

E>Попытка не защитана: заливают катки и играют в хокей разные люди.


за выбором средств контрацепции умные люди тоже обращаются к профессионалам
а на самом деле, разные люди или одни и те же — это никакого значения не имеет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[20]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 15:07
Оценка:
Здравствуйте, Дарней, Вы писали:

E>>Попытка не защитана: заливают катки и играют в хокей разные люди.


Д>за выбором средств контрацепции умные люди тоже обращаются к профессионалам

Д>а на самом деле, разные люди или одни и те же — это никакого значения не имеет

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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[21]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 15:12
Оценка:
Здравствуйте, eao197, Вы писали:

E>Тем не менее профессионалы всегда предоставляют выбор из нескольких средств (если паталогий нет) из которых выбирать тебе самому приходится, на основании собственных знаний и здравого смысла. Причем здесь все равно требуется "понимание" того что, как и для чего ты делаешь.


а что ты этим доказать то хочешь?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[22]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.09.06 15:17
Оценка: +3
Здравствуйте, Дарней, Вы писали:

E>>Тем не менее профессионалы всегда предоставляют выбор из нескольких средств (если паталогий нет) из которых выбирать тебе самому приходится, на основании собственных знаний и здравого смысла. Причем здесь все равно требуется "понимание" того что, как и для чего ты делаешь.


Д>а что ты этим доказать то хочешь?


То, что ты не прав, говоря:

Программирование — это работа человека, который создает, а не что-то там "понимает"

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

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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[23]: Что мы потеряли?
От: Дарней Россия  
Дата: 04.09.06 15:29
Оценка:
Здравствуйте, eao197, Вы писали:

E>И степень понимания, имхо, определяет уровень результата (помимо прочих составляющих).


Вот-вот. Тебе осталось только понять, что одного только понимания недостаточно. (извините за каламбур )
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: Что мы потеряли?
От: vdimas Россия  
Дата: 04.09.06 18:28
Оценка: +1 :)
Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>Скажу честно. Мне было бы страшно пользоваться программами, если бы Lisp стал мэйнстримовым языком.


Если пофантазировать на эту тему, то положение должно было быть не таким как сейчас
Т.е. и программистов меньше, и сами программы короче.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 19:12
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Геннадий Васильев, Вы писали:



ГВ>>Скажу честно. Мне было бы страшно пользоваться программами, если бы Lisp стал мэйнстримовым языком.


V>Если пофантазировать на эту тему, то положение должно было быть не таким как сейчас

V>Т.е. и программистов меньше, и сами программы короче.

Ну в общем — да. Говоря о майнстриме я подразумеваю э... толпы... эмм... "индусов", лабающих окошки на Lisp-Delphi
<< Под музыку: Enigma — The Rivers of Belief (the retutning silence) >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.09.06 19:18
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Фиг его знает. Значит, свой диплом в 93-м я писал под влиянием очень малоизвестного Smalltalk, о котором было, правда, было написано в книжке где-то 91-го года издания, что и сподвигло меня на поиски.


Под влияением? А что же ты не использовал его?

ГВ> А русскую документацию на BC++ 2.0 в 92-м распечатывал во сне. Место действия — Севастополь. Кстати, вот этот вот словарь
Автор: Геннадий Васильев
Дата: 29.11.05
появился как раз в то же время, в 92-93 (обрати внимание на упоминание C++).


ГВ>В том же 93-м мне предложили работу как раз на C++. Контора работала на германцев, кажись. Так что, я бы не стал утверждать, что C++ не был известен или был уделом единиц. Паскалем же нередко пользовались в силу того, что он значимо быстрее компилировался на распространённых тогда машинах (286/1M/5.25+3.5/типичный объём винта не помню). Хотя и 386-е уже были в достаточном количестве, чтобы эта проблема не была большой.


Ну, то есть ты подтверждашь, что как раз 1993 год стал тем самым годом когда в твою жизь реально вошел С++?

Надеюсь, ты понимаешь, что если ты был бы даже самым средним программистом не ищущим ничего новго, то все равно ситуацию никак нельзя было назвать популярность, а скрее можно было бы оценить как "язык начал набирать популярность"?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.09.06 19:18
Оценка:
Здравствуйте, Mikhail Polykovsky, Вы писали:

VD>>Кто такие TT и ROTT знаешь один ты.


MP>Это ложное высказывание


Это образное высказываание. Конечно найдутся и еще. Но вот до популярного дума им точно как до Пекина раком.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.09.06 19:18
Оценка:
Здравствуйте, night beast, Вы писали:

NB>А такие названия как UFO, Mortal Kombat 2, Warcraft вам что-нибудь говорят?

NB>Для ознакомления

Говорят. Особенно Warcraft. Только первый Warcraft был вроде без ДОС-экстендеров, а второй это уже был 1995-ый.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 04.09.06 20:09
Оценка:
Здравствуйте, VladD2, Вы писали:

ГВ>>Фиг его знает. Значит, свой диплом в 93-м я писал под влиянием очень малоизвестного Smalltalk, о котором было, правда, было написано в книжке где-то 91-го года издания, что и сподвигло меня на поиски.


VD>Под влияением? А что же ты не использовал его?


У меня диплом был под ОС, на которой не было SmallTalk. Есть такая ось — PICK. Со встроенной СУБД.

ГВ>>В том же 93-м мне предложили работу как раз на C++. [...]


VD>Ну, то есть ты подтверждашь, что как раз 1993 год стал тем самым годом когда в твою жизь реально вошел С++?


Мог войти и тогда правильнее было бы говорить о 92-м. На самом деле плрофессионально я стал им пользоваться примерно с 95-го (Watcom C++ 10.0).

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


В СССР — безусловно. Но в любом случае это не похоже на: "пользовались только единицы".
<< Под музыку: Enigma — The Rivers of Belief (the retutning silence) >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.09.06 23:53
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>В СССР — безусловно. Но в любом случае это не похоже на: "пользовались только единицы".


ОК. Тезис про едениц снимаем. Но ты согласен, что рельано рост популярности С++ только начался в 1993-ем, и меряться перисоми с ним в то время было просто не корректно. Вот к 1998-ому, другое дело... Но к 1998-му Смолтолком уже пахло только в IBM.

А ведь язык то 1976-го года. Ему бы немного ближе к народу быть и был бы супер бестселлером. А так... усего лишь легендарный язык пошлого.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 05.09.06 05:59
Оценка: 16 (1) +1
eao197,

E>Вообще-то проблем с заменой кода я особых не вижу. А вот замена структур данных, которая может производится в момент замены кода -- вот это да, тот еще подарочек. Поэтому мне кажется, что REPL хорошо использовать для bug fixing-а в on-line.


Разумная точка зрения. Тем не менее она обусловлена несовершенством инструментов:

Me = Jay Nelson, лиспер с 15-летним стажем вовлечённый в проект на С.
CW = его коллега, имеющий больший опыт на программирования на C (coworker)

Me: "Ok, show me how to figure out what is wrong."
CW: "Fire up the debugger."

Me: "Good, I know what that is... Hmm, what's the value of this thing all in caps?"
CW: "It can't tell you, that's a macro. It's not part of the program."
Me: "?? How can that be a macro if it never executes? It sounds like an editor expansion that somehow escaped from from its environment."

Me: "Ok, let me create a new variable and evaluate the expression it represents."
CW: "You can't create a new variable silly."

Me: "?? Ok, step into the function. Wait, I see... the incoming arg is wrong. Let's step back and change it."
CW: "No can do."

Me: "?? Ok, mentally I'll assume it is changed and... oh I see the problem. Let's change this function and continue!"
CW: "What planet did you come from? This is just a debugger!"

Me: "Isn't a debugger the thing you use to write code? You type it in to the listener and you modify it in the debugger. When you're done you dump it in an editor using the pretty printer. How do you guys write code?"


Информация, полученная из дебаггера — это обратная связь. И время на получение этой информации ("время отклика") часто слишком велико. Вспомни хотя бы написание ГУЯ, серверов требующих рестарт, вычислений с большими чёрными ящиками.

Проблема не в том, что дебаггер плохой, а проблема в самом дебаггере. Он не нужен, если есть REPL (либо можно считать что REPL=debugger, тут уже чисто терминология, важно то что "время отклика" чрезвычайно мало).

E> А вот upgrade лучше выполнять рестартом -- проще и надежнее.

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

Реальный пример: ребята писали веб-приложение. Чтобы узнать, каков результат чьей-то правки сервлета или конфига, нужно было перегрузить сервер. Веб-приложение установили клиенту, потребовалось расширение функционала. Поскольку теперь перегружать сервер стало недопустимым, код стал писаться прямо в JSP (обновление JSP-форм возможно без рестарта сервера). Думаю, не нужно говорить, что за уродец в конечном итоге получился.

E> И вообще, оказывается, что принцип "fail fast, restart quickly" замечательно работает для обновления систем 24x7 -- быстрый рестарт, в момент которого происходит переход на новую версию ПО, оказывается всего лишь частным случаем общей схемы поведения системы.


Ну такой подход имеет место быть, и это конечно лучше, чем "full restart", но он работает при соблюдении 2х условий:
1. Гранулы должны быть достаточно мелкими.
2. Гранулы должны быть независимы.

"Гранулы" — это кусочки системы, которые допускают горячую замену. Т.е. если мы находимся в условиях ООП, то вот примеры:

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

Базовый интерфейс — это другая гранула, от которой зависит почти всё, поэтому горячая замена этой гранулы влечёт "full restart".
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[12]: Что мы потеряли?
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 05.09.06 06:23
Оценка:
Вот, кстати, пример из собственного опыта — http://eugenius-nsk.livejournal.com/4272.html . Разумеется, он далеко не единичный, но очень показательный, почему я его и описал.
--
Бесчастнов Евгений
Re[16]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 05.09.06 06:31
Оценка: 1 (1) +2
Здравствуйте, VladD2, Вы писали:

ГВ>>В СССР — безусловно. Но в любом случае это не похоже на: "пользовались только единицы".


VD>ОК. Тезис про едениц снимаем. Но ты согласен, что рельано рост популярности С++ только начался в 1993-ем, и меряться перисоми с ним в то время было просто не корректно.


Опять таки, что считать "реальным началом роста популярности"? В принципе, в СССР какую-никакую популярность C++ стал завоёвывать примерно годом раньше. В 93-м я всего лишь встретился в Севастополе с его стабильным коммерческим использованием. Значит, "популярность" для этих конкретных деятелей C++ обрёл никак не позже, чем за полгода-год до этого.

Занимался ли кто-нибудь коммерческим использованием SmallTalk в то время? Ну, вокруг меня таких не было. Хотя в мире, похоже, обстановка была немного иная. Посмотри на http://www.cincomsmalltalk.com/ в разделе блогов и http://www.smalltalk.ru/ Да и сам факт того, что первое издание Буча было проиллюстрировано примерами на SmallTalk в числе прочих, хоть о чём-то, да говорит. Кстати, как и то, что Rational RequisittePro, который входит в состав Rational Suite, написан на SmallTalk.

VD>Вот к 1998-ому, другое дело... Но к 1998-му Смолтолком уже пахло только в IBM.


Сравнить популярность мы без репрезентативной статистики не сможем. Я, например, не склонен обобщать тенденции отечественного "майнстрима" (мутный поток веб-дизайна и складского учёта) на весь мир. Скажу, что в 98-м вокруг меня также не было тех, кто использовал SmallTalk в коммерческих разработках.

VD>А ведь язык то 1976-го года.


71-го или 80-го, смотря, как считать. http://ru.smalltalk.wikia.com/wiki/История_Smalltalk

VD>Ему бы немного ближе к народу быть и был бы супер бестселлером. А так... усего лишь легендарный язык пошлого.


Win2K тут где-то правильно написал, что, мол, не хрен "близостью к народу" хорошую вещь портить. Те, для чьих задач ST был оправдан и уместен, его изучили, купили и пользовались (в ФИДО какие-то разговоры проскакивали время от времени, если не путаю). Ну а для очередного, 8192-го клона бухгалтерии — нафига козе баян?

Насчёт "прошлого" ты тоже загнул. SmallTalk вполне себе жив, энтузиастов хватает.
<< Под музыку: Gregorian — Moment Of Peace >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Что мы потеряли?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 05.09.06 09:01
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

<...интересный фрагмент про отладку поскипан...>

LCR>Информация, полученная из дебаггера — это обратная связь. И время на получение этой информации ("время отклика") часто слишком велико. Вспомни хотя бы написание ГУЯ, серверов требующих рестарт, вычислений с большими чёрными ящиками.


LCR>Проблема не в том, что дебаггер плохой, а проблема в самом дебаггере. Он не нужен, если есть REPL (либо можно считать что REPL=debugger, тут уже чисто терминология, важно то что "время отклика" чрезвычайно мало).


Вообще-то я не про отладку говорил. У меня было несколько случаев, когда хотелось произвести горячую замену кода в C++ программе-сервере, без ее останова. Например, в одном случае один из потоков транзакций застопорился, причем общий мониторинг показывал, что система функционирует нормально. Но более детализированная мониторинговая информация показала, что один из счетчиков, который показывал количество одновременно обрабатываемых транзакций именно на этом потоке транзакций, имеет слишком большое значение -- порядка 4 миллиардов. Из-за этого, каждая очередная транзакция откладывалась, в ожидании, когда общее количество транзакций снизится до нужного предела. Ошибка была тривиальной -- счетчик был unsigned int и в одной очень экзотической ситуации он переходил через ноль. В этом бы случае просто выполнить горячую замену проблемного кода и все, не нужно было бы сервер останавливать.

Здесь, в общем-то и дебаггер ни при чем. Да и пользы от него не много -- бесполезно пытаться отлаживать production server под нагрузкой в десятки транзакций в секунду. А вот выполнить hot fix было бы здорово.

E>> А вот upgrade лучше выполнять рестартом -- проще и надежнее.

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

LCR>Реальный пример: ребята писали веб-приложение. Чтобы узнать, каков результат чьей-то правки сервлета или конфига, нужно было перегрузить сервер. Веб-приложение установили клиенту, потребовалось расширение функционала. Поскольку теперь перегружать сервер стало недопустимым, код стал писаться прямо в JSP (обновление JSP-форм возможно без рестарта сервера). Думаю, не нужно говорить, что за уродец в конечном итоге получился.


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

LCR>Ну такой подход имеет место быть, и это конечно лучше, чем "full restart", но он работает при соблюдении 2х условий:

LCR>1. Гранулы должны быть достаточно мелкими.
LCR>2. Гранулы должны быть независимы.

LCR>"Гранулы" — это кусочки системы, которые допускают горячую замену. Т.е. если мы находимся в условиях ООП, то вот примеры:


LCR>Имплементация какого-нибудь интерфейса — это одна гранула, замена её возможна, но необходимо ручками отписать переход и сконвертировать состояние. Сложность этой операции варьируется в зависимости от многих факторов.


LCR>Базовый интерфейс — это другая гранула, от которой зависит почти всё, поэтому горячая замена этой гранулы влечёт "full restart".


Опять же, полностью согласен.
Но я говорил о более крупных компонентах, о целых подсистемах. Например, при использовании созданных с помощью SObjectizer
Автор: Евгений Охотников
Дата: 30.12.05
систем нужно постоянно делать выбор -- формировать ли один процесс из нескольких коопераций агентов или же разносить их по разным процессам. В первом случае существенно упрощается администрирование и настройка приложения. Во втором же случае сложнее администрировать и мониторить процессы, появляются лишние накладные расходы на их взаимодействие, но зато повышается гибкость в переконфигурировании и обновлении версий, и повышается надежность, т.к. отдельная сбойная кооперация не роняет всю систему.

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



SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[14]: Что мы потеряли?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 05.09.06 09:53
Оценка: +1
eao197

E>С учетом твоего замечания о гранулярности компонентов объектной системы на уровне классов/интерфейсов получается, что проблема связности является актуальной на разных уровнях абстракции.


Безусловно.

E>


quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[17]: Что мы потеряли?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.09.06 11:04
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Я, например, не склонен обобщать тенденции отечественного "майнстрима" (мутный поток веб-дизайна и складского учёта) на весь мир. Скажу, что в 98-м вокруг меня также не было тех, кто использовал SmallTalk в коммерческих разработках.


Хм. В 1993-ем никакого веб-дизайна не было. А "мутный поток складского учёта" был, есть и будет есть во всем мире всегда и везде. Это называется автоматизация бизнеса. Думаю, что это самый массовый потребитель ЯП.

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

VD>>А ведь язык то 1976-го года.


ГВ>71-го или 80-го, смотря, как считать. http://ru.smalltalk.wikia.com/wiki/История_Smalltalk


ОК, не важно. Хотя как раз Smalltalk-76 стал известен в мире, если не ошибаюсь.

ГВ>Win2K тут где-то правильно написал, что, мол, не хрен "близостью к народу" хорошую вещь портить.


Хорошая вещь мало интересна окружающим если она кажется хорошей очень узкому кругу людей. Так что для окружающих эта вещь просто не является хорошей. А попытки навязать мнение о "хорошести" просто бессмысленны. Насильно мил не будешь. Проще сделать вещь хорошей для максимального числа людей.

ГВ> Те, для чьих задач ST был оправдан и уместен,


Согласен. Но было их не много. А сейчас уже совсем мало.

ГВ> его изучили, купили и пользовались (в ФИДО какие-то разговоры проскакивали время от времени, если не путаю). Ну а для очередного, 8192-го клона бухгалтерии — нафига козе баян?


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

ГВ>Насчёт "прошлого" ты тоже загнул. SmallTalk вполне себе жив, энтузиастов хватает.


Что я загнул? Энтузиастов хватает у J, K и даже Брэйнфака. Вопрос в их количестве и в том, что они полезного делают для общества.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Что мы потеряли?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 05.09.06 11:15
Оценка:
Здравствуйте, VladD2, Вы писали:

ГВ>>71-го или 80-го, смотря, как считать. http://ru.smalltalk.wikia.com/wiki/История_Smalltalk


VD>ОК, не важно. Хотя как раз Smalltalk-76 стал известен в мире, если не ошибаюсь.


ST-76 отличался от ST-72 и на его основе сделан текущий ST-80. Обычно принято считать, что известен именно в мире ST стал в 81г. когда вышел августовский номер журнала Byte, посвященный ST.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[18]: Что мы потеряли?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 05.09.06 14:07
Оценка: +4
Здравствуйте, VladD2, Вы писали:

ГВ>>Я, например, не склонен обобщать тенденции отечественного "майнстрима" (мутный поток веб-дизайна и складского учёта) на весь мир. Скажу, что в 98-м вокруг меня также не было тех, кто использовал SmallTalk в коммерческих разработках.


VD>Хм. В 1993-ем никакого веб-дизайна не было. А "мутный поток складского учёта" был, есть и будет есть во всем мире всегда и везде. Это называется автоматизация бизнеса. Думаю, что это самый массовый потребитель ЯП.


Ну и что? Он от этого "яснее" становится, что ли?

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


Это тема для отдельной дискуссии. Думаю, что здесь повлияла общая подготовка отечественных специалистов, среди которых профессиональных SmallTalk-еров было немного, как я понимаю, если они, конечно, вообще были. Впрочем, как и Lisp-еров.

ГВ>>Win2K тут где-то правильно написал, что, мол, не хрен "близостью к народу" хорошую вещь портить.


VD>Хорошая вещь мало интересна окружающим если она кажется хорошей очень узкому кругу людей. Так что для окружающих эта вещь просто не является хорошей. А попытки навязать мнение о "хорошести" просто бессмысленны. Насильно мил не будешь. Проще сделать вещь хорошей для максимального числа людей.


Да на здоровье, не считай ST "хорошим". Я считаю, что он вполне неплох, хотя мне и не нужен в данной точке пространства-времени. А за интересами "всех" не угонишься. Насильно мил не будешь, но и всем вокруг тоже не угодишь.

ГВ>> Те, для чьих задач ST был оправдан и уместен,

VD>Согласен. Но было их не много. А сейчас уже совсем мало.
ГВ>> его изучили, купили и пользовались (в ФИДО какие-то разговоры проскакивали время от времени, если не путаю). Ну а для очередного, 8192-го клона бухгалтерии — нафига козе баян?
VD>Дык если чудо-средство позволит проще, быстрее и дешевле создать приемлемое по фунциональности, быстродействию и надежности решение, то создатель "клона" банально заработает денег.

Тут много факторов может быть. Прежде всего, об этом средстве нужно узнать, потом — оценить-примерить, потом — уговорить менеджмент, а уже потом — реализовывать. В случае с майнстримовыми тулами первые три фазы запросто исключаются.

А если если тул не майнстримовый, то... Думаю, что есть некая зависимость между самостоятельным использованием "необычного" тула и способностью найти нестандартную задачу вообще. Следовательно, могу предположить, что те, кто был вне майнстрима используемых тулов оказались вне "майнстрима задач". Говоря несколько экспрессивнее: SmallTalk-еры формочки не лабают.

ГВ>>Насчёт "прошлого" ты тоже загнул. SmallTalk вполне себе жив, энтузиастов хватает.

VD>Что я загнул? Энтузиастов хватает у J, K и даже Брэйнфака. Вопрос в их количестве и в том, что они полезного делают для общества.

Они делают J, K и Brainfuck. Если это бесполезно для тебя или для массовых задач автоматизации бизнеса, то не стоит переносить сие отношение на всё общество в целом.
<< Под музыку: a-Ha — The swing of things >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[18]: Что мы потеряли?
От: Mirrorer  
Дата: 05.09.06 14:20
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Энтузиастов хватает у J, K и даже Брэйнфака. Вопрос в их количестве и в том, что они полезного делают для общества.

Не флейма ради.. По поводу K.
Меня впечатляет список клиентов. Не бедных клиентов.
Клиенты
Или в Kx Systems работают отличные продавцы (лучше чем в МС) или в этом что-то есть.
Для своей предметной области конечно.
... << RSDN@Home 1.1.4 PINK FLOYD — Shine On You Crazy Diamond (Part One)>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.