avva: (Default)
[personal profile] avva
Два отличных анализа дизассемблированного кода:

  • Анализ бага в Excel (PDF), о котором я писал недавно. Очень, очень увлекательно и интересно. Подробно и дотошно объясняется, чем был вызван этот баг. (за ссылку спасибо [livejournal.com profile] ygam)

  • Анализ червя Storm Worm, включая его руткит. Тоже исключительно интересная и подробная информация. Мне особенно понравилось про средства обнаружения виртуальных машин и песочниц анти-вирусов.


И заодно, раз уж программистские ссылки:

C++ FQA, развернутая критика C++, выполненная в виде комментария к известному C++ FAQ. Не со всем я соглашусь, но много дельных и заслуженно едких замечаний. Автор - [livejournal.com profile] yosefk, обсуждения есть по-английски в reddit и по-русски в ЖЖ.

Update: И еще одна полезная ссылка для любителей ассемблера: сравнение GAS и Intel-синтаксиса. Я так и не научился как следует читать программы в AT&T-синтаксисе, которым пользуется GAS (ну, скорее, научился с грехом пополам), поэтому мне понравилось подробное сравнение.
Page 1 of 3 << [1] [2] [3] >>

Date: 2007-10-27 03:51 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Уже приходилось наталкиваться на этот C++ FQA. Несмотря на имеющиеся корявости в С++, автор очень часто предъявляет уж совсем какие-то несусветные и надуманные претензии. Так и хочется ему ответить "There are just two kinds of languages: the ones everybody complains about and the ones nobody uses."

Date: 2007-10-27 04:05 pm (UTC)
From: [identity profile] slobin.livejournal.com
Вот здесь (http://eao197.narod.ru/better_language/index.html) лежит критика C++ от человека, который писал на нём 15 лет, и писал бы ещё столько же, если бы не... А что "если бы не", написано гораздо более по делу и менее эмоционально, чем в сосланном Вами FQA. Усиленно рекомендую.

... Искусство художественного умолчания ...

Date: 2007-10-27 04:12 pm (UTC)
From: [identity profile] eeik.livejournal.com
Там стиль такой

Then the assembler converts the assembly code to an "object file", where "object" means "a sequence of bytes" (talk about "object oriented")

что читать не хочется

Date: 2007-10-27 04:16 pm (UTC)
From: [identity profile] avva.livejournal.com
согласен, это глупо. Но есть и немало дельных вещей, по-моему.

Date: 2007-10-27 04:49 pm (UTC)
From: [identity profile] cmm.livejournal.com
Так и хочется ему ответить

Вы явно хотите об этом поговорить.

Date: 2007-10-27 05:47 pm (UTC)
From: [identity profile] indeyets.livejournal.com
интересно, что и у этого человека и у yosefk идёт упоминание D как разумной альтернативы С++…

Date: 2007-10-27 07:08 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Хотел, но сдержался. :) Там уже люди поумнее меня всё правильно сказали. Да, собственно, и сам Страуструп уже давно вполне убедительно ответил на многие нападки [livejournal.com profile] yosefk.

Date: 2007-10-27 08:33 pm (UTC)
From: [identity profile] cmm.livejournal.com
тут основная фигня в том, на мой взгляд, что обсуждаемое (зачем-то) выступление не требует никаких ответов по определению.  ясное дело, что у авторов C++ были свои и, по их мнению, веские резоны.

кто созрел типа, тот принимает к сведению.

Date: 2007-10-27 09:00 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Если вы хотите сказать что С++ отжил своё и его удел быть нишевым языком, то я как раз не спорю. Внизу [livejournal.com profile] slobin привёл линк на сайт Евгения Охотникова. Я с рассуждениями Охотникова почти полностью согласен. Несмотря на всю свою любовь к С++, я понимаю что он уже не в состоянии конкурировать с более молодыми и сильными соперниками.

Но предъявлять претензии к С++ по поводу того что там нет garbage collector'а или reflection, например, это вообще как-то мимо кассы. Когда С++ был в зените своей славы, то он предлагал наилучший компромисс между возможностями языка и ценой за них. С тех пор многое поменялось. То что было дорого - стало дёшево, изменились требования к процессу разработки и т.д.. Сегодня другие языки и среды предлагают наилучший компромисс. Их и надо использовать.

