Неужели управляемые языки действительно так отупляют?
От: Tilir Россия http://tilir.livejournal.com
Дата: 05.06.07 06:32
Оценка: 14 (8) +4 -9 :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :)
Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять), C, C++ и немножко Delphi. Ну ещё выучил Lisp чтобы на досуге развлекаться. Но какт всегда думал что в общем-то пофиг managed/unmanaged, инструмент и есть инструмент.

В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".

Сначала думал что эт касается только людей от природы не крепких духом. Но вот прочитал разительное на мой взгляд сообщение:

http://www.rsdn.ru/forum/message/2511620.1.aspx
Автор: VladD2
Дата: 02.06.07


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

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

Разубедите меня.

P.S. Я думаю очень скоро тенденции рынка пересадят на Java/C# громадное количество программистов во всяких банковских и прочих сферах, которые медленно но верно деградируют там до уровня "VB-кодеров" и "1С-программистов". Что освободит рынок где требуются профессионалы для настоящей разработки и создаст чудовищный кадровый голод на действительно понимающих людей. Такчт пора освежать скиллы в pure C.

P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
Re: Неужели управляемые языки действительно так отупляют?
От: Delight  
Дата: 05.06.07 06:44
Оценка: +5
Здравствуйте, Tilir, Вы писали:

Люди пересаживаются на иномарки и забывают как разобрать-собрать двигатель.

ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более
высокие уровни абстракции. А на старые при необходимости вернуться хоть и не
элементарно, но вполне можно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Неужели управляемые языки действительно так отупляют?
От: artkarma  
Дата: 05.06.07 06:46
Оценка: +1 -2
Это современная тенденция программирования. Уже давно так. Языки и дальше будут укрупняться будет переход от ООП к функциональному программированию.
Я бы сказал даже так: программирования как такового уже нет! Есть сборка проектов из уже готовых блоков.
Re: Неужели управляемые языки действительно так отупляют?
От: Vector Россия  
Дата: 05.06.07 06:58
Оценка: 2 (2) +4 -1
Здравствуйте, Tilir, Вы писали:

...

А еще, я заметил, что все больше рабочих переходит от старых добрых кувалд на отбойные молотки! Это ужасно! У людей дома появились шуруповерты, они не пользуются отвертками! Черт возьми, люди разучились запрягать лошадей, отдали предпочтение каким-то авто!

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

А по поводу "тупения" — просто другой уровень. Мыление более абстрактное. Человек может не помнить детали распределения памяти (просто потому что это не нужно), но быстро находить ООП решения, применять паттрены, писать правильный код, которые не Write-only, или бысто находить бесплатные компоненты, которые решают его задачу
Re: Неужели управляемые языки действительно так отупляют?
От: azh  
Дата: 05.06.07 07:10
Оценка:
Не все так однозначно, как хотелось бы.
Вселенная расширяется, мир усложняется. Охватить все сферы деятельности не реально.

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

Сейчас тоже самое мы наблюдаем в области программирования -- расширение сферы деятельности и, как следствие невозможно охватить _всё_, -- деление на прикладное и системное программирование, Деление на "бизнес-логику", интерфейс и базы данных. Только вот, каждый программер для себя выбирает по своей силе и заинтересованности.

Года два-три назад, я купил книжку по ассемлеру под Винду. По моему автор -- Федоров (могу ошибиться, поправьте!). Не надо думать, что я не знаю ассемблер для х86, я не умею писать драйверы устройств под Винду на ассемблере. Хотел восполнить пробел в знаниях. Ладно, не об этом речь! Так вот, автор, на сколько мне показалось из его книги, весьма и весьма удручен тем, что народ предпочетает писать программы работы с БД на Васике и пр. языках высогкого уровня. Автор предлагает (и вроде как демонстрирует!) что проги можно написать на ассемблере... Вот, вот! У меня тоже был шок.

По поводу Шарпа. Думаю, что M$ выгодно вытеснять программистов других стран и других фирм с системного уровня на уровень прикладной. "Дорога выстлана фанитками-бантиками -- шагайте!" И они шагают. Не страшно, если часть программеров перейдет в эту область. Страшно, если уйдет подавляющее большинство, а на системном уровне никого не останется.
Re[2]: Неужели управляемые языки действительно так отупляют?
От: Tilir Россия http://tilir.livejournal.com
Дата: 05.06.07 11:00
Оценка: :))
Здравствуйте, Delight, Вы писали:

