Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять), C, C++ и немножко Delphi. Ну ещё выучил Lisp чтобы на досуге развлекаться. Но какт всегда думал что в общем-то пофиг managed/unmanaged, инструмент и есть инструмент.
В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".
Сначала думал что эт касается только людей от природы не крепких духом. Но вот прочитал разительное на мой взгляд сообщение:
Это же чудовищно. VladD2 — несомненно умный человек, автор большого количества интересных статей и сообщений. Мы все его уважаем и т.д.. Но не справиться с парой строк кода на примитивном и в общем-то берущем почти всё на себя Delphi — это финиш. Эт значит человека нужно брать и заново учить, писать код он уже явно не может.
В общем я подумал надо всем этим и сейчас склоняюсь ко мнению что надо держаться до последнего и не давать себя пересаживать на "иглу" виртуальных машин и GC. До сих пор делал эт интуитивно, теперь думаю делать это сознательно. Потому что мне страшно.
Разубедите меня.
P.S. Я думаю очень скоро тенденции рынка пересадят на Java/C# громадное количество программистов во всяких банковских и прочих сферах, которые медленно но верно деградируют там до уровня "VB-кодеров" и "1С-программистов". Что освободит рынок где требуются профессионалы для настоящей разработки и создаст чудовищный кадровый голод на действительно понимающих людей. Такчт пора освежать скиллы в pure C.
P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
Re: Неужели управляемые языки действительно так отупляют?
Вот уже много лет наблюдаю совершенно ужасную тенденцию: человек заканчивает Физфак или Матфак и из-за денег или просто по воле безжалостного рока начинает программировать. Да-да, Вы не ослишались. Свободный разум, витающий в эмпиреях функционального анализа и дифференциальной геометрии обрушивается прямо в адъ навстречу асмам, рихтерам сиплюсплюсам и вбиванию битов. Я и сам через это прошел. Просто физически ощущаешь, как твой неокортекс съеживается, усыхает, ты забываешь всю математику, в плоть до какой-то совершенной элементарщины вроде вычетов, забываешь квантовую механику, забываешь даже что такое неокортекс. Но где-то во тьме, на дне расплющенного разума теплится еще надежда, что это не для всех, не везде, не навсегда! Что придет новая весна, и мощный поток смоет всю эту низкоуровневую шелуху и человеческий разум воссияет вновь, во всем своем величии.
Чтобы не мучить читателя, сразу скажу, что надежды эти не напрасны.
В нашем зашореном, плюс-плюс-дегенеративном сообществе программистов зреют, набирают силы ростки нового мира. Дивного нового мира, я бы сказал. Вы сомневаетесь? Вам нужны доказательства? Они у меня есть. Вот фрагмент поста rsdn.ru, автор lomeo:
Вопрос:
1) Что есть фолд?
Тот факт, что фолд подчиняется некоторым очевидным законам — навевает мысли о том, что это какая-то сущность из абстрактной алгебры.
Спрашивали-отвечаем:
Катаморфизм, ссылку на Meijer-а уже дали.
Вкратце, это из теории категорий. Я её не знаю (как большинство, листал по диагонали), поэтому своими словами.
Сначала общее определение.
F-алгебра эндофунктора F (т.е. функтора из категории в саму себя) — это пара объект A из категории C и морфизма FA -> A. Функтор F, разумеется, из категории C в C.
Катаморфизм — это такой гомоморфизм f initial F-алгебры (A,a) в F-алгебру (B,b) (оба объекта, несмотря на то, что сами являются категориями входят в общую категорию F-алгебр), где
f . а = b . Ff
Если проверить по морфизмам "отсюда-туда", то всё сходится: f . a — это морфизм FA -> B, морфизм b . Ff тоже.
Сильное впечатление производит фраза:
Вкратце, это из теории категорий. Я её не знаю (как большинство, листал по диагонали), поэтому своими словами.
Чувствуете, в чем мощь атома? Это вам не "глупый вопрос про виртуальные функции".
Да, господа, хочется жить и жить!
... << RSDN@Home 1.2.0 alpha rev. 677>>
'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
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Здравствуйте, Delight, Вы писали:
D>>Люди пересаживаются на иномарки и забывают как разобрать-собрать двигатель. D>>ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более D>>высокие уровни абстракции. А на старые при необходимости вернуться хоть и не D>>элементарно, но вполне можно.
T>Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо.
Блин, STL и Boost — это для недоразвитых даунов. Это юрдоство с признаками фунционального стиля. Меж тем есть языки которые повзолят писать в этом стиле. Причем получается это просто великолепно!
T>Мне вот наверное всё-таки придётся выучить хотя бы один управляемый язык просто чтобы поставить эксперимент: берём алгоритм с теоретическим O(f(N)) по памяти, гоняем его реализацию на большом объёме тестовых данных с детерминированным управлением памятью, замеряем реальные расходы, оцениваем константы Cmin и Cmax для данной платформы, потом то же самое со сборщиком мусора, снова замеряем реальный расход памяти и смотрим, осталось у нас рассчётное O(f(N)) или реально стало уже O(g(N)) и куда уползли константы. Я почемут очень подозреваю что недетерминированность в управлении памятью может отражаться на базовых свойствах вычислений как таковых, особенно если научится специально подбирать выборки так чтобы сборщик мусора на них ломался. Например как поведёт себя автоматическое управление памятью, когда мы подойдём к физическому пределу памяти на машине?
Где ты был последние 7 лет? Мы тут лет 5 назад очень увлекались замерами. Вывод оказался очень интересным. В умалых руках "недетерминированное", по твоим словам (а реально — автоматическое), управление памтью ничуть не мешает созданию быстрых алгоритмов. А от его отсуствие резко снижает потенциал порграммиста.
Ты говоришь о том, в чем вообще не разбирашся. К чему слова "Я почемут очень подозреваю" когда есть реальные цифры и даже реальные приложения?
На управляемых языках написаны такие ресурсоемкие приложения как копиляторы. Работают они отлично. При этом их код во много раз меньше и понятнее нежели аналогичный код на С++. Более того, только благодаря этим языкам эти компиляторы на порядок превосходят то, что могут сделать компиляторы С++. Точнее речь о языках, но ведь язык без компилятор — это ничто. А компилятор действительно сложного языка — это на сегодня настоящее произведение искуств. Люди с С++-ным мышлением даже не подозревают насколько высокоинтеллектуальны компиляторы других языков.
T>Кстати про алгоритмы этих сборщиков тоже надо почитать.
Да, уж. Очень советую. Весьма интересное чтиво. Куда интереснее чем примитивно творение Рихтера о NT. Там действительно нехилые алгоритмы. Они увлекательны для тех кто в силах их понять.
T> Но здесь я жду следующего стандарта C++, когда GC можно будет попробовать в отрыве от виртуальной машины. И без отрыва от любимого языка. Тогда и займусь этим плотней.
С++ не совместим с приличным ЖЦ. Если ты почиташь об алгоритмах ЖЦ, то поймешь, что такое точные ЖЦ и что из этого выливается.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Неужели управляемые языки действительно так отупляют?
А еще, я заметил, что все больше рабочих переходит от старых добрых кувалд на отбойные молотки! Это ужасно! У людей дома появились шуруповерты, они не пользуются отвертками! Черт возьми, люди разучились запрягать лошадей, отдали предпочтение каким-то авто!
Это ведь здорово, что можно думать о более глобальных вещах, нежели освобождение памяти. Программист пишет проги не ради процесса, а чтобы решить определенную задачу, и, если задача на Net-е решается в сотни а то и тысячи раз быстрее, чем на асме, глупо этим не воспользоваться. Вобщем, под каждую задачу — свой инструмент.
А по поводу "тупения" — просто другой уровень. Мыление более абстрактное. Человек может не помнить детали распределения памяти (просто потому что это не нужно), но быстро находить ООП решения, применять паттрены, писать правильный код, которые не Write-only, или бысто находить бесплатные компоненты, которые решают его задачу
Re: Неужели управляемые языки действительно так отупляют?
T>Это же чудовищно. VladD2 — несомненно умный человек, автор большого количества интересных статей и сообщений. Мы все его уважаем и т.д.. Но не справиться с парой строк кода на примитивном и в общем-то берущем почти всё на себя Delphi — это финиш.
Кто сказал, что я не справился? Справился. Только получил массу негативных ощущений. Конечно Дельфи я забыл уже довольно основательно (последний раз использовал ее в 1998-ом), но не настолко, чтобы не сделать задачку за студента.
T>Эт значит человека нужно брать и заново учить, писать код он уже явно не может.
Это значит, что Дельфи, по крайней мере та что не .NET марально устаревшее средство разработки.
К примеру, меня очень порадовал тот факт, что массивы делятся на динамические и статически, причем оные между собой не совместимы. Еще порадовало, то что при передаче "строки" матрицы объявленной с ненулевыми границами в функции мы получаем массивы с нулевой границей. За такое проектировщиков языка вообще надо линейкой по пальцам.
В общем, финал истории был очень забавный. После нескольких частов траха над парой задачек я реализовал их на Немерле за ДВЕ минуты! Это финишь. Такая разница в скорости не может быть объяснена только тем, что я основательно забыл Дельфи. В прочем, то что долболомы писавшие Дельфи 7 так и не удосужились перейти на новый формат хэлпа, а использовали хэлп от Виндовс 3.х вообще меня убил, так как от этого формата уже отказался сам Майрософт (в Висте он просто не поддерживается).
T>В общем я подумал надо всем этим и сейчас склоняюсь ко мнению что надо держаться до последнего и не давать себя пересаживать на "иглу" виртуальных машин и GC. До сих пор делал эт интуитивно, теперь думаю делать это сознательно. Потому что мне страшно.
Да, да. Держись. Не расслабляй мозг. Иначе в него полезут мысли. А думать — это страшно.
T>P.S. Я думаю очень скоро тенденции рынка пересадят на Java/C# громадное количество программистов
Уже. На Яве пишут уже больше чем на С++ и Дельфи вместе взятых.
T> во всяких банковских и прочих сферах, которые медленно но верно деградируют там до уровня "VB-кодеров" и "1С-программистов".
Пойми деградировать ниже чем дельфи-кодер уже не удастся. Дельфи и Вб 6 это очень близкие инструменты если сравнивать их сточки зрения тупизны и маразма их пользователей (причем сами интсрументы тут виноваты только в том, что у них были хорошие дизайнеры форм и компонетные модели).
С++-программист в среденм тоже довольно плохо развитое существо. Конечно низкое качество языка и большая вариативность заставляют думать чуть больше чем дельфи/вб-быдлокодеров, но думают С++-ники в основном как выжать еще три бита из двух байтов и о том, как заствить работать эту гребаную хрень которая все время ликает и изрыкает AV. При таких расскладах времени на реальное самосовершенствование просто не остается.
Ты вот упомянул, что изучил Лисп для развлечения. Так вот, я тебе скажу, что как раз именно это було самым главным, что ты сделал в области программирвоания. Если ты не остановишся на азах, а освоишь (в совершенстве) функциональный стиль и метапрогарммирвоание в Лиспе, то со временем ты сам заметишь, что ты вышел на новый уровень мастерсва. А за свои сегодняшние слова тебе будет просто стыдно.
Еще очень советую для развлечения хорошенько освоить Хаскель или Немерле. Первое покажет как ничтожно напряжение мозга при работе с С++ , а второе покажет как убог С++. В прочем, многие знатоки Хасклея скажут, что для этого достаточно изучть только Хаскель.
Ну, и так же очень советую убрать снобизм. Пойми, тебе только кажется, что-то. На саомо деле ты просто смотришь на огромный мир через узенькую трубочку, и думашь, что все что ты видишь — это и есть этот мир.
T> Что освободит рынок где требуются профессионалы для настоящей разработки и создаст чудовищный кадровый голод на действительно понимающих людей. Такчт пора освежать скиллы в pure C.
Хм, а может ты все же просто тролль?
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
Это нормальное стремление. Вот толко не у всех это выходит. Многие все же считаю, что больше думая, больше же и получаешь. Только вот думать можно о разном. Можно думать о программе, а можно о том как освежить скилы в С.
Я вот недвано написал страницу кода на Немеле и получил неимоверное удовольствие, так как смог соркратить код в 5 раз и при этом сделать его еще в 5 раз понятнее. Причем все что я сделал — это грамотно использовал рекурсию. Но это заставило меня взгянуть на проблему по другому. Моя душа просто пела от того, что я смог выразить мысли так красиво и чисто. И читая сейчас эти строки о Дельфи и С++ у меня возникает только одно желание — грязно вырукатсья и выбросить с балкона книку "С++ дизайн и эволюция". Хорошо, что книга дома, а балкон на работе.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Расслабься. Ты за всю жизнь даже оверквотинг не научился удалять. Такие вещи как ФП тебе не светят. Так что просто игнорируй мои сообщения. Они тебе ни к чему.
Ржу, не могу! Барин разбушевался!
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять), C, C++ и немножко Delphi. Ну ещё выучил Lisp чтобы на досуге развлекаться. Но какт всегда думал что в общем-то пофиг managed/unmanaged, инструмент и есть инструмент.
T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".
А внесу-ка я свои три копейки в эту дискуссию.
Мне как раз последние полтора года пришлось иметь дело с Явой и C#. Отупляет ? Да. Но не уверен , что дело именно в управляемости или неуправляемости кода (замечу в скобках , что я здесь известен как активный противник управляемого кода
Дело скорее в задачах. В сущности самих задач. В неуправляемой среде пишут чаще всего программы, в которых требуются более или менее серьезные алгоритмы. Думать надо, одни словом. И не только об управлении памятью (это, в конце концов, мелочи), а о структуре данных в программе, о потоках данных (не stream , о быстродействии и т.д.
В моей практике был случай, когда, получив от заказчика задание, я две недели не написал ни одной строчки. Никак не мог придумать решение, которое меня бы полностью устроило. Бездельничал. Занимался прочими делами. Подсознание работало, и в какой-то момент решение было найдено, оставалось его запрограммировать, что я за пару дней и сделал. Заказчик меня хорошо знал и не торопил.
Смог бы я то же сделать на управляемом языке ? Бесспорно да. С извращениями, правда, так как в решении использовались memory-mapped файлы с плохо типизированными данными, а это то, чего в управляемых средах боятся как черт ладана. Но в том-то и дело, что программу такого рода на нем писать никому в голову и не пришло бы в голову.
А большинство задач, для которых используются управляемые среды — это бизнес-задачи. В них алгоритмы если и не совсем на нуле, то почти. И сложной структуры данных, как правило, тоже нет. Наборы классов с геттерами и сеттерами (они меня порой забавляют, видишь код на 2-3 сотни строчек, вроде серьезно, а по существу — просто структура старого доброго C (даже не С++) + конструктор. А все остальное — геттеры и сеттеры, причем автогенерированные). И суть задачи там не в том, чтобы сложную логику в программе реализовать (ее просто в большинстве бизнес-задач нет), а в том, чтобы аккуратно все сделать. Геттер туда, сеттер сюда, оттуда взять, сюда положить, в базу записать, из нее прочитать, на экран вывести. И не забыть подходящий паттерн обязательно применить, без паттерна тебя просто не поймут И т.п.
Шутки шутками, а когда мне после полугода такой деятельности пришлось-таки написать простенький двойной цикл, я даже удивился и подумал — не ошибся ли, может, не то делаю ? Нет, все же оказалось, что двойной цикл там был на месте. В последующий год мне больше писать вложенных циклов не довелось
Естественно, от такой деятельности тупеешь. Еще один класс, еще десяток геттеров и сеттеров, в конце концов думаешь — будет этому конец или нет ?
И еще один фактор здесь сущетсвенен. Это — любовь к компонентам. Если надо что-то сделать — ищи соответствующий класс, он тебе все и обеспечит (пусть крайне неэффективно, может быть). Нашли — применяй его и весь разговор. Время не терпит, изобретать свои велосипеды некогда. Отсюда и соответсвующая психология, человеку просто не приходится писать что-либо сложное самому, а, следовательно, умение писать сложное атрофируется. Кстати, помните насчет программиста на Delphi — "пишет в соответсвующую эху : Народ, где найти компонет, который ищет льва в пустыне и сажает его в клетку"
Конечно, я утрирую. Чтобы этот велосипед появился, надо , чтобы кто-то его сделал, и этот кто-то должен уметь делать велосипеды, а не только на них кататься. Да вот только велосипедных дел мастеров намного меньше, чем велосипедистов.
Ну а вывод ? Он, в общем-то, скорее всего не тот, который прочитавшие это ожидают.
Все нормально, и все в порядке. Просто сложилась совершенно иная область программирования, со своими законами и своими нормами. И тем, кто привык к другим правилам игры, эти законы и нормы кажутся дикостью, и есть ощущуение, что от них тупеешь. А вот для тех, кто в этой области с самого начала — это норма. Не надо их осуждать и не надо считать, что они тупее других. Просто это иной мир.
Ситуация примерно та же, как если бы Микеланджело или Растрелли предложили бы построить Эмпайр Стейтс Билдинг (я отвлекаюсь от вопроса, сумели бы они это сделать или нет). Скорее всего они бы сказали, что строить подобные параллелепипеды с пчелиными сотами внутри — типичное отупение, и со своей позиции были бы правы. Ну а для архитекторов Эмпайр Стейтс Билдинг это была неплохая работа...
Вот, правда, собор святого Петра или Эрмитаж они бы все же не построили. Технически — никакой проблемы, а не построили бы все же...
Здравствуйте, Sheridan, Вы писали:
T>инструмент и есть инструмент.
S>А я о подобном уже даааавно говорил...
Только в случае с механическими инструментами никто не говорит "я решил использовать для изготовления стола напильник вместо рубанка, потому что он дает более качественную поверхность. С рубанком такой никогда не добиться.". Или например "я решил спилить это дерево лобзиком, потому что лучше знаком с этим инструментом". Засмеют. А вот в случае с программированием подобные заявления звучат сплошь и рядом.
Re: Неужели управляемые языки действительно так отупляют?
Люди пересаживаются на иномарки и забывают как разобрать-собрать двигатель.
ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более
высокие уровни абстракции. А на старые при необходимости вернуться хоть и не
элементарно, но вполне можно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Олег Гашев, Вы писали:
T>>Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует.
Так у нормальных программистов есть деньги на покупку программ — им дороже будет потратить свое время на взлом защиты. Да и неинтересно это совершенно.
Кстати, знание ассемблера — достаточно бесполезная вещь. Мне даже при разработке на встроеных устройствах нетривиальная ассемблерная вставка потребовалась всего 3 раза: для инициализации одного контроллера, динамическое создание стаба функции и реализация FastSqrt. Да, ассемблер был MIPS'овый, в режиме big-endian.
T>>Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".
Реально, знание алгоритмов сортировки нужно крайне редко, а когда оно все же нужно — всегда под рукой Google и справочники.
Sapienti sat!
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Не тратить усилий на работу нельзя. Ты просто привык к этим тратам и считашь, что так и нужно.
Человек большую часть действий делает автоматически. Сознание в этом не принимает участия.
VD>Рожаешь в код по чайной ложке кода и считашь, что так и должно быть.
Количество кода далеко не всегда пропорционально количеству, а тем более качеству решённых задач.
Я уже говорил, что общаться с людьми, ограниченными своим кругом задач, своими интересами и возможностями бесперспективно. Я ведь не говорю, что .NET хуже C++. Это вещи, которые можно сравнивать только в контексте тех или иных задач. .NET сейчас лучшее, что есть для сегмента корпоративных бизнес приложений, где он вовсю завоёвывает рынок. Но по моим оценкам он из этого сегмента дальше никуда и не двинется.
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Константин Л., Вы писали:
КЛ>мля... Как ты затрахал со своим функциональным подходом... Кто-то использует его годами и молчит, не делая из него бога, а ты же ....
Расслабься. Ты за всю жизнь даже оверквотинг не научился удалять. Такие вещи как ФП тебе не светят. Так что просто игнорируй мои сообщения. Они тебе ни к чему.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, aka50, Вы писали:
VD>Не в тему: Вообще, когда Константин Л. ставит хорошие оценки, то это хороший повод задуматься о том, что-то не так.
+1 за хорошую шутку.
тебе говорят о том, что потенциально мешает/может помешать стать Немерле мэйнстримом, а ты начинаешь объяснять, что ему мэйнстримом становиться не обязательно.
Вот за качественное объяснение я и поставил ему оценку. После этого, несомненно, я быдлокодер
По существу:
1) Все-таки для меня субъективно Н чуть-чуть посложнее шарпа, несмотря на то, что в институте преподавали функц. и лог. программирование. К синтаксису привыкать надо.
2) Мэйнстриму нужны гарантии, надежность. Шарп это дает, Н — пока не очень
3) ИТ манагеры люди консервативные. Их нужно "заставить" посмотреть в его сторону.
4) В своем быдлокодерском настоящем пишу 90% времени на с++, 10% на c#. Причем FW 1.1. Проект в продакшене и тут уже большие деньги и бизнес, так что переход на 2.0 и тот затянулся. Так что фичатость языка играет не определяющую роль. К сожалению.
Мне вот интересно, где ты работаешь и чем ьы занимаешься. Не все себе могут позволить сказать "а вот с этого момента я буду писать на Н". Это прерогатива единиц, так что не надо нам кричать "да вы че, достаточно только начать".
ПС: старайся быть сдержанее, а то твои вы***оны достали.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Здравствуйте, VladD2, Вы писали:
VD>>Это значит, что Дельфи, по крайней мере та что не .NET марально устаревшее средство разработки.
T>Одно из самых удобных.
Ну, что я тебе могу скзать. Не видил ты в жизни удобных средсств разраоботки. Могу только посочувствовать.
T> Я правда редко им пользуюсь, но каждый раз меня поражает простота и даж иногда кажется что это точно также отупляет. Там почти как в C# — весело и ни о чём не надо думать. Может поэтому и пользуюсь редко.
Забавляют меня люди кторые считают, что ни о чем не надо думать.
(см. парадокс Блаба, а лучше всю статью)
если проникнишся, то со временем сам все поймешь. Но вероятность этого очень мала.
T>Вполне логично. Статический массив это просто кусок памяти заранее известного размера, динамический же подразумевает её дополнительное выделение и вообще нетривиальное управление. Совершенно разные абстракции.
Опять же, мне неяего тебе сказать. Если ты считашь, что неудобство и проблемы — это хорошо, то считай дальше. Я не понимаю зачем мне иметь двае "абстрации" (какие они тогда к черту абстракции?) для одного и того же — массива? В других языка существует тоько один массив и проблем это не вызывает.
T>Я встречал громадное количество дельфи-кодеров, которые могли качественно написать ассемблерную вставку
Ясно. Забыл, что уровень развития у тебя меряется возможностью написания ассеблерных вставок. Это примерно тоже, что измерять качество поэта пессенника по весу штанги который он может выжать.
T> и отказаться от VCL в программе, а также отлично знали Рихтера (я даж видел все примеры из Рихтера в переводе на Delphi). И ни одного VB-кодера с аналогичными скиллами.
Среди дельфистов, как и среди любых других групп программистов встречается не мало хороших программистов. Только обычно они знаю не только Дельфи. Ну, и к сожалению, большинство дельфистов — это отровенные быдлокодеры мало чем отличающиеся (а то и сильно уступающие) индусам (среди которых, кстати, тоже не мало талантливых людй).
Вот только Рехтеры и ассеблер, да и отказ от ВЦЛ не гарантируют того, что человек не является весьма ограничиным. Эти знания несомненно полезны, но далеко не достаточны.
В любом случае, программист знакомый только с Дельфи — это на 99.9% быдлогодер.
T>Я вообщет прочитал и прорешал Абельсона и Сассмана SICP. Я прост не знаю что ещё прочитать чтобы освоить Лисп лучше. )
Это азы. Далее надо смотреть статьи в которых говорится о макросых и метапрограммировании.
T>Язык мне очень нравится, но кажется совсем игрушечным. Прост не могу себе представить серьёзную задачу на Лиспе.
Почитай Пола Грэхэма. Что касается игрушечности, то многие Лиспари говорят, что хорошие компиляторы Лиспа мало уступают в производительности кода С. В прочем, это не совсем так. И в прочем, есть языки которые, на мой взгляд, на сегодня превосходят Лисп. Как они (он) называется, ты знаешь .
T>Я тож очень заинтересовался Haskell даже купил на неделе книжку но ещё не приступал.
Книжки в этом деле бесполезны. Тут нужна практика. Хаскель самый звернутый ФЯ. Если его своишь, то на любом ФЯ писать сможешь и концепции точно поймешь. Но делать это лучше на практике. Для тех кто сильно сидит в императивном мире (те самые С++, Делфьи, Явы, Шарпы) лучше все же изучат Немерле или Скалу. Они гибриды и в них можно применять ФП постепенно, шаг за шагом. Лично наблюдал как люди за месяц втягиваются и потом у них начинаются дикие ломки когда они начинают писать на "старых", императивных языках. Ну, и навыки ООП очень способствуют, так как ООП в этих языках реализован очень качественно.
T>Всё-таки у вас какойт нехороший фанатизм.
Нет у меня никакого фанатизма. Я ленив, прагматичен и романтичен . Отсюда познав лучшее, доброе, вечное я начинаю прохладно относиться к устаревшим технологиям. Ну, а когда эти устаревшие технологии (погрязшие в ошибках дизайна) начинают откровенно пропагандировать, то у меня невольно возникает чувство протеста. Может быть это выглядит экспрессивно, но в глубине души мне левать на разные С++ и т.е. Я себе не враг. Для меня тема С++ зарыта. В прочем, написать что-нить на С++ на спор или за хороше деньги могу хоть сейчас. Будет конечно тошнить, но я крепкий .
T> Но я вас понимаю, у меня он тоже есть, только в другую сторону. Я просто влюблён в С++.
Это бывает. Когда на горизонте нет ничего более интересного, то можно влюбиться и в замухрышку. Когда-то и меня заботило это чудо. Вот убедись: http://rsdn.ru/Forum/message/3762.1.aspx
и вобще прикольно открытьсписок моих оценок, отсортированный по оценке и поглядеть, что идет на страничках 2 и далее. Там найдутся много забавного. И QuickHeap, и Секреты маршалинга
и много подобного. Когда-то я всерьез писал на С++ и души не чаял в COM. Теперь я понимаю, что это идиотизм и бесполезная трата времени. Но для этого поребовались годы и изучение много чего другого.
T> В первую очередь за то, что он поддерживает дисциплину духа (в отличии от VB, Java и Delphi)
О, какие красивые слова! "Дисциплина духа" — это звучит!
Я давно вышел из возраста когда мне нужно поддерживать "дисцплину духа". Теперь я уважаю простые и красивые решения, отсуствие граблей в заднице и комформ. Я хочу получать удовольствие от процесса программирования и его результатов. И боль в заднем проходе в этот список никак не вписывается. А значит не вписывается и С++.
T> и одновременно позволяет решать реальные коммерческие задачи (в отличии от Lisp и Haskell).
Ну, думаю, что реальные коммерческие задачи того же Пола Грэхэма объективно во много раз успешнее и куруче чем твои (иначе я бы знал твое имя, а не его). В Хаскель я тоже не очень верю, хотя его классы типеов (не путать с ОО-классами) — это очень красивая концепция.
Но опять же на этих языках свет клином не сошелся. Сегодня есть Скала (для явы) и Немерле (для дотнета) которые, намного практичнее и Хаскеля, и даже Лиспа. Их проще изучить и их легко можно применять в реальных условиях. Собственн, я сам лично написал интеграцию с MS VS 2005 на Немерле. Компилятор его тоже написан на нем же (по технологии бутсрип). Есть и некоторые коммерческие приложения. Но их естественно не много (язык еще слишком молод).
Что касается производительности. Ну, потеряешь ты процентов 10-30 по сравнению с идеальным кодом на С++. Но за то, ты получишь куда более красивый код и массу удовольствия от работы. А скорость наверстаешь на том, что сэкономленное время и нервы сможешь положить на алгоритмическую оптимизацию.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Еще очень советую для развлечения хорошенько освоить Хаскель или Немерле. Первое покажет как ничтожно напряжение мозга при работе с С++ ,
Ну, сложен только первый этап. "Убей в себе Тьюринга" называется.
А что касается пресловутых монад — ей-богу, так и хочется поотрывать что-нибудь жизненно-важное тем кто про них пишет так, что нифига не понятно. Не такая уж сложная это штука.
И вообще, Хаскель — замечательный язык. Был бы, не будь он таким ленивым тормозом. Похож на нерадивого сотрудника службы заказов, который все откладывает на потом, пока с клиентом истерика не случится. И благополучно тонет в тоннах записок на рабочем столе.
Re[10]: Неужели управляемые языки действительно так отупляют
Здравствуйте, AndreiF, Вы писали:
AF>Здравствуйте, machine3000, Вы писали:
M>>Ну да, все плюсплюсники на одно лицо, как китайцы.
AF>Нет, неправильно. Все невменяемые фанатики на одно лицо.
Не трожь Влада!
Re[3]: Неужели управляемые языки действительно так отупляют?
W>Смешно. Лисп, Хаскель, Немерле... Языки теоретиков — бумажных тигров. Где эти "мега" языки в реальной жизни? сколько коммерческих проектов на на них написано? Они созданы теоретиками для теоретиков. Для решения 2-минутных студенческих задачек и написания статей о сферических конях в вакууме.
ЗЫ. Указанные языки позволяют взглянуть на программирование по-другому. Это как всю жизнь слушать фильмы в дубляже. а потом дорваться до них в оригинале и — главное! — понимать, что там говорится
Здравствуйте, work69, Вы писали:
W>Ну смотрим эти ссылки и что видим — приложений капля в море и в спецефических нишах. W>На Лиспе и Хаскеле всесте взяты софта написано как минимум в 10000 раз меньше чем например на Java или С++ или С.
Это потому, что быдлогодеров в 10 000 раз больше, чем тех у кого на плечах голова.
W>Соответсвенно если они (Лиспе и Хаскель) настолько классные (что изучив их понимаешь как убог С++) — почему их практически (см выше) не используют?
Хаскель довольно медленнее. Лист тоже не супер. На за его догую жизнь его успели поиспользовать не мало. Сегодня Лисп уже морально устравает. Но его маркосы и сейчас дадут фору 99% языков.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: Неужели управляемые языки действительно так отупляют
Здравствуйте, genre, Вы писали:
G>что значит кинуть? захотел ушел, не захотел не ушел, ты еще предателем назови.
Надо понимать, что для работадателей такие "захотельники" — это натуральное разорение. Любого программиста надо только от месяца до полугода вводить в курс дела и дообучать местной конкретикой.
G>а я бы как раз предпочел человека работающего не за идею, а за деньги(при равной квалификации естественно). у него с мотивацией все гораздо проще.
Если человек работает только за деньги, то это плохой специалист. Нельзя быть хорошим специалистом не вкладывая душу в свою работу. К тому же такой человек действительно будет слонен сбежать за лишние 100 баксов.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Сам никогда под ВМ не писал,
Вот потому все эти глупости и понаписал. Я некоторое время назад тоже таким был. Это пройдет, а если нет то ты выбрал не ту профессию.
T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет.
А может просто ты не можешь оценить то что он делает?
T>Просто становится неспособен думать про управление памятью,
Не может или не хочет если оно не сильно надо? А в большинстве случаев вобще не надо.
Выдержал алгоритмическую сложность на нужном уровне, а за остальным пусть ВМ следит она железная.
T>перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно,
Если человек это вобще знал то он это не забудет.
Вот я совершенно спокойно переключаюсь между С++ и немерле который мало того что под .НЕТ так еще и функциональный.
Правда у меня на С++ появился немерловый акцент... вот сегодня не придумал ничего лучше как возвратить из функции замыкание.
T>становится обречён писать под виртуальные машины.
А может но сделал осознаный выбор. Ибо не всем нравится возиться с указателями на ровном месте.
T>Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует.
Я этим вобще не занимался. Мне это не интересно. Но можешь не сомневаться если будет нужно сломаю.
T>Это же чудовищно. VladD2 — несомненно умный человек, автор большого количества интересных статей и сообщений. Мы все его уважаем и т.д.. Но не справиться с парой строк кода на примитивном и в общем-то берущем почти всё на себя Delphi — это финиш. Эт значит человека нужно брать и заново учить, писать код он уже явно не может.
Где там сказано что он не смог?
Там сказано что ему это очень не понравилось и я его понимаю.
Ибо на дельфе рулить памятью сложнее чем на С++. Ибо нет шаблонов с автоматическими деструктарами.
А учитываю что оно в большинстве случаев просто не нужно... вернее автомат хорошо справится...
T>Разубедите меня.
Боюсь безполезно. Ибо ты зарание выбрал неконструкивную позицию из серии "ВМ говно".
T>P.S. Я думаю очень скоро тенденции рынка пересадят на Java/C# громадное количество программистов во всяких банковских и прочих сферах, которые медленно но верно деградируют там до уровня "VB-кодеров" и "1С-программистов". Что освободит рынок где требуются профессионалы для настоящей разработки и создаст чудовищный кадровый голод на действительно понимающих людей. Такчт пора освежать скиллы в pure C.
Нужно учесть то что подавлюяющая масса "программистов" в принципе не могут подняться выше уровня быдлокодера. Вне зависимости от того на чем они пишут. Те если человек не способено то ему хоть 1C хоть ASM всеравно толку не будет.
А вот те кто в состоянии подняться на высокий уровень могут работать на любых языках.
Вот только им не всеравно на чем писать (те кто говорят что им всеравно профаны и позеры) тут уже язык выбирается под задачу, а для этого нужно знать много разных языков. Ибо одни задачи проще писать на одном языке, а другие на другом.
А иногда вобще под задачу язык создают. Например я недавно сотворил язычек под задачу. Правда его пишут и читают только демоны но не суть важно. Главное что решение упростилось на порядок, а поддержка по сравнению с тем ужасом который был бы при альтернативных решениях практически не требуется. Я туда зелезаю только чтобы новые команды добавить.
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
А может не меньше думать, а меньше напрягаться? Ведь лень это главное свойство хорошего программиста.
Ибо трудолюбивый программист будет долбить кучу кода на асме, а ленивый подумает как это сделать проще. И возьмет например какойнибудь немерле с эго мегафичами и сделает то что нужно раз в 100 быстрее (я говорю про большие задачи).
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Неужели управляемые языки действительно так отупляют?
Разговор между людьми, которые реализуют ручное управление памятью близко к оптимуму, не тратя на это никаких умственных усилий, и теми, кто при всём желании лучше GC ею всё равно управлять не может, крайне непродуктивен.
Re[3]: Неужели управляемые языки действительно так отупляют?
Это современная тенденция программирования. Уже давно так. Языки и дальше будут укрупняться будет переход от ООП к функциональному программированию.
Я бы сказал даже так: программирования как такового уже нет! Есть сборка проектов из уже готовых блоков.
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, machine3000, Вы писали:
M>Разговор между людьми, которые реализуют ручное управление памятью близко к оптимуму, не тратя на это никаких умственных усилий, и теми, кто ....., крайне непродуктивен.
Точно. Когда начинают разговаривать с мифологическими идеальными существами, это еще никого до добра не доводило
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Я вообщет прочитал и прорешал Абельсона и Сассмана SICP. Я прост не знаю что ещё прочитать чтобы освоить Лисп лучше. )
Да уж конечно, что еще подходит для изучения ЛИСП лучше, чем вводный курс по программированию для младших курсов с примерами на СХЕМЕ?
T>Я тож очень заинтересовался Haskell даже купил на неделе книжку но ещё не приступал.
Осторожно! Там же GC! Можно стать тупым, как пробка.
... << RSDN@Home 1.2.0 alpha rev. 677>>
'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
Re[13]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Lloyd, Вы писали:
VD>>Я уже сто раз говорил. Нет проблем в обучении Немерле. Люди знающие Шарп изучают его по ходу работы в течении 1-2 месяцев. После чего их эффективность поднимается даже если они не были выдающимися программистами. А в течении этих 1-2 месяцев их производительность сравнима с производительностью C#-программистов. Так что — это не проблема.
L>А можно поподробнее? Сколько людей, какова у них была первоначальная квалификация, на какого рода проектах проводилось испытание, как измерялась эффективность, etc.?
Извини, но тратить на таких как ты время я не считаю нужным. Адью.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Неужели управляемые языки действительно так отупляют
[]
A>>У меня есть человек, который отлично владеет java и sql. Знает пяток фреймворков. Так вот ему не очень интересна scala или тем более erlang. И есть другой программист (С++ системщик) который с удовольствием изучает scala. Мне предлагается уволить первого, только потому, что ему не интересено ничего кроме java ибо он вроде как даун, и обучить второго sql и вебу?
VD>На самом дел люди которым не интересно развиваться обязательно рано или поздно подведут. Хороший программист должен постоянно развиваться. Ну, и если ты хочешь выиграть в конкурентной борьбе, то однозначно лучше выбирать криативный и любознательных людей. В прочем "кодеров" тоже можно использовать для рутинных задач.
Развиваться можно по-разному. Ты почему-то признаешь развитие только вширь. А есть еще и вглубь. Тот кто не развивается ни так, ни так — конечно сам себе злобный буратино. Но тут ты подменяешь понятия "развиваться вширь и вглубь". Не факт, что этот его джавист не развивается.
Еще у меня есть мнение, что человек, пишущий отчлиный код на одном и том же языке не просто "кодер". ИМХО сейчас единицы тех, кто являются "чистыми" кодерами, т.е. пишут без единой своей мысли об архитектуре.
Re[30]: Неужели управляемые языки действительно так отупляют
WH>Как видишь ПМ и ФВП ужали код в 3 раза на ровном месте.
MapI — что это? Map с индексом? IMHO неэффективно для списков (см. incDx[i]). Должна быть функция что то вроде ZipWith, склеивающая по функции два списка:
(cf.ZipWith(((dx, f) => f * ck + dx), incDx), cf :: cflast)
Если что не так записал — Немерл не знаю
Насчёт же ПМ своё мнение уже высказывал неоднократно — его на рсдн превозносят чересчур. Всё равно на верхнем уровне работать с потрохами не будут, а для стандартных типов вроде списка должна быть библиотека комбинаторов, с которыми мысль выражается яснее.
Например (пардон, ещё раз, за незнание Немерля) на Хаскель эта задача будет выглядеть что то вроде
Наверняка можно записать понятнее, transpose здесь некрасив, сейчас нет времени. Позже погляжу.
Смысл такой
zipWith (\x -> map (x*)) — переменожаем ks на столбцы матрицы fs
map sum . transpose — суммируем столбцы
Я верно задачу понял?
В общем, для работы ПМ чаще всего нужен только на уровне модулей, в которых определен ПМ-ящийся тип данных.
Дальше работаем в стиле wholemeal programming.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять),
Мы имеем типичную ситуацию человека, рассуждающего о том, о чем он нихрена не знает. Разговаривать с таким бесполезно.
T>Разубедите меня.
Есть у Ошо достаточно примечательная притча, смысл которой в следующем:
Сидит на дереве человек и орёт другу, который под деревом валяется — глянь, повозка вон там едет. Тот, что по деревом отвечает: не вижу никакой повозки. Да как же, — говорит тот, что на дереве — повозка едет, сеном нагружена, девушка там ещё, в красном платье.
Не вижу никакой повозки, — отвечает тот, что внизу — не придумывай. Да ты лезь ко мне и посмотри сам...
— Не полезу, не хочу, ты мне так докажи.
Мораль: Хочешь знать то, что знает другой, придётся лезть к нему на дерево. Иного способа убедиться нет.
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
А какое должно быть идеальное стремление? Много думать и по миру ходить чтоли?
Re[12]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, aka50, Вы писали:
A>>кто будет поддерживать такой проект?
VD>Раз пишу я, то я и буду поддерживать.
Это ограничит размер проекта... Т.е. как вставки вместо python/lua/yourlang — возможно, как единый язык для всего решения — уже не лезет...
A>> И как ты будешь набирать новых программеров (я в смысле кто будет оплачивать время их обучения Nemerle и главное, захотят ли эти программеры его изучать). VD>Люди знающие Шарп изучают его по ходу работы в течении 1-2 месяцев.
Ну т.е. если мне надо 2 программиста — это значит я попаду на 2.5 * 2 * 2 = 10k + время (обычно 1-3 месяца) на въезжание в то, что уже написано (при чем это плохо распараллеливается c изучением нового языка, проверено), итого до полугода у меня не специалист — а студент. И еще хз скока времени на перестроение мышления, чтобы человек начал писать правильно, ведь для оправдания использования N нужно использовать его максимально эффективно. Иначе зачем он нужен, если есть C# с гораздо более дешевыми программерами...
A>> Так что без правильного пиара — все таки в серьезные проекты ни scala ни N я лично не рискну совать... Хотя какие-то части проекта — возможно (в моем случае scala). VD>Не вижу связи между рекламой (пиаром, но это слово тут не очень подходит) и реальными проектами. Выбор средств разработки — это исключительно решение начальства. Реклама нужна для того, чтобы продвинут что-то в массы. Но если начальство уже знает о этом чем-то, то реклама может быть только положительным психологическим фоном.
Как минимум, чтобы
1. Не впадал в ступор при упоминании неизвестного языка, который вроде как C#, но вроде как и нет
2. Программист успел (под влиянием рекламы) самостоятельно его пощупать, а следовательно ознакомиться с такими понятиями как например pattern matching или макросы.
(Влад, не все интересуются дальше своей ниши, многие дальше C#/Java нос не высовывают, при этом могут быть очень неплохими программерами в доскональности знающими GoF и ООП, но в рамках своего языка)
VD>Скажу больше, реклама далеко не на всех действует однозначно положительно. Я видел случая открытого сопротивления новым технологиям когда люди одним из аргументов против технологии считали наличие агрессивного пиара.
Мне кажется, что N конкретно на RSDN именно от этого и пострадал
VD> Хотя реальной причиной был их страх. Просто люди тяжелее всего признаются в собсвтенных страхах, так как, ивдимо, считают проявлением трусости. Меж тем страх — это нормальная реакция. Он позволяет активизировать внутренние силы организма и повысить его потенциал, а это в свою очередь позволяет принимать более правильные решения в сжатые строки. Так что страхом нужно уметь пользоваться.
Ну а теперь представь, что ты выкатываешь задачу новому программисту да на неизвестном языке, да и в планах у него могло не стоять изучение теории типов и прочей фукциональщины...
VD>Ну, и кто не рискует, тот не пьет (подставить по вкусу).
Главное рисковать своими средставами, а не чужими... а так
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять), C, C++ и немножко Delphi. Ну ещё выучил Lisp чтобы на досуге развлекаться. Но какт всегда думал что в общем-то пофиг managed/unmanaged, инструмент и есть инструмент.
T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".
Зачем в php организация памяти, Рихтер и Кнут? За это не платят. Платят за бизнес-решение.
Есть куча принципов сортировки, но за за знания принципов сортировки не платят. Платят за рабочее решение. То, что это надо знать- может быть. Но за знания не платят. Платят за готовые решения. Оторвитесь от теории. Посмотрите в текущий мир. Вы платите за ПО, зная, что оно работает, не зная, на сколько разработчик думал про управление памяти и т.д. Оно работает. Это самое главное. Почему и как оно работает, другой вопрос. Если очень нужна правильность- пишите на ассемблере, тратьте тысячи человеко-лет на готовые решения, потом попробуйте получить из этого доход.
Здравствуйте, VladD2, Вы писали:
VD>На управляемых языках написаны такие ресурсоемкие приложения как копиляторы. Работают они отлично. При этом их код во много раз меньше и понятнее нежели аналогичный код на С++. Более того, только благодаря этим языкам эти компиляторы на порядок превосходят то, что могут сделать компиляторы С++. Точнее речь о языках, но ведь язык без компилятор — это ничто. А компилятор действительно сложного языка — это на сегодня настоящее произведение искуств. Люди с С++-ным мышлением даже не подозревают насколько высокоинтеллектуальны компиляторы других языков.
Угу, щас.
Сравнивал как то компиляторы жабы 1.5, написанные на жабе и на С++. Небо и земля, как по скорости работы так и по потреблению памяти. Разумеется не в пользу жабы. Код сгенерили они абсолютно одинаковый.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>В общем я подумал надо всем этим и сейчас склоняюсь ко мнению что надо держаться до последнего и не давать себя пересаживать на "иглу" виртуальных машин и GC. До сих пор делал эт интуитивно, теперь думаю делать это сознательно. Потому что мне страшно.
T>Разубедите меня.
«Мы рады, что именно Blackfin стал первым DSP с .NET Micro Framework на борту» — заявил Джерри МакГуйер(Jerry McGuire), вице-президент General Purpose DSP Group компании Analog Device. «Мы уверены, что этот продукт поможет разработчикам в создании новых интересных приложений процессора Blackfin, эффективных как с точки зрения производительности, так и с точки зрения цены и потребляемой мощности.
Среди прочих достоинств Micro Framework можно подчеркнуть столь необычное для embedded-платформ наличие сборщика мусора и встроенной обработки исключений. Native-код будет по прежнему доступен с помощью Interop-механизмов.
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Delight, Вы писали:
D>Люди пересаживаются на иномарки и забывают как разобрать-собрать двигатель. D>ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более D>высокие уровни абстракции. А на старые при необходимости вернуться хоть и не D>элементарно, но вполне можно.
Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо. Здесь кто бы спорил, чем выше тем лучше. Но отдавать такой важный ресурс как память на откуп автоматическому сбору мусора это уже не более высокий уровень, это уже смена мировоззрения. Вместо ответственной оценки потребления памяти, мы грубо говоря плюём на эту сторону вопроса.
Мне вот наверное всё-таки придётся выучить хотя бы один управляемый язык просто чтобы поставить эксперимент: берём алгоритм с теоретическим O(f(N)) по памяти, гоняем его реализацию на большом объёме тестовых данных с детерминированным управлением памятью, замеряем реальные расходы, оцениваем константы Cmin и Cmax для данной платформы, потом то же самое со сборщиком мусора, снова замеряем реальный расход памяти и смотрим, осталось у нас рассчётное O(f(N)) или реально стало уже O(g(N)) и куда уползли константы. Я почемут очень подозреваю что недетерминированность в управлении памятью может отражаться на базовых свойствах вычислений как таковых, особенно если научится специально подбирать выборки так чтобы сборщик мусора на них ломался. Например как поведёт себя автоматическое управление памятью, когда мы подойдём к физическому пределу памяти на машине?
Кстати про алгоритмы этих сборщиков тоже надо почитать. Но здесь я жду следующего стандарта C++, когда GC можно будет попробовать в отрыве от виртуальной машины. И без отрыва от любимого языка. Тогда и займусь этим плотней.
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Это же чудовищно. VladD2 — несомненно умный человек, автор большого количества интересных статей и сообщений. Мы все его уважаем и т.д.. Но не справиться с парой строк кода на примитивном и в общем-то берущем почти всё на себя Delphi — это финиш. Эт значит человека нужно брать и заново учить, писать код он уже явно не может.
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
ООООООООООООООООООООООООООООООООООООО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Коллега!!!!!!
Как я вас понимаю!!!!!!!
Седни только одной девице втулял на ту же тему...
Она мне:
— Дык работает же!!! Не все ли равно?!!!!
Я ей:
— а давай мы тебя нарядим в рубище!... Одежда ж! Не все ли равно?!
Только тогда отстала... Но осталась при своем мнении...
Ламерство, сплошное ламерство!...
Прпограммку ровно в 15 команд ассемблерной вставки ламерски расписывают примерно на 50-60...
Вместо одного цикла пишут 4 (ЧЕТЫРЕ!!!!)...
Аргумент тот же: а не все ли равно, работает же...
Прям как подумаешь, как студенты к своей профессии относятся — страшно к врачу идти...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Неужели управляемые языки действительно так отупляют?
Нельзя у вас на сайте организовать альтернативный рейтинг (для клуба любителей C++). Формула такая: "минус дотнетчика — 5 баллов", "смешок дотнетчика — 10 баллов".
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Tilir, Вы писали:
T>>Здравствуйте, Delight, Вы писали:
D>>>Люди пересаживаются на иномарки и забывают как разобрать-собрать двигатель. D>>>ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более D>>>высокие уровни абстракции. А на старые при необходимости вернуться хоть и не D>>>элементарно, но вполне можно.
T>>Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо.
VD>Блин, STL и Boost — это для недоразвитых даунов. Это юрдоство с признаками фунционального стиля. Меж тем есть языки которые повзолят писать в этом стиле. Причем получается это просто великолепно!
А все-таки не дала, а говоришь "выгнал, выгнял"
Только даун мог такое написать
[]
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, CreatorCray, Вы писали:
CC>Угу, щас. CC>Сравнивал как то компиляторы жабы 1.5, написанные на жабе и на С++. Небо и земля, как по скорости работы так и по потреблению памяти. Разумеется не в пользу жабы. Код сгенерили они абсолютно одинаковый.
Бред.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, BulatZiganshin, Вы писали:
C>>Кстати, знание ассемблера — достаточно бесполезная вещь. Мне даже при разработке на встроеных устройствах нетривиальная ассемблерная вставка потребовалась всего 3 раза: для инициализации одного контроллера, динамическое создание стаба функции и реализация FastSqrt. Да, ассемблер был MIPS'овый, в режиме big-endian. BZ>знание архитектуры эвм необходимо для оптимизации программ.
Ты знаешь какие команды могут испольняться параллельно на Core 2 Duo? Я вот не знаю
BZ>конкретно ассемблер может пригодиться если ты не доверяешь своему компилятору и перечитываешь ассемблерные листинги сгенерённого им кода (я такое на хаскеле делал )
Параноя, однако.
Sapienti sat!
Re[11]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Dimonizhe, Вы писали:
D>На самом деле, эта картинка давно известтна. Проблема была отнюдь не в супер быстром Эрланге. D>Была проблема, что не использовались Selectors для сокетов. И до Java5 Selectors в яве не было. D>После Java5 в Томкате соотвтетсвующей версии добавили Selectors и все стало также как для псевдомегасервера Yaws
Агащазз. Пул потоков — ограничен, а значит пара десятков задумавшихся сервлетов запросто положат сервер.
Sapienti sat!
Re[12]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Здравствуйте, Dimonizhe, Вы писали:
D>>На самом деле, эта картинка давно известтна. Проблема была отнюдь не в супер быстром Эрланге. D>>Была проблема, что не использовались Selectors для сокетов. И до Java5 Selectors в яве не было.
D>>После Java5 в Томкате соотвтетсвующей версии добавили Selectors и все стало также как для псевдомегасервера Yaws
A>О еще один... не в селекторах дело... чем тебе помогут селекторы, если выполнение кода должно быть заблокировано? Больше 5к потоков в java ты никак не сделаешь, а значит будешь рожать всякие пулы и прочие радости. Для коротких задач — есть actors на scala, там несколько проще, но все равно: реальных потоков в java очень мало, а значит любая задача превращается в разбиение на producer/consumer цепочки, а значит это тащит за собой обработку ошибок и управление этим хозяйством (что будет если все consumer-ы подохнут?)
Так. Еще раз.
Про конкретно этот тест были в своё время разговоры. Он конкретно починился селекторами. Конкретно точка.
Фрейиворков же producer/consumer в яве достаточно.
Re[13]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Dimonizhe, Вы писали:
D>Фрейиворков же producer/consumer в яве достаточно.
Как сказал бы McSeem, это не Фрейиворков,
тьфу ты, это не фейерверк, это так, поллюция... по сравнению с Эрлангом.
... << RSDN@Home 1.2.0 alpha rev. 670>>
Re: Неужели управляемые языки действительно так отупляют?
Всё ниже описанное моё имхо, не принимайте близко к сердцу, возможно я ошибаюсь..
Если человек пишит на delphi код состоящий из 4х циклов, когда можно было б и одним циклом обойтись, то это означает что человек просто напросто неопытный в программировании. или оно ему не нравится, и не важно на каком языке он пишит, разница лишь в скорости разработки т.е. он и на асме читыре цикла забабахает
Возможно ему привили что главное быстро написать, он и пишит сначала не брежно, потому что не знает как будут взимодействовать подпрограммы, а когда с горем пополам заставит их взаимодействовать, то нет желания переделывать.
высокоуровневый язык это хорошо а к хорошему как говорится быстро привыкаешь, а отвыкаешь очень долго и трудно, так и товарищь топикстартера, который не смог решить задачу на асме, не смог потому что он привык к высокоуровнему языку, у него в подсознании этот язык, он мыслит на уровне этого языка. Человек не может сосредоточится на асм коде, я на 100% уверен, что этот человек сначала вообразит в уме как он будет эту задачу решать на делпхи, а потом уже будет пытаться это реализовать на асме, но у него и недолжно ничего получиться!) потому что он в психологическом шоке.
Подсознание не постоянное, вот попробуй по не попрограммировать с год, ты и математику забудешь и асм и алгоритмы, и всё на свете и это нормально! оно не забывается, нет, оно уходит на дно подсознания (ложится туда так же как в стёк) вытащить из этого своеобразного стёка знания можно какими нибуть упражнениями (кстати не разу их не видил, может пора уже их пустить на рынок?!) о помоему если не программировать вообще год, то будет намного легче вернуться к асу, нежели покодить год на высокоуровневом языке.
я вот еще год назад считал дробные числа быстрей чем однокусники на калькуляторах, и точно считал (на инженерной графике) а щас? нет, забыл... но это не трудно вспомнить, , нужно подготовиться просто, заставить работать мозги....
я когда в школе учился учитель по матиматике все время говорила нам "дайте нам задачи для одиннадцатого класса, я их не решу с ходу" мы тогда учились в классе 8м наверно,
в армию уйду когда, приду и всё всем расскажу.
Re[21]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>А ты будь умнее. Не говори, что хочешь, а говори что можешь. Уверяю тебя, что твой работадатель, если он сам что-то понимает в индустрии, будет только рад если ты напишешь, что в совершенстве владешь Лиспом и/или Немерле.
... но главным образом потому, что это является косвенным свидетельством хорошего программиста. Это вовсе не значит, что он кинется всё делать на Лиспе или Немерле.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, aka50, Вы писали:
A>Как иллюстрация возможности erlang-а (то, что слева меленькое и скромненькое — это apache на мейнстрим C, а красное и могучее — это erlang, цифирики снизу — кол-во _одновременно_ обслуживаемых клиентов сервером). Но вот беда, большинство не знает, что такое функциональное программирование и не видит "миллионов" проектов на erlang-е.
А сайт http://yaws.hyber.org лежит как-то Они не на своем же веб-сервере хостятся случайно? А то RSDN-DOS очень опасная штука
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, AndreiF, Вы писали:
AF>Здравствуйте, Pavel Dvorkin, Вы писали:
AF>Действительно прискорбно, сочувствую. AF>Но тут есть один нюанс. Ведь в чем вся прелесть простой и монотонной работы?
Ну насчет прелести — это ты явно загнул
>В том, что ее можно автоматизировать.
Эх... Можно, конечно. Беда в том, что на это времени нет.
With best regards
Pavel Dvorkin
Re[33]: Неужели управляемые языки действительно так отупляют
Здравствуйте, lomeo, Вы писали:
L>Но я, в общем то, не о том. Поскольку это флеймовый форум, то я хотел бы поспорить насчёт применимости ПМ против комбинаторах, в частности в этой задаче
Да ну... Флейм во flame.comp — это скучно, да и не респектабельно. К тому же баллы не засчитают.
L>У комбинаторов (вернее, у цельнозернового программирования (с) deniok) есть важные преимущества: L>1. уже указано — у нас иммунитет к "индексикации" L>2. мы можем легко применять equational reasoning для получения более эффективных / понятных / проч. решений
L>Например, в данной задаче:
<...>
L>Что эффективнее, короче и понятнее исходного. При ПМ же, подобные замены очень тяжелы, да и глазом их сразу не увидишь, как в случае чистых комбинаторов.
Я, по большему счету, с этим согласен. Так что флейма бы все равно не получилось.
... << RSDN@Home 1.2.0 alpha rev. 677>>
'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
Re[3]: Неужели управляемые языки действительно так отупляют?
V>Глупой подход в объяснении через слово "платят". Платят за то что их откровенно говоря на*?%ют? Все равно это рухнет рано или поздно.
К сожалению, это не работает.
Когда же наконец минздрав запретит продажу Coca-Cola? Кстати, здесь, доходы Coca-Cola за 2007 год.
V>А платят между прочим и за работу лопатой, платят за то что дергаешь зубы, платят и просто за глазки, платят за имя — это что теперь в наше время считается повод для похвал? Если ты можешь делать быстрее и тупее теперь есть хорошо!! Ура ! Незнайка, Остров дураков. Будь баранам, не работай не думай не волнуйся ни о чем, с тебя состригут шерсть, а потом такой отупевший ты больше никому не будеш нужен. Таких челов вливается в общий поток отупения все больше и больше. Думаете вы самые прошаренные?? Типа я вот тут ни очем не задумываюсь сразу перехожу к решению задачи, т.е. сразу расставляю кнопочки на форме, мне за это платят .. Так это очень быстро изменится, такой "кадр" станет на равне с обычнвым быдлом и как грузчика его за любую фигню можно выкинуть на улицу и найти в легкую другого такого же. ВЕТЬ ЭТО ЖЕ ЛЕГКО
Платят не за то, что Вы работаете лопатой. Платят за то, что Вы решаете поставленные перед Вами задачи.
Платят не за то, что Вы дёргаете зубы. Платят за то, что Вы избавляете человека от боли.
Платят за решения поставленных перед Вами задач.
Если Вы лопатой копаете траншею неделю, а на экскаваторе это делается 10 минут, Ваша недельная работа стоит ровно оплаты 10-и минут экскаваторщика.
V>Смешно. Хорошее сравнение с лошадью и тачкой. Только не удачное. Возьмем лучше так — один чел знает как держаться за руль , жать на педаль и даже знает как довать задний ход. Эти люди достаточно зарабатывают чтобы гонять на ней. А вот другие проводят свои week-endы в парке со своимми лошадьми, дарят дочери пони, а на машине их вообще возит специальный водитель — этот чел зарабатывает гораздо больше. Чем мля не сравнение? Через заработок как раз.
Плохое сравнение. Не в тему.
1) Достаточно вспомнить заработки в F1.
2) Наёмный работник никогда не заработает на подарки пони для дочерей и спец. водителей. Аналогично сравнивать зарплаты владельца Microsoft и программиста в Microsoft.
А на мой вопрос Вы даже не ответили.
V>Изначально тема была про отупение, а не про точто .NET, CLR плохи. ПРосто многие благадоря ему отупели и стали настоящими сектантами майкрософт, а не программерами. Полюбили недумать. Вот и все.
Опять, вопрос по другому. Если есть экскаватор, зачем мне лопата? Если есть самолёт, зачем мне самокат? А может пешком из Владивостока в Москву?
Несерьёзно.
Вы забыли про одну важную деталь. Когда мы рождаемся, мы не открываем всё с самого нуля. Нас обучают. Мы работаем с вещами, может даже абсолютно не зная, как они работают. Но мы с ними работаем правильно. Многие не знают как работает телевизор. Но с телевизором они успешно справляются. Они тупые? Нет. Они пользуются знаниями и наработками предыдущих поколений. Почему такой способ не может быть применим в программировании? Почему программист постоянно должен думать про организацию памяти? Почему это не отдать операционке? Зачем это нам? Пусть система сама будет об этом думать, а мы будем заниматься своей работой. Мы станем тупее? Нет. Мы станем другими.
Здравствуйте, WolfHound, Вы писали:
B>>И где можно скачать или приобрести Nemerle B>>Спасибо WH>http://nemerle.org
WH>Но лично я предпочитаю брать из svn http://nemerle.org/svn/nemerle/trunk/boot WH>Там лежат бинарники которыми собирают немерле.
Здравствуйте, Klapaucius, Вы писали:
L>>MapI — что это? Map с индексом? IMHO неэффективно для списков (см. incDx[i]).
K>Для списков неэффективно, но cf — это не список. Это массив.
Спасибо, не обратил внимания.
Но я, в общем то, не о том. Поскольку это флеймовый форум, то я хотел бы поспорить насчёт применимости ПМ против комбинаторах, в частности в этой задаче
У комбинаторов (вернее, у цельнозернового программирования (с) deniok) есть важные преимущества:
1. уже указано — у нас иммунитет к "индексикации"
2. мы можем легко применять equational reasoning для получения более эффективных / понятных / проч. решений
Ну и самое простое (в принципе подставляется автоматически по правилам, указанным компилятору)
map f . map g == map (f . g)
получаем
map (sum . zipWith (*) ks) $ transpose fs
Что эффективнее, короче и понятнее исходного. При ПМ же, подобные замены очень тяжелы, да и глазом их сразу не увидишь, как в случае чистых комбинаторов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины.
Я пишу код параллельно под С++ на встроеных железках и на Java для распределенного серверного приложения с клиентом на Swing'е. Почти полный диапазон разницы (хотя скоро еще будем железку непосредственно проектировать — но на ассемблере MIPS я уже писать буду не я ).
Среды с автоматическим управлением памятью помогают намного проще писать некоторые виды приложений. Хотя, естественно, у GC тоже есть недостатки.
PS: а еще могу порекомендовать залезть внутри VM и посмотреть как оно все там работает. Как делаются safepoint'ы для GC, барьеры для работы с поколенями и т.п.
Sapienti sat!
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, WolfHound, Вы писали:
WH>Нужно учесть то что подавлюяющая масса "программистов" в принципе не могут подняться выше уровня быдлокодера. Вне зависимости от того на чем они пишут. Те если человек не способено то ему хоть 1C хоть ASM всеравно толку не будет. WH>А вот те кто в состоянии подняться на высокий уровень могут работать на любых языках. WH>Вот только им не всеравно на чем писать
Золотые слова! Жаль, что это большинство не только не способно прилично писать, но и не способно осознать всю глубину этих слов и их правоту.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Не трожь Буст! Укушу!
Злой ты, и не женственный .
C>А если серьезно, то Буст — очень неплохая библиотека, позволяющая делать некоторые вещи, абсолютно недоступные в С# (контейнеры в memory-mapped-файлах, MPI).
Да, я согласен, что для С++ с его убогими средствами Буст — это просто глоток воздуха в затхлом царстве. Но уж тебе то точно не надо рассказывать, что на том же Питоне буст на фиг не упал, так как язык и его обычные библотеки решают эти задачи просто отлично.
На самом деле, тут Вольфхаунд высказал замечательную мысль:
Правда у меня на С++ появился немерловый акцент... вот сегодня не придумал ничего лучше как возвратить из функции замыкание.
Думаю дел не в Немерле. Дело в том, что человек освоивший фунциональный подход начинает думать по другому и даже на С++ умудряется писать более выразительно. Буст это несомненно то средство, чтобы писать на С++ с фунциональным акцентом. Но боже ж мой, если есть выбор, то зачем жрать сурагаты?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, machine3000, Вы писали:
M>Меня в этом .NET раздражает только одна вещь. Очень много говорится о разделении интерфейса, бизнеслогики, хранения данных. Но никто не говорит о разделении языка, стратегии управления памятью, библиотек. .NET — это монолитная система, в которой никто, кроме MS не может заменить реализацию какой-либо стратегии на другую реализацию этой страдегии
То, что ты не знаешь, как это сделать, еще не означает, что этого нет. Unmanaged интерфейсы CLR-хоста позволяют довольно многое.
M>, более подходящую в контексте конечной задачи. Хочешь ты или нет, тебе впаривают один единственный сборщик мусора,
Со сборщиком мусора теснейшим образом взаимодействует JIT, так что оторвать одно от другого вряд ли получится.
Здравствуйте, ironwit, Вы писали:
C>>Так у нормальных программистов есть деньги на покупку программ — им дороже будет потратить свое время на взлом защиты. Да и неинтересно это совершенно. I>нормальные программисты программы не ломают. они просто качают краки. это чаще намного проще и быстрее чем официально купить. так как все таки у нас это еще не очень развито. во всяком случае одно время propckit было купить очень сложно.
Нет, это ненормальные программисты. Труд других все же надо уважать — или пользоваться свободными продуктами.
Sapienti sat!
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, alexeiz, Вы писали:
C>>Кстати, знание ассемблера — достаточно бесполезная вещь. Мне даже при разработке на встроеных устройствах нетривиальная ассемблерная вставка потребовалась всего 3 раза: для инициализации одного контроллера, динамическое создание стаба функции и реализация FastSqrt. Да, ассемблер был MIPS'овый, в режиме big-endian. A>По моему опыту знание ассемблера нужно больше для отладки.
Честно говоря, мне понадобилось только один раз — когда из-за баги с множественным наследованием и MFC у меня в функцию передавался неправильный this. Причем хватило моих смутных воспоминаний многолетней давности.
При ядерной отладке — еще может быть, хотя я без проблем использую символьную отладку.
Sapienti sat!
Re[6]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
CC>>Сравнивал как то компиляторы жабы 1.5, написанные на жабе и на С++. Небо и земля, как по скорости работы так и по потреблению памяти. Разумеется не в пользу жабы. Код сгенерили они абсолютно одинаковый. C>А где ты нашел нативный компилятор для Java 1.5?? Jikes поддерживает максимум 1.4
Притащили коллеги года 3 назад... Название уже не вспомню
Разница в скорости компиляции тогда была поразительной. Первоначально решили что он не работает, т.к. отрабатывал он почти моментально.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Cyberax, Вы писали:
CC>>>Сравнивал как то компиляторы жабы 1.5, написанные на жабе и на С++. CC>Притащили коллеги года 3 назад... Название уже не вспомню
Хмм... странно... java 1.5 еще и 3х лет нет... а кто-то уже умудрился написать С++ компилер, да еще и никому не известный... CC>Разница в скорости компиляции тогда была поразительной. Первоначально решили что он не работает, т.к. отрабатывал он почти моментально.
Городские легенды? Даже на http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gcc&lang2=java на _микробенчмарках_ в среднем проигрывает в 3 раза, и только startup чудовищен...
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, work69, Вы писали:
M>>http://www.haskell.org/haskellwiki/Haskell_in_industry M>>http://www.haskell.org/haskellwiki/Haskell_in_practice W>Ну смотрим эти ссылки и что видим — приложений капля в море и в спецефических нишах. W>На Лиспе и Хаскеле всесте взяты софта написано как минимум в 10000 раз меньше чем например на Java или С++ или С. W>Соответсвенно если они (Лиспе и Хаскель) настолько классные (что изучив их понимаешь как убог С++) — почему их практически (см выше) не используют?
Так ведь их выучить надо, а это непросто. Ну и отсутствие необходимых библиотеки и т.п.
Лично мне эти языки помогли научиться лучше решать задачи на С++/Java.
Sapienti sat!
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, aka50, Вы писали:
A>Здравствуйте, work69, Вы писали:
W>>Здравствуйте, machine3000, Вы писали:
A>Как иллюстрация возможности erlang-а (то, что слева меленькое и скромненькое — это apache на мейнстрим C, а красное и могучее — это erlang, цифирики снизу — кол-во _одновременно_ обслуживаемых клиентов сервером). Но вот беда, большинство не знает, что такое функциональное программирование и не видит "миллионов" проектов на erlang-е.
1) Это подтасовывание фактов. Там черным по белому сказано что проблема Aпача не в языке C — а в том что он исползует нативные потоки ОС Linux.
2) К тому вообще сам идея такого сравнения — полная фигня — с таким же успехом привести и такой пример
— криво написать на С и потом написать такой же функционал VB который будет равать эту прогу на С.
3) Так же интересно было бы узнать какой подмножества функционала Апача поддерживает этот Yaws (написанный на Erlang) — какя плагинистость и т.п.
Re[3]: Неужели управляемые языки действительно так отупляют?
VD>> о что долболомы писавшие Дельфи 7 так и не удосужились перейти на новый формат хэлпа, а использовали хэлп от Виндовс 3.х вообще меня убил, VD>> так как от этого формата уже отказался сам Майрософт (в Висте он просто не поддерживается).
A>Формат MSDN очень тяжеловесный, очень долго грузится сравнительно с почти мгновенным WinHelp. У всего есть свои плюсы. И если Майкрософт от чего-то отказался, это ещё не значит что это безнадёжная во всем плохая поделка. Иначе "сам Майкрософт" отказался бы от неё не в висте, а 10 лет назад в Win98.
Дрянь этот WinHelp... Натрахался в свое время с этим RTF-ками и сносками с долларами и решеточками Сейчас, конечно, можно проще — есть нормальный утиль, но ограничения формата все равно никуда не деваются. Например, элементарную таблицу (!) хрен вставишь Так что сейчас лучший вариант для своего хелпа — HTML-хелп или даже лучше свой рукописный вариант с применением HTMLayout. Особенно, если вспомнить про последние веяния с "улучшенной безопасностью" IE, когда даже обычную chm-ку фиг без телодвижений посмотришь
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, work69, Вы писали:
A>>Как иллюстрация возможности erlang-а (то, что слева меленькое и скромненькое — это apache на мейнстрим C, а красное и могучее — это erlang, цифирики снизу — кол-во _одновременно_ обслуживаемых клиентов сервером). Но вот беда, большинство не знает, что такое функциональное программирование и не видит "миллионов" проектов на erlang-е.
W>1) Это подтасовывание фактов. Там черным по белому сказано что проблема Aпача не в языке C — а в том что он исползует нативные потоки ОС Linux.
Ответ не верный. Проблему стоит искать по лючевым словам continuations и вытесняющая многозадачность. W>2) К тому вообще сам идея такого сравнения — полная фигня — с таким же успехом привести и такой пример W>- криво написать на С и потом написать такой же функционал VB который будет равать эту прогу на С.
Апач пишется и вылизывается уже очень много лет. Так что опять не в тему. yaws гораздо моложе. W>3) Так же интересно было бы узнать какой подмножества функционала Апача поддерживает этот Yaws (написанный на Erlang) — какя плагинистость и т.п.
Лично меня это в данном контексте не интересует. Мы обсуждаем языки и возможности, которые они предоставляют. На erlang-е запросто пишутся линейно-масштабируемые сервера при чем прозрачно распределенные, на С забодаешься (как и на С++, оцени сложность http://sobjectizer.sourceforge.net).
Здравствуйте, work69, Вы писали:
W>Смешно. Лисп, Хаскель, Немерле... Языки теоретиков — бумажных тигров. Где эти "мега" языки в реальной жизни? сколько коммерческих проектов на на них написано? Они созданы теоретиками для теоретиков. Для решения 2-минутных студенческих задачек и написания статей о сферических конях в вакууме.
Ты сам пробовал? Нет? Домыслы? А я вот пробовал. Не скажу за Лисп и Хаскель, но на Немерле можно без проблем писать софт любой сложности. Создан он самыми, что не наесть практиками, которые на нем теперь только и работают. Причем пишут не делитанские поделки которыми тут занимаются 90% народа, а весьма сложный и интеллектуальный софт. Один из разработчиков Немерла пишет автоматический доказатель теорем. Причем очень доволен, что пишет его на Немерле, а не на чем-то другом.
И вообще, я еще не видел людей которые всерьез попрограммировав на Немерле потом заявляли, что он дерьмо, или не для реальной жизни. Это как наркотик. Один раз подсел, и все. С С++ тенет блевать, а когда пишешь на Шарпе, то начинается нервый тик, так как думашь ты уже на Немерле, а в Шарпе половина фишек попросту нет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Неужели управляемые языки действительно так отупляют?
A>>Формат MSDN очень тяжеловесный, очень долго грузится сравнительно с почти мгновенным WinHelp. У всего есть свои плюсы. И если Майкрософт от чего-то отказался, это ещё не значит что это безнадёжная во всем плохая поделка. Иначе "сам Майкрософт" отказался бы от неё не в висте, а 10 лет назад в Win98.
УБ>Дрянь этот WinHelp... Натрахался в свое время с этим RTF-ками и сносками с долларами и решеточками Сейчас, конечно, можно проще — есть нормальный утиль, но ограничения формата все равно никуда не деваются. Например, элементарную таблицу (!) хрен вставишь Так что сейчас лучший вариант для своего хелпа — HTML-хелп или даже лучше свой рукописный вариант с применением HTMLayout. Особенно, если вспомнить про последние веяния с "улучшенной безопасностью" IE, когда даже обычную chm-ку фиг без телодвижений посмотришь
Все так. Но тут даже речь не об этом. Речь о то, что Борланд откровенно плевал на хэлп очень долгое время. Качество его тоже ниже среднего.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали: VD>Все так. Но тут даже речь не об этом. Речь о то, что Борланд откровенно плевал на хэлп очень долгое время. Качество его тоже ниже среднего.
Да у борланда просто было ровно три компетентных человека. Остальное — прикладная часть VCL, хелпы и прочее — писалось малограмотным народом. Я думаю, что значительную часть ресурсов у них оттянула разработка под Java, а в Delphi почти никого не осталось. Самый грамотный чувак ушел известно куда, так что у Дельфи теперь шансов вообще нет.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Delight, Вы писали:
D>Похожая фигня с JetBrains IDEA. Хотя ИМХО немейнстримовые языки полезны в первую очередь как отличная гимнастика для ума + хорошо подготавливают почву для правильного восприятия новых фич в мейнстримовых. Прямой заменой они могут служить лишь в редких случаях.
Немерле может полностью заменить C#.
Болие того любой грамотный программист на C# легко освоит немерле.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, CreatorCray, Вы писали:
ИД>>Первоисточник к сожалению не указан, но ищется без проблем: ИД>>http://www.sics.se/~joe/apachevsyaws.html CC>Не, надо все таки на пальцах, бо что то это смахивает на сферического коня в вакууме. CC>1) Не понятно как можно при физическом лимите портов в TCP в 65535 штук открыть over 80,000 одновременных соединений?
Элементарно, используем два IP-адреса.
CC>2) Что именно они хотели оттестировать путем "Each session makes a very slow request to fetch a one byte file from machine 1"? К сколь либо реальной рабочей нагрузке эта схема не относится. Больше на DDOS атаку похоже.
Протестировать устойчивость. Apache в этом случае падает — проверено.
Здравствуйте, Delight, Вы писали:
D>Пиару вам не хватает. За пределами RSDN о Nemerle мало кто знает. Можете так и не выйти из порочного круга, а ведь C# фичами насыщается...
Хреново он ими насыщается. А пиару конечно не хватает. Еще более правильно было бы сказать, что не хватает денег (их просто нет). Но я тут уже мало что могу поделать.
Да и в общем-то мне по барабану уже. У меня никаких сомнений нет. При начии выбора я однозначно выберу Немерле и получу массу приемуществ и драйва от процесса программирования. Ну, а если люди имеют серый, закостянелый мозг и не могут побороть свои комплексы, то — это их проблемы. Они за это будут платить своей эффективностью.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>кто будет поддерживать такой проект?
Раз пишу я, то я и буду поддерживать.
A> И как ты будешь набирать новых программеров (я в смысле кто будет оплачивать время их обучения Nemerle и главное, захотят ли эти программеры его изучать).
Я уже сто раз говорил. Нет проблем в обучении Немерле. Люди знающие Шарп изучают его по ходу работы в течении 1-2 месяцев. После чего их эффективность поднимается даже если они не были выдающимися программистами. А в течении этих 1-2 месяцев их производительность сравнима с производительностью C#-программистов. Так что — это не проблема.
A> Так что без правильного пиара — все таки в серьезные проекты ни scala ни N я лично не рискну совать... Хотя какие-то части проекта — возможно (в моем случае scala).
Не вижу связи между рекламой (пиаром, но это слово тут не очень подходит) и реальными проектами. Выбор средств разработки — это исключительно решение начальства. Реклама нужна для того, чтобы продвинут что-то в массы. Но если начальство уже знает о этом чем-то, то реклама может быть только положительным психологическим фоном.
Скажу больше, реклама далеко не на всех действует однозначно положительно. Я видел случая открытого сопротивления новым технологиям когда люди одним из аргументов против технологии считали наличие агрессивного пиара. Хотя реальной причиной был их страх. Просто люди тяжелее всего признаются в собсвтенных страхах, так как, ивдимо, считают проявлением трусости. Меж тем страх — это нормальная реакция. Он позволяет активизировать внутренние силы организма и повысить его потенциал, а это в свою очередь позволяет принимать более правильные решения в сжатые строки. Так что страхом нужно уметь пользоваться.
Ну, и кто не рискует, тот не пьет (подставить по вкусу).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Tilir, Вы писали: T>Разубедите меня.
Вообще с учетом роста производительности персональных компьютеров, возможностость низкоуровневого управления ресурсами теряет свой смысл.
Думаю, программе не то что не нужно в принципе это, ей это нельзя давать делать (мало ли вирус, или зажрет чего нибудь много). Пусть за доступ к ресурсам отвечает ОС или некоторый рантайм. Рантайм надо хорошо интергировать в ОС, чтобы оптимизировать скорость работы.
С++ мне кажется надо использовать только тогда, когда управляемый язык не справляется (компьютерная графика, сложные алгоритмы, высокая нагрузка на сервер).
Да и вообще программы должны быть по минимум привязаны к конкретной ОС, чтобы не ограничивать в выборе ОС. Пусть за эту привязку отвечает рантайм.
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Дмитрий В, Вы писали:
ДВ>С++ мне кажется надо использовать только тогда, когда управляемый язык не справляется
Ага.
ДВ> (компьютерная графика, сложные алгоритмы, высокая нагрузка на сервер).
Вот только это не те области где пуравляемые языки не справляются .
ДВ>Да и вообще программы должны быть по минимум привязаны к конкретной ОС, чтобы не ограничивать в выборе ОС. Пусть за эту привязку отвечает рантайм.
Это больше от библиотек завист. Юзаем MFC или WPF и никакой С++ нам уже не поможет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Здравствуйте, Dimonizhe, Вы писали:
D>>Про конкретно этот тест были в своё время разговоры. Он конкретно починился селекторами. Конкретно точка. A>Еще раз, это медленные запрос/ответ. Как именно селекторы помогут? (абстрагируйся от io, представь что для ответа тебе надо генерировать длиннющую колбасу из буков 'a' и 'b')
D>>Фрейиворков же producer/consumer в яве достаточно. A> Ты не понимаешь о чем я говорю.
А, то есть мы сгенерили 100000 колбас этих 'a' и 'b', но клиенты не готовы их принять? Хм, да, селекторы тут не причем
А Эрланг навреное иммет специальные лекговесные сущности, такие что вышеопесанное проблем не вызывает? Принято
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, CreatorCray, Вы писали:
ДВ>>> (компьютерная графика VD>>Вот только это не те области где пуравляемые языки не справляются . CC>На досуге скачай "CellFactor — Revolution" и полюбуйся как там .NET справляется.
Я даже поверю, что в этом "CellFactor — Revolution" что-то плохо и не так (хотя не знаю, что это). Но что это даказывает? Я вот на досуге, как-то, ставил Frontpage (первый) и он дико тормозил даже на небльших документах. Написан он был на С++. Но почему-то мне даже в голову не пришло ассоциировать тормоза конекретного продукта с С++. Так почему же я должен думать иначе в случае дотнета? У меня перед глазами масса примеров где основанные на дотнете продукты работают быстро, стаблильно и качественно.
Вот тот же Paint .NET. Или несколько игр которые были написаны на дотнете.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, romangr, Вы писали:
D>>Фрейиворков же producer/consumer в яве достаточно. R>Как сказал бы McSeem, это не Фрейиворков, R>тьфу ты, это не фейерверк, это так, поллюция... R>по сравнению с Эрлангом.
Мне кажется послднее приятнее .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Толковые программисты важнее чем более мощный инструмент. Производительность толкового и не толкового может различатся на порядок при использовании одинакого инструмента.
А с использованием толкового инструмента на два.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FR, Вы писали:
FR>>>>Толковые программисты важнее чем более мощный инструмент. Производительность толкового и не толкового может различатся на порядок при использовании одинакого инструмента. WH>>>А с использованием толкового инструмента на два.
FR>>Угу только не порядка а раза.
WH>Ну-ну... перепиши компилятор немерле на С++ или хотябы питоне
Без проблем давай полные формальные спецификации компилятора, обеспечь финансирование.
Думаю код на C++ будеть по объему в несколько раз больше и работать скорее всего шустрее.
Re[24]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FR, Вы писали:
FR>>Без проблем давай полные формальные спецификации компилятора, обеспечь финансирование. FR>>Думаю код на C++ будеть по объему в несколько раз больше
WH>И отлаживать С++ в несколько раз труднее. WH>Вот и получился порядок за счет инструмента + порядок за счет хороших программистов и того 2 порядка.
Отладка никак не замедлит работу в несколько раз.
FR>>и работать скорее всего шустрее. WH>Не факт.
Скорее да
WH>ЗЫ А че на питоне не предложил? Он же рулит!
На питоне конечно будет легче писать и объем кода будет близок к немерловскому, но компилятор будет сильно тормозить
Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках
Здравствуйте, minorlogic, Вы писали:
M>Я отступлю от темы , может мне ктонить кратко опяснить , почему современные JIT отстают от лучших оптимизирующих компиляторов по качеству кода. Хотя теоретически такого быть не должно ? Это связанно с тем что JIT не имеет право тратить много времени на компиляцию ?
Начнем с того, что это утверждение в общем не верно. Иногда отстают, а иногда перегоняют.
Кроме того JIT не единственный механизм влияющий на производительность кода. Так чтобы GC работал хорошо приходится внедрять специльные инструкции (так называемый write-барьер), которые не могут не сказываться на некоторых видах алгоритмах (часто меняющих ссылки на объекты).
Компонентность Явы и дотнета отсекает некоторые решения которые можно было бы применить в статическом компиляторе. По этому те же дженерики не всегда порождают идеальный, с точки зрения производительности, код.
Ну, и типобезопасть тоже не совсем бесплатна. Выходы за пределы массивов и т.п. приходится контролировать в рантайме. На то есть свои оптимимзации (JIT-ы часто выносят такие проверки за пределы циклов, что фактически нивелирует их оверхэд), но эти оптимизации не идельны, а значит работают далеко не всегда.
Еще одной проблемой является ковариантность массивов в Яве и дотнете. На мой взгляд — это совершенно бессмысленная и даже аредная фича, но она есть и ее надо учитывать. Компилятор вынужден вставлять рантайм-проверки чтобы неверное использвоание коваринтности не привело к проблемам.
Ну, и конечно CAS тоже кое что стоит.
В итоге получается оверхэд примерно в 10-20 процентов. В самых плохих случаях (когда на низкоуровневых языках можно сиграть за счет особенностей архитектуры процессара и прямого доступа к памяти) может получиться разрыв в два раза. Но обычно, у хороших программистов разрыв не привышает 10%. На практике такого различия заметить невозможно.
Скажу больше, производительность софта — это не абсолютная величина. Потому можно добиться приемлемой производительности на скриптах и получить полную заницу на ассемблере. Примеров тому масса. Взять хотя бы первый FrontPage который "задумывался" на минуту другую всего лишь от того, что был открыт файл по больше.
Рельной проблемой управляемых сред является большее потребление памяти. А JIT-ы как раз не проблема. Темболее, что есть пре-JIT.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Отладка никак не замедлит работу в несколько раз.
Смешно.
То что будет больше кода это ты признал.
Больше кода -> больше ошибок.
Плюс С++ отлавливает гараздо меньше ошибок чем немерле.
Меньше контроль -> больше вероятность совершить ошибку.
Плюс некоторые классы ошибок (причем очень не приятные типа порчи памяти) просто не могут появится в немерле.
Те отлаживать придется действительно в разы дольше чем на немерле.
FR>На питоне конечно будет легче писать и объем кода будет близок к немерловскому,
Не факт. Вернее точно будет больше ибо нет сравнения с образцом.
FR>но компилятор будет сильно тормозить
А вот это точно.
FR>Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках
Я ни в какие пули не верю. (Некоторые верят в бога. Это я могу понять. Но верить в пули... )
Я просто считаю что если задачу вобще можно решать на болие мощьном языке то нужно взять болие мощьный язык.
Немерле на данный момент один из мощьнейших языков.
Только и всего.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[31]: Неужели управляемые языки действительно так отупляют
Там все библиотеками решалось.
А в немерле еще лучше ибо все эти библиотеки уже написаны и есть вывод типов.
FR>Еще раз сколько процентов времени работы (и подержки) над проектом ты проводишь в отладчике?
Причем тут отладчик? Отладка понятие гораздо болие широкое чем сидение в отладчике.
Что касается меня то
1)В данный момент я пишу под линухом, а gdb назвать отладчиком у меня язык не поворачивается.
2)Да и программы у меня такие что там с отладчиком (особенно если это gdb) делать нечего.
Плюс бывают случаи когда ни gdb ни valgrind найти проблему не могут.
Есть тут у меня одна либа. В принципе работает но есть там некоторая функциональность которая приводит к падению через некоторое время работы.
Функциональность не критична по этому я на нее временно забил. Но нужна. По этому придется ЧИТАТЬ КОД ЛИБЫ ГЛАЗКАМИ!
Если бы либа была на немерле то там бы небыло этой мутной ошибки. Былобы обыкновенное исключение и эту ошибку скорей всего поймали бы авторы. А если нет то разобратся что к чему по исключению со стектрейсом я смогбы и без авторов.
А в случае с С++ мне придется вычитать половину не маленькой либы.
Причем либа написана на плохом С++ зачемто завернутом в Сишный нтерфейс. И тащит за сабой просто ужасные Сишные либы (просто сам факт того что для взаимодействия с этой либой необходимы setjmp/longjmp говорит о многом).
FR>Угу только ФВП и рекурсивная функция без ПМ ужали бы его практически ао столько же раз.
Но логика прослеживалась бы куда хуже.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[33]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Там или где-то рядом были высказывания от людей которые сейчас полюбили компактность кода что это нафиг не нужно. Ладно все течет все меняется
Ссылка на конкретное сообщение будет?
FR>Ни причем, замени отладчик на отладку.
Зачем? Я сказал то что сказал.
FR>У меня есть опыт писания на C++ для устройств для которых на тот момент вообще не было отладчика. И все равно отладка максимум занимала проценты от времени всей разработки. Правда эмоционально эти проценты иногда были очень насыщенными
Либо программы были очень простыми либо ты чего-то недоговариваешь...
Практика разработки больших программ на С++ показывает что чем дальше в лес тем толще партизаны.
Порой такие феерические тараканы находятся... а на немерле это было бы всеголишь обыкновенное исключение которые бы поймали при первом же запуске...
FR>Это уже проблема легаси кода и к обсуждаемому имеет мало отношения.
Еще как имеет ибо писать все самому это идиотизм.
FR>Конечно, но все равно прослеживалась бы гораздо лучше чем в императивном варианте. Кстати я похоже уже окончательно отупел (в терминах автора темы) так как твой короткий вариант для меня более понятный чем первоначальный императивный код.
Конечно. Он же императивный. Мне понадобилось некоторое время для того чтобы реверснуть алгоритм.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[25]: Неужели управляемые языки действительно так отупляют
Здравствуйте, AndrewVK, Вы писали:
H>>Вот и получился порядок за счет инструмента
AVK>Напомню, что именно подразумевал Брукс под серебрянной пулей: AVK>
But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.
Серебристость пули относительна.
Если сравнивать немерле и С++ (и тем болие С) на задаче построения компилятора то как раз порядок и получится.
Паттерн матчинг (позволяет значительно скоратить код и сделать его декларативным причем без потери эффективности), ГЦ (в компиляторе до чертиков всяких структур данных которые черт знает когда нужно убивать), мощьнейшие макросы (в компиляторе очень много тупого кода который можно сгенерить. Макросы лучший способ генерить код.) и полная безопасность кода (не ошибок высшего порядка).
Это очень серьезные преимущества.
Так что да. Относительно С++ на при создании компиляторов немерле таки серебряная пуля.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
G>>совсем не факт. любой человек задумается, а если я через пару лет работу поменять захочу, что будет написано в резюме, пару лет опыта в востребованном мейнстриме или в может и крутом, но совсем невостребованном немерле? VD>Лучше будет если такой "специлист" вообще не попадет в нашу контору. Это позволит избежать неизбежный, в ином случае, потерь когда этот "специалист" через эти два года, недоделав свою работу свлит в очерудную контору (чтобы и их через два года кинуть).
что значит кинуть? захотел ушел, не захотел не ушел, ты еще предателем назови.
VD>Нам нужен специалист который работает творчески и с аганьком в галазах. Если человек бльше думает о резюме, то пусть он опять же портит показатели нашим конкурентам.
а я бы как раз предпочел человека работающего не за идею, а за деньги(при равной квалификации естественно). у него с мотивацией все гораздо проще.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[23]: Неужели управляемые языки действительно так отупляют
Здравствуйте, genre, Вы писали:
G>да, работа за идею действительно добавляет немножко "специалистности". но что с ним делать когда "эта задача мне неинтересна"?
Любить надо не задачу, а работу (сам процесс). Знаешь как про детей.
-------------------
— Ты детей любишь?
— Ну, в общем не очень, но сам процесс...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, FR, Вы писали:
FR>>А зачем здесь пример? Здесь и так все невооруженным взглядом видно, вместо матча будут if'ы размер кода останется практически таким же читаемость станет чуть хуже.
VD>Наверно, чтобы твои слова не выглядили как пустой треп. В прочем, что-то мне подсказывает, что пример это не изменит. Так что забудь.
Лень мне писать, то что видно и так. На таком несложном разборе ПМ ничего ни дает. Не хочешь этого видеть флаг тебе в руки.
Re[25]: Неужели управляемые языки действительно так отупляют
Здравствуйте, genre, Вы писали:
G>любить работу и работать за деньги несколько параллельные сущности.
Скажем так, они могут сочетаться. Но если они сочетаются, то ты уже работаешь не только за деньги, а "и за деньги тоже...". Улавливаешь разницу?
Дело в том, что если ты работаешь только за деньги, то тебе будет интереснее провести день на анекдот.ру или на баш.орг, а не писать код. А код писать только когда начальство смотрит и чтобы хоть как-то вид бурной деятельности эмулировать.
G>то про что говорил ты в изначальном утверждении — взаимоисключение этих понятий. G>короче я за простоту мотивации деньгами, чем копание в психологии "непризнаного гения".
Причем тут гении? Теболее не признанные...
Одни деньги — это полный приплызд, но никто не говорит, что все работники должны быть альтруистами.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[31]: Неужели управляемые языки действительно так отупляют
PD>Все нормально, и все в порядке. Просто сложилась совершенно иная область программирования, со своими законами и своими нормами. И тем, кто привык к другим правилам игры, эти законы и нормы кажутся дикостью, и есть ощущуение, что от них тупеешь. А вот для тех, кто в этой области с самого начала — это норма. Не надо их осуждать и не надо считать, что они тупее других. Просто это иной мир.
Упрощаешь, областей намного больше чем две и многие из этих областей паралельны (а некторые и перпендекулярны ) противопоставлению управляемый — неуправляемый.
Re[2]: Неужели управляемые языки действительно так отупляют?
ОГ>Зачем в php организация памяти, Рихтер и Кнут? За это не платят. Платят за бизнес-решение.
ОГ>Есть куча принципов сортировки, но за за знания принципов сортировки не платят. Платят за рабочее решение. То, что это надо знать- может быть. Но за знания не платят. Платят за готовые решения. Оторвитесь от теории. Посмотрите в текущий мир. Вы платите за ПО, зная, что оно работает, не зная, на сколько разработчик думал про управление памяти и т.д. Оно работает. Это самое главное. Почему и как оно работает, другой вопрос. Если очень нужна правильность- пишите на ассемблере, тратьте тысячи человеко-лет на готовые решения, потом попробуйте получить из этого доход.
Глупой подход в объяснении через слово "платят". Платят за то что их откровенно говоря на*?%ют? Все равно это рухнет рано или поздно.
А платят между прочим и за работу лопатой, платят за то что дергаешь зубы, платят и просто за глазки, платят за имя — это что теперь в наше время считается повод для похвал? Если ты можешь делать быстрее и тупее теперь есть хорошо!! Ура ! Незнайка, Остров дураков. Будь баранам, не работай не думай не волнуйся ни о чем, с тебя состригут шерсть, а потом такой отупевший ты больше никому не будеш нужен. Таких челов вливается в общий поток отупения все больше и больше. Думаете вы самые прошаренные?? Типа я вот тут ни очем не задумываюсь сразу перехожу к решению задачи, т.е. сразу расставляю кнопочки на форме, мне за это платят .. Так это очень быстро изменится, такой "кадр" станет на равне с обычнвым быдлом и как грузчика его за любую фигню можно выкинуть на улицу и найти в легкую другого такого же. ВЕТЬ ЭТО ЖЕ ЛЕГКО
Смешно. Хорошее сравнение с лошадью и тачкой. Только не удачное. Возьмем лучше так — один чел знает как держаться за руль , жать на педаль и даже знает как довать задний ход. Эти люди достаточно зарабатывают чтобы гонять на ней. А вот другие проводят свои week-endы в парке со своимми лошадьми, дарят дочери пони, а на машине их вообще возит специальный водитель — этот чел зарабатывает гораздо больше. Чем мля не сравнение? Через заработок как раз.
Изначально тема была про отупение, а не про точто .NET, CLR плохи. ПРосто многие благадоря ему отупели и стали настоящими сектантами майкрософт, а не программерами. Полюбили недумать. Вот и все.
Здравствуйте, minorlogic, Вы писали:
WH>>Я просто считаю что если задачу вобще можно решать на болие мощьном языке то нужно взять болие мощьный язык.
M>Обычно так считают только юнные студенты. Зрелые практики учитывают большее к-во факторов, сопровождаемость , время жизни , цена и т.п.
Как скажешь великий гуру... где уж мне зеленому студентику с тобой тягаться...
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Неужели управляемые языки действительно так отупляют?
Не все так однозначно, как хотелось бы.
Вселенная расширяется, мир усложняется. Охватить все сферы деятельности не реально.
Ранее не было отдельной науки радиотехники, не было электроники, не было ничего по звукоусилительной тематике -- была лишь одна элетротехника. Но она расширилась на столько, что произошло ее дробление не множество дочерних направлений.
Сейчас тоже самое мы наблюдаем в области программирования -- расширение сферы деятельности и, как следствие невозможно охватить _всё_, -- деление на прикладное и системное программирование, Деление на "бизнес-логику", интерфейс и базы данных. Только вот, каждый программер для себя выбирает по своей силе и заинтересованности.
Года два-три назад, я купил книжку по ассемлеру под Винду. По моему автор -- Федоров (могу ошибиться, поправьте!). Не надо думать, что я не знаю ассемблер для х86, я не умею писать драйверы устройств под Винду на ассемблере. Хотел восполнить пробел в знаниях. Ладно, не об этом речь! Так вот, автор, на сколько мне показалось из его книги, весьма и весьма удручен тем, что народ предпочетает писать программы работы с БД на Васике и пр. языках высогкого уровня. Автор предлагает (и вроде как демонстрирует!) что проги можно написать на ассемблере... Вот, вот! У меня тоже был шок.
По поводу Шарпа. Думаю, что M$ выгодно вытеснять программистов других стран и других фирм с системного уровня на уровень прикладной. "Дорога выстлана фанитками-бантиками -- шагайте!" И они шагают. Не страшно, если часть программеров перейдет в эту область. Страшно, если уйдет подавляющее большинство, а на системном уровне никого не останется.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо. Здесь кто бы спорил, чем выше тем лучше. Но отдавать такой важный ресурс как память на откуп автоматическому сбору мусора это уже не более высокий уровень, это уже смена мировоззрения. Вместо ответственной оценки потребления памяти, мы грубо говоря плюём на эту сторону вопроса.
Тут ты не прав. При разработки в средах с ГЦ нужно очень хорошу думать что ты делаешь. Иначе будет все очень плохо.
ГЦ это просто алгоритм управления памятью, а не некая волшебная хрень и его тоже можно сломать (хоть и трудно).
Главная особенность ГЦ это то что он может разруливать циклические ссылки. Это позволяет выбирать из гораздо большего числа вариантов архитектуры системы.
А в некритичных местах которых большинство ГЦ позволяет действительно забить на память и сосредоточится на задачи.
Ну и про то что виртуальные машины уберегают от ошибок высшего порядка тоже забывать не стоит. Они случаются хоть и редко но жизнь портят конкретно.
T>Мне вот наверное всё-таки придётся выучить хотя бы один управляемый язык просто чтобы поставить эксперимент:
Это точно. Ибо пока не осознаешь что и как происходит в управляемых средах не сможешь судить о них объективно.
T>берём алгоритм с теоретическим O(f(N)) по памяти, гоняем его реализацию на большом объёме тестовых данных с детерминированным управлением памятью, замеряем реальные расходы, оцениваем константы Cmin и Cmax для данной платформы, потом то же самое со сборщиком мусора, снова замеряем реальный расход памяти и смотрим, осталось у нас рассчётное O(f(N)) или реально стало уже O(g(N)) и куда уползли константы.
Если алгоритм не изменишь то потребление памяти будет темже.
С той лишь разницей что ГЦ жрет память пока она есть. И убирает мусор олько когда памяти становится мало. Это сделано для оптимизации по скорости.
T>Я почемут очень подозреваю что недетерминированность в управлении памятью может отражаться на базовых свойствах вычислений как таковых,
Не отражается. За исключением тех случаев когда за счет ГЦ можно применить болие умные альгоритмы.
T>особенно если научится специально подбирать выборки так чтобы сборщик мусора на них ломался.
Это сделано практически не возможно. Уж точно на порядки труднее чем сломать кучу С++.
Современные сборщики мусора продуманы очень хорошо. Например кача ГЦ не подвержена фрагментации. Те как бы ты не старался, а фрагментировать ее ты не сможешь.
Для С++ такой фокус не пройдет ибо в С++ нельзя перемещать объекты в памяти, а ввиртуальные машины проектируют так чтобы это можно было делать.
T>Например как поведёт себя автоматическое управление памятью, когда мы подойдём к физическому пределу памяти на машине?
Это пожалуй самый действенный способ убить ГЦ.
T>Кстати про алгоритмы этих сборщиков тоже надо почитать. Но здесь я жду следующего стандарта C++, когда GC можно будет попробовать в отрыве от виртуальной машины. И без отрыва от любимого языка. Тогда и займусь этим плотней.
А ты не жди. Ты возьми да прочитай статью Влада про сборщик мусора http://rsdn.ru/article/dotnet/GC.xml
Здравствуйте, Klapaucius, Вы писали:
K>Здравствуйте, Tilir, Вы что-то там писали.
K>Вот уже много лет наблюдаю совершенно ужасную тенденцию: человек заканчивает Физфак или Матфак и из-за денег или просто по воле безжалостного рока начинает программировать. Да-да, Вы не ослишались. Свободный разум, витающий в эмпиреях функционального анализа и дифференциальной геометрии обрушивается прямо в адъ навстречу асмам, рихтерам сиплюсплюсам и вбиванию битов. Я и сам через это прошел.
а зря
[]
Re[4]: Неужели управляемые языки действительно так отупляют?
Меня в этом .NET раздражает только одна вещь. Очень много говорится о разделении интерфейса, бизнеслогики, хранения данных. Но никто не говорит о разделении языка, стратегии управления памятью, библиотек. .NET — это монолитная система, в которой никто, кроме MS не может заменить реализацию какой-либо стратегии на другую реализацию этой страдегии, более подходящую в контексте конечной задачи. Хочешь ты или нет, тебе впаривают один единственный сборщик мусора, даже не спросив, есть ли у тебя в программе хоть одна циклическая ссылка и есть ли у тебя время ждать, пока он в неподходящий для этого момент начнёт ковыряться в памяти.
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, machine3000, Вы писали:
M>Разговор между людьми, которые реализуют ручное управление памятью близко к оптимуму, не тратя на это никаких умственных усилий, и теми, кто при всём желании лучше GC ею всё равно управлять не может, крайне непродуктивен.
А ты к которой категории себя причисляешь?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо. Здесь кто бы спорил, чем выше тем лучше. Но отдавать такой важный ресурс как память на откуп автоматическому сбору мусора это уже не более высокий уровень, это уже смена мировоззрения. Вместо ответственной оценки потребления памяти, мы грубо говоря плюём на эту сторону вопроса.
Думаю стоит немного поэкспериментировать с предметом обсуждения прежде чем нападать. Жить с управляемыми языками вполне можно. Многочисленные преимущества часто перевешивают увеличенную потребность в памяти.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, LaptevVV, Вы писали:
LVV>ООООООООООООООООООООООООООООООООООООО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! LVV>Коллега!!!!!! LVV>Как я вас понимаю!!!!!!! LVV>Седни только одной девице втулял на ту же тему... LVV>Она мне: LVV>- Дык работает же!!! Не все ли равно?!!!! LVV>Я ей: LVV>- а давай мы тебя нарядим в рубище!... Одежда ж! Не все ли равно?! LVV>Только тогда отстала... Но осталась при своем мнении...
LVV>Ламерство, сплошное ламерство!... LVV>Прпограммку ровно в 15 команд ассемблерной вставки ламерски расписывают примерно на 50-60... LVV>Вместо одного цикла пишут 4 (ЧЕТЫРЕ!!!!)... LVV>Аргумент тот же: а не все ли равно, работает же... LVV>Прям как подумаешь, как студенты к своей профессии относятся — страшно к врачу идти...
Помню, проходил алгоритмы, писал блок-схемы. Особенно понравилось написать алгоритм решения
Здравствуйте, Delight, Вы писали:
D>ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более D>высокие уровни абстракции. А на старые при необходимости вернуться хоть и не D>элементарно, но вполне можно.
Можно, но когда понимашь, что потратил 4 часа на то, что можно сделать за 2 минуты, то появляется нешуточное разрдажение и вопрос "а на хрена козе баян?".
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
T>>Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо. VD>Блин, STL и Boost — это для недоразвитых даунов. Это юрдоство с признаками фунционального стиля. Меж тем есть языки которые повзолят писать в этом стиле. Причем получается это просто великолепно!
Не трожь Буст! Укушу!
А если серьезно, то Буст — очень неплохая библиотека, позволяющая делать некоторые вещи, абсолютно недоступные в С# (контейнеры в memory-mapped-файлах, MPI).
Sapienti sat!
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, WolfHound, Вы писали:
WH>Правда у меня на С++ появился немерловый акцент... вот сегодня не придумал ничего лучше как возвратить из функции замыкание.
Это сильно. Надо бы куди-нить прикопать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, machine3000, Вы писали:
M>Разговор между людьми, которые реализуют ручное управление памятью близко к оптимуму, не тратя на это никаких умственных усилий, и теми, кто при всём желании лучше GC ею всё равно управлять не может, крайне непродуктивен.
Не тратить усилий на работу нельзя. Ты просто привык к этим тратам и считашь, что так и нужно. Рожаешь в код по чайной ложке кода и считашь, что так и должно быть.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Реально, знание алгоритмов сортировки нужно крайне редко, а когда оно все же нужно — всегда под рукой Google и справочники.
Скажем так, их знание — это некая тренировка для мозга. Она несомненно полезна, но не необходима.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
C>>Не трожь Буст! Укушу! VD>Злой ты, и не женственный .
Еще бы
C>>А если серьезно, то Буст — очень неплохая библиотека, позволяющая делать некоторые вещи, абсолютно недоступные в С# (контейнеры в memory-mapped-файлах, MPI). VD>Да, я согласен, что для С++ с его убогими средствами Буст — это просто глоток воздуха в затхлом царстве. Но уж тебе то точно не надо рассказывать, что на том же Питоне буст на фиг не упал, так как язык и его обычные библотеки решают эти задачи просто отлично.
В Бусте есть красивые непрактичные библиотеки (типа Spirit'а или Phoenix'а), некрасивые практичные библиотеки (тот же bind, shared_ptr), красивые практичные библиотеки (shared-memory контейнеры, асинхронный ввод-вывод, MPI), ну и еще есть некрасивые непрактичные библиотеки (iostreams). Я обычно из Буста использую только практичные библиотеки, для которых не надо ждать по полчаса компиляции файла
В Питоне, кстати, мне некоторых Бустовых вещей не хватало, так что я их добавлял через Boost.Python
VD>На самом деле, тут Вольфхаунд высказал замечательную мысль: VD>
Правда у меня на С++ появился немерловый акцент... вот сегодня не придумал ничего лучше как возвратить из функции замыкание.
VD>Думаю дел не в Немерле. Дело в том, что человек освоивший фунциональный подход начинает думать по другому и даже на С++ умудряется писать более выразительно. Буст это несомненно то средство, чтобы писать на С++ с фунциональным акцентом. Но боже ж мой, если есть выбор, то зачем жрать сурагаты?
Так просто на С++ не надо писать в сильнофункциональном стиле — только хуже будет.
Ну а насчет суррогатов — нет пока для С++ полностью достойной замены. Надежды на D не оправдались, к сожалению.
Sapienti sat!
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Кстати, знание ассемблера — достаточно бесполезная вещь. Мне даже при разработке на встроеных устройствах нетривиальная ассемблерная вставка потребовалась всего 3 раза: для инициализации одного контроллера, динамическое создание стаба функции и реализация FastSqrt. Да, ассемблер был MIPS'овый, в режиме big-endian.
По моему опыту знание ассемблера нужно больше для отладки.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Олег Гашев, Вы писали:
T>>>Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. C>Так у нормальных программистов есть деньги на покупку программ — им дороже будет потратить свое время на взлом защиты. Да и неинтересно это совершенно.
нормальные программисты программы не ломают. они просто качают краки. это чаще намного проще и быстрее чем официально купить. так как все таки у нас это еще не очень развито. во всяком случае одно время propckit было купить очень сложно.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Я не умею быть злым, и не хочу быть добрым.
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Так просто на С++ не надо писать в сильнофункциональном стиле — только хуже будет.
А кто сказал про сильнофункциональный стиль? Да и вобще что такое сильнофункциональны стиль не очень ясно.
Я просто замкнул this и указатель на функцию челен.
Вот вобщемто и вся функциональщина. Не больше чем STL.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Это значит, что Дельфи, по крайней мере та что не .NET марально устаревшее средство разработки.
Одно из самых удобных. Я правда редко им пользуюсь, но каждый раз меня поражает простота и даж иногда кажется что это точно также отупляет. Там почти как в C# — весело и ни о чём не надо думать. Может поэтому и пользуюсь редко.
VD>К примеру, меня очень порадовал тот факт, что массивы делятся на динамические и статически, причем оные между собой не совместимы.
Вполне логично. Статический массив это просто кусок памяти заранее известного размера, динамический же подразумевает её дополнительное выделение и вообще нетривиальное управление. Совершенно разные абстракции.
VD>Пойми деградировать ниже чем дельфи-кодер уже не удастся. Дельфи и Вб 6 это очень близкие инструменты если сравнивать их сточки зрения тупизны и маразма их пользователей (причем сами интсрументы тут виноваты только в том, что у них были хорошие дизайнеры форм и компонетные модели).
Я встречал громадное количество дельфи-кодеров, которые могли качественно написать ассемблерную вставку и отказаться от VCL в программе, а также отлично знали Рихтера (я даж видел все примеры из Рихтера в переводе на Delphi). И ни одного VB-кодера с аналогичными скиллами.
VD>Ты вот упомянул, что изучил Лисп для развлечения. Так вот, я тебе скажу, что как раз именно это було самым главным, что ты сделал в области программирвоания. Если ты не остановишся на азах, а освоишь (в совершенстве) функциональный стиль и метапрогарммирвоание в Лиспе, то со временем ты сам заметишь, что ты вышел на новый уровень мастерсва. А за свои сегодняшние слова тебе будет просто стыдно.
Я вообщет прочитал и прорешал Абельсона и Сассмана SICP. Я прост не знаю что ещё прочитать чтобы освоить Лисп лучше. )
Язык мне очень нравится, но кажется совсем игрушечным. Прост не могу себе представить серьёзную задачу на Лиспе.
VD>Еще очень советую для развлечения хорошенько освоить Хаскель или Немерле. Первое покажет как ничтожно напряжение мозга при работе с С++ , а второе покажет как убог С++. В прочем, многие знатоки Хасклея скажут, что для этого достаточно изучть только Хаскель.
Я тож очень заинтересовался Haskell даже купил на неделе книжку но ещё не приступал.
VD>И читая сейчас эти строки о Дельфи и С++ у меня возникает только одно желание — грязно вырукатсья и выбросить с балкона книку "С++ дизайн и эволюция". Хорошо, что книга дома, а балкон на работе.
Всё-таки у вас какойт нехороший фанатизм. Но я вас понимаю, у меня он тоже есть, только в другую сторону. Я просто влюблён в С++. В первую очередь за то, что он поддерживает дисциплину духа (в отличии от VB, Java и Delphi) и одновременно позволяет решать реальные коммерческие задачи (в отличии от Lisp и Haskell).
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Кодёнок, Вы писали:
T>>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать. Кё>А какое должно быть идеальное стремление? Много думать и по миру ходить чтоли?
Идеальным было бы стремление брать от жизни всё, в частности, накапливать умение соображать, думать и мыслить. Без тренировки даже если захочешь о чём-то подумать — не получится
А в институте предоставляется довольно много шансов в этом поупражняться.
Здравствуйте, Кодёнок, Вы писали:
ХД>>Без тренировки даже если захочешь о чём-то подумать — не получится Кё>Всегда получалось.
Значит тренировался Либо ты меня не совсем понял. Способность думать — она не от рождения дана, она развивается в зависимости от того, в какое окружение мы попадаем или сами себе устраиваем. Под тренировкой я подразумевал, например, регулярные размышления над задачами больше чем в два хода, общение и споры с более умными людьми и т. п.
Есть люди, которые в большинстве случаев просто не могут делать относительно простые рассуждения — не получается. И, я считаю, именно из-за отсутствия такой тренировки. Ну зайдите в свой институт к студентам 2-3 курса. Думаю, сполне сможете найти таких. Это не плохо, просто это есть.
Здравствуйте, AndreiF, Вы писали:
AF>Лучше специальную песочницу для тех, кто страдает от мании величия. Пусть там возятся, нормальных людей не беспокоят.
Как быстро ты диагноз поставил. А мне почему то кажется, что "нормального человека" слегка флеймовой фразой сильно не "побеспокоишь".
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, machine3000, Вы писали:
M>Как быстро ты диагноз поставил. А мне почему то кажется, что "нормального человека" слегка флеймовой фразой сильно не "побеспокоишь".
1. Конечно, быстро. Ты думаешь, ты здесь первый такой?
2. Не "слегка флеймовая", а "сильно флеймовая"
3. Беспокоит не сильно, но когда на это натыкаешься в n*10 раз, то это уже напрягает
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, AndreiF, Вы писали:
AF>1. Конечно, быстро. Ты думаешь, ты здесь первый такой?
Ну да, все плюсплюсники на одно лицо, как китайцы.
AF>2. Не "слегка флеймовая", а "сильно флеймовая"
Сильно модераторы не разрешают.
AF>3. Беспокоит не сильно, но когда на это натыкаешься в n*10 раз, то это уже напрягает
К врачу.
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Дмитрий В, Вы писали:
T>>>Разубедите меня. ДВ>>Жжошь, взаправду жжошь! ДВ>>Пеши ещо!
VD>Орел. В баню захотел?
VD>Здесь все языки кроме Русского запрещены. Даже быдляцкие.
Я ж взаправду порадовался
Мне очень понравилась аргументизация автора, ведь не придерешься — получается, что он прав
Re[6]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Cyberax, Вы писали:
C>>Не трожь Буст! Укушу!
VD>Злой ты, и не женственный .
C>>А если серьезно, то Буст — очень неплохая библиотека, позволяющая делать некоторые вещи, абсолютно недоступные в С# (контейнеры в memory-mapped-файлах, MPI).
VD>Да, я согласен, что для С++ с его убогими средствами Буст — это просто глоток воздуха в затхлом царстве. Но уж тебе то точно не надо рассказывать, что на том же Питоне буст на фиг не упал, так как язык и его обычные библотеки решают эти задачи просто отлично.
VD>На самом деле, тут Вольфхаунд высказал замечательную мысль: VD>
Правда у меня на С++ появился немерловый акцент... вот сегодня не придумал ничего лучше как возвратить из функции замыкание.
VD>Думаю дел не в Немерле. Дело в том, что человек освоивший фунциональный подход начинает думать по другому и даже на С++ умудряется писать более выразительно. Буст это несомненно то средство, чтобы писать на С++ с фунциональным акцентом. Но боже ж мой, если есть выбор, то зачем жрать сурагаты?
мля... Как ты затрахал со своим функциональным подходом... Кто-то использует его годами и молчит, не делая из него бога, а ты же ....
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Tilir, Вы писали:
[]
VD>С++-программист в среденм тоже довольно плохо развитое существо. Конечно низкое качество языка и большая вариативность заставляют думать чуть больше чем дельфи/вб-быдлокодеров, но думают С++-ники в основном как выжать еще три бита из двух байтов и о том, как заствить работать эту гребаную хрень которая все время ликает и изрыкает AV. При таких расскладах времени на реальное самосовершенствование просто не остается.
Ты по себе судишь? Если да, то надо обязательно об этом говорить, друг мой
VD>Ты вот упомянул, что изучил Лисп для развлечения. Так вот, я тебе скажу, что как раз именно это було самым главным, что ты сделал в области программирвоания. Если ты не остановишся на азах, а освоишь (в совершенстве) функциональный стиль и метапрогарммирвоание в Лиспе, то со временем ты сам заметишь, что ты вышел на новый уровень мастерсва. А за свои сегодняшние слова тебе будет просто стыдно.
класс!
VD>Ну, и так же очень советую убрать снобизм. Пойми, тебе только кажется, что-то. На саомо деле ты просто смотришь на огромный мир через узенькую трубочку, и думашь, что все что ты видишь — это и есть этот мир.
Тебе, тебе Влад
[]
VD>Я вот недвано написал страницу кода на Немеле и получил неимоверное удовольствие, так как смог соркратить код в 5 раз и при этом сделать его еще в 5 раз понятнее. Причем все что я сделал — это грамотно использовал рекурсию. Но это заставило меня взгянуть на проблему по другому. Моя душа просто пела от того, что я смог выразить мысли так красиво и чисто. И читая сейчас эти строки о Дельфи и С++ у меня возникает только одно желание — грязно вырукатсья и выбросить с балкона книку "С++ дизайн и эволюция". Хорошо, что книга дома, а балкон на работе.
с тобой точно что-то не в порядке. Эт как воинствующий атеизм
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даже забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".
Забывает и тупеет это разные вещи. Я вот недавно помог одной даме решить несколько дифур первого порядка, так я забыл типы дифур, которые сводятся к линейному, и какую подстановку надо делать... Но вспомнил. Это вполне естественно для человека. Кроме того, одна из тенденций развития IT состоит в том, чтобы сделать программирование более простым и получать экономическую выгоду также и от недалекого индуса, и тут лучше подходит VB\Java нежели C++.
T>Это же чудовищно. VladD2 — несомненно умный человек, автор большого количества интересных статей и сообщений. Мы все его уважаем и т.д.. Но не справиться с парой строк кода на примитивном и в общем-то берущем почти всё на себя Delphi — это финиш. Эт значит человека нужно брать и заново учить, писать код он уже явно не может.
Нет, тут проблема скорее в том, что старые методы забыты, а новые не работают. Но происходит попытка решить задачу именно новыми методами, для которых язык не предназначен. Аналогично у меня, когда нет прямой возможности сделать то, что я хочу в C#, наступает полный ступор.
T>P.S. Я думаю очень скоро тенденции рынка пересадят на Java/C# громадное количество программистов во всяких банковских и прочих сферах, которые медленно но верно деградируют там до уровня "VB-кодеров" и "1С-программистов". Что освободит рынок где требуются профессионалы для настоящей разработки и создаст чудовищный кадровый голод на действительно понимающих людей. Такчт пора освежать скиллы в pure C.
Не так уж много задач, требующих действительно понимающих людей. Писать шахматный движок не станут 10 человек, это уже достаточно много.
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
Думаю, что что это тенденция проявляется у большинства людей. Только Истинным Исполинам Духа финансовые вопросы безразличны
Re[2]: Неужели управляемые языки действительно так отупляют?
VD>Ты вот упомянул, что изучил Лисп для развлечения. Так вот, я тебе скажу, что как раз именно это було самым главным, что ты сделал в области программирвоания. Если ты не остановишся на азах, а освоишь (в совершенстве) функциональный стиль и метапрогарммирвоание в Лиспе, то со временем ты сам заметишь, что ты вышел на новый уровень мастерсва. А за свои сегодняшние слова тебе будет просто стыдно.
VD>Еще очень советую для развлечения хорошенько освоить Хаскель или Немерле. Первое покажет как ничтожно напряжение мозга при работе с С++ , а второе покажет как убог С++. В прочем, многие знатоки Хасклея скажут, что для этого достаточно изучть только Хаскель.
Смешно. Лисп, Хаскель, Немерле... Языки теоретиков — бумажных тигров. Где эти "мега" языки в реальной жизни? сколько коммерческих проектов на на них написано? Они созданы теоретиками для теоретиков. Для решения 2-минутных студенческих задачек и написания статей о сферических конях в вакууме.
Re[2]: Неужели управляемые языки действительно так отупляют?
VD>В общем, финал истории был очень забавный. После нескольких частов траха над парой задачек я реализовал их на Немерле за ДВЕ минуты! Это финишь. Такая разница в скорости не может быть объяснена только тем, что я основательно забыл Дельфи.
Смотря чем ты эти пару часов занимался.
Скрещивал статические и динамические массивы? Это как раз укладывается в любое объяснение, и "кривой дизайн языка" и "забыл Delphi, пришлось заново учить".
Сам пишешь — "задачки", значит ничего серьезного ты там не на кодировал, чтобы так уж сильно мучаться от ограничений языка.
VD> о что долболомы писавшие Дельфи 7 так и не удосужились перейти на новый формат хэлпа, а использовали хэлп от Виндовс 3.х вообще меня убил, VD> так как от этого формата уже отказался сам Майрософт (в Висте он просто не поддерживается).
В каком году появилась Delphi 7 и в каком Vista ? Сравнил...
Формат MSDN очень тяжеловесный, очень долго грузится сравнительно с почти мгновенным WinHelp. У всего есть свои плюсы. И если Майкрософт от чего-то отказался, это ещё не значит что это безнадёжная во всем плохая поделка. Иначе "сам Майкрософт" отказался бы от неё не в висте, а 10 лет назад в Win98.
Писал бы не на Delphi 7 ,а на Delphi 2007, тогда бы твои упреки что там непохоже на Висту и дотнет были бы несколько более обоснованными.
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, CreatorCray, Вы писали:
CC>Сравнивал как то компиляторы жабы 1.5, написанные на жабе и на С++. Небо и земля, как по скорости работы так и по потреблению памяти. Разумеется не в пользу жабы. Код сгенерили они абсолютно одинаковый.
А где ты нашел нативный компилятор для Java 1.5?? Jikes поддерживает максимум 1.4
Кстати, Jikes работает заметно медленнее эклипсового компилятора, просто при отдельном запуске он выигрывает за счет того, что не нужно JVM в память загружать. А вот резидентный Java-вый компилятор работает так же быстро.
Sapienti sat!
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, WolfHound, Вы писали:
C>>Так просто на С++ не надо писать в сильнофункциональном стиле — только хуже будет. WH>А кто сказал про сильнофункциональный стиль? Да и вобще что такое сильнофункциональны стиль не очень ясно. WH>Я просто замкнул this и указатель на функцию челен.
Ну это неинтересно, я уж подумал, что ты использовал что-то типа continuation'а
А Boost.Bind вообще недавно стал моей любимой библиотекой — и как я раньше без него жил??
WH>Вот вобщемто и вся функциональщина. Не больше чем STL.
Угу.
Sapienti sat!
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".
Стеб, да?
А если серьезно, то это как раз рост. Человек начинает больше думать о смысле своей программы (та самая "бизнес-логика"), а не о деталях реализации.
T>Что освободит рынок где требуются профессионалы для настоящей разработки и создаст чудовищный кадровый голод на действительно понимающих людей. Такчт пора освежать скиллы в pure C.
Назад в пещеры к каменным топорам?
Конечно специалисты, знающие низкоуровневые детали нужны, но это довольно узкий рынок.
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
Чтобы больше получать надо больше думать, только в правильном направлении — как решить ту же задачу более элегантно и с меньшими затратами.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Cyberax, Вы писали:
C>>Так просто на С++ не надо писать в сильнофункциональном стиле — только хуже будет. WH>А кто сказал про сильнофункциональный стиль? Да и вобще что такое сильнофункциональны стиль не очень ясно. WH>Я просто замкнул this и указатель на функцию челен. WH>Вот вобщемто и вся функциональщина. Не больше чем STL.
Да это часть STL (bind1st,bind2nd). Ну или более общее boost::bind + boost::function.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Mamut, Вы писали:
W>>Смешно. Лисп, Хаскель, Немерле... Языки теоретиков — бумажных тигров. Где эти "мега" языки в реальной жизни? сколько коммерческих проектов на на них написано? Они созданы теоретиками для теоретиков. Для решения 2-минутных студенческих задачек и написания статей о сферических конях в вакууме.
M>Теоретики? Хм...
M>Лисп M>http://www.franz.com/success/ (особенно менюшка слева — B2B, анимация и графика, финансирование и т.д. и т.п.)
M>Хаскель M>http://www.haskell.org/haskellwiki/Haskell_in_industry M>http://www.haskell.org/haskellwiki/Haskell_in_practice
Ну смотрим эти ссылки и что видим — приложений капля в море и в спецефических нишах.
На Лиспе и Хаскеле всесте взяты софта написано как минимум в 10000 раз меньше чем например на Java или С++ или С.
Соответсвенно если они (Лиспе и Хаскель) настолько классные (что изучив их понимаешь как убог С++) — почему их практически (см выше) не используют?
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
WH>>А кто сказал про сильнофункциональный стиль? Да и вобще что такое сильнофункциональны стиль не очень ясно. WH>>Я просто замкнул this и указатель на функцию челен. C>Ну это неинтересно, я уж подумал, что ты использовал что-то типа continuation'а
C>А Boost.Bind вообще недавно стал моей любимой библиотекой — и как я раньше без него жил??
Давно пытался boost::bind вернуть из функции?
Здравствуйте, CreatorCray, Вы писали:
C>>А где ты нашел нативный компилятор для Java 1.5?? Jikes поддерживает максимум 1.4 CC>Притащили коллеги года 3 назад... Название уже не вспомню CC>Разница в скорости компиляции тогда была поразительной. Первоначально решили что он не работает, т.к. отрабатывал он почти моментально.
Это Jikes. Он работает не сильно быстрее Javac — но выигрывает за счет очень быстрого запуска.
Sapienti sat!
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, aka50, Вы писали:
A>Здравствуйте, CreatorCray, Вы писали:
CC>>Здравствуйте, Cyberax, Вы писали:
CC>>>>Сравнивал как то компиляторы жабы 1.5, написанные на жабе и на С++. CC>>Притащили коллеги года 3 назад... Название уже не вспомню A>Хмм... странно... java 1.5 еще и 3х лет нет...
В 2004-м я сваливал со старой конторы где был проект на Java, я конечно могу ошибаться за давностью, и в то время шел перевод проекта под 1.5. A> а кто-то уже умудрился написать С++ компилер, да еще и никому не известный...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Это Jikes. Он работает не сильно быстрее Javac — но выигрывает за счет очень быстрого запуска.
Возможно. Тогда для тестов собирали небольшой проект, так что вполне может быть
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, work69, Вы писали:
W>Ну смотрим эти ссылки и что видим — приложений капля в море и в спецефических нишах. W>На Лиспе и Хаскеле всесте взяты софта написано как минимум в 10000 раз меньше чем например на Java или С++ или С. W>Соответсвенно если они (Лиспе и Хаскель) настолько классные (что изучив их понимаешь как убог С++) — почему их практически (см выше) не используют?
Использовать то, что не является main stream технологией неразумно. Людей не найти. Технология сыра, не вылизана до того состояния, как любая из main stream технологий. Но уверен, что во многих языках есть куча революционных идей, которые могли бы радикально изменить индустрию. И рано или поздно это произойдёт. Но поскольку вероятность, что это произойдёт завтра очень мала, можно особо не заморачиваться. Хотя следить за рынком надо постоянно.
Re[6]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, work69, Вы писали:
M>>>http://www.haskell.org/haskellwiki/Haskell_in_industry M>>>http://www.haskell.org/haskellwiki/Haskell_in_practice W>>Ну смотрим эти ссылки и что видим — приложений капля в море и в спецефических нишах. W>>На Лиспе и Хаскеле всесте взяты софта написано как минимум в 10000 раз меньше чем например на Java или С++ или С. W>>Соответсвенно если они (Лиспе и Хаскель) настолько классные (что изучив их понимаешь как убог С++) — почему их практически (см выше) не используют? C>Так ведь их выучить надо, а это непросто. Ну и отсутствие необходимых библиотеки и т.п.
1) Дык как бы и знание Java c С++ не является врожденным. Их тоже люди учат. А это не просто. У С++ вон какой сложный для многих синтаксис .
2) Отсутствие необходимых библиотек — так а почму их нет? Потому что эти языки мало кому нужны.
C>Лично мне эти языки помогли научиться лучше решать задачи на С++/Java.
Вот что и подтверждает что Лисп и Хаскель — это языки для теоретиков и обучения и спецефических очень узких ниш.
Повторюсь — если они такие замечательные — почему вы пишите свои коммерческие проекты на C++/Java? Почему тысячи проектов по всему миру
пишутся на C/C++/Java а не на этих замечательных языках? Разработчики и бизнесмены по всему миру враги сами себе или может мазохисты?
Re[6]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, machine3000, Вы писали:
M>Здравствуйте, work69, Вы писали:
W>>Ну смотрим эти ссылки и что видим — приложений капля в море и в спецефических нишах. W>>На Лиспе и Хаскеле всесте взяты софта написано как минимум в 10000 раз меньше чем например на Java или С++ или С. W>>Соответсвенно если они (Лиспе и Хаскель) настолько классные (что изучив их понимаешь как убог С++) — почему их практически (см выше) не используют?
M>Использовать то, что не является main stream технологией неразумно. Людей не найти. Технология сыра, не вылизана до того состояния, как любая из main stream технологий. Но уверен, что во многих языках есть куча революционных идей, которые могли бы радикально изменить индустрию. И рано или поздно это произойдёт. Но поскольку вероятность, что это произойдёт завтра очень мала, можно особо не заморачиваться. Хотя следить за рынком надо постоянно.
Я уверен что если бы эти языки реально позволяли писать лучший софт (более быстрый и/или менее глючный и/или разрабатывать софт быстрее и т.п) и соответсвенно приносить больший экономический эффект — они бы стали main stream.
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, work69, Вы писали:
W>Я уверен что если бы эти языки реально позволяли писать лучший софт (более быстрый и/или менее глючный и/или разрабатывать софт быстрее и т.п) и соответсвенно приносить больший экономический эффект — они бы стали main stream.
Ну представь, что язык во всех отношениях хороший есть, а библиотек нет, или нет знающих его разработчиков, или нет отладчика и удобного IDE. Значит софт лучше уже написать не получится. Значит язык не нужен. А раз язык не нужен, кто будет писать библиотеки и всё остальное. Это типичная ситуация для любой новой технологии. Без совместимости с существующей инфраструктурой новая технология никому не нужна. Какая бы она замечательная не была.
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, work69, Вы писали:
W>Здравствуйте, machine3000, Вы писали:
W>Я уверен что если бы эти языки реально позволяли писать лучший софт (более быстрый и/или менее глючный и/или разрабатывать софт быстрее и т.п) и соответсвенно приносить больший экономический эффект — они бы стали main stream.
Проблем как обычно две
1. Менеджеры (по естественным причинам идут "со стадом")
2. Деньги (раскручивать что-то новое сложнее, чем продавать то же самое, но в новой обертке)
Итого получаем, что легче не видеть очевидных плюсов других языков, чем рискнуть чем-то из пп1/2. "моя хата с краю" — тоже неплохой принцип "плыть по жизни".
Как иллюстрация возможности erlang-а (то, что слева меленькое и скромненькое — это apache на мейнстрим C, а красное и могучее — это erlang, цифирики снизу — кол-во _одновременно_ обслуживаемых клиентов сервером). Но вот беда, большинство не знает, что такое функциональное программирование и не видит "миллионов" проектов на erlang-е.
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, aka50, Вы писали:
A>
Нельзя ли "на пальцах" объяснить что это за график, зависимость чего от чего он показывает и в результате каких действин он был получен?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, aka50, Вы писали:
A>> CC>Нельзя ли "на пальцах" объяснить что это за график, зависимость чего от чего он показывает и в результате каких действин он был получен?
Здравствуйте, work69, Вы писали:
C>>Так ведь их выучить надо, а это непросто. Ну и отсутствие необходимых библиотеки и т.п. W>1) Дык как бы и знание Java c С++ не является врожденным. Их тоже люди учат. А это не просто. У С++ вон какой сложный для многих синтаксис .
C++/Java прекрасно учаться после школьного Паскаля или Бейсика. В университетах тоже мало кто из преподавателей знает что-то отличное от них.
Так что и получается, что Delphi — самый популярный язык в России.
W>2) Отсутствие необходимых библиотек — так а почму их нет? Потому что эти языки мало кому нужны.
Нет, библиотек нет из-за того, что языком мало кто пользуется. Порочный круг получается.
W>Вот что и подтверждает что Лисп и Хаскель — это языки для теоретиков и обучения и спецефических очень узких ниш. W>Повторюсь — если они такие замечательные — почему вы пишите свои коммерческие проекты на C++/Java? Почему тысячи проектов по всему миру W>пишутся на C/C++/Java а не на этих замечательных языках? Разработчики и бизнесмены по всему миру враги сами себе или может мазохисты?
Не знаю как у всего мира, но у меня лично есть проект на Эрланге и куча собственных Питоновых скриптов и утиллит. Эрланг так вообще позволяет писать параллельные приложения на порядок проще, чем в С++.
А с менеджерами и бизнесманами действует принцип: "Никого еще не уволили за использование продуктов IBM".
А вообще, до недавнего времени самым популярным языком был COBOL. Чего ты его еще не начал изучать и пропагандировать?
Sapienti sat!
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, work69, Вы писали:
M>>Использовать то, что не является main stream технологией неразумно. Людей не найти. Технология сыра, не вылизана до того состояния, как любая из main stream технологий. Но уверен, что во многих языках есть куча революционных идей, которые могли бы радикально изменить индустрию. И рано или поздно это произойдёт. Но поскольку вероятность, что это произойдёт завтра очень мала, можно особо не заморачиваться. Хотя следить за рынком надо постоянно. W>Я уверен что если бы эти языки реально позволяли писать лучший софт (более быстрый и/или менее глючный и/или разрабатывать софт быстрее и т.п) и соответсвенно приносить больший экономический эффект — они бы стали main stream.
Вот Erlang — реально позволяет писать более надежные распределенные системы (доказано Ericsson). Что же ты его еще не изучил?
Sapienti sat!
Re[2]: Неужели управляемые языки действительно так отупляют?
VD>Пойми деградировать ниже чем дельфи-кодер уже не удастся. Дельфи и Вб 6 это очень близкие инструменты если сравнивать их сточки зрения тупизны и маразма их пользователей (причем сами интсрументы тут виноваты только в том, что у них были хорошие дизайнеры форм и компонетные модели).
VD>Еще очень советую для развлечения хорошенько освоить Хаскель или Немерле. Первое покажет как ничтожно напряжение мозга при работе с С++ , а второе покажет как убог С++. В прочем, многие знатоки Хасклея скажут, что для этого достаточно изучть только Хаскель.
я сейчас пишу на дельфи, хаскеле и с++. интересно, к какой категории я по твоей классификации отношусь?
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Неужели управляемые языки действительно так отупляют?
C>Кстати, знание ассемблера — достаточно бесполезная вещь. Мне даже при разработке на встроеных устройствах нетривиальная ассемблерная вставка потребовалась всего 3 раза: для инициализации одного контроллера, динамическое создание стаба функции и реализация FastSqrt. Да, ассемблер был MIPS'овый, в режиме big-endian.
знание архитектуры эвм необходимо для оптимизации программ. конкретно ассемблер может пригодиться если ты не доверяешь своему компилятору и перечитываешь ассемблерные листинги сгенерённого им кода (я такое на хаскеле делал )
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Неужели управляемые языки действительно так отупляют?
T>Я вообщет прочитал и прорешал Абельсона и Сассмана SICP. Я прост не знаю что ещё прочитать чтобы освоить Лисп лучше. )
T>Я тож очень заинтересовался Haskell даже купил на неделе книжку но ещё не приступал.
"сгорела библиотека! пропали обе книги, причём одна из них даже не разрезана"
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Дмитрий В, Вы писали:
ДВ>Я ж взаправду порадовался
В заправду, не в заправду. Падонковщина запрещена правилами форума.
ДВ>Мне очень понравилась аргументизация автора, ведь не придерешься — получается, что он прав
Я все понимаю, но в следующий раз будет бан.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, work69, Вы писали:
M>>>Использовать то, что не является main stream технологией неразумно. Людей не найти. Технология сыра, не вылизана до того состояния, как любая из main stream технологий. Но уверен, что во многих языках есть куча революционных идей, которые могли бы радикально изменить индустрию. И рано или поздно это произойдёт. Но поскольку вероятность, что это произойдёт завтра очень мала, можно особо не заморачиваться. Хотя следить за рынком надо постоянно. W>>Я уверен что если бы эти языки реально позволяли писать лучший софт (более быстрый и/или менее глючный и/или разрабатывать софт быстрее и т.п) и соответсвенно приносить больший экономический эффект — они бы стали main stream. C>Вот Erlang — реально позволяет писать более надежные распределенные системы (доказано Ericsson). Что же ты его еще не изучил?
"Доказано Ericsson" — емко — а можно по подробнее — хотя бы ссылку на "доказательства"?
Re[10]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
C>>А Boost.Bind вообще недавно стал моей любимой библиотекой — и как я раньше без него жил?? WH>Давно пытался boost::bind вернуть из функции?
Нет. А что?
Sapienti sat!
Re[11]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Cyberax, Вы писали:
C>>>А Boost.Bind вообще недавно стал моей любимой библиотекой — и как я раньше без него жил?? WH>>Давно пытался boost::bind вернуть из функции? C>Нет. А что?
И как без boost::function получилось?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, work69, Вы писали:
W>>>Я уверен что если бы эти языки реально позволяли писать лучший софт (более быстрый и/или менее глючный и/или разрабатывать софт быстрее и т.п) и соответсвенно приносить больший экономический эффект — они бы стали main stream. C>>Вот Erlang — реально позволяет писать более надежные распределенные системы (доказано Ericsson). Что же ты его еще не изучил? W>"Доказано Ericsson" — емко — а можно по подробнее — хотя бы ссылку на "доказательства"? http://www.erlang-projects.org/Public/success_stories — можешь еще в форуме по декларативному программированию поискать.
Sapienti sat!
Re[10]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>На erlang-е запросто пишутся линейно-масштабируемые сервера при чем прозрачно распределенные, на С забодаешься (как и на С++, оцени сложность http://sobjectizer.sourceforge.net).
Не являюсь поклонником Эрлага, но — факт. Язык и его рантайм специально разработа для окучивания мультипаралельных вычислительных здач. И на них он рвет разные С++ как тузик грелку. Да он и всех остальных рвет, кто не умеет мимикрировать под тот же Эрланг.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Programador, Вы писали:
M>>Немерле M>>Немерле пока слишком молод, чтобы о нем что-то говорить. Но РСДН хотят переводить на Немерле (http://rsdn.ru/forum/message/2424905.1.aspx
A lot of bugs have been discovered in Dumatel-1.02 !
P>So that it is hardly usable, wait, please, for the next release.
Скажи, интеграция языка программирования (очень сложгого) с MS VS 2005 — это тоже специфическое приложение? Или сойдет за ординарное? Если сойдет, то поверь, что на Немерле она создается очень неплохо. Куда лучше чем на С++. И работает довольно шустро.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Arioch, Вы писали:
A>Смотря чем ты эти пару часов занимался.
A>Скрещивал статические и динамические массивы? Это как раз укладывается в любое объяснение, и "кривой дизайн языка" и "забыл Delphi, пришлось заново учить".
A>Сам пишешь — "задачки", значит ничего серьезного ты там не на кодировал, чтобы так уж сильно мучаться от ограничений языка.
Тут сработает парадокс Блаба. Ты просто не сможешь меня понять. Дело в том, что на Немреле я просто могу изложить условие задачи практически один в один. В языке (и в библиотеке) есть и все нужные функции и все нужные концепции. Он просто на порядок более выразителен. В нем просто не надо тратить время на контроль времени жизни объектов. В нем все просто и логично. Есть только один тип массива. Есть богатый набор фунций для обработки любых последовательностей (в том числе и массивов). В общем, на одном языке можно просто изложить условие и получить работающую (и шустро) программу, а на втором нужно трахаться, обходить искусвенные несостыковки, писать собственные варианты фукнций которых попросту нет в библиотеках и т.д, и т.п.
A>В каком году появилась Delphi 7 и в каком Vista ? Сравнил...
И что? А в каком году появилась скажем VS.NET? Ее хэлп под вистой работает.
A>Формат MSDN очень тяжеловесный,
Я переживу. Лиш бы работал.
A> очень долго грузится сравнительно с почти мгновенным WinHelp.
У меня все грузится в лет. Вообще глупо ставить Висту на хреновую машину...
A> У всего есть свои плюсы. И если Майкрософт от чего-то отказался, это ещё не значит что это безнадёжная во всем плохая поделка. Иначе "сам Майкрософт" отказался бы от неё не в висте, а 10 лет назад в Win98.
Всему есть свои пределы. Убокий хэлп из Вынь 3.х это на сегодня анохранизм. Можно было бы хотя бы воспользоваться HTML Help 1.х. Он по прежнему работает везде, намного удобнее 3.х-ного хэлпа и работает весьма шустро.
A>Писал бы не на Delphi 7 ,а на Delphi 2007, тогда бы твои упреки что там непохоже на Висту и дотнет были бы несколько более обоснованными.
Задача была написать код именно на Дельфи 7, так как бараны из интитута где учится сын моего сотрудника (которому нужно было помочь) требуют именно эту версию. Да и другой мне прсото не было предоставлено.
Я согласен, что на Дельфи под дотнетом задача решалась бы куда проще. Но об этом речи не идет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Орел. В баню захотел?
VD>Здесь все языки кроме Русского запрещены. Даже быдляцкие.
Не понял с чем не согласны товарищи наставишвие минусов?
Это правила форума. Можете испытать судьбу и попытаться пообщаться на падонковщине. Баню вам гарантирую. Без шупа и пыши как говорится (т.е. без предупреждения) .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>И вообще, я еще не видел людей которые всерьез попрограммировав на Немерле потом заявляли, что он дерьмо, или не для реальной жизни. Это как наркотик. Один раз подсел, и все. С С++ тенет блевать, а когда пишешь на Шарпе, то начинается нервый тик, так как думашь ты уже на Немерле, а в Шарпе половина фишек попросту нет.
Похожая фигня с JetBrains IDEA. Хотя ИМХО немейнстримовые языки полезны в первую очередь как отличная гимнастика для ума + хорошо подготавливают почву для правильного восприятия новых фич в мейнстримовых. Прямой заменой они могут служить лишь в редких случаях.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, WolfHound, Вы писали:
WH>Немерле может полностью заменить C#. WH>Болие того любой грамотный программист на C# легко освоит немерле.
Вполне возможно, тем более что вкусности Немерле мне нравятся. Но это покажет будущее
(я не о личном инструментарии, а о больших проектах).
А грамотный программист вообще освоит что угодно, даже J.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Неужели управляемые языки действительно так отупляют?
Не, надо все таки на пальцах, бо что то это смахивает на сферического коня в вакууме.
1) Не понятно как можно при физическом лимите портов в TCP в 65535 штук открыть over 80,000 одновременных соединений?
2) Что именно они хотели оттестировать путем "Each session makes a very slow request to fetch a one byte file from machine 1"? К сколь либо реальной рабочей нагрузке эта схема не относится. Больше на DDOS атаку похоже.
3) Да и выводы по ссылке немного не про то, о чем шла речь в ветке.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[11]: Неужели управляемые языки действительно так отупляют
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Иванков Дмитрий, Вы писали:
ИД>>Первоисточник к сожалению не указан, но ищется без проблем: ИД>>http://www.sics.se/~joe/apachevsyaws.html
CC>Не, надо все таки на пальцах, бо что то это смахивает на сферического коня в вакууме.
Естественно, синтетичееский же тест.
CC>1) Не понятно как можно при физическом лимите портов в TCP в 65535 штук открыть over 80,000 одновременных соединений?
Клиентов 14, так что проблем нет.
CC>2) Что именно они хотели оттестировать путем "Each session makes a very slow request to fetch a one byte file from machine 1"? К сколь либо реальной рабочей нагрузке эта схема не относится. Больше на DDOS атаку похоже.
Так и есть, тестируется high parallel load.
По одному байту — чтобы не уткнуться в сеть надо полагать.
Раз в 10 секунд — ну наверное с потолка, частота запросов клиента.
CC>3) Да и выводы по ссылке немного не про то, о чем шла речь в ветке.
Тут мне уже судить сложнее, ибо не вчитывался ни в ветку, ни в тест , но на первый взгляд все в порядке: yaws и правда лучше справился с parallel load, т.к. в erlang свои потоки.
Re[7]: Неужели управляемые языки действительно так отупляют?
C>>Лично мне эти языки помогли научиться лучше решать задачи на С++/Java. W>Вот что и подтверждает что Лисп и Хаскель — это языки для теоретиков и обучения и спецефических очень узких ниш.
Узкая ниша — это тоже очень здорово, поверь. Например
Система MS Windows NT использует встроенный интерпретатор Пролога для конфигурации LAN и WAN
Microsoft's Windows NT operating system uses an embedded Prolog interpreter to configure its local and wide-area network systems.
Это уже более, чем неплохо
Язык для теоретиков — это язык, не покидающий учебные классы. Типа Турбо Паскаля сейчас Если бы эти языки были языками только для теоретиков, то, быть может, у нас и Orbitz с Амазоном не было бы
W>Повторюсь — если они такие замечательные — почему вы пишите свои коммерческие проекты на C++/Java? Почему тысячи проектов по всему миру W>пишутся на C/C++/Java а не на этих замечательных языках? Разработчики и бизнесмены по всему миру враги сами себе или может мазохисты?
О популярности языков в "философии программирования" спорили очень долго. Популярность языков — вещь непонятная.
А насчет коммерческих проектов... Я вот пишу сайт на Coldfusion. Хотел писать на Ruby. Почему на Coldfusion? Потому что найти разработчиков на Coldfusion оказалось легче, чем на Ruby А вообще я хочу писать на Эрланге
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Иванков Дмитрий, Вы писали:
ИД>>Первоисточник к сожалению не указан, но ищется без проблем: ИД>>http://www.sics.se/~joe/apachevsyaws.html
CC>Не, надо все таки на пальцах, бо что то это смахивает на сферического коня в вакууме.
CC>1) Не понятно как можно при физическом лимите портов в TCP в 65535 штук открыть over 80,000 одновременных соединений?
Там использовалось 16 машин CC>2) Что именно они хотели оттестировать путем "Each session makes a very slow request to fetch a one byte file from machine 1"? К сколь либо реальной рабочей нагрузке эта схема не относится. Больше на DDOS атаку похоже.
Это сделано для создания долгоживущего актера блокированного в io, т.е. показать, что это реальные потоки, а не замыкания, которые можно реализовать на С или scala CC>3) Да и выводы по ссылке немного не про то, о чем шла речь в ветке.
Про то. Разговор был о ненужности других языков кроме мейнстрима, и что вообще эти языки могут дать. Эта картинка отлично иллюстрирует — что. Особенно если посмотерть чуть дальше, на пример на код этого самого yaws и сравнить его с кодом apache (по краткости и понятности). А так же стоит задуматься например о том, что в erlang в прицнипе не может быть buffer overflow .
Re[12]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
CC>>1) Не понятно как можно при физическом лимите портов в TCP в 65535 штук открыть over 80,000 одновременных соединений? A>Там использовалось 16 машин
Дык и что что 16 машин. Серверная машина у них была только одна. Остальные — клиенты.
A>Это сделано для создания долгоживущего актера блокированного в io, т.е. показать, что это реальные потоки, а не замыкания, которые можно реализовать на С или scala
Если надо только держать соединение — это одно. Можно сделать под С++ на асинхронных сокетах и будет работать. А если на клиента надо гораздо больше инфы обрабатывать — это другое.
A>Эта картинка отлично иллюстрирует — что.
Да ничерта она не иллюстрирует хотя бы потому, что есть сомнения в том, что меряли одно и то же. Сравнили теплое с мягким.
A> Особенно если посмотерть чуть дальше, на пример на код этого самого yaws и сравнить его с кодом apache (по краткости и понятности).
Лучше сравнить функциональность.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[11]: Неужели управляемые языки действительно так отупляют
Здравствуйте, CreatorCray, Вы писали:
CC>1) Не понятно как можно при физическом лимите портов в TCP в 65535 штук открыть over 80,000 одновременных соединений?
Входящих соединений — легко. Когда сервер делает сокету Accept, номер порта будет тот же, что и для слушающего сокета.
А вот исходящих соединений действительно не сделать больше 65535 имея один ip
... << RSDN@Home 1.2.0 alpha rev. 670>>
Re[13]: Неужели управляемые языки действительно так отупляют
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, aka50, Вы писали:
CC>>>1) Не понятно как можно при физическом лимите портов в TCP в 65535 штук открыть over 80,000 одновременных соединений? A>>Там использовалось 16 машин CC>Дык и что что 16 машин. Серверная машина у них была только одна. Остальные — клиенты.
Срочно читать тему: http://rsdn.ru/Forum/?mid=2233868
A>>Это сделано для создания долгоживущего актера блокированного в io, т.е. показать, что это реальные потоки, а не замыкания, которые можно реализовать на С или scala CC>Если надо только держать соединение — это одно. Можно сделать под С++ на асинхронных сокетах и будет работать. А если на клиента надо гораздо больше инфы обрабатывать — это другое.
Асинхронные сокеты не спасут. Тебе придется городить именно замыкания, т.к. ты по любому упрешься в кол-во потоков. Т.е. в итоге ты будешь городить пулы и прочие корявости в коде, там где в ерланге ты просто напишешь актера с последовательным выполнением кода _вообще_ не задумываясь о какой-либо асинхронности. Вот тут хорошо написано здесь
A>>Эта картинка отлично иллюстрирует — что. CC>Да ничерта она не иллюстрирует хотя бы потому, что есть сомнения в том, что меряли одно и то же. Сравнили теплое с мягким.
Меряли нагрузочную способность. Чтобы понять что именно и в чем бонус — надо знать erlang и видеть код и легкость, с которой это достигается.
A>> Особенно если посмотерть чуть дальше, на пример на код этого самого yaws и сравнить его с кодом apache (по краткости и понятности). CC>Лучше сравнить функциональность.
Функциональность — дело наживное. Мы о языках.
Re[12]: Неужели управляемые языки действительно так отупляют
Здравствуйте, romangr, Вы писали:
R>Входящих соединений — легко. Когда сервер делает сокету Accept, номер порта будет тот же, что и для слушающего сокета. R>А вот исходящих соединений действительно не сделать больше 65535 имея один ip
Точно, ступил...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Delight, Вы писали:
D>Похожая фигня с JetBrains IDEA. Хотя ИМХО немейнстримовые языки полезны в первую очередь как отличная гимнастика для ума + хорошо подготавливают почву для правильного восприятия новых фич в мейнстримовых.
На счет гимнастики наверно — это верно. Но так как фактически речь идет о надстройке над, шарпом, то по большому счету — это просто развитие тех самых мэнстрим-технологий. Ну, еще работа над ошибками.
D> Прямой заменой они могут служить лишь в редких случаях.
Это предрассудок. Язык на голову лучше и удобнее лоюбого мэйнстрим-языка. В практическом применении проявил себя просто отлично. Из противопоказатний остается только то, что не все дизайнеры и утилиты с ним на сегодня рботают. Ну, да это дедо времени.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Delight, Вы писали:
D>Вполне возможно, тем более что вкусности Немерле мне нравятся. Но это покажет будущее D>(я не о личном инструментарии, а о больших проектах).
Это фобии. Уверяю тебя. Стит попробовать на практике (для начала для второстепенных задач), как тебя начинает просто засасывать.
Причем все твои скилы как дотнет- и C#-программиста никуда не пропадают. Ты просто выходишь на новый уровень.
D>А грамотный программист вообще освоит что угодно, даже J.
Согласен. Вот только я языки вроде J и K рассматриваю как развлекуху. Писать код на таком я бы не стал.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, alexeiz, Вы писали:
WH>>Немерле может полностью заменить C#.
A>А что, есть какие либо основания пологать, что популярность nemerle растет?
А тебе нужна популярность или ехать? В прочем, то что она растет не вызывает никаких сомнений. Просто до мэйнстрима ему конечно еще далеко.
Немерле отлично может работать в паре с C# или VB. Он совместим на уровне сборок в обще стороны. Он порождает CLS-совместимые сборки. Обучение ему проходит очень гладно и легко. Важно только использовать его в работе. Сначала как C#+, потом C#++, а потом, со временем, ты осваивашь расширенные возможности и сам не замечаешь как начинаешь использовать всю его мощь. Когда язык освоин есть еще одна убийственная мега-фича — макросы. С их помощью можно своротить горы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, alexeiz, Вы писали:
WH>>>Немерле может полностью заменить C#.
A>>А что, есть какие либо основания пологать, что популярность nemerle растет?
VD>А тебе нужна популярность или ехать? В прочем, то что она растет не вызывает никаких сомнений. Просто до мэйнстрима ему конечно еще далеко.
Популярность и ехать взаимосвязанные вещи. Компилятор nemerle уже год как застрял на версии 0.9.3. Никаких развитий не наблюдается даже на фронте багофиксиния. Блоги и wiki молчат. Google nemerle group тоже малоактивна.
Мне важно прежде всего функциональная сторона этого языка. Вот я сейчас и думаю, что лучше: nemerle или f#. У F#'па активный блог, постоянно новые релизы, в которых фиксятся баги и иногда появляются новые фичи. Пара книжек скоро выходит по F#.
Чем популярней язык, тем больше вероятности получить помощь в случае чего, или надежды, что ошибку в компиляторе зафиксят.
VD>Немерле отлично может работать в паре с C# или VB. Он совместим на уровне сборок в обще стороны. Он порождает CLS-совместимые сборки. Обучение ему проходит очень гладно и легко. Важно только использовать его в работе. Сначала как C#+, потом C#++, а потом, со временем, ты осваивашь расширенные возможности и сам не замечаешь как начинаешь использовать всю его мощь. Когда язык освоин есть еще одна убийственная мега-фича — макросы. С их помощью можно своротить горы.
Да, да, да... убийственная фича — макросы. Только я не горю желанием их писать. Хорошо бы если была библиотека с уже готовыми макросами на все случаи жизни. Однако, посмотрел я на nemerle.org. Там их буквально кот наплакал. Пишите, товарищи, макросы сами, что называется. Это как если бы тебе дали голый язык, а библиотеку к нему самому предложили написать. Спасибо. У того же F# специфичная для языка библиотека гораздо мощьнее. А nemerle до сих пор опирается в основном на то, что есть в .NET.
Re[12]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
C>>>>А Boost.Bind вообще недавно стал моей любимой библиотекой — и как я раньше без него жил?? WH>>>Давно пытался boost::bind вернуть из функции? C>>Нет. А что? WH>И как без boost::function получилось?
Так ее и использовал. После того, как я бустовцам предложил использовать оптимизацию с небольшим буффером вместо динамического распределения — ее стало даже можно использовать.
Sapienti sat!
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, alexeiz, Вы писали:
A>Популярность и ехать взаимосвязанные вещи. Компилятор nemerle уже год как застрял на версии 0.9.3. Никаких развитий не наблюдается даже на фронте багофиксиния.
Ну, это ты просто не в теме. Компилятор постоянно развивается и от 9.3 он уже ушел очень далеко. Половина моих примеров просто не спомпилируется на 9.3. 9.3 — это просто последний зафиксированный официальный рализ. Скоро будет 9.4. в который войдет так же интеграция со студией. В общем-то, текущая версия компилятора давно доступна здесь: May 2007 CTP (настоящая)
Или собрать из исходников самую последнию версию.
Глуков пофиксено море. Лично я не нарывался на глюки уже очень давно. Все что в последнее время вылавливается — это экзотика.
A> Блоги и wiki молчат. Google nemerle group тоже малоактивна.
Незнаю как там гугль, а конфа живет во всю. Вот только сегодня два сообщения новых.
A>Мне важно прежде всего функциональная сторона этого языка. Вот я сейчас и думаю, что лучше: nemerle или f#. У F#'па активный блог, постоянно новые релизы, в которых фиксятся баги и иногда появляются новые фичи. Пара книжек скоро выходит по F#.
Ну, если тебя интересует чтение блогов, то наврено F# — это то что нужно. Если работать, то скорее немерле. Я попытался недавно использовать F# и откровенно говоря плюнул. Интеграция в нем сильно более примитивно реализована. Сам язык мягко говоря не интуитивный (для меня по крайней мере, я не фанат ОКамла). Документация есть, но найти в ней некоторые нужные вещи я так и не смог. В общем, не цепляет. Возможно в этом винтовт мой С-шный бэкграунд, но тут уж ничего не попишешь. Может я и поглядел бы на F#, если бы не было Немерла. Но в его присутсвии F# для меня не актуален.
A>Чем популярней язык, тем больше вероятности получить помощь в случае чего, или надежды, что ошибку в компиляторе зафиксят.
Ну, уж если ты русскоязычный, то с получением информации по Непрелу просто нет никаких проблем. Действует форум на котором получить ответ куда проще чем ге бы то нибыло. Плюс в Немерловой конфе (на английском) тоже всегда можно получить очень квалифицированный ответ.
A>Да, да, да... убийственная фича — макросы. Только я не горю желанием их писать. Хорошо бы если была библиотека с уже готовыми макросами на все случаи жизни.
На все случи жини — это панацея. Панацей небывает.
A> Однако, посмотрел я на nemerle.org. Там их буквально кот наплакал. Пишите, товарищи, макросы сами, что называется. Это как если бы тебе дали голый язык, а библиотеку к нему самому предложили написать. Спасибо. У того же F# специфичная для языка библиотека гораздо мощьнее. А nemerle до сих пор опирается в основном на то, что есть в .NET.
Что в F# там мощьнее? Можно конкретно?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Это фобии. Уверяю тебя. Стит попробовать на практике (для начала для второстепенных задач), как тебя начинает просто засасывать. VD>Причем все твои скилы как дотнет- и C#-программиста никуда не пропадают. Ты просто выходишь на новый уровень.
Для второстепенных задач — согласен и использую. Про новый уровень — тоже согласен. Но без качественной поддержки со стороны IDE не факт, что выигрыш будет действительно большим. При спорах о языках нельзя забывать об огромном вкладе собственно среды разработки. Не всем же в Far'n'Colorer сидеть.
Для основных же задач пока рискованно. ИМХО.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, alexeiz, Вы писали:
WH>>>Немерле может полностью заменить C#.
A>>А что, есть какие либо основания пологать, что популярность nemerle растет?
VD>А тебе нужна популярность или ехать? В прочем, то что она растет не вызывает никаких сомнений. Просто до мэйнстрима ему конечно еще далеко.
VD>Немерле отлично может работать в паре с C# или VB. Он совместим на уровне сборок в обще стороны. Он порождает CLS-совместимые сборки. Обучение ему проходит очень гладно и легко. Важно только использовать его в работе. Сначала как C#+, потом C#++, а потом, со временем, ты осваивашь расширенные возможности и сам не замечаешь как начинаешь использовать всю его мощь. Когда язык освоин есть еще одна убийственная мега-фича — макросы. С их помощью можно своротить горы.
Vlad2 объясни пожалуйста, макрос мега фича, но в С на эту мега фичу нещадно ругались, а тут .
И где можно скачать или приобрести Nemerle
Спасибо
Программист — это шаман..., подарите бубен!
Re[2]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Delight, Вы писали:
D>Для второстепенных задач — согласен и использую. Про новый уровень — тоже согласен. Но без качественной поддержки со стороны IDE не факт, что выигрыш будет действительно большим.
А ты не думай, ты пробуй. Поддержка IDE для Немерла есть. Она конечно не супер, но куда лучше чем та же поддержка для Дельфи или Васкика. Ее более чем достаточно чтобы комфортно писать код. А язык настолько превосходит прородителя, что там и думать не о чем.
D> При спорах о языках нельзя забывать об огромном вкладе собственно среды разработки. Не всем же в Far'n'Colorer сидеть.
Мне спорить не очем. Я пробовал и то, и то и у меня никаких сомнений нет. Пускай соменваются теоретики.
D>Для основных же задач пока рискованно. ИМХО.
Это самовнушение цель которого просто остаться в своем старом мирке где все уже знакомо. Болото конечно, затхлое конечно, но за-то свое и знакомое.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Да и в общем-то мне по барабану уже. У меня никаких сомнений нет. При начии выбора я однозначно выберу Немерле и получу массу приемуществ и драйва от процесса программирования. Ну, а если люди имеют серый, закостянелый мозг и не могут побороть свои комплексы, то — это их проблемы. Они за это будут платить своей эффективностью.
Мысль в общем-то верная, за одним исключением — кто будет поддерживать такой проект? И как ты будешь набирать новых программеров (я в смысле кто будет оплачивать время их обучения Nemerle и главное, захотят ли эти программеры его изучать). Так что без правильного пиара — все таки в серьезные проекты ни scala ни N я лично не рискну совать... Хотя какие-то части проекта — возможно (в моем случае scala).
Re[12]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Я уже сто раз говорил. Нет проблем в обучении Немерле. Люди знающие Шарп изучают его по ходу работы в течении 1-2 месяцев. После чего их эффективность поднимается даже если они не были выдающимися программистами. А в течении этих 1-2 месяцев их производительность сравнима с производительностью C#-программистов. Так что — это не проблема.
А можно поподробнее? Сколько людей, какова у них была первоначальная квалификация, на какого рода проектах проводилось испытание, как измерялась эффективность, etc.?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>>>Я уже сто раз говорил. Нет проблем в обучении Немерле. Люди знающие Шарп изучают его по ходу работы в течении 1-2 месяцев. После чего их эффективность поднимается даже если они не были выдающимися программистами. А в течении этих 1-2 месяцев их производительность сравнима с производительностью C#-программистов. Так что — это не проблема.
L>>А можно поподробнее? Сколько людей, какова у них была первоначальная квалификация, на какого рода проектах проводилось испытание, как измерялась эффективность, etc.?
VD>Извини, но тратить на таких как ты время я не считаю нужным. Адью.
Иного я и не ожидал!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Мне кажется, что N конкретно на RSDN именно от этого и пострадал
Просто есть такие люди — не могут признаться даже себе, что потратили кучу времени на технологию, которая скоро станет почти никому не нужна. А поводы можно придумать любые — "реклама раздражает", "это не достойно настоящего программиста", или старая добрая тема про "куда катится мир"
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, ironwit, Вы писали:
I>>Влад, ты в последнее время стал очень много говорить нехороших слов. ИМХО.
VD>Возможно. Просто выводит из себя то, что посредственность не просто защищает посредственность, а делает это бравадой и без единого сомнения.
зачем уподоблятся?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Я не умею быть злым, и не хочу быть добрым.
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, AndreiF, Вы писали:
AF>Здравствуйте, aka50, Вы писали:
A>>Мне кажется, что N конкретно на RSDN именно от этого и пострадал AF>Просто есть такие люди — не могут признаться даже себе, что потратили кучу времени на технологию, которая скоро станет почти никому не нужна. А поводы можно придумать любые — "реклама раздражает", "это не достойно настоящего программиста", или старая добрая тема про "куда катится мир"
Возможно, но результат — буквально пол года назад всех трясло от упоминания N. Щас вроде спокойнее стало . Хотя с другой стороны например пост влада в java форуме про scala не вызвал вообще никаких эмоций от завсегдатаев... только конкуренты чуток побурчали: http://rsdn.ru/Forum/message/2511357.flat.aspx
Не в тему: Вообще, когда Константин Л. ставит хорошие оценки, то это хороший повод задуматься о том, что-то не так.
VD>>Раз пишу я, то я и буду поддерживать. A>Это ограничит размер проекта... Т.е. как вставки вместо python/lua/yourlang — возможно, как единый язык для всего решения — уже не лезет...
Что-то тебя колсбасит. Только что о поддержке говорил, а теперь тебя на Питон понесло. Причем тут Питоны?
A>>> И как ты будешь набирать новых программеров (я в смысле кто будет оплачивать время их обучения Nemerle и главное, захотят ли эти программеры его изучать). VD>>Люди знающие Шарп изучают его по ходу работы в течении 1-2 месяцев. A>Ну т.е. если мне надо 2 программиста — это значит я попаду на 2.5 * 2 * 2 = 10k + время (обычно 1-3 месяца)
Во как? Ну, вам математикам виднее. Вобще, если тебе охота говорить в стиле инорирования слов собеседника и выдергивания бердовых цифр с потолка, то разговор у нас не получится.
Повторяю первый и последний раз. Производительность программиста на начальных стадиях будет равна производительности C#-программистов того же уровня. Со временем она выростит. У хороших программистов выростет очень сильно. У посредственных не очень.
В резльтате ты получаешь возможность решать задачи меньшими силами, или решать более сложные/объемные задачи.
A> на въезжание в то, что уже написано
Если в проект входит новые люди, то на въезжание им по любому прийдется время тратить. И чем более высокоуровневый язык, тем проще въезжать, так как не приходится распозновать паттерны.
A> (при чем это плохо распараллеливается c изучением нового языка, проверено),
Да, уж, учить язык на поддержке — это идиотизм. Его надо учить при работе. Но еще больший идиотизм брать на поддержку людей с улицы и думать, что они за пять минут все освоят. В реальной жизни все кончится тем, что в лучшем случае эти новые люди начнут все переписывать за нова.
A> итого до полугода у меня не специалист — а студент.
Любой новый специлист котором требуется въезжать в тех.процесс фирмы и в ее уже написанный софт — это студент. И тут ничего не попишешь.
Если ты собирашся сначала экстенсивно писать софт, а потом выгнать все кто его писать и нанять индусов для поддержки, то конечно тебе нужна Ява или Васик. Для экстенсивного пути — экстенсивные средства разработки.
A> И еще хз скока времени на перестроение мышления, чтобы человек начал писать правильно, ведь для оправдания использования N нужно использовать его максимально эффективно. Иначе зачем он нужен, если есть C# с гораздо более дешевыми программерами...
Про это я уже говорил. В процессе работы за 1-2 месяца человек полность осваивается. Только не нужно его сразу на поддержку бросать, потому что сумма нового языка и неизвестной системы конечно же даст слишком большую сложность.
Потом Немерле это не для огромных коллективов даунов. Они один фиг будут его использовать как малость улучшенную Яву. Немерле — это для коллективов профи, которые, используя мощьный инструмент, могут решить задачу настолько быстрее и/или проще, что по деньгам это будет не сопоставимо с толпой индусов, даже не смотря на их зарплаты.
Собственно вариант с толпами индусов конечно прокатыват. Он дороже, дольше, дает менее качественный результат, но предсказуемее. Вот только наш быдлокодер стоит сильно дороже индусского. Так что конкуренция на этом поле дело не благодарное. А с действительно сложными задачами индусы не справятся. Так что нужно молиться, чтобы индусы случайно не пронюхали про секретное оружие и не применили его против нас. Все же у них тоже найдутся несколько сотен толковых разработчиков.
A>Как минимум, чтобы A>1. Не впадал в ступор при упоминании неизвестного языка, который вроде как C#, но вроде как и нет
А кто должен впадать? Если тебе нужно объяснить на чем сделана программа некому заказчику, то скажи .NET. Брэнд еще тот.
A>2. Программист успел (под влиянием рекламы) самостоятельно его пощупать, а следовательно ознакомиться с такими понятиями как например pattern matching или макросы.
Сколько раз, повторять, что язык осваевается в процессе. Уже через 2 месяца ты будешь иметь приемущество.
A>(Влад, не все интересуются дальше своей ниши, многие дальше C#/Java нос не высовывают, при этом могут быть очень неплохими программерами в доскональности знающими GoF и ООП, но в рамках своего языка)
Не все конечно. На зачем нам быдлокодеры на наших то зарплатах? Пусть они конкурентам показатели портят.
A>Мне кажется, что N конкретно на RSDN именно от этого и пострадал
Все бы так пострадать.
A>Ну а теперь представь, что ты выкатываешь задачу новому программисту да на неизвестном языке, да и в планах у него могло не стоять изучение теории типов и прочей фукциональщины...
Это его проблемы. Или будет делать, что нужно за хорошие деньги и с хорошей производительностью, или милости просим в конторы равняющие толпы равных масс. Там конечно платят меньше, но и спрашивают соответственно.
VD>>Ну, и кто не рискует, тот не пьет (подставить по вкусу). A> Главное рисковать своими средставами, а не чужими... а так
Вот это не важно. Главно — победить. Помнишь сказку про лягушек в крынке со сметаной? Та что дергала лапками до последнего взбила масло и вылезла, а та, что сдалась осталась на вечно жить в наших желудках.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, AndreiF, Вы писали:
AF>Просто есть такие люди — не могут признаться даже себе, что потратили кучу времени на технологию, которая скоро станет почти никому не нужна. А поводы можно придумать любые — "реклама раздражает", "это не достойно настоящего программиста", или старая добрая тема про "куда катится мир"
На самом деле признаться в таком всегда сложно. У меня та же фигня была с КОМ-ом. Умом я понимал, что дотнет и Ява на порядок более удобные компонентные системы, но сердце протестовало "Как же так! Меня кинули!". На самом деле никого не кидали — это просто присхология пожизненного неудачника. Просто появились более удобные технологии которые в том числе обязаны и КОМ-у своим появлением. Надо понять — это и принять новые технологии на вооружение, а не плакать и злиться на подлый Майкрософт.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, aka50, Вы писали:
VD>Не в тему: Вообще, когда Константин Л. ставит хорошие оценки, то это хороший повод задуматься о том, что-то не так.
VD>>>Раз пишу я, то я и буду поддерживать. A>>Это ограничит размер проекта... Т.е. как вставки вместо python/lua/yourlang — возможно, как единый язык для всего решения — уже не лезет... VD>Что-то тебя колсбасит. Только что о поддержке говорил, а теперь тебя на Питон понесло. Причем тут Питоны?
Ну да, например я использую для скриптования и высокоуровневой логики python. И это именно поддержка (в конкретном случае язык описания отчетов). И мне соблазнительно использовать для таких задач scala с ее dsl-friendly синтаксисом (в твоем случае вообще можно dsl на макросах забабахать). Так что питоны тут как раз в кассу. Вместо костылей можно получить единое решение на одном языке без всяких glue-language и прочей xml-образной лабуды...
A>>>> И как ты будешь набирать новых программеров (я в смысле кто будет оплачивать время их обучения Nemerle и главное, захотят ли эти программеры его изучать). VD>Потом Немерле это не для огромных коллективов даунов. Они один фиг будут его использовать как малость улучшенную Яву. Немерле — это для коллективов профи, которые, используя мощьный инструмент, могут решить задачу настолько быстрее и/или проще, что по деньгам это будет не сопоставимо с толпой индусов, даже не смотря на их зарплаты.
Ок. Я понял мысль. Если не ошибаюсь, то сводиться она к следующему (N — любой продвинутый язык отличный от mainstream, например scala или Nemerle):
1. N дает возможность сократить численность программеров за счет более высоковалифицированных, но более продуктивных за счет своей квалификации в купе с мощью языка
2. Позволяет решать сложные задачи за более короткий срок (или меньшими усилиями)
3. Но накладывает особые требования к программистам (т.е. отдел кадров помучается), это не должны быть "быдлокодеры".
Правда вот что делать с "индусскими" задачами, навроде кучи форм, остается открытым (вариант dsl возможен, но вполне может статься, что этот dsl будет по сложности сопоставим с java/C#)
VD>На зачем нам быдлокодеры на наших то зарплатах? Пусть они конкурентам показатели портят.
Вот эта мысль мне нравиться
Re[15]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Ок. Я понял мысль. Если не ошибаюсь, то сводиться она к следующему (N — любой продвинутый язык отличный от mainstream, например scala или Nemerle):
Принадлежность к mainstream ту не причем. Вон брейнфак тоже к mainstream не принадлежит...
A>3. Но накладывает особые требования к программистам (т.е. отдел кадров помучается), это не должны быть "быдлокодеры".
Что такое особые требования? ИМХО чтобы человек небыл дауном это не особое, а основное требование.
A>Правда вот что делать с "индусскими" задачами, навроде кучи форм, остается открытым
Ща придет IT раскажет с какой скоростью он формочки клепает...
A>(вариант dsl возможен, но вполне может статься, что этот dsl будет по сложности сопоставим с java/C#)
ДСЛ он на то и ДСЛ чтобы быть несапоставимо проще универсального языка при решении определенной задачи.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, aka50, Вы писали:
A>>Ок. Я понял мысль. Если не ошибаюсь, то сводиться она к следующему (N — любой продвинутый язык отличный от mainstream, например scala или Nemerle): WH>Принадлежность к mainstream ту не причем. Вон брейнфак тоже к mainstream не принадлежит...
Ок. Будем предельно конкретными. Я рассматриваю на данный момент использование scala и erlang. (под задачи естественно). Если когда-нибудь буду работать под .Net — то буду смотреть еще и Nemerle.
A>>3. Но накладывает особые требования к программистам (т.е. отдел кадров помучается), это не должны быть "быдлокодеры". WH>Что такое особые требования? ИМХО чтобы человек небыл дауном это не особое, а основное требование.
У меня есть человек, который отлично владеет java и sql. Знает пяток фреймворков. Так вот ему не очень интересна scala или тем более erlang. И есть другой программист (С++ системщик) который с удовольствием изучает scala. Мне предлагается уволить первого, только потому, что ему не интересено ничего кроме java ибо он вроде как даун, и обучить второго sql и вебу? Аналогично при преме на работу, я могу найти нужных людей по mainstream с мозгами, но желающих сменить язык среди них будет не так много, как хотелось бы.
A>>Правда вот что делать с "индусскими" задачами, навроде кучи форм, остается открытым WH>Ща придет IT раскажет с какой скоростью он формочки клепает...
Я это и так вижу... Вот тольк слабо представляю себе человека с зп от 3к клепающего формочки... ему заняться больше нечем? (хотя может я отстал от жизни и теперь это модно )
A>>(вариант dsl возможен, но вполне может статься, что этот dsl будет по сложности сопоставим с java/C#) WH>ДСЛ он на то и ДСЛ чтобы быть несапоставимо проще универсального языка при решении определенной задачи.
Соглашусь, dsl в любом случае предпотителен. Про сложность — это про сложность языковых конструкций и движка этого dsl-я, а не про сложность предметной области.
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять), C, C++ и немножко Delphi. Ну ещё выучил Lisp чтобы на досуге развлекаться. Но какт всегда думал что в общем-то пофиг managed/unmanaged, инструмент и есть инструмент.
А я о подобном уже даааавно говорил...
Matrix has you...
Re[15]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Ну да, например я использую для скриптования и высокоуровневой логики python. И это именно поддержка (в конкретном случае язык описания отчетов). И мне соблазнительно использовать для таких задач scala с ее dsl-friendly синтаксисом (в твоем случае вообще можно dsl на макросах забабахать). Так что питоны тут как раз в кассу. Вместо костылей можно получить единое решение на одном языке без всяких glue-language и прочей xml-образной лабуды...
Читал, долго думал... Причем тут Питон? Из твоих же лов четко вытекает, что тебе лучше было бы использовать ДСЛ-ориентированный язык (Скала/Немерле).
A>Ок. Я понял мысль. Если не ошибаюсь, то сводиться она к следующему (N — любой продвинутый язык отличный от mainstream, например scala или Nemerle): A>1. N дает возможность сократить численность программеров за счет более высоковалифицированных, но более продуктивных за счет своей квалификации в купе с мощью языка A>2. Позволяет решать сложные задачи за более короткий срок (или меньшими усилиями) A>3. Но накладывает особые требования к программистам (т.е. отдел кадров помучается), это не должны быть "быдлокодеры".
Примерно так. Но хочется провести одну аналогию. Представь себе, что я на полном серьезе начну говорить что-то вроде следующего:
Станки с ЧПУ, автоматизированные и роботизированные линии требуют наличия квалифицированных кадров. В это же время есть куча токорей и фрезировщиков которые конечно не фантан и почти все спились, но за-то их много. По этому не будем применять ЧПУ.
Звучит глупо? Несомненно! Вот так же выглядят рассуждения о более мощьных языках. Надо не понижать уровень производства, а повышать уровень работников. Оно окупится с лихвой.
A>Правда вот что делать с "индусскими" задачами, навроде кучи форм, остается открытым (вариант dsl возможен, но вполне может статься, что этот dsl будет по сложности сопоставим с java/C#)
1. Любые задачи автоматизируются. С помощью тех же макросов, например.
2. На та Скала и Немерле и основаны на компонентных платформах, чтобы можно было создавать сложную логику на них, а для низкоквалифицированной, но объемной работы использовать дешевую раб.силу использующую Яву, Шарп или Васик.
VD>>На зачем нам быдлокодеры на наших то зарплатах? Пусть они конкурентам показатели портят. A>Вот эта мысль мне нравиться
Вот я о том же. Конкурировать с индусами по себестоимости мы не можем. Так что надо брать не числом, а умением.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Ок. Будем предельно конкретными. Я рассматриваю на данный момент использование scala и erlang. (под задачи естественно). Если когда-нибудь буду работать под .Net — то буду смотреть еще и Nemerle.
Я считаю Скалу и Немерле языками очень близкими по духу. У каждого есть приемущества и недостатки, но в среднем — это явно языки новго поколения. За ними, или подобными им, будущее. Немерле мне кажется более перспективным, так как он проще, быстрее и обладает мега-фичей — макросами, но все же Скала не сильно уступает (учитывая, что многое на ней можно сделать и без макросов). Так что выбор между Скалой и Немерле — это выбор между платформой Ява и дотнет.
A>У меня есть человек, который отлично владеет java и sql. Знает пяток фреймворков. Так вот ему не очень интересна scala или тем более erlang. И есть другой программист (С++ системщик) который с удовольствием изучает scala. Мне предлагается уволить первого, только потому, что ему не интересено ничего кроме java ибо он вроде как даун, и обучить второго sql и вебу?
На самом дел люди которым не интересно развиваться обязательно рано или поздно подведут. Хороший программист должен постоянно развиваться. Ну, и если ты хочешь выиграть в конкурентной борьбе, то однозначно лучше выбирать криативный и любознательных людей. В прочем "кодеров" тоже можно использовать для рутинных задач.
A> Аналогично при преме на работу, я могу найти нужных людей по mainstream с мозгами, но желающих сменить язык среди них будет не так много, как хотелось бы.
За зарплату на 100 баксов выше чем раньше многие могут сменить фамилию, не то что язык .
A>Я это и так вижу... Вот тольк слабо представляю себе человека с зп от 3к клепающего формочки... ему заняться больше нечем? (хотя может я отстал от жизни и теперь это модно )
IT вроде бы получает сильно больше 3К и ничего клепает все что нужно. Другое дело, что он это дело клепает творчески и за 10 индусов.
A>Соглашусь, dsl в любом случае предпотителен. Про сложность — это про сложность языковых конструкций и движка этого dsl-я, а не про сложность предметной области.
Он тебе и говрит, что если ты делаешь ДСЛ, то этот ДСЛ должен быть максимально простым и безопасным. По этому как раз у низкоквалифицированного персоонала должно быть меньше пробелм при его использовании. Они же будут рабоать в прикладной терминалогии. ДСЛ будет сужать выбор и контролировать ошибки. Главное, чтобы те кто создает ДСЛ были высококвалифицированными спецами и создали достойный ДСЛ.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>А ты не думай, ты пробуй. Поддержка IDE для Немерла есть. Она конечно не супер, но куда лучше чем та же поддержка для Дельфи или Васкика. Ее более чем достаточно чтобы комфортно писать код. А язык настолько превосходит прородителя, что там и думать не о чем.
А я и пробую. Правда не Немерле (грешен, грешен).
D>> При спорах о языках нельзя забывать об огромном вкладе собственно среды разработки. Не всем же в Far'n'Colorer сидеть.
VD>Мне спорить не очем. Я пробовал и то, и то и у меня никаких сомнений нет. Пускай соменваются теоретики.
Я тоже пробовал отличные IDE и их отсутствие. И тоже не имею сомнений.
D>>Для основных же задач пока рискованно. ИМХО.
VD>Это самовнушение цель которого просто остаться в своем старом мирке где все уже знакомо. Болото конечно, затхлое конечно, но за-то свое и знакомое.
Тут вообще сплошное болото, а ты прелагаешь спринтом. По мне так лучше передвигаться спокойно, нащупывая шестом твёрдые места. Или ты полагаешь, что команда должна по моему щелчку пальцами моментально переключаться на мой новый предмет обожания? Увы, бывает и так, что я "западаю" на что-то, что загибается через какое-то время или имеет серьёзные проблемы, незаметные сразу.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Немерле мне кажется более перспективным, так как он проще, быстрее и обладает мега-фичей — макросами
Макросы Немерля достаточной длины, что-бы выстрелить себе в ногу?
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, AndreiF, Вы писали:
AF>Только в случае с механическими инструментами никто не говорит "я решил использовать для изготовления стола напильник вместо рубанка, потому что он дает более качественную поверхность. С рубанком такой никогда не добиться.". Или например "я решил спилить это дерево лобзиком, потому что лучше знаком с этим инструментом". Засмеют. А вот в случае с программированием подобные заявления звучат сплошь и рядом.
тут ближе помоему "я решил топором подточить карандаш" зачастую.
[RSDN@Home][1.2.0][alpha r.677]
Matrix has you...
Re[16]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, aka50, Вы писали:
A>>Вместо костылей можно получить единое решение на одном языке без всяких glue-language и прочей xml-образной лабуды... VD>Читал, долго думал... Причем тут Питон? Из твоих же лов четко вытекает, что тебе лучше было бы использовать ДСЛ-ориентированный язык (Скала/Немерле).
Выделенное — это именно то, из-за чего (помимо других достоинств языка) мне интересна scala... но вот решиться перевести весь процесс на scala я пока не могу (по причинам указанным выше)
VD>Станки с ЧПУ, автоматизированные и роботизированные линии требуют наличия квалифицированных кадров. В это же время есть куча токорей и фрезировщиков которые конечно не фантан и почти все спились, но за-то их много. По этому не будем применять ЧПУ.
Аналогия хорошая , но не работает в случае с китайскими штанами, которые они шьют на коленках мегатоннами, по цене 1бакс за ведро... Но когда проект можно писать малой командой — тогда конечно аналогия уместна...
С остальным согласен , правда это пока идеал, к которому надо стремиться
Re[18]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, aka50, Вы писали:
VD> Так что выбор между Скалой и Немерле — это выбор между платформой Ява и дотнет.
Я именно так и рассматриваю... но .net меня не устраивает (с мыслями о mono ты уже не согласился )
VD>На самом дел люди которым не интересно развиваться обязательно рано или поздно подведут.
Конечно. Более того, они могут надумать уйти или уехать. Они могут в конце концов получить кирпичом по голове... Но в случае с раскрученным языком — я найду другого за предсказуемое время. (естественно если такое случиться в core-team, тогда конечно будет плохо в любом случае, независимо от языка)
A>> Аналогично при преме на работу, я могу найти нужных людей по mainstream с мозгами, но желающих сменить язык среди них будет не так много, как хотелось бы. VD>За зарплату на 100 баксов выше чем раньше многие могут сменить фамилию, не то что язык .
Инфляция делает свое дело, сейчас надо еще нолик пририсовать...
A>>Я это и так вижу... Вот тольк слабо представляю себе человека с зп от 3к клепающего формочки... ему заняться больше нечем? (хотя может я отстал от жизни и теперь это модно ) VD>IT вроде бы получает сильно больше 3К и ничего клепает все что нужно. Другое дело, что он это дело клепает творчески и за 10 индусов.
Ну человеку, который обладает творческим вкусом и при этом имеет достаточно серого вещества чтобы понять язык сложнее java — я бы и сам платил больше. Но к сожалению таких людей катастрофически мало. Мне все больше по раздельности попадаются...
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, VladD2, Вы писали:
ДВ>> (компьютерная графика VD>Вот только это не те области где пуравляемые языки не справляются .
На досуге скачай "CellFactor — Revolution" и полюбуйся как там .NET справляется.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[10]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Иванков Дмитрий, Вы писали:
ИД>Здравствуйте, CreatorCray, Вы писали:
CC>>Здравствуйте, aka50, Вы писали:
A>>> CC>>Нельзя ли "на пальцах" объяснить что это за график, зависимость чего от чего он показывает и в результате каких действин он был получен?
ИД>Первоисточник к сожалению не указан, но ищется без проблем: ИД>http://www.sics.se/~joe/apachevsyaws.html
Для затравки: — тестировалась очень давно версия 2.0.39!!!! Текущая версия 6.0.13.
ИД>Which version of Apache was used?
ИД>We used apache 2.0.39 with the so called worker multi-processing module. For details see http://httpd.apache.org/docs-2.0/mod/worker.htm. This was ИД>configured for maximum performance.
На самом деле, эта картинка давно известтна. Проблема была отнюдь не в супер быстром Эрланге.
Была проблема, что не использовались Selectors для сокетов. И до Java5 Selectors в яве не было.
После Java5 в Томкате соотвтетсвующей версии добавили Selectors и все стало также как для псевдомегасервера Yaws
Re[11]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Dimonizhe, Вы писали:
D>На самом деле, эта картинка давно известтна. Проблема была отнюдь не в супер быстром Эрланге. D>Была проблема, что не использовались Selectors для сокетов. И до Java5 Selectors в яве не было.
D>После Java5 в Томкате соотвтетсвующей версии добавили Selectors и все стало также как для псевдомегасервера Yaws
О еще один... не в селекторах дело... чем тебе помогут селекторы, если выполнение кода должно быть заблокировано? Больше 5к потоков в java ты никак не сделаешь, а значит будешь рожать всякие пулы и прочие радости. Для коротких задач — есть actors на scala, там несколько проще, но все равно: реальных потоков в java очень мало, а значит любая задача превращается в разбиение на producer/consumer цепочки, а значит это тащит за собой обработку ошибок и управление этим хозяйством (что будет если все consumer-ы подохнут?)
Re[18]: Неужели управляемые языки действительно так отупляют
VD>На самом дел люди которым не интересно развиваться обязательно рано или поздно подведут. Хороший программист должен постоянно развиваться. Ну, и если ты хочешь выиграть в конкурентной борьбе, то однозначно лучше выбирать криативный и любознательных людей. В прочем "кодеров" тоже можно использовать для рутинных задач.
не стоит говорить за всех. куча народу пишет много лет на одном языке и развивается просто несколько в другую сторну.
A>> Аналогично при преме на работу, я могу найти нужных людей по mainstream с мозгами, но желающих сменить язык среди них будет не так много, как хотелось бы. VD>За зарплату на 100 баксов выше чем раньше многие могут сменить фамилию, не то что язык .
совсем не факт. любой человек задумается, а если я через пару лет работу поменять захочу, что будет написано в резюме, пару лет опыта в востребованном мейнстриме или в может и крутом, но совсем невостребованном немерле?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[19]: Неужели управляемые языки действительно так отупляют
Здравствуйте, genre, Вы писали:
G>Здравствуйте, VladD2, Вы писали:
VD>>На самом дел люди которым не интересно развиваться обязательно рано или поздно подведут. Хороший программист должен постоянно развиваться. Ну, и если ты хочешь выиграть в конкурентной борьбе, то однозначно лучше выбирать криативный и любознательных людей. В прочем "кодеров" тоже можно использовать для рутинных задач.
G>не стоит говорить за всех. куча народу пишет много лет на одном языке и развивается просто несколько в другую сторну.
Куча народу просто зарабатывают деньги и пишут на том, на чём им говорят писать. Поэтому до сих пор живой perl, lisp, php, assembler. Хотя давно уже есть более современные вещи.
A>>> Аналогично при преме на работу, я могу найти нужных людей по mainstream с мозгами, но желающих сменить язык среди них будет не так много, как хотелось бы. VD>>За зарплату на 100 баксов выше чем раньше многие могут сменить фамилию, не то что язык .
G>совсем не факт. любой человек задумается, а если я через пару лет работу поменять захочу, что будет написано в резюме, пару лет опыта в востребованном мейнстриме или в может и крутом, но совсем невостребованном немерле?
Когда я скажу работодателю, что хочу писать на немерле, мой email уйдёт в trash. Кто будет мои проекты саппортить после меня? Такое работодатель себе не позволит.
G>>не стоит говорить за всех. куча народу пишет много лет на одном языке и развивается просто несколько в другую сторну.
ОГ>Куча народу просто зарабатывают деньги и пишут на том, на чём им говорят писать. Поэтому до сих пор живой perl, lisp, php, assembler. Хотя давно уже есть более современные вещи.
при чем тут это?
G>>совсем не факт. любой человек задумается, а если я через пару лет работу поменять захочу, что будет написано в резюме, пару лет опыта в востребованном мейнстриме или в может и крутом, но совсем невостребованном немерле?
ОГ>Когда я скажу работодателю, что хочу писать на немерле, мой email уйдёт в trash. Кто будет мои проекты саппортить после меня? Такое работодатель себе не позволит.
я об обратной ситуации. когда работодатель скажет.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[20]: Неужели управляемые языки действительно так отупляют
ОГ>Куча народу просто зарабатывают деньги и пишут на том, на чём им говорят писать. Поэтому до сих пор живой perl, lisp, php, assembler. Хотя давно уже есть более современные вещи.
lisp точно не поэтому.
Re[13]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Dimonizhe, Вы писали:
D>Про конкретно этот тест были в своё время разговоры. Он конкретно починился селекторами. Конкретно точка.
Еще раз, это медленные запрос/ответ. Как именно селекторы помогут? (абстрагируйся от io, представь что для ответа тебе надо генерировать длиннющую колбасу из буков 'a' и 'b')
D>Фрейиворков же producer/consumer в яве достаточно.
Ты не понимаешь о чем я говорю.
Re[14]: Неужели управляемые языки действительно так отупляют
Здравствуйте, romangr, Вы писали:
R>Здравствуйте, Dimonizhe, Вы писали:
D>>Фрейиворков же producer/consumer в яве достаточно. R>Как сказал бы McSeem, это не Фрейиворков, R>тьфу ты, это не фейерверк, это так, поллюция... R>по сравнению с Эрлангом.
Ну где же смайлик "пад стулом"
Re: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять), C, C++ и немножко Delphi. Ну ещё выучил Lisp чтобы на досуге развлекаться. Но какт всегда думал что в общем-то пофиг managed/unmanaged, инструмент и есть инструмент.
T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".
T>Сначала думал что эт касается только людей от природы не крепких духом. Но вот прочитал разительное на мой взгляд сообщение:
T>http://www.rsdn.ru/forum/message/2511620.1.aspx
T>Это же чудовищно. VladD2 — несомненно умный человек, автор большого количества интересных статей и сообщений. Мы все его уважаем и т.д.. Но не справиться с парой строк кода на примитивном и в общем-то берущем почти всё на себя Delphi — это финиш. Эт значит человека нужно брать и заново учить, писать код он уже явно не может.
T>В общем я подумал надо всем этим и сейчас склоняюсь ко мнению что надо держаться до последнего и не давать себя пересаживать на "иглу" виртуальных машин и GC. До сих пор делал эт интуитивно, теперь думаю делать это сознательно. Потому что мне страшно.
T>Разубедите меня.
T>P.S. Я думаю очень скоро тенденции рынка пересадят на Java/C# громадное количество программистов во всяких банковских и прочих сферах, которые медленно но верно деградируют там до уровня "VB-кодеров" и "1С-программистов". Что освободит рынок где требуются профессионалы для настоящей разработки и создаст чудовищный кадровый голод на действительно понимающих людей. Такчт пора освежать скиллы в pure C.
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
Думать надо о реализации задачи, качественно и надежно, а не о технических вещах. На мой взгляд идеальная среда программирования должна сама решать поставленные пользователем задачи, независимо от платформы и навыков пользователя. Но это, увы, утопия.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Tilir, Вы писали:
T>Здравствуйте, Delight, Вы писали:
D>>Люди пересаживаются на иномарки и забывают как разобрать-собрать двигатель. D>>ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более D>>высокие уровни абстракции. А на старые при необходимости вернуться хоть и не D>>элементарно, но вполне можно.
T>Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо. Здесь кто бы спорил, чем выше тем лучше. Но отдавать такой важный ресурс как память на откуп автоматическому сбору мусора это уже не более высокий уровень, это уже смена мировоззрения. Вместо ответственной оценки потребления памяти, мы грубо говоря плюём на эту сторону вопроса.
T>Мне вот наверное всё-таки придётся выучить хотя бы один управляемый язык просто чтобы поставить эксперимент: берём алгоритм с теоретическим O(f(N)) по памяти, гоняем его реализацию на большом объёме тестовых данных с детерминированным управлением памятью, замеряем реальные расходы, оцениваем константы Cmin и Cmax для данной платформы, потом то же самое со сборщиком мусора, снова замеряем реальный расход памяти и смотрим, осталось у нас рассчётное O(f(N)) или реально стало уже O(g(N)) и куда уползли константы. Я почемут очень подозреваю что недетерминированность в управлении памятью может отражаться на базовых свойствах вычислений как таковых, особенно если научится специально подбирать выборки так чтобы сборщик мусора на них ломался. Например как поведёт себя автоматическое управление памятью, когда мы подойдём к физическому пределу памяти на машине?
T>Кстати про алгоритмы этих сборщиков тоже надо почитать. Но здесь я жду следующего стандарта C++, когда GC можно будет попробовать в отрыве от виртуальной машины. И без отрыва от любимого языка. Тогда и займусь этим плотней.
Ставка ныне мелкософтом делается не на быстродействие а на надежность. И исключение возможности совершения многих классических ошибок пользователем — хороший ход. (.net, singularity). Комп то побыстрее купить реально, а вот если прога лагает — это гораздо фатальнее. Пусть программа работает медленно, но надежно и бесперебойно.
К тому же удобство разработки на порядок выше, позволяет сконцентрироваться на задаче.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Ну человеку, который обладает творческим вкусом и при этом имеет достаточно серого вещества чтобы понять язык сложнее java — я бы и сам платил больше. Но к сожалению таких людей катастрофически мало. Мне все больше по раздельности попадаются...
Дык, за одно отличный ценз. Может выучить — наш человек. Нет? А ну его на...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Неужели управляемые языки действительно так отупляют
Здравствуйте, genre, Вы писали:
G>не стоит говорить за всех. куча народу пишет много лет на одном языке и развивается просто несколько в другую сторну.
Дык и не говори. Мы общаеся как начльник с начальником. Делимся, так сказать, опытом.
G>совсем не факт. любой человек задумается, а если я через пару лет работу поменять захочу, что будет написано в резюме, пару лет опыта в востребованном мейнстриме или в может и крутом, но совсем невостребованном немерле?
Лучше будет если такой "специлист" вообще не попадет в нашу контору. Это позволит избежать неизбежный, в ином случае, потерь когда этот "специалист" через эти два года, недоделав свою работу свлит в очерудную контору (чтобы и их через два года кинуть).
Нам нужен специалист который работает творчески и с аганьком в галазах. Если человек бльше думает о резюме, то пусть он опять же портит показатели нашим конкурентам.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Олег Гашев, Вы писали:
ОГ>Когда я скажу работодателю, что хочу писать на немерле, мой email уйдёт в trash. Кто будет мои проекты саппортить после меня? Такое работодатель себе не позволит.
А ты будь умнее. Не говори, что хочешь, а говори что можешь. Уверяю тебя, что твой работадатель, если он сам что-то понимает в индустрии, будет только рад если ты напишешь, что в совершенстве владешь Лиспом и/или Немерле.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Неужели управляемые языки действительно так отупляют
Здравствуйте, aka50, Вы писали:
A>Аналогия хорошая , но не работает в случае с китайскими штанами, которые они шьют на коленках мегатоннами, по цене 1бакс за ведро... Но когда проект можно писать малой командой — тогда конечно аналогия уместна...
Извини, ты хочешь конкурировать с производителями дешевого ширпотреба? Да еще пользуясь аналогичными средствами производства (коленками)? Успехов тебе в этом занятии.
A>С остальным согласен , правда это пока идеал, к которому надо стремиться
Дык. Если сидеть на заднице, то кроме геморроя и дырки на портках точно ничего не получишь. Так что по любому нужно дергаться. Любое конкуретное приемущество есть благо. И уж значитлеьно более мощьный инструмент в руказ значительно более толковых программистов — это точно хорошее начало для того чтобы взгреть толпу индусов.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, AndreiF, Вы писали:
AF>Только в случае с механическими инструментами никто не говорит "я решил использовать для изготовления стола напильник вместо рубанка, потому что он дает более качественную поверхность. С рубанком такой никогда не добиться.". Или например "я решил спилить это дерево лобзиком, потому что лучше знаком с этим инструментом". Засмеют. А вот в случае с программированием подобные заявления звучат сплошь и рядом.
Хм. Я тоже это заметил недавно. Однако, тенденция .
Чукча сидит в чуме и читает книгу.
Забегает сосед...
— Там твой олень со скалы прыгнул!
Чукча даже не поднял голову. Читает дальше.
Забегает второй сосед:
— Там второй твой олень со склы сиганул.
Чукча невозмутимо читает дальше.
Забегает третий состед:
— Там все твое стадо со скалы прыгнуло!!!
Чукча невозмутимо дочитывает последнюю страницу кникди и произносит:
— Аднако, теньденьсия.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Неужели управляемые языки действительно так отупляют
VD>Дык. Если сидеть на заднице, то кроме геморроя и дырки на портках точно ничего не получишь. Так что по любому нужно дергаться. Любое конкуретное приемущество есть благо. И уж значитлеьно более мощьный инструмент в руказ значительно более толковых программистов — это точно хорошее начало для того чтобы взгреть толпу индусов.
Толковые программисты важнее чем более мощный инструмент. Производительность толкового и не толкового может различатся на порядок при использовании одинакого инструмента.
Я отступлю от темы , может мне ктонить кратко опяснить , почему современные JIT отстают от лучших оптимизирующих компиляторов по качеству кода. Хотя теоретически такого быть не должно ? Это связанно с тем что JIT не имеет право тратить много времени на компиляцию ?
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FR, Вы писали:
FR>>Толковые программисты важнее чем более мощный инструмент. Производительность толкового и не толкового может различатся на порядок при использовании одинакого инструмента. WH>А с использованием толкового инструмента на два.
Угу только не порядка а раза.
Re[21]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>>>Толковые программисты важнее чем более мощный инструмент. Производительность толкового и не толкового может различатся на порядок при использовании одинакого инструмента. WH>>А с использованием толкового инструмента на два.
FR>Угу только не порядка а раза.
Ну-ну... перепиши компилятор немерле на С++ или хотябы питоне
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Без проблем давай полные формальные спецификации компилятора, обеспечь финансирование. FR>Думаю код на C++ будеть по объему в несколько раз больше
И отлаживать С++ в несколько раз труднее.
Вот и получился порядок за счет инструмента + порядок за счет хороших программистов и того 2 порядка.
FR>и работать скорее всего шустрее.
Не факт.
ЗЫ А че на питоне не предложил? Он же рулит!
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[25]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Отладка никак не замедлит работу в несколько раз.
Конечно, нет. Какие несколько раз? На порядок, минимум .
FR>>>и работать скорее всего шустрее. WH>>Не факт.
FR>Скорее да
Зависит исключительно от того кто будет писать.
Но скорее всего вопроса о скрости кода просто не возникнет потому что проект будет завален в виду его сложности. Написать такой компилятор без паттерн-мачинга — это просто подвиг.
FR>На питоне конечно будет легче писать и объем кода будет близок к немерловскому,
Ты сильно преувеличивашь возможности питона. Думаю минимальное отставание питона будет раза 3. Паттерн-матчинга в нем не ма, а без этого код будет просто жудкий.
FR>но компилятор будет сильно тормозить
Тотмозить? Производительность полученного решения будет ниже плинтуса.
FR>Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках
Никто и не говорит о панацеях, но то что ML-подобные языки рулят в таких задачах — это не ясно только тому, то в это ничего не понимает. Но у Немерла есть еще одно оружие массового поражения — макросы. С их помощью в самом компиляторе сделано столько, что на любом другом языке будет просто нереально все это повторить.
В общем, я согласен с вольфхаундом, что объем исходников увеличится на порядок при использовании С++. Или неизбежно понизится качество. Ну, а Питон тут просто не применим. Алгоритм вывода типов имеет настолько плохую O(), что даже дотнетные накладные расходы начинают чувствоваться очень сильно. Этот алгоритм и на С++ будет не супер. Да и написать его без рекурсии и паттерн-матчинга задача которую подсилу решить только МС или Сану.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
WH>Я ни в какие пули не верю. (Некоторые верят в бога. Это я могу понять. Но верить в пули... ) WH>Я просто считаю что если задачу вобще можно решать на болие мощьном языке то нужно взять болие мощьный язык. WH>Немерле на данный момент один из мощьнейших языков. WH>Только и всего.
Согласен. Думаю, что на каком-нить Хаскеле или Эланге задача тоже в принципе решаемая и кода будет приблизительно столько же (если не меньше). Но вот производительность этих решений будет не приемлема для сегодняшнего железа.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FR, Вы писали:
FR>>Отладка никак не замедлит работу в несколько раз. WH>Смешно. WH>То что будет больше кода это ты признал.
Так это очевидно, N более высокоуровный язык. Кстати ты сам то же самое очень долго не признавал когда бодались насчет шарпа c питоном
WH>Больше кода -> больше ошибок. WH>Плюс С++ отлавливает гараздо меньше ошибок чем немерле. WH>Меньше контроль -> больше вероятность совершить ошибку. WH>Плюс некоторые классы ошибок (причем очень не приятные типа порчи памяти) просто не могут появится в немерле. WH>Те отлаживать придется действительно в разы дольше чем на немерле.
Да придется больше отлаживать, хотя все очень сильно зависит от фазы луны и стиля работы.
Но отладка это очень небольшой процент на фоне всей остальной работы и ее ускорение даже в несколько раз ускорит всю работу только на несколько процентов.
FR>>На питоне конечно будет легче писать и объем кода будет близок к немерловскому, WH>Не факт. Вернее точно будет больше ибо нет сравнения с образцом.
В случае компилятора в котором очень много кусков хорошо ложащихся на PM вполне может быть. В общем случае нет.
FR>>но компилятор будет сильно тормозить WH>А вот это точно.
FR>>Понимаешь только у вас есть серебряная пуля, я же стараюсь выбирать инструмент все-таки по задаче. Хотя твоя вера в серебряность видно еще не очень крепкая раз ты предложил задачу которую удобно решать на ML подобных языках WH>Я ни в какие пули не верю. (Некоторые верят в бога. Это я могу понять. Но верить в пули... ) WH>Я просто считаю что если задачу вобще можно решать на болие мощьном языке то нужно взять болие мощьный язык. WH>Немерле на данный момент один из мощьнейших языков. WH>Только и всего.
Ладно не будем лучше религиозные вопросы затрагивать
Re[27]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Так это очевидно, N более высокоуровный язык. Кстати ты сам то же самое очень долго не признавал когда бодались насчет шарпа c питоном
Что я не признавал? Что немерле болие высокоуровневый язык чем шарп и питон вместе взятые? Ссылку можно?
FR>Да придется больше отлаживать, хотя все очень сильно зависит от фазы луны и стиля работы. FR>Но отладка это очень небольшой процент на фоне всей остальной работы и ее ускорение даже в несколько раз ускорит всю работу только на несколько процентов.
Бу-га-га.
FR>В случае компилятора в котором очень много кусков хорошо ложащихся на PM вполне может быть. В общем случае нет.
Ну ПМ можно применять гораздо чаще чем многие думают...
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Anton Batenev, Вы писали:
AB>А сайт http://yaws.hyber.org лежит как-то Они не на своем же веб-сервере хостятся случайно? А то RSDN-DOS очень опасная штука
Ну не знаю. У меня сразу открылся.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[28]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FR, Вы писали:
FR>>Так это очевидно, N более высокоуровный язык. Кстати ты сам то же самое очень долго не признавал когда бодались насчет шарпа c питоном WH>Что я не признавал? Что немерле болие высокоуровневый язык чем шарп и питон вместе взятые? Ссылку можно?
Я думал что склероз только у меня
Тогда когда мы бодались про немерле здесь никто не знал, и второй шарп еще не вышел. Вы тогда (может и не ты конкретно а скорее Влад) утверждали что компактность кода фигня.
FR>>Да придется больше отлаживать, хотя все очень сильно зависит от фазы луны и стиля работы. FR>>Но отладка это очень небольшой процент на фоне всей остальной работы и ее ускорение даже в несколько раз ускорит всю работу только на несколько процентов. WH>Бу-га-га.
То есть ты большую часть времени работы над проектами проводишь в отладчике? Сочувствую.
FR>>В случае компилятора в котором очень много кусков хорошо ложащихся на PM вполне может быть. В общем случае нет. WH>Ну ПМ можно применять гораздо чаще чем многие думают...
Конечно, я же с рефалом балуюсь .
Но во многих других местах они не дают никаких преимуществ, хотя когда в руках молоток конечно все гвоздями кажется.
Re[27]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Но отладка это очень небольшой процент на фоне всей остальной работы и ее ускорение даже в несколько раз ускорит всю работу только на несколько процентов.
Нет инструмента, который может на порядок уменьшить время разработки. Зато есть инструменты, которые могут на порядок его увеличить.
Re[29]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>Я думал что склероз только у меня FR>Тогда когда мы бодались про немерле здесь никто не знал, и второй шарп еще не вышел. Вы тогда (может и не ты конкретно а скорее Влад) утверждали что компактность кода фигня.
Ты ссылки давай. А то как всегда вырываешь из контекста да еще и своими словами.
Анегдот напомнило:
- Фигня это ваш Карузо. Фальшивит, шапелявить...
— А где ты его слышал?
— Да Петрович напел.
FR>То есть ты большую часть времени работы над проектами проводишь в отладчике? Сочувствую.
Не знаю как ты, а я пишу большие коммерческие программы. А их в отличии от всяких поделок нужно поддерживать. А отладка не малая часть поддержки.
А если еще присутствует масса сторонних библиотек (далеко не идеального качества)...
FR>Но во многих других местах они не дают никаких преимуществ, хотя когда в руках молоток конечно все гвоздями кажется.
Давай больше демагогии. Может тебе кто нибудь поверит.
А на практике берем вот такой код
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FR, Вы писали:
FR>>Я думал что склероз только у меня FR>>Тогда когда мы бодались про немерле здесь никто не знал, и второй шарп еще не вышел. Вы тогда (может и не ты конкретно а скорее Влад) утверждали что компактность кода фигня. WH>Ты ссылки давай. А то как всегда вырываешь из контекста да еще и своими словами.
FR>>То есть ты большую часть времени работы над проектами проводишь в отладчике? Сочувствую. WH>Не знаю как ты, а я пишу большие коммерческие программы. А их в отличии от всяких поделок нужно поддерживать. А отладка не малая часть поддержки. WH>А если еще присутствует масса сторонних библиотек (далеко не идеального качества)...
Еще раз сколько процентов времени работы (и подержки) над проектом ты проводишь в отладчике?
FR>>Но во многих других местах они не дают никаких преимуществ, хотя когда в руках молоток конечно все гвоздями кажется. WH>Давай больше демагогии. Может тебе кто нибудь поверит.
Не надо про демагогию, про на порядок эффективнее и т. п. как раз ваши песни.
WH>А на практике берем вот такой код
........... WH>Как видишь ПМ и ФВП ужали код в 3 раза на ровном месте.
Угу только ФВП и рекурсивная функция без ПМ ужали бы его практически ао столько же раз.
Re[32]: Неужели управляемые языки действительно так отупляют
WH>Там все библиотеками решалось. WH>А в немерле еще лучше ибо все эти библиотеки уже написаны и есть вывод типов.
Там или где-то рядом были высказывания от людей которые сейчас полюбили компактность кода что это нафиг не нужно. Ладно все течет все меняется
FR>>Еще раз сколько процентов времени работы (и подержки) над проектом ты проводишь в отладчике? WH>Причем тут отладчик? Отладка понятие гораздо болие широкое чем сидение в отладчике.
Ни причем, замени отладчик на отладку.
WH>Что касается меня то WH>1)В данный момент я пишу под линухом, а gdb назвать отладчиком у меня язык не поворачивается. WH>2)Да и программы у меня такие что там с отладчиком (особенно если это gdb) делать нечего.
У меня есть опыт писания на C++ для устройств для которых на тот момент вообще не было отладчика. И все равно отладка максимум занимала проценты от времени всей разработки. Правда эмоционально эти проценты иногда были очень насыщенными
WH>А в случае с С++ мне придется вычитать половину не маленькой либы. WH>Причем либа написана на плохом С++ зачемто завернутом в Сишный нтерфейс. И тащит за сабой просто ужасные Сишные либы (просто сам факт того что для взаимодействия с этой либой необходимы setjmp/longjmp говорит о многом).
Это уже проблема легаси кода и к обсуждаемому имеет мало отношения.
FR>>Угу только ФВП и рекурсивная функция без ПМ ужали бы его практически ао столько же раз. WH>Но логика прослеживалась бы куда хуже.
Конечно, но все равно прослеживалась бы гораздо лучше чем в императивном варианте. Кстати я похоже уже окончательно отупел (в терминах автора темы) так как твой короткий вариант для меня более понятный чем первоначальный императивный код.
Re[10]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
AB>>А сайт http://yaws.hyber.org лежит как-то Они не на своем же веб-сервере хостятся случайно? А то RSDN-DOS очень опасная штука WH>Ну не знаю. У меня сразу открылся.
О! сегодня открывается! Я не позлорадствовать хотел, а посмотреть оный, ибо заинтриговал.
Re[34]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, FR, Вы писали:
FR>>Там или где-то рядом были высказывания от людей которые сейчас полюбили компактность кода что это нафиг не нужно. Ладно все течет все меняется WH>Ссылка на конкретное сообщение будет?
Лень все это перечитывать.
FR>>Ни причем, замени отладчик на отладку. WH>Зачем? Я сказал то что сказал.
Я тоже
FR>>У меня есть опыт писания на C++ для устройств для которых на тот момент вообще не было отладчика. И все равно отладка максимум занимала проценты от времени всей разработки. Правда эмоционально эти проценты иногда были очень насыщенными WH>Либо программы были очень простыми либо ты чего-то недоговариваешь...
Человеко-год при одном разработчике достаточно сложно?
WH>Практика разработки больших программ на С++ показывает что чем дальше в лес тем толще партизаны. WH>Порой такие феерические тараканы находятся... а на немерле это было бы всеголишь обыкновенное исключение которые бы поймали при первом же запуске...
Re[24]: Неужели управляемые языки действительно так отупляют
Здравствуйте, WolfHound, Вы писали:
H>Вот и получился порядок за счет инструмента
Напомню, что именно подразумевал Брукс под серебрянной пулей:
But, as we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.
... << RSDN@Home 1.2.0 alpha rev. 693 on Windows Vista 6.0.6000.0>>
Здравствуйте, WolfHound, Вы писали:
AB>>А сайт http://yaws.hyber.org лежит как-то Они не на своем же веб-сервере хостятся случайно? А то RSDN-DOS очень опасная штука WH>Ну не знаю. У меня сразу открылся.
Дык RSDN-DOS действует только опеделенное время. Задется в machine.config.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Надо понимать, что для работадателей такие "захотельники" — это натуральное разорение. Любого программиста надо только от месяца до полугода вводить в курс дела и дообучать местной конкретикой.
разорение и что? ярлыки то тут при чем?
G>>а я бы как раз предпочел человека работающего не за идею, а за деньги(при равной квалификации естественно). у него с мотивацией все гораздо проще. VD>Если человек работает только за деньги, то это плохой специалист. Нельзя быть хорошим специалистом не вкладывая душу в свою работу. К тому же такой человек действительно будет слонен сбежать за лишние 100 баксов.
да, работа за идею действительно добавляет немножко "специалистности". но что с ним делать когда "эта задача мне неинтересна"?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[32]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, FR, Вы писали:
FR>>Угу только ФВП и рекурсивная функция без ПМ ужали бы его практически ао столько же раз.
VD>Пример, приветсвуется. Можно на Питоне. За одно поглядим, что он может с точки зрения скорости.
А зачем здесь пример? Здесь и так все невооруженным взглядом видно, вместо матча будут if'ы размер кода останется практически таким же читаемость станет чуть хуже.
Re[33]: Неужели управляемые языки действительно так отупляют
Здравствуйте, FR, Вы писали:
FR>А зачем здесь пример? Здесь и так все невооруженным взглядом видно, вместо матча будут if'ы размер кода останется практически таким же читаемость станет чуть хуже.
Наверно, чтобы твои слова не выглядили как пустой треп. В прочем, что-то мне подсказывает, что пример это не изменит. Так что забудь.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Неужели управляемые языки действительно так отупляют
G>>да, работа за идею действительно добавляет немножко "специалистности". но что с ним делать когда "эта задача мне неинтересна"?
VD>Любить надо не задачу, а работу (сам процесс). Знаешь как про детей. VD>
-------------------
VD>- Ты детей любишь?
VD>- Ну, в общем не очень, но сам процесс...
любить работу и работать за деньги несколько параллельные сущности.
то про что говорил ты в изначальном утверждении — взаимоисключение этих понятий.
короче я за простоту мотивации деньгами, чем копание в психологии "непризнаного гения".
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[31]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
WH>>Как видишь ПМ и ФВП ужали код в 3 раза на ровном месте. VD>Ужали, ладно. Глвное, что после переписывания лично я сразу уловил суть алгоритма. А в этих кучах for-ов его угадать еще нужно (и это не просто).
Проблема в том, что в компиляторе ты не уловишь суть алгоритма, если к нему не будет поставлен комментарий типа: "в прошлый заход мы пометили ноду как 'пройденую', теперь пытаемся проверить возможность сворачивания выражения".
Разбирать код без таких комментариев — жутко неудобно. Я уже попытался так компилятор OCaml'а смотреть.
Sapienti sat!
Re[32]: Неужели управляемые языки действительно так отупляют
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, VladD2, Вы писали:
WH>>>Как видишь ПМ и ФВП ужали код в 3 раза на ровном месте. VD>>Ужали, ладно. Глвное, что после переписывания лично я сразу уловил суть алгоритма. А в этих кучах for-ов его угадать еще нужно (и это не просто). C>Проблема в том, что в компиляторе ты не уловишь суть алгоритма, если к нему не будет поставлен комментарий типа: "в прошлый заход мы пометили ноду как 'пройденую', теперь пытаемся проверить возможность сворачивания выражения".
Ну, как видишь, алгоритм стал очевиден и читается влет, так как сжат он путем фунциональной декомпозиции.
А что до коментариев, то особенность ФП в том и заключается, что он преобразует одно в другое, то есть ничего не меняется. И значит коментировать нечего. На каждом шаге у тебя получаются данный конкретной версии (стадии обработки).
C>Разбирать код без таких комментариев — жутко неудобно. Я уже попытался так компилятор OCaml'а смотреть.
Поясни, что ты имешь в виду.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
VD>Скажем так, они могут сочетаться. Но если они сочетаются, то ты уже работаешь не только за деньги, а "и за деньги тоже...". Улавливаешь разницу?
VD>Дело в том, что если ты работаешь только за деньги, то тебе будет интереснее провести день на анекдот.ру или на баш.орг, а не писать код. А код писать только когда начальство смотрит и чтобы хоть как-то вид бурной деятельности эмулировать.
это как раз прекрасно мотивируется деньгами и прочими бонусами.
VD>Одни деньги — это полный приплызд, но никто не говорит, что все работники должны быть альтруистами.
ты говорил. бесспорно — и за деньги и за идею идеальный вариант.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[9]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, Anton Batenev, Вы писали:
AB>Здравствуйте, aka50, Вы писали:
A>>Как иллюстрация возможности erlang-а (то, что слева меленькое и скромненькое — это apache на мейнстрим C, а красное и могучее — это erlang, цифирики снизу — кол-во _одновременно_ обслуживаемых клиентов сервером). Но вот беда, большинство не знает, что такое функциональное программирование и не видит "миллионов" проектов на erlang-е.
AB>А сайт http://yaws.hyber.org лежит как-то Они не на своем же веб-сервере хостятся случайно? А то RSDN-DOS очень опасная штука
А с чего был сделан вывод, что именно сервер лежал?
Re[33]: Неужели управляемые языки действительно так отупляют
Здравствуйте, VladD2, Вы писали:
C>>Проблема в том, что в компиляторе ты не уловишь суть алгоритма, если к нему не будет поставлен комментарий типа: "в прошлый заход мы пометили ноду как 'пройденую', теперь пытаемся проверить возможность сворачивания выражения". VD>Ну, как видишь, алгоритм стал очевиден и читается влет, так как сжат он путем фунциональной декомпозиции.
Нет. Я про другое говорю — вот тебе дадут такой код:
Читается без проблем. Но вот ЧТО он делает — без комментариев понять сложно.
И вот такого кода в компиляторе — почти весь.
VD>А что до коментариев, то особенность ФП в том и заключается, что он преобразует одно в другое, то есть ничего не меняется. И значит коментировать нечего. На каждом шаге у тебя получаются данный конкретной версии (стадии обработки).
ROTFL.
C>>Разбирать код без таких комментариев — жутко неудобно. Я уже попытался так компилятор OCaml'а смотреть. VD>Поясни, что ты имешь в виду.
В компиляторе OCaml'а код почти без комментариев. Очень часто просто непонятно ЧТО именно делает данная функция (хотя КАК она это что-то делает — прекрасно понятно).
Sapienti sat!
Re[2]: Неужели управляемые языки действительно так отупляют?
Действительно прискорбно, сочувствую.
Но тут есть один нюанс. Ведь в чем вся прелесть простой и монотонной работы? В том, что ее можно автоматизировать.
Попробуй. Очень помогает от отупения.
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, FR, Вы писали:
FR>Упрощаешь, областей намного больше чем две
Я же не говорю, что областей две в том смысле, что других вообще нет. Просто задачи можно (порой неточно, порой условно) отнести к одной из этих двух категорий. Бизнес-программирование и все остальное. Остальное весьма обширно, разнооборазно, порой и перпендикулярно, но это не бизнес-программирование.
>и многие из этих областей паралельны (а некторые и перпендекулярны ) противопоставлению управляемый — неуправляемый.
С этим согласен, да и сам я писал, что мог бы при желании написать на управляемом коде, только не нужно это.
With best regards
Pavel Dvorkin
Re: Неужели управляемые языки действительно так отупляют?
Я тут видел примеры JRuby, и там как пример краткости Ruby приводилось:
Ruby:
print"123"
Java:
public class MyClass {
public static void main(String args[]) {
System.out.println("123");
}
}
и у меня такое чувство возникло, типа "Мля, вот учил всю эту хрень, а оно уже не нужно получается" Внутри меня все возмутилось "Как же так, это же слишком легко получается!"
Но создавать тему по поводу того, что Ruby отупляет, я не стал.
Иногда нужно приложения писать с мощным расслоением, с помощью EJB и пр., а иногда это просто пустая трата времени и денег, все зависит от задач.
Так что я рекомендую аффтору темы одуматься пока не поздно
Против прогресса не попрешь! На руби студентов можно нанять и бабки экономить!
Re[2]: Неужели управляемые языки действительно так отупляют?
Ты же на асме, си и т.д. используешь чужие битблиотеки. И это нормально. В управляемом коде ты можешь использовать только готовые библиотеки. Т.к. у меня уже не болит голова как передаются аргуметы (хотя даже в 1Ске переодически приходится думать, т.к. гоняются ссылки), как выделяется память и т.д. я могу писать больше полезного ПО для заказчика.
Это ИМХО основной плюс.
В плане тупит — в принципе согласен. Цель сделать так, чтобы порог входа был как можно меньше, значит ЗП программиста будет меньше, значит либо цена на ПО упадет, либо шеф больше поимеет
Научится программировать для меня проще всего на
1) 1Ска 7
2) Шарп+Дельфи+ВБ+1Ска 8 (это ИМХО клоны)
3) Паскаль
4) АСМ по х86
5) С++
На другом не кодил.
T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
Рабство: давать рабам столько, чтобы они работали и не дохли. Принцип олплаты поменялся не сильно. Вот студенты и хотят больше получать. Ну и пусть ХОТЯТ
Re[5]: Неужели управляемые языки действительно так отупляют?
WH>Нужно учесть то что подавлюяющая масса "программистов" в принципе не могут подняться выше уровня быдлокодера. Вне зависимости от того на чем они пишут. Те если человек не способено то ему хоть 1C хоть ASM всеравно толку не будет. WH>А вот те кто в состоянии подняться на высокий уровень могут работать на любых языках.
+1
WH>Ибо одни задачи проще писать на одном языке, а другие на другом.
Точно. Для управления КОМ-портом юзаю дельфу, а для моих клиентов (магазины и небольшие фирмы) 1С, т.к. изобретать свою буху на дельфи или шарпе влом и никто не оценит (денег не дадут лишних).
Re[2]: Неужели управляемые языки действительно так отупляют?
ДВ>public class MyClass {
ДВ> public static void main(String args[]) {
ДВ> System.out.println("123");
ДВ> }
ДВ>}
ДВ>
Помнится, когда я это впервые увидел, подумал: "Блин, а нахрена оно все это нужно, если можно WriteLn() написать?" (я тогда только-только Паскаль выучил )
Много лет спустя я прозрел, но недоумение осталось
Здравствуйте, Klapaucius, Вы писали:
K>Здравствуйте, lomeo, Вы писали:
L>>MapI — что это? Map с индексом? IMHO неэффективно для списков (см. incDx[i]).
K>Для списков неэффективно, но cf — это не список. Это массив.
А зачем там массив? Алгоритмически нужен сильный random access по индексам?
Re: Неужели управляемые языки действительно так отупляют?
[cite]
а сервер статистики по ADSL работет все тормознее и тормознее..... Може помочь вам Oracle подкрутить?
[/cite]
[cite]
Oralce там абсолютно не причем Там потрудились дипломированные сектанты microsoft, применили "передовые технологии"! .Net, C#, MSSQL + 2003 Server, программирование для людей рожденых в полном неведении о природе "железа" и не имеющие в своем лексиконе слова "оптимизация".
[/cite]
думайте сами.. автор прав. не про язык и среду, а про влияние на тотальное отупение.
Типичный пример религизоной нетерпимости microsoft.
Разумеется программирование на ассемблере заставляет лучше изучать железо, нежели программирование на VBScript, однако это касается не только продуктов microsoft.
Разве связка Oracle/Java менее прожорлива, чем C#.NET/MS-SQL ?
Справедливости ради так же хочу заметить, что самое убийственное незнание основ программирования я встречал среди некоторых поклонников PHP, который (по природе своей) относится к стану **nix.
(Да простят меня нормальные PHP программисты).
Re[3]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, ILink, Вы писали:
IL>Типичный пример религизоной нетерпимости microsoft.
IL>Разумеется программирование на ассемблере заставляет лучше изучать железо, нежели программирование на VBScript, однако это касается не только продуктов microsoft.
IL>Разве связка Oracle/Java менее прожорлива, чем C#.NET/MS-SQL ?
IL>Справедливости ради так же хочу заметить, что самое убийственное незнание основ программирования я встречал среди некоторых поклонников PHP, который (по природе своей) относится к стану **nix.
IL>(Да простят меня нормальные PHP программисты).
Да чел.. ты говоришь про религиозную нетерпимость, а у самого пелена на глазах. Где тут опускаются средства? Хотя и можна так подумать, речь идет о том, что почему то прогаммисты в связке C#.NET зашибись все сделали — сервер статистики отвечает через 5 минут после запроса. Извините за мат. Я сижу под этим провайдером и знаю. ПОчему сервера Гугл, которые отличаются размером публики в n-кратной степени отвечают мне мгновенно??? У нас населения юзающего их инет меньше 10 тыс. наберется. Просто эти сертифицированные недоноски рожденные майкрософтом в муках, как у нас тут любят говорить здесь получают деньги и им [censored] на каких-то клиентов. и творения реально работают, так что бабки они зашибают _пока что_.. точнее сейчас они оттуда уходят на сколько я знаю (уходят эта я мягко выразился), и скора я надеюсь все будет работать нормально. я абсолютно непротив буду, если это будет тот же C#-MSSQL.
ОГ>Вы забыли про одну важную деталь. Когда мы рождаемся, мы не открываем всё с самого нуля. Нас обучают. Мы работаем с вещами, может даже абсолютно не зная, как они работают. Но мы с ними работаем правильно. Многие не знают как работает телевизор. Но с телевизором они успешно справляются. Они тупые? Нет. Они пользуются знаниями и наработками предыдущих поколений. Почему такой способ не может быть применим в программировании? Почему программист постоянно должен думать про организацию памяти? Почему это не отдать операционке? Зачем это нам? Пусть система сама будет об этом думать, а мы будем заниматься своей работой. Мы станем тупее? Нет. Мы станем другими.
Вы меня убедили, честно.
Но. ОС на С++ не напишешь, поэтому не стоит говорить что такие вещи в топку. На чем написан MS Office'07? Сама реализация CLR? Клиентский софт писать всегда было удобней на высоких абстракциях. Серверный — увольте.
Время покажет.. пока оно только рожает бестолковых программистов с дипломами по последним моделям экскаваторов. Однако такой экскаватор может легко вырыть себе могилу при не грамотном использовании. Не стои этого забывать.
Здравствуйте, hVostt, Вы писали:
V>Но. ОС на С++ не напишешь, поэтому не стоит говорить что такие вещи в топку.
А никто про это не говорит. Под другие задачи — другие инструменты.
V>Время покажет.. пока оно только рожает бестолковых программистов с дипломами по последним моделям экскаваторов. Однако такой экскаватор может легко вырыть себе могилу при не грамотном использовании. Не стои этого забывать.
У хирурга скальпель может принести вред... Вопрос в чьих руках.
Здравствуйте, hVostt, Вы писали:
V>Здравствуйте, Олег Гашев, Вы писали:
ОГ>>Вы забыли про одну важную деталь. Когда мы рождаемся, мы не открываем всё с самого нуля. Нас обучают. Мы работаем с вещами, может даже абсолютно не зная, как они работают. Но мы с ними работаем правильно. Многие не знают как работает телевизор. Но с телевизором они успешно справляются. Они тупые? Нет. Они пользуются знаниями и наработками предыдущих поколений. Почему такой способ не может быть применим в программировании? Почему программист постоянно должен думать про организацию памяти? Почему это не отдать операционке? Зачем это нам? Пусть система сама будет об этом думать, а мы будем заниматься своей работой. Мы станем тупее? Нет. Мы станем другими.
V>Вы меня убедили, честно.
V>Но. ОС на С++ не напишешь, поэтому не стоит говорить что такие вещи в топку. На чем написан MS Office'07? Сама реализация CLR? Клиентский софт писать всегда было удобней на высоких абстракциях. Серверный — увольте.
А почему тогда Java рулит на серверной строне, а на клиентской — не очень?
V>Время покажет.. пока оно только рожает бестолковых программистов с дипломами по последним моделям экскаваторов. Однако такой экскаватор может легко вырыть себе могилу при не грамотном использовании. Не стои этого забывать.
Re[26]: Неужели управляемые языки действительно так отупляют
Здравствуйте, anton_t, Вы писали:
V>>Но. ОС на С++ не напишешь, поэтому не стоит говорить что такие вещи в топку. На чем написан MS Office'07? Сама реализация CLR? Клиентский софт писать всегда было удобней на высоких абстракциях. Серверный — увольте. _>А почему тогда Java рулит на серверной строне, а на клиентской — не очень?
Для серверной стороны есть куча качественных и свободных библиотек.
А вот на клиенте у Java исторически плохо ситуация сложилась — сначала не было нормального GUI-фреймворка, потом он тормозил, а потом поезд уже ушел.
Sapienti sat!
Re[5]: Неужели управляемые языки действительно так отупляют?
Здравствуйте, LaptevVV, Вы писали:
LVV>Ламерство, сплошное ламерство!... LVV>Прям как подумаешь, как студенты к своей профессии относятся — страшно к врачу идти...
Мне вот действительно интересно... А каким были вы в студенческие годы? Что — ни капли ламерства и для всех задач находили оптимальное решение? А к будущей профессии, как относились?
Здравствуйте, Tilir, Вы писали:
T>Здравствуйте, VladD2, Вы писали:
VD>>Это значит, что Дельфи, по крайней мере та что не .NET марально устаревшее средство разработки.
T>Одно из самых удобных. Я правда редко им пользуюсь, но каждый раз меня поражает простота и даж иногда кажется что это точно также отупляет. Там почти как в C# — весело и ни о чём не надо думать. Может поэтому и пользуюсь редко.
Дельфи? Уже несколько лет это слово, лично у меня — ассоциируется с сороконожкой на костылях. Там было весело, это таки-да. Если не принимать во внимание постоянные глюки и самой IDE, и CRT, и VCL, постоянно присутствовавшие во всех версиях после 6-ой, а говорить о самом языке... Паскаль (имхо, а тем более — object pascal) калечит неокрепшие умы похуже бейсика, т.к. прививает программеру то самое "бутылочное горлышко" о котором говорил Влад. И "плюсы" в этом отношении, от него недалеко ушли.
VD>>К примеру, меня очень порадовал тот факт, что массивы делятся на динамические и статически, причем оные между собой не совместимы.
T>Вполне логично. Статический массив это просто кусок памяти заранее известного размера, динамический же подразумевает её дополнительное выделение и вообще нетривиальное управление. Совершенно разные абстракции.
Вот из-за того, что "совершенно разные абстракции" и следует "нетривиальное управление". А в том же С# — все довольно прозрачно и интуитивно. И в дельфи это — "совершенно разные абстракции" не из-за каких-то идейных соображений, а потому что динамические массивы — есть ни что иное как костыли (причем довольно грубого исполнения) к паскалю, их не поддерживающему.
VD>>Пойми деградировать ниже чем дельфи-кодер уже не удастся. Дельфи и Вб 6 это очень близкие инструменты если сравнивать их сточки зрения тупизны и маразма их пользователей (причем сами интсрументы тут виноваты только в том, что у них были хорошие дизайнеры форм и компонетные модели).
T>Я встречал громадное количество дельфи-кодеров, которые могли качественно написать ассемблерную вставку и отказаться от VCL в программе, а также отлично знали Рихтера (я даж видел все примеры из Рихтера в переводе на Delphi). И ни одного VB-кодера с аналогичными скиллами.
А "громадное" — это сколько?
И VB-кодеры есть неплохие, гляньте к примеру проект PDFCreator на sf.net. Это лишний раз доказывает, что "белые вороны" были есть и будут в любом сообществе
VD>>И читая сейчас эти строки о Дельфи и С++ у меня возникает только одно желание — грязно вырукатсья и выбросить с балкона книку "С++ дизайн и эволюция". Хорошо, что книга дома, а балкон на работе.
T>Всё-таки у вас какойт нехороший фанатизм. Но я вас понимаю, у меня он тоже есть, только в другую сторону. Я просто влюблён в С++. В первую очередь за то, что он поддерживает дисциплину духа (в отличии от VB, Java и Delphi) и одновременно позволяет решать реальные коммерческие задачи (в отличии от Lisp и Haskell).
Вспомни эту фразу через пару месяцев, после того, как начнешь серьезно изучать те же Lisp и Haskell. И когда она вызовет у тебя ностальгическую улыбку — начни изучать Немерле. И тогда, по появившемуся ощущению — ты поймешь насколько узко то "горлышко", через которое ты смотрел на мир подходов к разработке софта.
Здравствуйте, deniok, Вы писали:
K>>Для списков неэффективно, но cf — это не список. Это массив. D>А зачем там массив? Алгоритмически нужен сильный random access по индексам?
Честно говоря не знаю. WolfHound просто отрефакторил фрагмент кода, предоставленый FDSC здесь
Здравствуйте, Klapaucius, Вы писали:
K>Здравствуйте, deniok, Вы писали:
K>>>Для списков неэффективно, но cf — это не список. Это массив. D>>А зачем там массив? Алгоритмически нужен сильный random access по индексам?
K>Честно говоря не знаю. WolfHound просто отрефакторил фрагмент кода, предоставленый FDSC здесь