Смеяться над тем что в С++ вместо "struct" используют "class" это детство недоигравшее в одном месте.

Date: 2007-10-27 09:22 pm (UTC)
From: [identity profile] cmm.livejournal.com
Когда С++ был в зените своей славы, то он предлагал наилучший компромисс между возможностями языка и ценой за них.

фигня ещё и в том, что утверждать подобные вещи как объективные истины — не очень разумно.

Смеяться над тем что в С++ вместо "struct" используют "class" это детство недоигравшее в одном месте.

нууу, это часть стиля.  если в общем соглашаться с автором, то подобные обороты не мешают, а если не соглашаться, то...

Date: 2007-10-27 09:53 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
То что С++ стал самым распространённым general purpose языком это объективная истина или какая? Язык программирования это не только следование академическим правилам. Как и любое другое инженерное изделие, язык программирования обязан учитывать сложившиеся реалии в индустрии. С++ предложил набор качеств, который по совокупности был достаточно хорош для того, чтобы язык занял лидирующие позиции. Остальное, как говорится, история.

По поводу стиля C++ FQA. Натыкаясь на такой стиль теряешь доверие и к остальным, в общем-то разумным, доводам. Но основное нарекание не на стиль как раз. А на то что к С++ предъявляются надуманные требования. Автор хочет managed язык, но чего он к С++ то прицепился в таком случае?

Date: 2007-10-27 10:02 pm (UTC)
From: [identity profile] cmm.livejournal.com
То что С++ стал самым распространённым general purpose языком это объективная истина или какая?

будем инстанциировать весь риторический шаблон про миллиарды мух и говно, или хрен с ним?  скушно ж.

Натыкаясь на такой стиль теряешь доверие и к остальным, в общем-то разумным, доводам.

может быть.  мне трудно судить объективно, поскольку я давно с другой стороны.

Автор хочет managed язык, но чего он к С++ то прицепился в таком случае?

не так.  автор хочет язык, не пытающийся предоставлять возможности, реализовать которые по-человечески в имеющихся условиях эксплуатации невозможно.  типа ОО и эксепшенов в unmanaged среде и с сохранением культурной совместимости с C.

Date: 2007-10-27 10:31 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Про миллиарды мух это не риторический шаблон, а демагогический приём. С++ выбирали не мухи, а инженеры и руководители проектов. Они, как тогда, так и сейчас, руководствуются вполне объективными критериями. Вы пытаетесь представить картину в чёрно-белом свете: или давайте эксепшены как в С#/Java, или вообше никаких; или давайте ОО/reflection как сейчас, или вообще не надо.

На заре возникновения С++ нельзя было отказаться от совместимости с С. В тоже время, С++ предлагал адекватные возможности на тот момент, которые соответствовали требованиям индустрии. В начале/середине 90-х лучше было иметь эксепшены как в С++ чем вообще никаких; лучше было иметь поддержку ООП как в С++ чем вообще никакую, и т.д..

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

Date: 2007-10-27 11:05 pm (UTC)
From: [identity profile] http://users.livejournal.com/_iga/
Вот тоже интересное:
http://pferrie.tripod.com/papers/attacks2.pdf

А также сайт Рутковской http://www.invisiblethings.org/

Date: 2007-10-28 12:13 am (UTC)
From: [identity profile] itman.livejournal.com
Да, про баг с ёкселем интересно. Уже хотя бы то, что процедуру преобразования изначально писали на ассемблере. Хотя, непонятно, какого Х, ведь ворд работает не только на интеле.

Date: 2007-10-28 12:37 am (UTC)
From: [identity profile] ygam.livejournal.com
В середине 1990х кое-какие процедуры в ядре Оффиса, например, аналог strlen (Оффис не использовал libc), были написаны на ассемблере для x86 и на сиплюсплюсе для остальных архитектур. Мой сосед портировал exception handling (родного в 4м Visual C++ не было) с ассемблера x86 на ассемблер Alpha AXP для Оффиса на Альфе.

Date: 2007-10-28 12:39 am (UTC)
From: [identity profile] itman.livejournal.com
занятно, спасибо за ссылку.

Re: Update