D>Люди пересаживаются на иномарки и забывают как разобрать-собрать двигатель.

D>ИМХО на самом деле всё совсем не так фатально. Просто переходим на всё более
D>высокие уровни абстракции. А на старые при необходимости вернуться хоть и не
D>элементарно, но вполне можно.

Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо. Здесь кто бы спорил, чем выше тем лучше. Но отдавать такой важный ресурс как память на откуп автоматическому сбору мусора это уже не более высокий уровень, это уже смена мировоззрения. Вместо ответственной оценки потребления памяти, мы грубо говоря плюём на эту сторону вопроса.

Мне вот наверное всё-таки придётся выучить хотя бы один управляемый язык просто чтобы поставить эксперимент: берём алгоритм с теоретическим O(f(N)) по памяти, гоняем его реализацию на большом объёме тестовых данных с детерминированным управлением памятью, замеряем реальные расходы, оцениваем константы Cmin и Cmax для данной платформы, потом то же самое со сборщиком мусора, снова замеряем реальный расход памяти и смотрим, осталось у нас рассчётное O(f(N)) или реально стало уже O(g(N)) и куда уползли константы. Я почемут очень подозреваю что недетерминированность в управлении памятью может отражаться на базовых свойствах вычислений как таковых, особенно если научится специально подбирать выборки так чтобы сборщик мусора на них ломался. Например как поведёт себя автоматическое управление памятью, когда мы подойдём к физическому пределу памяти на машине?

Кстати про алгоритмы этих сборщиков тоже надо почитать. Но здесь я жду следующего стандарта C++, когда GC можно будет попробовать в отрыве от виртуальной машины. И без отрыва от любимого языка. Тогда и займусь этим плотней.
Re: Неужели управляемые языки действительно так отупляют?
От: Klapaucius  
Дата: 05.06.07 12:12
Оценка: 11 (5) +2 :))) :))) :))) :))) :))) :))) :)
Здравствуйте, Tilir, Вы что-то там писали.

Вот уже много лет наблюдаю совершенно ужасную тенденцию: человек заканчивает Физфак или Матфак и из-за денег или просто по воле безжалостного рока начинает программировать. Да-да, Вы не ослишались. Свободный разум, витающий в эмпиреях функционального анализа и дифференциальной геометрии обрушивается прямо в адъ навстречу асмам, рихтерам сиплюсплюсам и вбиванию битов. Я и сам через это прошел. Просто физически ощущаешь, как твой неокортекс съеживается, усыхает, ты забываешь всю математику, в плоть до какой-то совершенной элементарщины вроде вычетов, забываешь квантовую механику, забываешь даже что такое неокортекс. Но где-то во тьме, на дне расплющенного разума теплится еще надежда, что это не для всех, не везде, не навсегда! Что придет новая весна, и мощный поток смоет всю эту низкоуровневую шелуху и человеческий разум воссияет вновь, во всем своем величии.
Чтобы не мучить читателя, сразу скажу, что надежды эти не напрасны.
В нашем зашореном, плюс-плюс-дегенеративном сообществе программистов зреют, набирают силы ростки нового мира. Дивного нового мира, я бы сказал. Вы сомневаетесь? Вам нужны доказательства? Они у меня есть. Вот фрагмент поста 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: Неужели управляемые языки действительно так отупляют?
От: LaptevVV Россия  
Дата: 05.06.07 12:14
Оценка: :))
Здравствуйте, Tilir, Вы писали:

T>Это же чудовищно. VladD2 — несомненно умный человек, автор большого количества интересных статей и сообщений. Мы все его уважаем и т.д.. Но не справиться с парой строк кода на примитивном и в общем-то берущем почти всё на себя Delphi — это финиш. Эт значит человека нужно брать и заново учить, писать код он уже явно не может.


T>P.P.S. Кроме программирования, преподаю сейчас на кафедре и вижу почти те же тенденции у своих студентов, прям с детства стремление меньше думать больше получать.
ООООООООООООООООООООООООООООООООООООО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Коллега!!!!!!
Как я вас понимаю!!!!!!!
Седни только одной девице втулял на ту же тему...
Она мне:
— Дык работает же!!! Не все ли равно?!!!!
Я ей:
— а давай мы тебя нарядим в рубище!... Одежда ж! Не все ли равно?!
Только тогда отстала... Но осталась при своем мнении...

