Здравствуйте, FDSC, Вы писали:
FDS>Скорее всего "майнстрим" выбирает самые лучшие решения. Вопрос только в том, что считать самым лучшим
О, да... Мэйнстрим... Мэйнстрим... Это, пнимаете, высокая философия наверно. А проще, я как все. Приятно знать, что я при этом самый умный и выбираю самое лучшее . Ну дык. Этож додуматься надо — делать как все. Не каждый, поди, сообразит, что надо как все. Это ж мозг нужон. Черт его знает, что мэйнстрим выбирает, короче. Но скорее всего самое лучшее, мэйнстрим-то не дурак.
Здравствуйте, quadrochups, Вы писали:
Q>Quadro>>Я на выходных немного поковырял Смоллток и пришёл к выводу — всё таки нужен ДРУГОЙ язык. Ибо мозги у меня нормальные и когда я читаю "если условие, то сделать то-то", это более понимаемо, чем "условие :ЕслиДа делать то-то".
ANS>>В корне не верно! Читать нужно не "условие :ЕслиДа делать то-то", а ....
Q>К сожалению, ваше мышление уже исковеркано — как вы можете мне объяснять как надо читать? Я, слава небу, русский, знаю немного английский и Си.
Он может объяснить тебе, как надо читать, потому что он, слава богу, великолепно владеет обоими языками — владение Смоллтоком почему-то не мешает ему прекрасно понимать и использовать С. Умеет, поэтому и может. Вот ты — не умеешь, поэтому и не можешь. Что не так? У кого-то, к сожалению, мозги исковерканы?
Здравствуйте, Sinclair, Вы писали:
S>Я в курсе. У МС вообще в этом плане политика достаточно закрытая. Есть масса заинтерналенного кода, который был бы крайне полезен при написании приложений.
А с какой целью приводил?
VD>>И что ты показать хотел? То что кто-то сделал внутри библиотеки поля с прекомпилирвоанными регексами? S>Что кто-то считает, что проще применять регекс как черный ящик.
Кто?
VD>>Это как-то опровергает мои слова? S>Нет. А ты думаешь, что все тебя только и хотят опровергнуть?
Так какова цель твоего сообщения? Вы там гуляте что ли?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FDSC, Вы писали:
ГВ>>Вот! Правильно. По критериям, необходимым для выживания компании. Наличие готовых недорогих специалистов — не самый малозначительный из них. Ergo, имеются серьёзные предпосылки выбора майнстрим-языка по критериям, не связанным с адекватностью этого языка задаче.
FDS>А почему "дорогие" специалисты не могут объединиться и сделать стартап?
Ты поинтересуйся какой процент стартапов доживает хотя бы до окупаемости затраченных на них средств.
Здравствуйте, FR, Вы писали:
FR>Здравствуйте, FDSC, Вы писали:
ГВ>>>Вот! Правильно. По критериям, необходимым для выживания компании. Наличие готовых недорогих специалистов — не самый малозначительный из них. Ergo, имеются серьёзные предпосылки выбора майнстрим-языка по критериям, не связанным с адекватностью этого языка задаче.
FDS>>А почему "дорогие" специалисты не могут объединиться и сделать стартап?
FR>Ты поинтересуйся какой процент стартапов доживает хотя бы до окупаемости затраченных на них средств.
Есть люди, которые занимаются только стартапами. Так что тут дело не в проценте
V>>ставлю на то, что в личной беседе ты бы не рискнул вставить этот и ему подобные обороты
Д>ты так думаешь?
Если тебе нравится хамить людям, то можно это сделать хотя бы приватом. Если же вопрос по существу, т.е. тебе важен ответ — то он таков: уверен. В любом случае без личной встречи качественно пободаться не получиться, а заочно у меня есть некие субъективные основания так предполагать.
Здравствуйте, FDSC, Вы писали:
К>>Ты не с той стороны смотришь, тебе как пользователю автокада глубоко пофигу на чём там что написано — лишь бы работало, а вот если бы ты был автором — было бы совсем иначе
FDS>Это вы не поняли: ведь AutoCAD не на лисп написан. Это скрипты для AutoCAD пишутся на ЛИСП и мне, как пользователю это не всё равно, потому что скриптовый язык я должен знать.
У скриптового языка должна быть возможность легкой интеграции с высокооптимизированным бинарным кодом. Технология Лисп-машин это позволяет. Безглючное VBA (мощная альтернатива на том же поле) появилось только ближе к 5-й версии Internet Explorer.
Здравствуйте, FDSC, Вы писали:
FDS> После тридцатого прочтения текста я, наконец, понял, что программе нужна сборка Nemerle.dll, а её нет в GAC. Тупею, тупею...
Вот и я о том же.
Но в ГАК ее лучше не класть. Просто положи рядом с ехе-шником.
FDS>Видать, у нас принципиально различные точки зрения. Для меня проще сделать вывод из документации, а если уж совсем плохо — тогда на форум.
Так и есть. Но у тебя вопросы скорее позновательные.
FDS> А в Nemerle практически только примеры и есть. Номальный файл описания очень помогает всё-таки, больше чем форум или разрозненная справка. (ну, не д ля спора сказано). Разве там есть описание обработки синтаксического дерева?
Кое что есть. Но в полном объеме конечно такой документации вообще ни для какого языка не найдешь. Слава богу не обязательно знать все кишки компилятора, чтобы писать макросы можно исползовать квази-цитирование.
FDS>Не видел ещё не одного вопроса по C#, на который нельзя было бы ответить после внимательного чтения спецификации (на это, правда, не все способны). Форумные вопросы в принципе должны возникать только от нестандартной реализации и багов (по крайней мере, что касается C#).
Значит плохо смотрел. Я сам иногда нахожу интересные ответы хотя казалось бы многие спецификации дотнета знаю чуть ли на изусть.
FDS>Не дошло. В Delphi можно так FDS>
У функций Немерла два основных отличий.
1. Их функции являются полноценными лексическими замыканиями. Так что ты можешь использовать напрямую все переменные и функции объявленные выше данной. Например:
usung System.Console;
mutable x = 5;
def add(a, b) { a + b }
def addX(c) { add(c, x); }
WriteLine(addX(2));
2. Функции в Немерле являются значениями. Над ними можно совершать преобразования. В общем-то пример выше как раз это показал, но не очень явно. А вот как можно:
usung System.Console;
mutable x = 5;
def add(a, b) { a + b }
def addX = add(x, _);
WriteLine(addX(2));
FDS> Опять же, в каком документе это описано? Этот язык, наверное, в несколько раз круче, чем я о нём думаю, и всё только потому, что документация чёрт знает как оформлена. Эх, ну почему они не из Microsoft?!
Статья сделана по их сайту. Там конечно есть не все, но очень многое. Да и в статье есть многое и в одном месте.
FDS>С вашей интеграцией не так, что нужна последняя версия VSIP SDK. Насколько я понимаю, по Dial-Up её не скачать.
Скоро все будет ОК. У нас уже есть так называемый PLK который позволит сделать инсталлятор. Но надо кое что доделать.
FDS>С "простой" интеграцией: FDS>Ну, например, переменная среды Nemerle содержала путь в одинарных кавычках, из-за чего все пути с ней были невалидны. После того, как я убрал кавычки по крайней мере стало возможным создавать проекты.
Да, есть такая проблема. Она уже исправлена, но в инсталляторе конечно все по старому.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Klapaucius, Вы писали:
K>Я в данном случае никого не осуждаю, я согласен, что оставлять глупость непрокомментированной зачастую не хочется. K>Однако, я считаю, что было бы очень наивным считать, что делая это Вы уберегаете общество от роста популяции дураков.
"Делай что должно и будь, что будет." (c)
<< Под музыку: Blackmoore's Night — Minstrel Hall >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
VD>Не правда. Бьюсь об заклад, что на том же Nemerle напишу код который в среднем будет превосходить по выразительности, краткости и понятности Смолтоковский. Об производительности и говорить не приходится.
Ну вот тогда и пример метода ( в двойных апострофах коменты)
"есть ли хоть какой-то элемент в массиве чисел соответствующий хитрому условию"
"если хоть один есть вернуть true иначе false"
checkCondition
| a | "объявил переменную"
a:= self взятьОткудаТоМассив. "в переменную a присвоили массив чисел (в общем случае тип массива неизвестен"
" т.е. может оказаться массив, или LinkedList или еще что-то подобное, главное что у массива будет метод-итератор do: "
"Делаем пробег по массиву, в блоке кода передаваемому методу do: в параметре each будут приходить "
" элементы массива. "
"Каждый элемент проверяем какой-то хитрой булевской функцией. Как тока встретился первый подходящий "
"итерацию по массиву заканчиваем и выходим из метода с результатом - true"
a do: [ :each | ( each isBitSet: 3 ) еслиДа: [^true] ].
"весь массив обошли, но подходящего элемента не встретили, вертаем - false"
^false
тоже, но без коментов
checkCondition
|a|
a := self взятьОткудаТоМассив.
a do: [ :each | (each isBitSet: 3 ) еслиДа: [^true] ].
^false
Да обязательное условие, метод-итератор массива принимает блок кода.
ну дак обложить обработкой ошибок, тем более если передан внешний блок кода, то существует вероятность что там может возникнуть эксепшн. А нелокальный возврат это фактически "особый" эксепшен.
K>И осуждение бездумного следования за меньшинством никак не является пропагандой бездумного следования за большинством. И наоборот. K>Это доступно?
Является, к сожалению. У характеристики "меньшинство/большинство" всего 2 значения.
K>Численность группы не обязана коррелировать с правотой воззрений этой группы.
Хоть и верно но вообще не в тему. В том смысле что не доказывает и не опровергает ни чьей стороны, нейтральное громкое высказывание.
--------
А вообще, мейнстрим не зря все время ругают. Мейнстрим — это средний и мелкий бизнес. Это потребность получить максимум отдачи при минимум вложениях. "Минимум вложения" — это ключевое слово, это как таковое условие существования мелкого бизнеса, и оно все объясняет. Менеджеры набирают минимально грамотный личный состав, достаточный для выполнения какого-либо проекта (уже акцентировал внимание на этом) ввиду экономии на ЗП. Давным-давно никто не пытается набрать самых лучших и сделать что-либо действительно хорошее. Сегодня рулят решения по-месту, и блин, это при том, что классов задач до смешного мало. Такое распыление сил, такая непроизводительная потеря человекочасов программистким сообществом на изготовление сотен тысяч одинаковых по-сути софтин (и одинаково слабых, разумеется, при таком распылении усилий). В общем, такой подход, ИМХО, тормозит развитие выч.области как таковой. Взять буквально еще 15-20 лет назад, программистов было на 2 порядка меньше, но они умудрялись двигать IT ничуть не медленнее чем сейчас (если не быстрее). И окупаемость была гораздо выше. Почти все очень грамотные IT-люди того времени сейчас весьма состоятельные люди. А сегодня грамотные IT-люди чуствуют себя лишними на этом празднике жизни. Ибо сегодня творцу не надо уметь готовить невообразимые уникальные блюда для честного и большого заработка. Напротив, необходимо демонстрировать умение быстрее всех чистить картошку. Если будут оставаться силы и время, то по ночам еще можно мастерить автомат для чистки картошки, но опять же, блин, не особо разгуляешься, ибо платят только за картошку, и чистить ее надо очень много, чтобы содержать себя и семью. Так и лежат у каждого в сарае недоделанные близкие сердцу картофелерезки. А через очередные 5 лет полностью меняется формат картошки, она теперь квадратная, требует еще меньше уникальных навыков даже для этого нехитрого действа по ее очистке. Но спроектированный автомат уже явно не стольо эффективен для квадратных картошек. Для них, квадратных, автомат можно построить на совсем других принципах. Засада, как всегда, приходит не с той стороны.
-------
Взять еще, например, дотнет. Кто мешал сделать раньше подобную компонентную модель? Что, блин, байт-код медлено выполнялся на том железе? А он вообще нужен был ранее? А сейчас сильно нужен? Переносимости на уровне исходников хватает за глаза любому более-менее серьезному проекту, нет проблемы скомпилить под требуемую платформу. Или кто-то не может обойтись без универсального емита? Ерунда, бэк-енд компилятора пользовать удобнее гораздо. А фронт-енд еще удобнее
Ответ в том, что никому нахрен не нужно двигать никакую инженерную мысль, а надо двигать собственный бизнес, и ничего кроме него. Отсюда имеем наложение кучи левых требований к софту и уменьшение приоритета действительно интересных и нужных (с т.з. полезности для сообщества) требований и фич. Действительно интересный и известный здесь (благодяря Владу) проект Nemerle вырос из чистых академических интересов, и положительный результат на лице, как говорится. Жаль, что выбор платформ для реализации тех идей не велик сейчас, и к тому же все две сидят поверх байт-кода (что совершенно не является необходимым для идей Nemerle). Почему-то есть твердая уверенность, что Nemerle никогда не станет мейнстримом, ибо он не отвечает требованию: "дешевый личный состав". В лучшем случае станет мощным инструментом для профессионалов и то, не ранее, чем обрастет вменяемым и неглючным окружением для разработки (не камень ни в чей огород, просто озвучка "мнения зала").
Здравствуйте, Gaperton, Вы писали:
FDS>>Скорее всего "майнстрим" выбирает самые лучшие решения. Вопрос только в том, что считать самым лучшим
G>О, да... Мэйнстрим... Мэйнстрим... Это, пнимаете, высокая философия наверно. А проще, я как все. Приятно знать, что я при этом самый умный и выбираю самое лучшее . Ну дык. Этож додуматься надо — делать как все. Не каждый, поди, сообразит, что надо как все. Это ж мозг нужон. Черт его знает, что мэйнстрим выбирает, короче. Но скорее всего самое лучшее, мэйнстрим-то не дурак.
Молодец, соображаешь! Когда хочешь...
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Курилка, Вы писали:
К>Задача хорошего языка — легко и удобно выражать мысли программиста так, чтобы их понимал компьютер. Или у тебя есть какие-то другие идеи?
У меня другие. Компьютер без проблем понимает тупой язык вроде ассемблера. Так что я пишу код для других людеф и для себя в частности. Ну, а то что этот язык понимает и компьютер (точнее компилятор) это уже частности.
Это я к тому, что клавное в языке выразительность для программиста.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, vdimas, Вы писали:
V>У скриптового языка должна быть возможность легкой интеграции с высокооптимизированным бинарным кодом. Технология Лисп-машин это позволяет. Безглючное VBA (мощная альтернатива на том же поле) появилось только ближе к 5-й версии Internet Explorer.
Ради спроведливости... VBA это Офис... Ворд, Эксель... но никак не Internet Explorer.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Правильно. Пытаться определить ценность высказываний по количеству того, что человек ранее сделал — неверна by design. Тут много всего сразу примешивается: от апелляций к личности до аргументации опытом.
Ген, ты бы хоть что-то по какму-нибудь делу сказал. Твои упражнения в софистики уже приелись.
Это говно тебя же и оскорбляло, а ты его защищаешь только чтобы с кем-то поспорить. Ты просто подумай о маразме ситуации!
Мы тут с IT во всю колбасим на языке котрый Lisp за предка считает и пытаемся оградить общество от хмаов, а ты оправдываешь былдогея который тебя же (мэйнстрим-С++-программиста) с дерьмом сравнивает. Тебе не странно?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Andrei N.Sobchuck, Вы писали:
FDS>>Приведите мне такой случай для языка со строгой статической типизацией.
ANS>_Ты_ и Влад сказали, что это возможно вы и приводите.
Привожу случаи%: 1, 2342, 2, 1234, 4, далее с частотой 1/2.
Опровергай...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[29]: Статическое обнаружение ошибки передачи блока в retu
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Здравствуйте, FDSC, Вы писали:
FDS>>1. Язык статически типизирован и нельзя просто сослаться на некоторый участок памяти, который содержит неизвестный нам объект
ANS>Тогда откуда берётся NullPointerException ?
Не контролируется пока. Но тут просая математика. Чем меньше контрль, тем больше проблем. В Spec# и Nemerle NullPointerException уже потихоньку конролируются. Глядишь дальше будут и в других местах котролироваться. В ML воообще без null решили жить.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.