Date: 2007-10-28 05:09 am (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Мне повезло, что у первый языка ассемблера, с которым я познакомился, был синтаксис IBM-овского (от которого, собственно, Intel-овский недалеко ушел), несмотря на русские мнемоники команд. Если бы я сначала учил любой другой язык ассемблера для той же машины, то моей психике был бы нанесен непоправимый урон.

Date: 2007-10-28 07:10 am (UTC)
From: [identity profile] gdy.livejournal.com
Assembly On GCC using Intel Syntax (http://www.reversing.be/article.php?story=20051203194931893)

Date: 2007-10-28 07:35 am (UTC)
From: [identity profile] cmm.livejournal.com
Про миллиарды мух это не риторический шаблон, а демагогический приём. С++ выбирали не мухи, а инженеры и руководители проектов. Они, как тогда, так и сейчас, руководствуются вполне объективными критериями.

правильно ли я понимаю, что в Вашей вселенной IT — зрелая инженерная индустрия, профессии "рекламщик" не существует, слова "маркетинг" нет в словарях, а человеческая психология строго рациональна?  или, может быть, в Вашей вселенной программисты и их руководители склонны быть существенно рациональнее прочих представителей человечества?

В начале/середине 90-х лучше было иметь эксепшены как в С++ чем вообще никаких

если сейчас таких эксепшенов лучше не иметь, то почему их надо было иметь тогда?

Лучше было иметь поддержку ООП как в С++ чем вообще никакую

ditto.

(по фоновому пункту "сегодня C++ лучше не пользоваться", я так понимаю, возражений нет?)

Date: 2007-10-28 12:11 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Критика плюсов забавная. Комменты в ру_программинг ещё забавней, никогда раньше не видел такую толпу людей со Стокгольмским синдромом в отношении совершенно неодушевлённой штуки.

Date: 2007-10-28 07:57 pm (UTC)
ak_47: (Default)
From: [personal profile] ak_47
Программистам и их руководителям присущи все те качества какие есть и у других людей. Они иногда ошибаются, но в целом работу свою делают. Если бы человек был неспособен отличить лучшее от худшего (был бы мухой, по вашей терминологии), то мы бы до сих пор в каменном веке сидели. При всех рекламщиках и маркетингах люди всё же умеют считать свои деньги.

Про сейчас и тогда. В 90-х можно было бы теоретически иметь всё как сейчас. Но это вылилось бы в неприемлемую цену. Поэтому и не имели. Имели то что было по карману. В 30-х годах автоматическую коробку передач имели только самые роскошные модели. А сегодня все имеют.

Про то что в большинстве случаев сегодня лучше не пользоваться С++ я сказал вам ещё в одном из первых ответов. Да, по современным меркам С++ не удовлетворяет многим требованиям. Для большинства новых проектов сегодня я выберу другой язык.

Date: 2007-10-28 08:40 pm (UTC)
From: [identity profile] cmm.livejournal.com
Они иногда ошибаются, но в целом работу свою делают.

опчом и речь: невозможно утверждать, что какая-то более или менее "рыночная" система, состоящая из людей, работает оптимально, можно утверждать от силы что она как-то справляется с задачами или же не справляется с оными.  особенно когда критериям оптимальности в данной системе ещё пару-тройку веков ползти до какой-либо вразумительности.

разумеется, IT-индустрия в большинстве случает свою работу делает.

C++ тут интересен тем, что оказался психологически удобен как охочим до баззвордов начальникам, так и охочим до кудрявых и строптивых инструментов, скучающим от непосредственной рабочей тематики и в большинстве своём скверно образованным программистам.  C++ является несомненной маркетинговой удачей.

Имели то что было по карману.

не пользоваться эксепшенами вообще — лучше, чем пользоваться сиплюсплюсными, я к этому.

это не такой критичный фичер, чтобы без него какие-то программы вообще не были возможны.  можно просто "не иметь".

Про то что в большинстве случаев сегодня лучше не пользоваться С++ я сказал вам ещё в одном из первых ответов.

и правда, прошу прощения!
Page 1 of 3 << [1] [2] [3] >>

February 2026

S M T W T F S
1 2 3 4 5 67
8 9 10111213 14
15 16 17 18192021
2223 2425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 24th, 2026 08:58 pm
Powered by Dreamwidth Studios