Ламерство, сплошное ламерство!...
Прпограммку ровно в 15 команд ассемблерной вставки ламерски расписывают примерно на 50-60...
Вместо одного цикла пишут 4 (ЧЕТЫРЕ!!!!)...
Аргумент тот же: а не все ли равно, работает же...
Прям как подумаешь, как студенты к своей профессии относятся — страшно к врачу идти...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Неужели управляемые языки действительно так отупляют?
От: WolfHound  
Дата: 05.06.07 12:24
Оценка:
Здравствуйте, 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
Автор(ы): Чистяков Влад (VladD2)
Дата: 14.06.2006
Уже много сказано слов о том, что такое GC, чем он хорош и как лучше его применять. Но, наверно, очень многим хочется знать, как устроен конкретный GC. Данная статья открывает некоторые подробности устройчтва GC в .NET Framework.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Неужели управляемые языки действительно так отупляют?
От: WolfHound  
Дата: 05.06.07 12:24
Оценка: 4 (2) +1
Здравствуйте, 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[2]: Неужели управляемые языки действительно так отупляют?
От: Константин Л. Франция  
Дата: 05.06.07 13:00
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Здравствуйте, Tilir, Вы что-то там писали.


K>Вот уже много лет наблюдаю совершенно ужасную тенденцию: человек заканчивает Физфак или Матфак и из-за денег или просто по воле безжалостного рока начинает программировать. Да-да, Вы не ослишались. Свободный разум, витающий в эмпиреях функционального анализа и дифференциальной геометрии обрушивается прямо в адъ навстречу асмам, рихтерам сиплюсплюсам и вбиванию битов. Я и сам через это прошел.


а зря

[]
Re[4]: Неужели управляемые языки действительно так отупляют?
От: machine3000  
Дата: 05.06.07 13:23
Оценка:
Здравствуйте, WolfHound, Вы писали:

...

Меня в этом .NET раздражает только одна вещь. Очень много говорится о разделении интерфейса, бизнеслогики, хранения данных. Но никто не говорит о разделении языка, стратегии управления памятью, библиотек. .NET — это монолитная система, в которой никто, кроме MS не может заменить реализацию какой-либо стратегии на другую реализацию этой страдегии, более подходящую в контексте конечной задачи. Хочешь ты или нет, тебе впаривают один единственный сборщик мусора, даже не спросив, есть ли у тебя в программе хоть одна циклическая ссылка и есть ли у тебя время ждать, пока он в неподходящий для этого момент начнёт ковыряться в памяти.
Re: Неужели управляемые языки действительно так отупляют?
От: machine3000  
Дата: 05.06.07 15:02
Оценка: 3 (1) +2
Здравствуйте, Tilir, Вы писали:

...

Разговор между людьми, которые реализуют ручное управление памятью близко к оптимуму, не тратя на это никаких умственных усилий, и теми, кто при всём желании лучше GC ею всё равно управлять не может, крайне непродуктивен.
Re[2]: Неужели управляемые языки действительно так отупляют?
От: WolfHound  
Дата: 05.06.07 15:08
Оценка:
Здравствуйте, machine3000, Вы писали:

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

А ты к которой категории себя причисляешь?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Неужели управляемые языки действительно так отупляют?
От: AndreiF  
Дата: 05.06.07 15:22
Оценка: +1 :))
Здравствуйте, machine3000, Вы писали:

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


Точно. Когда начинают разговаривать с мифологическими идеальными существами, это еще никого до добра не доводило
Re: Неужели управляемые языки действительно так отупляют?
От: Дмитрий В  
Дата: 05.06.07 16:41
Оценка: 1 (1)
Здравствуйте, Tilir, Вы писали:

T>Разубедите меня.

Жжошь, взаправду жжошь!
Пеши ещо!
Re[3]: Неужели управляемые языки действительно так отупляют?
От: Delight  
Дата: 05.06.07 17:09
Оценка:
Здравствуйте, Tilir, Вы писали:

T>Нет, не всё так просто. Более высокий уровень абстракции эт скажем использование STL и Boost где надо. Здесь кто бы спорил, чем выше тем лучше. Но отдавать такой важный ресурс как память на откуп автоматическому сбору мусора это уже не более высокий уровень, это уже смена мировоззрения. Вместо ответственной оценки потребления памяти, мы грубо говоря плюём на эту сторону вопроса.


Думаю стоит немного поэкспериментировать с предметом обсуждения прежде чем нападать. Жить с управляемыми языками вполне можно. Многочисленные преимущества часто перевешивают увеличенную потребность в памяти.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Неужели управляемые языки действительно так отупляют?
От: Олег Гашев
Дата: 05.06.07 18:35
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>ООООООООООООООООООООООООООООООООООООО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

LVV>Коллега!!!!!!
LVV>Как я вас понимаю!!!!!!!
LVV>Седни только одной девице втулял на ту же тему...
LVV>Она мне:
LVV>- Дык работает же!!! Не все ли равно?!!!!
LVV>Я ей:
LVV>- а давай мы тебя нарядим в рубище!... Одежда ж! Не все ли равно?!
LVV>Только тогда отстала... Но осталась при своем мнении...

LVV>Ламерство, сплошное ламерство!...

LVV>Прпограммку ровно в 15 команд ассемблерной вставки ламерски расписывают примерно на 50-60...
LVV>Вместо одного цикла пишут 4 (ЧЕТЫРЕ!!!!)...
LVV>Аргумент тот же: а не все ли равно, работает же...
LVV>Прям как подумаешь, как студенты к своей профессии относятся — страшно к врачу идти...

Помню, проходил алгоритмы, писал блок-схемы. Особенно понравилось написать алгоритм решения

2^0+2^1+2^2+...+2^n

Это не интересно. Это 2^(n+1)-1.

Кстати, сколько человек предложат верное решение?
Либо я найду путь, либо проложу его. © Свифт
Re: Неужели управляемые языки действительно так отупляют?
От: Олег Гашев
Дата: 05.06.07 18:56
Оценка: 3 (1) +1
Здравствуйте, Tilir, Вы писали:

T>Сам никогда под ВМ не писал, за четыре года работы юзал в общем-то только разные ассемблеры (штуки четыре или пять), C, C++ и немножко Delphi. Ну ещё выучил Lisp чтобы на досуге развлекаться. Но какт всегда думал что в общем-то пофиг managed/unmanaged, инструмент и есть инструмент.


T>В последнее же время наблюдаю совершенно ужасную тенденцию — человек переходит (из-за денег или просто по воле начальства) с неуправляемого кода на управляемый и в течении полугода объективно тупеет. Просто становится неспособен думать про управление памятью, перестаёт представлять себе как чтот функционирует внутри реального железа и как следствие больше не может перейти обратно, становится обречён писать под виртуальные машины. Некоторые даж забывают асм и становятся неспособны сломать простейший прот на программке, то есть сделать вещь которую даже шестнадцатилетние дети умеют и которая вообще навыков программирования не требует. Забывает Рихтера и организацию памяти, зато начинает думать о какойт "бизнес-логике" и прочей лабуде. Хуже того, забывает основные алгоритмы, забывает Кнута и Кормена, зато начинает хвастаться знанием каких-то "библиотек" и "платформ".


Зачем в php организация памяти, Рихтер и Кнут? За это не платят. Платят за бизнес-решение.

Есть куча принципов сортировки, но за за знания принципов сортировки не платят. Платят за рабочее решение. То, что это надо знать- может быть. Но за знания не платят. Платят за готовые решения. Оторвитесь от теории. Посмотрите в текущий мир. Вы платите за ПО, зная, что оно работает, не зная, на сколько разработчик думал про управление памяти и т.д. Оно работает. Это самое главное. Почему и как оно работает, другой вопрос. Если очень нужна правильность- пишите на ассемблере, тратьте тысячи человеко-лет на готовые решения, потом попробуйте получить из этого доход.
Либо я найду путь, либо проложу его. © Свифт
Re: Неужели управляемые языки действительно так отупляют?
От: Cyberax Марс  
Дата: 05.06.07 19:11
Оценка: +1
Здравствуйте, Tilir, Вы писали:

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

Я пишу код параллельно под С++ на встроеных железках и на Java для распределенного серверного приложения с клиентом на Swing'е. Почти полный диапазон разницы (хотя скоро еще будем железку непосредственно проектировать — но на ассемблере MIPS я уже писать буду не я ).

Среды с автоматическим управлением памятью помогают намного проще писать некоторые виды приложений. Хотя, естественно, у GC тоже есть недостатки.

PS: а еще могу порекомендовать залезть внутри VM и посмотреть как оно все там работает. Как делаются safepoint'ы для GC, барьеры для работы с поколенями и т.п.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.