программистские ссылки
Oct. 27th, 2007 05:10 pmДва отличных анализа дизассемблированного кода:
И заодно, раз уж программистские ссылки:
C++ FQA, развернутая критика C++, выполненная в виде комментария к известному C++ FAQ. Не со всем я соглашусь, но много дельных и заслуженно едких замечаний. Автор -
yosefk, обсуждения есть по-английски в reddit и по-русски в ЖЖ.
Update: И еще одна полезная ссылка для любителей ассемблера: сравнение GAS и Intel-синтаксиса. Я так и не научился как следует читать программы в AT&T-синтаксисе, которым пользуется GAS (ну, скорее, научился с грехом пополам), поэтому мне понравилось подробное сравнение.
- Анализ бага в Excel (PDF), о котором я писал недавно. Очень, очень увлекательно и интересно. Подробно и дотошно объясняется, чем был вызван этот баг. (за ссылку спасибо
ygam) - Анализ червя Storm Worm, включая его руткит. Тоже исключительно интересная и подробная информация. Мне особенно понравилось про средства обнаружения виртуальных машин и песочниц анти-вирусов.
И заодно, раз уж программистские ссылки:
C++ FQA, развернутая критика C++, выполненная в виде комментария к известному C++ FAQ. Не со всем я соглашусь, но много дельных и заслуженно едких замечаний. Автор -
Update: И еще одна полезная ссылка для любителей ассемблера: сравнение GAS и Intel-синтаксиса. Я так и не научился как следует читать программы в AT&T-синтаксисе, которым пользуется GAS (ну, скорее, научился с грехом пополам), поэтому мне понравилось подробное сравнение.
no subject
Date: 2007-10-27 10:31 pm (UTC)На заре возникновения С++ нельзя было отказаться от совместимости с С. В тоже время, С++ предлагал адекватные возможности на тот момент, которые соответствовали требованиям индустрии. В начале/середине 90-х лучше было иметь эксепшены как в С++ чем вообще никаких; лучше было иметь поддержку ООП как в С++ чем вообще никакую, и т.д..
Претензии автора похожи на критику автомобиля 70-х годов с позиции сегодняшних требований: у него-де и подушек безопасности нет, и тормозная система примитивная, и выхлопы неэкологичные и пр. и пр.. Эта критика просто не по адресу.
no subject
Date: 2007-10-28 07:35 am (UTC)правильно ли я понимаю, что в Вашей вселенной IT — зрелая инженерная индустрия, профессии "рекламщик" не существует, слова "маркетинг" нет в словарях, а человеческая психология строго рациональна? или, может быть, в Вашей вселенной программисты и их руководители склонны быть существенно рациональнее прочих представителей человечества?
если сейчас таких эксепшенов лучше не иметь, то почему их надо было иметь тогда?
ditto.
(по фоновому пункту "сегодня C++ лучше не пользоваться", я так понимаю, возражений нет?)
no subject
Date: 2007-10-28 07:57 pm (UTC)Про сейчас и тогда. В 90-х можно было бы теоретически иметь всё как сейчас. Но это вылилось бы в неприемлемую цену. Поэтому и не имели. Имели то что было по карману. В 30-х годах автоматическую коробку передач имели только самые роскошные модели. А сегодня все имеют.
Про то что в большинстве случаев сегодня лучше не пользоваться С++ я сказал вам ещё в одном из первых ответов. Да, по современным меркам С++ не удовлетворяет многим требованиям. Для большинства новых проектов сегодня я выберу другой язык.
no subject
Date: 2007-10-28 08:40 pm (UTC)опчом и речь: невозможно утверждать, что какая-то более или менее "рыночная" система, состоящая из людей, работает оптимально, можно утверждать от силы что она как-то справляется с задачами или же не справляется с оными. особенно когда критериям оптимальности в данной системе ещё пару-тройку веков ползти до какой-либо вразумительности.
разумеется, IT-индустрия в большинстве случает свою работу делает.
C++ тут интересен тем, что оказался психологически удобен как охочим до баззвордов начальникам, так и охочим до кудрявых и строптивых инструментов, скучающим от непосредственной рабочей тематики и в большинстве своём скверно образованным программистам. C++ является несомненной маркетинговой удачей.
не пользоваться эксепшенами вообще — лучше, чем пользоваться сиплюсплюсными, я к этому.
это не такой критичный фичер, чтобы без него какие-то программы вообще не были возможны. можно просто "не иметь".
и правда, прошу прощения!
no subject
Date: 2007-10-28 09:37 pm (UTC)Криртерий оптимальности не такой уж и сложный: сколько стоит
дом построитьсделать и сдать проект. Если на других языках/в других средах это стоит дороже, то они менее оптимальны для данного проекта. Для большинства проектов С++ оказался в самый раз.Маркетинговая удача может случиться раз, может случиться два раза. Но она не может случаться регулярно с самыми разнообразными проектами на протяжении десятилетий. Я считаю что вы сильно недооцениваете начальников.
А что касается эксепшенов - так там большого выбора и не было. Никто не спрашивал хотят ими пользоваться или не хотят. Эксепшены были и надо было с ними жить. Обрабатывать ошибки старыми методами (сигналы, if'ы и т.д.) стало просто слишком трудоёмко и неэффективно (читай - дорого). Надо было что-то с этим делать. Или вы думаете что это от нечего делать комитет сидел и выдумывал чего-нибудь эдакого? Эксепшены явились ответом на реальные потребности разработчиков. С++ предложил вполне приемлимое решение обработки эксепшенов для своего времени.
no subject
Date: 2007-10-28 09:53 pm (UTC)это утверждение вопиющим образом не соответствует моему опыту.
те C++-проекты, на которых я работал и работаю, живы, но от C++ только страдают (мне так кажется, во всяком случае. чистые научные эксперименты с целью сравнить ставить несколько затруднительно, как Вы понимаете).
может, может. IT индустрия находится в до-инженерной стадии, и до недавнего времени nobody was ever fired for choosing C++.
C++ предложил вполне приемлемое решение обработки эксепшенов в C++-программах, в лучшем случае. почувствуйте разницу. :)
no subject
Date: 2007-10-28 10:19 pm (UTC)Т.е. по-вашему они все должны были бы сидеть ещё 20 лет на С и ждать пока чудесным образом вдруг появятся C#/Java с правильными эксепшенами, reflection, ОО и всем прочим что в них есть. И вот тут-то все бы дружною гурьбой пересели с С на новенькие красочные компалеры.
Индустрия может находится в любой стадии, на самом деле. Вопрос лишь в том за сколько денег она делает продукт. Те кто делают медленно и дорого вылетают из игры. Так же как в своё время WordPerfect вылетел со своим ассемблером, сегодня вылетают (или уже стоят на подходе) те кто цепляются за С++.
no subject
Date: 2007-10-29 05:48 am (UTC)по-Вашему, в таком изложении они выглядят здравомыслящими? :)
no subject
Date: 2007-10-29 09:41 am (UTC)no subject
Date: 2007-10-29 10:00 am (UTC)аллокации сверять и так, в общем-то, приходится.
что же касается this newfangled "OO" business — то да, задравомыслящий в моём понимании человек поостерёгся бы. :)
no subject
Date: 2007-10-29 01:39 pm (UTC)no subject
Date: 2007-10-31 11:39 am (UTC)Это бред, а не возражение. До сих пор, есть достаточно много областей применения (хотя и меньше, чем раньше), для для С++ реальных альтернатив. Чтоб заранее избежать пустых нападок - я говорю, про весь класс софтвера, который требователен к производительности настолько, чтоб языки более высоко уровня не подошли, но достаточно сложного, чтоб написание на более низкоуровневых языках (вроде С) было бы неоправданным мазохизмом и тратой времени.
Как пример, и только из тех областей, в которых я работал сам в последние несколько лет (а потому очень хорошо знаю требования и ограничения) - это компьютерная графика (игры и стимуляторы), файловые системы, обработка изображения и целые области в embedded.
Да и вообще, это все религиозный бред для маленьких, про "плохие" и "хорошие" языки. Каждый конкретный инструмент хорош для определенных задач, и чем больше человек знает инструментом, тем больше у него шансов наиболее эффективно и быстро решить конкретную поставленную задачу.
no subject
Date: 2007-10-31 12:44 pm (UTC)не надо так плохо относиться к C.
если не пытаться изо всех нехемульских сил пытаться пользоваться им как C++, то всё будет замечательно!
no subject
Date: 2007-10-31 01:54 pm (UTC)no subject
Date: 2007-10-31 04:31 pm (UTC)в гораздо более правильный профиль чем сам C++, собственно.
no subject
Date: 2007-10-31 05:53 pm (UTC)no subject
Date: 2007-10-31 07:12 pm (UTC)в принципе нет объективных причин всем кидаться с обрыва, играть на проезжей части или даже считать STL удобным для чего бы то ни было.
о чём Вы пытаетесь спорить?
no subject
Date: 2007-10-31 11:18 pm (UTC)no subject
Date: 2007-11-01 06:34 am (UTC)там вот товарищ сверху поговорить хотел, про животворящее ОО с деструкторами.
(последние времена наступают, истинно говорю вам: совсем уже хомячки охренели.)