Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>>Подскажу. Потому что мои оппоненты часто занимаются демагогией. IT>>Ты думаешь, обвинив других в демагогии, можно полностью реабилитироваться?
ГВ>Если ты заметил, я не обвиняю оппонентов в демагогии голословно.
Если ты заметил, я тоже
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Eugene Beschastnov, Вы писали:
EB>Логика очень простая — если бы всё было именно так, как ты описываешь, то в Smalltalk JIT-компиляцию просто не сделали бы — потому что это не давало бы никакого выигрыша.
Я не могу монять ты просто в проблематике не разбирашся или прикидывашся?
JIT бессмысленнен для описанного тобой примера "крутизны" динамики. Но он неполохо может работать там где "крутизны" нет, а есть код оперирующий с четко определенными типами. JIT, точнее динамическая компиляция в купе с хоть какой-то аннотацией типов может ускорить любой язык. Но чудес не бывает. Реальные приложения на динамических языках будут всегда медленее чем аналогичные написанные на статически типизированных (не важно явно или с выодом типов).
EB>Dynamic translation was <b>pioneered</b> by the commercial Smalltalk implementation currently known as VisualWorks, in the early 1980s. (выделение моё) EB>Твой источник?
http://en.wikipedia.org/wiki/Lisp_programming_language далее ищи по словам Incremental Compilation. Так же можно просто гуглем на слова "Incremental Compilation" POP-2 и LISP. Когда то я читал статью где как раз описывалась история этого дела. Они не додумались тогда назвать это дело JIT-ом или даеть ему другое звучное имя, но идеи были заложены именно ими. Причем насколько я понимаю все это делалось на макросах самого Лиспа.
Кстати, JIT тоже появился впервые не в Смолтоке, а в его потомке — Self-е. Вот первую коммерческую реализацию джита вроде бы действительно сделали в Смолтоке.
Так же забавно, что на сегодня вроде как Смолтоковские джиты уступают Явовским и дотнетным. Как раз проявляется отсуствие статической типизации.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, IT, Вы писали:
ГВ>>>>Подскажу. Потому что мои оппоненты часто занимаются демагогией. IT>>>Ты думаешь, обвинив других в демагогии, можно полностью реабилитироваться? ГВ>>Если ты заметил, я не обвиняю оппонентов в демагогии голословно. IT>Если ты заметил, я тоже
Это ты в очередной раз "систему уравновешиваешь"?
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, Eugene Beschastnov, Вы писали:
ГВ>По поводу истории JIT посмотри сюда, по-моему, интересный экскурс.
Спасибо, действительно интересный и полезный документ.
IT>Что касается умных слов, то с этим на RSDN всегда было всё в порядке. Такие люди всегда welcome и их есть на RSDN, в том числе и среди функциональщиков.
*ушёл думать*
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>А можно узнать, с чем ты так настойчиво не согласен?
C тем, что существует "правильное" значение термина, отличное от мнения большинства. Вот у нас, к примеру, продают "кедровые орешки". Любой ботаник скажет, что это вранье — это никакой не кедр, а какая-то-там сосна. А кедры растут только на дальнем востоке, и орешки у них такие, что не всякий зуб возьмет.
Но когда магазин закупает продукты на оптовом складе, его представитель будет полным идиотом, если начнет требовать "сосновые". Потому как в этой области термин "кедровые орехи" вполне однозначно устоялся и является общепринятым. Термин выполняет в первую очередь коммуникативную функцию, а не деноминативную. Есть развитие значения терминов, связанное с эволюцией наших знаний.
Заявления насчет эксклюзивности права автора термина на трактовку его значения на мой взгляд вообще выходят за пределы здравого смысла.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
ГВ>>А можно узнать, с чем ты так настойчиво не согласен? S>C тем, что существует "правильное" значение термина, отличное от мнения большинства. Вот у нас, к примеру, продают "кедровые орешки". Любой ботаник скажет, что это вранье — это никакой не кедр, а какая-то-там сосна. А кедры растут только на дальнем востоке, и орешки у них такие, что не всякий зуб возьмет.
S>Но когда магазин закупает продукты на оптовом складе, его представитель будет полным идиотом, если начнет требовать "сосновые". Потому как в этой области термин "кедровые орехи" вполне однозначно устоялся и является общепринятым. Термин выполняет в первую очередь коммуникативную функцию, а не деноминативную. Есть развитие значения терминов, связанное с эволюцией наших знаний.
S>Заявления насчет эксклюзивности права автора термина на трактовку его значения на мой взгляд вообще выходят за пределы здравого смысла.
Смотри, как интересно получается.
ГВ>Либо же значение термина должно параллельно уточняться, например, уполномоченными на то группами. В любом случае, круг тех, кто определяет значение термина должен быть достаточно узок, иначе мы превратим совершенно любую коллективную деятельность в бесконечные дебаты.
То, о чём ты говоришь, как раз и есть пример "терминоопределяющей" деятельности относительно узкой группы.
И потом, твой пример не совсем корректен. Ты говоришь, фактически, о торговой марке — их могли и "семенами марсианского подсолнуха" назвать, но никому же ни придёт в голову утверждать на ботаническом форуме, что то, что лежит в пакетиках, таки да — действительно кедровые орехи.
Термин выполняет в первую очередь коммуникативную функцию, а не деноминативную.
Дык ведь в том-то и фокус, что, фигурально выражаясь, "результат коммуникативной функции" в случае субъектно-направленной трактовки термина становится слишком неоднозначным. Каждый становится волен подразумевать под термином всё, что ему заблагорассудится. Хороша же коммуникация...
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>А можно узнать, с чем ты так настойчиво не согласен? S>C тем, что существует "правильное" значение термина, отличное от мнения большинства. Вот у нас, к примеру, продают "кедровые орешки". Любой ботаник скажет, что это вранье — это никакой не кедр, а какая-то-там сосна. А кедры растут только на дальнем востоке, и орешки у них такие, что не всякий зуб возьмет.
Растение называется "Сосна сибирская кедровая (Pinus sibirica Du Tour)" так что кедровые орешки вполне правильное, но не совсем точное название
VD>>Ошибашся. Я как-то читал, что эксперемены по паттерн-матчингу были за долго до МЛ-я. FR>Ну не знаю не силен в истории, может злобные функциональщики просветят FR>Хотя вполне допускаю что многие из новых языков прототипировались на лиспе.
ML писался, как метаязык (Meta Language) для системы доказательств, написанной на Лиспе. Если почитать Zinc experiment — описание дизайна Caml Лероем, — то там можно встретить упоминание о корнях ML, и как это отражалось на проверке типов.
Сами алгебраические типы растут ногами из ZF — Zermelo-Frenkel set theory, — и основанной на ней Z notation. Там даже синтаксис совпадает почти один-в-один с современными вариантами. Z notation — это самое начало 70-х.
FR>Да я согласен в общем. Просто по этому определению и руби и питон тоже функциональные языки.
И Си.
Поэтому — это бессмысленное определение.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, Eugene Beschastnov, Вы писали:
EB>Кстати, интересно — какое среднее количество строк в методе в стандартной большой программе на Nemerle?
Судя по тем примерам, которые тут давали, то это рулоны на 2 экрана.
Николай, знаешь, что самое смешное во всем этом? В том, что особо смешного то не так уж и много. Это как раз шутка, в которой есть всего лишь доля (не большая причем) шутки.
У меня первым впечатлением от процесса проверки правильности программы стало то, что этот процесс вообще необходим. Когда только приступаешь к программированию с удивлением обнаруживаешь, что программы почему-то содержат на порядки больше ошибок, чем ты можешь это себе представить. Но все равно, в самом начале пути обучения программированию существует мнение: "Мой код работает!". Без всяких оговорок, именно так ультимативно.
Причем, как отмечают некоторые писатели, программисты всегда отличаются завидным оптимизмом. И с налету берутся за написание с нуля или полное переписывание сложных программ, предполагая при этом, что у них получится качественный результат. Т.е. уверенность в том, что "мой код работает" (без всяких оговорок), постоянно в программистах присутствует.
В свое время, где-то в середине первого курса, меня очень поразила фраза Дейкстры (если не ошибаюсь с авторством): тесты могут показать только наличие ошибок, но не могут доказать их отсутствие. Это было второе сильное впечатление от процесса проверки правильности программы.
И так, в моем собственном умозрительном представлении до недавного времени существовала такая цепочка слоганов, которые характеризуют отношение программиста к качеству его кода:
"Мой код работает!" --> ??? --> "Тесты не могут доказать отсутствие ошибок" --> ???
Вопросиками показаны белые пятна -- интуиция подсказывает, что на их месте должны быть какие-то соответствующие слоганы, но вот самих слоганов не было. И вот тут Влад выдает фразу, которая является одним из недостающих звеньев в этой цепочке:
"Мой код работает!" -->
"Мой код работает, если в нем нет ошибок" --> ???
"Тесты не могут доказать отсутствие ошибок" --> ???
Так что я вопринимаю данную фразу не как "шутку юмора", а как очень точную и лаконичную характеристику определенной стадии отношения программиста к качеству своего кода.
Так что я прошу, не смотря на очень большой налет юмористичности, не развивать эту тему в сторону соревнования в остроумии. Как бы смешно данная фраза не звучала, но она очень емкая и очень удачная. Именно это в ней ценно.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Здравствуйте, Eugene Beschastnov, Вы писали: EB>>Кстати, интересно — какое среднее количество строк в методе в стандартной большой программе на Nemerle? ANS>Судя по тем примерам, которые тут давали, то это рулоны на 2 экрана.
Учитывая то, что внутри метода возможна функциональная декомпозиция, это, вообще говоря, никакого значения не имеет.
Для немерле или там скалы имеет смысл говорить не о размере метода, а о размере вложенной функции или конкретного паттерна в блоке match. Ограничивать размер метода в таких языках 7ю строками, требование того же уровня адекватности, что и ограничивать 7ю строками размер класса в яве.
... << RSDN@Home 1.2.0 alpha rev. 655>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Здравствуйте, pavel74, Вы писали:
VD>>и при этом эти языки значительно выразительнее Смолтока. К тому же они являются статически типизированными. P>Гм, чо по новой Ладно погнали: P>В массиве есть целые , даблы , натуральные дроби, неограниченные целые, например надо найти рядом стоящие значения удовлетворяющие определенному выражению типа что-то такое : prevItem * 2 = curItem.
Что??? Мой контраргумент такой: дан массив, а в нем сепульки, гравицапы и шалтаи-болтаи.
Дайте определение произведения сепульки и гравицапы на натуральное число.
Ага! Глазами хлопаешь, студент? Значит за мной правда!
Вы бы, кроме шуток, постеснялись что-ли такие вопросы задавать. Тем более, что на них уже отвечали.
Неужели нельзя нормальный пример, демонстрирующий превосходство динамической типизации показать?
По существу:
Есть какой-нибудь класс типов Number с соответствующими операторами. Потом используем PM. Все нормально работает и не жужжит. Полностью статическое. E2 — убил?
... << RSDN@Home 1.2.0 alpha rev. 655>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Наконец на Таирии высадился известный космический шкипер,
неустрашимый Ао Мурбрас с двумя собаками в скафандрах, чтобы поохотиться
на загадочных тварей. Через пять дней он вернулся один в состоянии
крайнего изнеможения. По его словам, невдалеке от Таирии из туманности
вдруг вынырнуло множество чудовищ, опутавших щупальцами и его, и собак;
но отважный охотник выхватил нож и, размахивая им наудачу, освободился от
смертельных объятий, жертвой которых стали, однако, бедные псы. На
скафандре Мурбраса, изнутри и снаружи, остались следы борьбы, а в
нескольких местах к нему прилипли какие-то зеленые обрывки, словно от
волокнистых стеблей. Ученая комиссия, тщательно исследовав волоконца,
признала их фрагментами многоклеточного организма, хорошо известного на
Земле, а именно Solanum Tuberosum, клубненосного растительного организма
с перисто-раздельными листьями, привезенного испанцами из Америки в
Европу в XVI веке. Это известие взбудоражило всех, и трудно описать, что
началось, когда кто-то перевел ученые выводы на обычный язык и оказалось,
что Мурбрас принес на своем скафандре стебельки картофельной ботвы.
Доблестный шкипер, глубоко уязвленный предположением, будто в
течение четырех часов он сражался с картошкой, потребовал, чтобы комиссия
отказалась от своего клеветнического заключения, но ученые ответили, что
не вычеркнут ни единого слова. Волнения сделались всеобщими. Возникли
движения картофелистов и антикартофелистов, охватившие сначала Малую, а
потом и Большую Медведицу; противники осыпали друг друга самыми тяжкими
оскорблениями. Все это, однако, побледнело в сравнении с тем, что
случилось, когда к спору подключились философы. Из Англии, Франции,
Австралии, Канады и Соединенных Штатов съезжались самые выдающиеся
теоретики познания и представители чистого разума, и результат их усилий
был поистине поразительным.
Физикалисты, исследовав вопрос всесторонне, заявили, что если тела А
и В движутся, то дело условности — говорить, движется ли А относительно В
или В относительно А. Так как движение — вещь относительная, с одинаковым
правом можно сказать, что человек движется относительно картофеля или же
что картофель движется относительно человека. Поэтому вопрос о том, может
ли картофель двигаться, становится бессмысленным, а вся проблема —
мнимой, то есть несуществующей.
Семантики заявили, что все зависит от того, как понимать слова
"картофель", "может" и "двигаться". Так как ключом является модальный
глагол "мочь", то его надлежит тщательно исследовать. Затем они
приступили к созданию Энциклопедии Космической Семасиологии, первые
четыре тома которой посвящались модальным значениям глагола "мочь".
Неопозитивисты заявили, что непосредственно нам даны не пучки
картофеля, а пучки непосредственных ощущений; затем они создали
логические символы, означающие "пучок картофеля" и "пучок ощущений",
построили специальное исчисление высказываний из сплошных алгебраических
знаков и, исписав море чернил, пришли к математически точному и,
несомненно, верному выводу, что 0==0.
Томисты заявили, что Бог создал законы природы, чтобы при случае
творить чудеса, ибо чудо есть нарушение законов природы, а где нет
законов, там и нарушать нечего. В данном случае картофель будет
двигаться, если на то будет воля Предвечного; но неизвестно, не уловка ли
это проклятых материалистов, стремящихся подорвать авторитет церкви, так
что нужно подождать решения Высшей Ватиканской Коллегии.
Неокантианцы заявили, что все вещи суть творения духа, объективному
познанию недоступные; если у вас появилась идея движущегося картофеля, то
движущийся картофель будет существовать. Однако это только первое
впечатление, ибо дух наш столь же непознаваем, как и его создания; так
что, значит, ничего не известно.
Холисты-плюралисты-бихевиористы-физикалисты заявили, что, как
известно из физики, закономерность в природе бывает только
статистической. Подобно тому как нельзя вполне точно предугадать путь
отдельного электрона, так нельзя предсказать в точности, как будет вести
себя отдельная картофелина. До сих пор наблюдения показывали, что
миллионы раз человек копал картошку; но не исключено, что один раз из
миллиарда случится наоборот и картошка будет копать человека.
Профессор Урлипан, одинокий мыслитель школы Расселла и Рейхенбаха,
подверг все эти высказывания уничтожающей критике. Он утверждал, что
человек не имеет никаких непосредственных ощущений, ведь он ощущает не
словесное выражение образа стола, а самый стол; а так как, с другой
стороны, известно, что о внешнем мире ничего не известно, то не
существует ни внешних вещей, ни чувственных ощущений. "Нет вообще ничего,
— заявил профессор Урлипан, — а кто думает иначе, тот заблуждается". Так
что о картофеле ничего нельзя сказать, хотя и по совершенно иной причине,
чем считают неокантианцы.
(с) Станислав Лем, Путешествие двадцать пятое.
К тому же вопросу.
... << RSDN@Home 1.2.0 alpha rev. 655>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll