Здравствуйте, AndreiF, Вы писали:
AF>Здравствуйте, FR, Вы писали:
FR>>А чем заниматся в качестве хобби я уж как ни будь без тебя решу.
AF>Зачем тогда выносил эту тему на всеобщее обсуждение?
Вот пристал, наверно совсем делать нечего
А я не выносил, я объяснял человеку почему я не использую немерле.
E>>>Конечно, здесь с тобой одни только ламеры общаются.
PI>>спакуха, моя твоя уважай но моя не понимать всей той экспрессии, с которой ты изъясняешься
VD>Да, ты что?! Это разумные сомнени, а ты сейчас (ну, через несколько сообщений) будешь записан в слепые верующие, а-ка фанатики.
"о, наденьте мне на глаза чёрные, слепые очки,
чтобы я не увидел, чтобы я промолчал..."
E>>>Угу, в распечатке. PI>>никогда не печатал проги... хотя попробую, может это прикольно...
VD> Я плякаль...
VD>Вообще на лицо столкновение поколений. Одно всю жизнь возилось с простынями кода и тупо не приняло мир IDE и автоматизации, а второе никогда не видело простыни от ЕС-ки. VD>Тут понимания никогда не достичь. Самое обидное, что я вас обоих понимаю.
та ну, у меня был принтер к спектруму (МС), но это были тяжелые времена, иногда приходилось потрошить "катридж" и делать из ленты ленту Мёбиуса
но ты прав, я из второго поколения — только тут скорее различие между людьми, которые обычные, художественные книги не могут читать с монитора
как то так, физически не могут... и ищут бумажный вариант... естественно, они же плодят основную нагрузку на принтер
естественно, их большинство
вообще, паблик-члены от немерле-компайлера хорошо было бы распечатать, и на стенку повесить
это касательно вот того "временный проект", который создается при переходе на внешнюю сборку в интеграции — я думаю логичней было бы поднимать (при условии, что он найдется) весь проект *.nproj, компилировать его (это требуется 1 раз), и оставлять в памяти — тогда можно из проекта интеграции перепрыгнуть на код компайлера, и бродить по нему...
VD>>Тут понимания никогда не достичь. Самое обидное, что я вас обоих понимаю.
та я тоже понимаю, но у олдскул должен понимать, что код — это не текст, код — это иерархия
и оформить мегатонну кода книжкой можно, но читать ее будет невозможно
N>А зачем такие крайности? N>Я видел и то и другое, и использую и то и другое Распечатка крайне полезна, когда надо или изучить чужой незнакомый код, или внимательно пройтись логическим лобзиком по своему коду. На экран всё что нужно всё равно не влезет. А так удобно:
ща переведу на нью-скул
N>- сесть где-то в уютном месте (оторвавшись от монитора) со стопкой бумаги
взять ноутбук и завалиться на диван
N>- взять ручку и писать рядом с текстом свои замечания
пдф? проф. версия акробата позволяет делать текстуальные и аудио-комменты
код? замечания оформляются в виде комментов, и сразу попадают в сорс-контрол
N>- что-то вписывать, вычёркивать, обводить и рисовать стрелочки для перестановки...
это рефакторинг что-ли? бугага
N>- держать перед собой одновременно несколько кусков кода из разных частей одного файла — на разных листах — не переключая и в нормальном размере, легко поворачивая в любую сторону
давно мечтал работать на 2 мониторах — и теперь моя мечта исполнилась...
никаких shift-alt-enter (переключение к полноэкранному виду): главный экран — код, на втором — все вспомогательное (иерархия классов например)
N>Никакие браузеры и суперредакторы с подсветками и свёртками не дадут такого удобства для _анализа_ текста программы.
да, особенно такого удобства не даст суперредактор с автоматизированной навигацией
передовые чуваки давно прохавали и другую фишку — разбираясь в коде, можно сразу делать рефакторинг (один известный чел так утверждает, скажем так)
N>Ну а потом можно и в IDE лезть — для набивки, компиляции и отладки.
конечно, никто не отменял предварительного этапа продумывания архитектуры/алгоритмов,
но мне страшно представить килограммы кода, которые нужно распечатать, только чтобы суть ухватить...
N>Там, где он, разумеется, применим С моими сетевыми демонами толку от него как зайцу от стоп-сигнала...
сетевым демонам не поможет искусственно созданная (сетевая) тест-среда? (подробней об этом QA-технологи рассказать могут)
N>В общем, каждому овощу своё место. И где ты нашёл невозможность понимания — ХЗ.
я тож в этом плане не понимаю олдскула
это как как спор о блок-диаграммах, сколько ни спорили о их целесообразности, все равно их никто не применяет
N>P.S. 80-е годы были уже временами массового распространения IDE... всё было.
вот здесь основной прикол — IDE как незаменимая по существу вещь появилась только на рубеже столетий — вместе с jetbrain'овской средой для жабы, автоматизирующей рефакторинг, автокомплит и навигацию
и со мной по этому поводу спорить нечего (спорьте сразу с Фаулером лучше)
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Programmierer AG, Вы писали:
PA>>Например, недетерминизм из Пролога/Mercury.
VD>Можно было сказать проще. Он вообще не поддерживает (по крайней мере напрямую) логического программирования. Но есть мнение, что его можно эмулировать. Как в прочем и мнение, что оно эффективно только в узком кругу задач и не имеется реально эффектвного способа производить универсальные логические выводы.
Здравствуйте, PhantomIvan, Вы писали:
PI>а в будущем будут другие (нелибовые) фигни типа wpf, к которым немерле уже не получит интеграции
Да нет, тут все не так плохо, wpf — он языконезависимый, код там генерируется через тот же CodeDom, CodeDom генератор у нас в компиляторе есть, так что добавить поддержку wpf — не так уж и сложно.
Здравствуйте, netch80, Вы писали:
N>Распечатка крайне полезна, когда надо или изучить чужой незнакомый код, или внимательно пройтись логическим лобзиком по своему коду.
В корне не согласен.
Более того — это неэкологично (лишняя трата бумаги) и трата ресурсов картриджа.
И лишний мусор.
N> На экран всё что нужно всё равно не влезет.
Зависит от размера экрана (а в принципе — нескольких экранов).
N> А так удобно: N>- сесть где-то в уютном месте (оторвавшись от монитора)
Уютное место может быть недалеко от монитора, который может быть и мобильным (в т.ч. и ноутбук).
N> со стопкой бумаги
с толстой такой стопкой.
N>- взять ручку и писать рядом с текстом свои замечания N>- что-то вписывать, вычёркивать, обводить и рисовать стрелочки для перестановки...
то же самое можно делать с помощью TabletPC/планшета, текст вбивать удобнее с клавиатуры.
N>- держать перед собой одновременно несколько кусков кода из разных частей одного файла — на разных листах — не переключая и в нормальном размере, легко поворачивая в любую сторону
Хм, вроде поворачивать код вверх ногами или вбок не имеет смысла
N>Никакие браузеры и суперредакторы с подсветками и свёртками не дадут такого удобства для _анализа_ текста программы.
Вот с этим категорически не согласен.
Хорошая IDE позволяет
1) при наведении на переменную указывает тип, на функцию — ее краткое описание
2) мгновенно (по клику или нажатию клавиши) позволяет перейти в место определения этой переменной
3) мгновенно (по клику или нажатию клавиши) позволяет перейти к типу этой переменной
4) содержит базу данных классов использующихся в программе, с описаниями полей и методов.
5) мгновенно (по клику или нажатию клавиши) позволяет перейти к документации описывающей данный класс/метод/тип.
И это только + для анализа, не затрагивая + для кодирования.
рыться в стопке бумаг для того чтобы понять где-чего... Не понимаю
N>P.S. Кстати о ЕС'ках: простыни — понятно, но 80-е годы были уже временами массового распространения IDE, хоть они так и не назывались. Primus, JEC, Vector и прочие — чем они существенно хуже современных IDE? Показать ошибку не могут — это да, приходилось распечатку вывода компилятора ловить с принтера. А отредактировать текст не выходя из редактора, сохранить, запустить задание компиляции, то же — выполнения, сформировать данные на входе, посмотреть данные на выходе (если поданы в раздел библиотеки, сиречь файл по тогдашнему) — всё было.
Intellisense, Динамической помощи, мгновенного показа ошибок, дизайнеров GUI, рефакторинга не было насколько я понимаю (впрочем я тогда пешком под стол ходил ).
E>Там нет ни грамма изменения синтаксиса языка. Ни одного нового ключевого слова или конструкции в язык добавлено не было.
вообще, насколько я сейчас понимаю статус кво, макросистема Немерле пододвигает этот, чисто статический, язык намного ближе к динамике, чем того желают, может быть, динамщики...
к примеру, я кидал снипеты немерле пхп-исту (старому пхписту, которого сейчас насильно пересадили на асп.нет и он страшно ругается), и после вот такого макрос-поверед снипета:
WriteLine($"Saving entries ($(entries.Length) elements) at path $path");
старый пхпист воскликнул: "ё, да ведь это же спиж*ено из PHP!"
"да", — ответил я, — "и очень удачно, по-мойму, спиж*ено"...
конечно, динамщикам, им есть о чем обеспокоится: пришёл вот такой вот
очень элегантный зверь по кличке немерле,
и стучиться статическими рогами им в дверь... но они держат дверь, и кричат изнутри "не пущу! динамика возможна только на интерпретаторе"
вот, как я сейчас понимаю, основная аппетитность Немерле — в возможности статической реализации многих чисто динамических (как казалось ранее) трюков
вот, снипет напоследок:
тильда сигнализирует компайлеру, что нужно включить мой макрос, который разбирает выражения в некотором таком вот виде
этот макрос разберет выражение (в компайл-тайме), проверит его на синтаксическую корректность, и подставит вместо всего выражения (статически создаваемый) список токенов
— типичная демонстрация DSL-эмбеддинга, но синтаксис становится более "родным" — я выполняю чекинг в компайл-тайм
Согласен.
N>P.S. Чуть оффтопик — на оном сборище в городе-герое Бухаресте перед нами выступал некто Линус Торвальдс и грузил рассказом какая хорошая штука линукс Впрочем, так как это был конец 94-го, никто его тут серьёзно не воспринимал... зачем нужен линукс я узнал на два года позже
И зачем же?
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Здравствуйте, PhantomIvan, Вы писали:
E>>Там нет ни грамма изменения синтаксиса языка. Ни одного нового ключевого слова или конструкции в язык добавлено не было.
<...поскипано...> PI>вот, как я сейчас понимаю, основная аппетитность Немерле — в возможности статической реализации многих чисто динамических (как казалось ранее) трюков
<...поскипано...> PI>- типичная демонстрация DSL-эмбеддинга, но синтаксис становится более "родным" — я выполняю чекинг в компайл-тайм
Извини, но ты высказался в данном случае совсем не в тему. Речь шла о том, что конструкция:
Вообще любой встроенный DSL в Ruby -- это всего лишь программа в стандартном синтаксисе Ruby, которая выполняет обращения к какому-то специализированному API.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Здравствуйте, netch80, Вы писали:
N>>Распечатка крайне полезна, когда надо или изучить чужой незнакомый код, или внимательно пройтись логическим лобзиком по своему коду. АХ>В корне не согласен. АХ>Более того — это неэкологично (лишняя трата бумаги) и трата ресурсов картриджа. АХ>И лишний мусор.
Бумага по моему тоже лишнее. Но в случае если надо разбиратся с большим количеством чужого кода то IDE по моему тоже не лучший вариант. Лично для меня самое удобное это сгенерированная с полным листингом и со всеми включенными фичами (типа диаграмм классов и вызовов) doxygen документация. Даже если нет спец. комментариев то за счет удобства навигации (все на гиперссылках) и катологизации гораздо удобнее чем IDE.
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Здравствуйте, netch80, Вы писали:
N>>Распечатка крайне полезна, когда надо или изучить чужой незнакомый код, или внимательно пройтись логическим лобзиком по своему коду. АХ>В корне не согласен. АХ>Более того — это неэкологично (лишняя трата бумаги) и трата ресурсов картриджа. АХ>И лишний мусор.
Этой траты в сотни раз меньше, чем печатать Донцову:) А пользы — больше.
Так что если Вам лично распечатка не помогает думать над кодом (охотно готов поверить), то лучше было просто сказать что такое работает не для всех (а я и так писал свой личный опыт), вместо того чтобы рассуждать про экологию:) Мне, может, это поможет для экологии больше чем если я буду пялиться в экран пока компьютер жрёт ток.
Впрочем, я подозреваю, что Вы никогда по-серьёзному и не пробовали работать с кодом на бумаге.:) Дело ведь не во всяких средствах типа "вызвать код", которые Вы рекламируете ниже. Дело в первую очередь в возможности писать на бумаге пометки. А что писать в пометки — можно и через эти суперкодобраузеры посмотреть.
N>> со стопкой бумаги АХ>с толстой такой стопкой.
Обычно ключевое место вряд ли растягивается больше чем на 30 страниц.
N>>- взять ручку и писать рядом с текстом свои замечания N>>- что-то вписывать, вычёркивать, обводить и рисовать стрелочки для перестановки...:) АХ>то же самое можно делать с помощью TabletPC/планшета, текст вбивать удобнее с клавиатуры.
А мне удобнее ручкой писать в таких случаях:) А Вы тот текст куда втиснете? Он мешать будет. А тут — чётко видно — вот это напечатано, а вот это — ручкой написано.
N>>- держать перед собой одновременно несколько кусков кода из разных частей одного файла — на разных листах — не переключая и в нормальном размере, легко поворачивая в любую сторону АХ>Хм, вроде поворачивать код вверх ногами или вбок не имеет смысла :)
Вбок — имеет.
N>>Никакие браузеры и суперредакторы с подсветками и свёртками не дадут такого удобства для _анализа_ текста программы. АХ>Вот с этим категорически не согласен. АХ>Хорошая IDE позволяет АХ>1) при наведении на переменную указывает тип, на функцию — ее краткое описание АХ>2) мгновенно (по клику или нажатию клавиши) позволяет перейти в место определения этой переменной АХ>3) мгновенно (по клику или нажатию клавиши) позволяет перейти к типу этой переменной АХ>4) содержит базу данных классов использующихся в программе, с описаниями полей и методов. АХ>5) мгновенно (по клику или нажатию клавиши) позволяет перейти к документации описывающей данный класс/метод/тип. АХ>И это только + для анализа, не затрагивая + для кодирования.
Это всё понятно, но это внешние связи кода. А я про внутренние. В моей практике они важнее. Вообще, перечисленный Вами список сильно специфичен для всяких C++. А я уже не помню, когда в последний раз на нём что-то писал:)
N>>P.S. Кстати о ЕС'ках: простыни — понятно, но 80-е годы были уже временами массового распространения IDE, хоть они так и не назывались. Primus, JEC, Vector и прочие — чем они существенно хуже современных IDE? Показать ошибку не могут — это да, приходилось распечатку вывода компилятора ловить с принтера. А отредактировать текст не выходя из редактора, сохранить, запустить задание компиляции, то же — выполнения, сформировать данные на входе, посмотреть данные на выходе (если поданы в раздел библиотеки, сиречь файл по тогдашнему) — всё было. АХ>Intellisense, Динамической помощи, мгновенного показа ошибок, дизайнеров GUI, рефакторинга не было насколько я понимаю (впрочем я тогда пешком под стол ходил :) ).
Не было. Но и таких кошмаров как C++ практически не было.:)))
очень элегантный зверь по кличке немерле, PI>и стучиться статическими рогами им в дверь... но они держат дверь, и кричат изнутри "не пущу! динамика возможна только на интерпретаторе"
Этот зверек немного опоздал, для таких зубров как Хаскель и Клеан уже давно ни существует ни каких дверей. Да и с другой стороны баррикад есть интересные зверюшки есть, например Dylan. Да даже такая мирная змеюшка как питон со своим PyPy начал ломать дверь с другой стороны и претендовать на вражескую территорию
Так что надо смотреть по сторонам а не циклится только на любимой зверюшке.
Здравствуйте, FR, Вы писали:
FR>Здравствуйте, VladD2, Вы писали:
VD>>Здравствуйте, FR, Вы писали:
FR>>>Питон тоже позволяет и даже добавлен и даже до того как на свет появились Скала и Немерле
VD>>Раз так, то было бы интересно и полезно если кто-нибудь (не будем показывать пальцем) описал бы его возможности. Провел бы тесты. И привел бы примеры исползования. Если бы это было оформлено в виде статьи, то было бы вообще круто.
FR>Попробую, но как я понимаю нужны сравнительные тесты. Вообще неплохо бы устроить соревнование между языками так скажем по "паралельному программированию" с оценкой по легкости и понятности программирования и по производительности.
Тут где-то Mirrorer предлагал замутить что-то подобное, но кроме покера ничего не родилось из идей, на каких кошках пробовать
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, PhantomIvan, Вы писали:
PI>>то есть ты не используешь немерле, только из-за того, что тебе не нравится Влад?
VD>Нет конечно. У него есть несколко на то обстоятельств. От лени, ло привычек к другим платформам/языкам. Но с Владом приятно спорить. Да и хорошее оправдание для себя же. Мол вот кро виноват в том, что мне влом попробовать новое.
Так я попробовал, в отличии от вас меня от него так не прет (на вас похоже действует как наркотик), теперь что давится и жрать то что не нравится?
Читать и понимать большинство примеров на немерле я могу, большего мне пока не нужно. Было бы побольше времени я бы лучше Хаскель всеръез изучил.
FR>>Попробую, но как я понимаю нужны сравнительные тесты. Вообще неплохо бы устроить соревнование между языками так скажем по "паралельному программированию" с оценкой по легкости и понятности программирования и по производительности.
К>Тут где-то Mirrorer предлагал замутить что-то подобное, но кроме покера ничего не родилось из идей, на каких кошках пробовать
Здравствуйте, Mirrorer, Вы писали:
К>>Тут где-то Mirrorer предлагал замутить что-то подобное, но кроме покера ничего не родилось из идей, на каких кошках пробовать
M>Re[4]: Перевод "Getting Started With Erlang"
Только не понятно что именно там имеется в виду под "покер".
Каждый поток играет в карты за себя?
Может стоит начать с каких-нибудь более простых хоть синтетических тестов?