Калашников О. А. - Ассемблер — это просто. Учимся программировать. [2011, PDF, RUS]

Страницы :   Пред.  1, 2, 3, 4, 5, 6

Ответить
Автор
Сообщение

Бакенбард

Стаж: 11 лет 8 месяцев

Сообщений: 1538

Бакенбард · 31-Дек-18 10:16 (5 месяцев 20 дней назад)

Belkovsky писал(а):
76584535АСМ нужен для реверсинга.
АСМ нужен для того что бы крякать тех кто считает что асм не нужен
АСМ чтит семантику, запятую поставь.
[Профиль]  [ЛС] 

Belkovsky

Стаж: 2 года 5 месяцев

Сообщений: 48

Belkovsky · 31-Дек-18 12:21 (спустя 2 часа 5 мин., ред. 31-Дек-18 12:21)

Бакенбард писал(а):
запятую поставь.
А не то что, расплачешься? Пишу как умею, переписывать не стану, даже ради тебя, honey.
[Профиль]  [ЛС] 

h--l

Стаж: 9 лет 7 месяцев

Сообщений: 89


h--l · 07-Янв-19 16:23 (спустя 7 дней, ред. 07-Янв-19 16:23)

Вообще, возвращаясь on topic, есть одно забавное наблюдение: румыны не понимают железа на уровне ассемблера ВООБЩЕ НИКАК. Что-то в консерватории у них не так настроено, что ли.
К примеру, любому, кто интересуется современным С++, известен Андрей Александреску, весьма незаурядный румынский программист, наделавший немало шуму своим трудом "Modern C++ Design" лет 15 тому назад. Книжка вообще была неплоха, но, помнится, когда я дошёл до места, где автор предлагал экономить байты следующей конструкцией:
Цитата:
struct MemControlBlock
{
std::size_t size_ : 31;
bool available_ : 1;
};
я просто выкинул бесценный труд румына в окно.
Господи, подумал я, и чему там их только учат, в Румынии этой! Человек не понимает простейшего - как память устроена, и берётся подавать какие-то советы космического масштаба и космической же глупости о том, как нам обустроить С++!
"Одно слово - румын".
[Профиль]  [ЛС] 

angramania

Стаж: 8 лет 11 месяцев

Сообщений: 1529

angramania · 28-Янв-19 23:44 (спустя 21 день)

Iw Алеzандру Воевoд писал(а):
Цитата:
Без Асма нельзя накодить ОС, ибо загрузчик нереально сделать на чем либо другом, кроме Асма, хоть с вставками, хоть как - но Асм будет. И никакие шарпы и петоны не помогут.
Нда, это клиника. Скажи-ка мне, какой процент от всех программистов пишет загрузчики ОС? Боюсь, меньше 0,0001-й.
На самом деле всё еще смешнее. Великие гуру ассемблера ведь не осилили глянуть код grub2, одного из самых известных загрузчиков. А там, о ужас, асма доли процента и то в виде вставок для кое-каких тестов процессора. То есть даже серьезные загрузчики пишут не на великом и могучем асме, а на богомерзкой Сишечке и даже на питоне.
А ведь еще можно вспомнить, что ОС спокойно может существовать без загрузчика вообще, но боюсь эти сокровенные знания удел ничтожных перловиков и румынов, истинным великорусским гуру ассемблера они не по зубам.
[Профиль]  [ЛС] 

scat666

Стаж: 9 лет 5 месяцев

Сообщений: 95


scat666 · 29-Янв-19 00:21 (спустя 37 мин.)

angramania
но крупицы Асма есть! Потому что без него никак, а ваши петоны это для школьников.
h--l
что-то в этом есть. Даже виликий Ионеску и тот обосрался со своим r0ak.
[Профиль]  [ЛС] 

angramania

Стаж: 8 лет 11 месяцев

Сообщений: 1529

angramania · 30-Янв-19 13:15 (спустя 1 день 12 часов)

scat666 писал(а):
но крупицы Асма есть! Потому что без него никак, а ваши петоны это для школьников.
Ок. Тогда тебе задача уровня школьника. Напиши программу, которая сделает подсчет количества строк на ассемблере и питоне в исходниках grub2 и выведет результаты. Желательно написать ее на великом и могучем ассемлере, раз уж тебе без него никуда. Осилишь или только щеки надувать можешь?
[Профиль]  [ЛС] 

scat666

Стаж: 9 лет 5 месяцев

Сообщений: 95


scat666 · 30-Янв-19 13:41 (спустя 26 мин.)

angramania
т.е. мне щас бросить работу и заняться ерундой, чтобы доказать неясно кому неясно чего на форуме?
Для обработки текстов есть перл и подобные языки, асм тут не нужен, т.к. на перле проще. Но никто в здравом уме не будет на скриптах кодить загрузчики, как предлагаешь ты и твои товарищи.
[Профиль]  [ЛС] 

angramania

Стаж: 8 лет 11 месяцев

Сообщений: 1529

angramania · 31-Янв-19 02:31 (спустя 12 часов)

scat666 писал(а):
Но никто в здравом уме не будет на скриптах кодить загрузчики, как предлагаешь ты и твои товарищи.
И где ты такие предложения увидел у меня и каких то моих товарищей?
scat666 писал(а):
Для обработки текстов есть перл и подобные языки, асм тут не нужен, т.к. на перле проще.
Неужели что-то начало доходить? Невероятно, всего пять лет понадобилось.
[Профиль]  [ЛС] 

SI{AY

Стаж: 11 лет 2 месяца

Сообщений: 872

SI{AY · 31-Янв-19 14:33 (спустя 12 часов)

angramania
В принципе, тему можно было закрыть еще после ваших слов:
angramania писал(а):
60097953Увы, но тешащие свою гордыню программисты на ассемблере не понимают, что основное умение программиста сейчас заключается не в крутых оптимизациях, а в написании легко поддерживаемого кода.
так как по существу в раздаче обсуждать нечего.
[Профиль]  [ЛС] 

scat666

Стаж: 9 лет 5 месяцев

Сообщений: 95


scat666 · 01-Фев-19 02:34 (спустя 12 часов)

angramania
тогда о чем вообще спор-то?
[Профиль]  [ЛС] 

herider

Стаж: 8 лет 8 месяцев

Сообщений: 156

herider · 17-Май-19 00:20 (спустя 3 месяца 15 дней, ред. 17-Май-19 00:20)

еще моих пять копеек
Имхо, спор о языках - "какой круче и универсальнее" - это поиск священного Грааля (бессмысленная задача).
Ценность программиста для себя (потребность в признании) и для общества (способность эффективно решать задачи программиирования) по-моему, больше коррелирует не с выбором языка, а со способностью создавать эффективные работающие в реале алгоритмы для решения как стандартных, так и новых задач. И для того, и для другого класса задач существует множество языковых инструментов, причем сегодня это множество растет (из-за новых задач, и включая новые способы решения старых).
При этом каждый из указанных выше языков имеет свою нишу. Причем пока на нем пишут эффективные для решения практических задач программы. Как только это прекращается, язык умирает. Ассемблер и языки высокого уровня имеют пока свои собственные ниши.
В частности, несомненная польза ассемблера для программиста (даже не касаясь оценок количестве кода на нем, и не упоминая о драйверах etc.) - в его уместности по крайней мере для знакомства с архитектурой и алгоритмами работы процессора (что дает понимание общей картины происходящего при работе любой программы и способствует, соответственно, попыткам написать код на любом языке наиболее эффективно).
Польза языков среднего и высокого уровня - в ускорении и облегчении разработки и сопровождения, и все большей концентрации внимания программиста на логике реализации самого концепта приложения. Это очень полезно программистам для прототипирования и коммерческой разработки. И как можно видеть (например в сравнениях Питона и Джаваскрипта), и здесь синтаксис перестает играть ключевую роль, основную роль играют возможности решения классов задач средствами этих языков. Оба имеют как достоинства, так и недостатки.
В третьих, если ЯВУ позволяют реализовывать все более концептуально сложные парадигмы, в то же время все они сами написаны на языках низкого уровня, которые представляют собой реализацию всего лишь нескольких базовых операций с данными, однако, инструментально охватывающих все вариативные возможности в контексте конкретного железа.
Таким образом, тренды и усложнения, и напротив - консервации базового набора операций можно рассматривать как противоречащие; - а можно смотреть шире и видеть их частью развивающегося целого. Вместе с тем, - "объять необъятное" [в деталях] - становится все более затруднительным, и для программиста, наверное, наиболее ценными будут знания прежде всего обобщенной базы информатики - архитектуры и процессов работы компьютеров и сетей, алгоритмов решения стандартных задач программирования, известных подходов к решению нестандартных задач различных классов, структур данных и паттернов программирования. Если все эти знания присутствуют, то изучение синтаксиса любого из языков программирования превращается в тривиальную задачу, а выбор языка обуславливается не его "универсальностью", но пригодностью и эффективностью для реализации избранного проекта. Мне кажется, и "гранды" поступали точно также - например, сам Си реализовали не из сакрального почтения к "особому языку", а из довольно рационального желания облегчить себе жизнь в программировании ЭВМ под конкретные задачи.
Потому, к сожалению, вряд ли возможно найти "язык для всего раз и навсегда" - это невозможно хотя бы потому, что появляются новые языки под новые предметные области, их множество, и сложность кода проектов растет. Одиночка просто физически не сможет реализовать крупный проект, а значит, ради серьезных вещей придется работать в команде, которой уже не удастся навязать свой "выученный язык".
Преимущество СИ, например в том, что он ясно показывает, что происходит, но писать и сопровождать на нем статистически долго (не говоря уж про ассемблер). Преимущество ЯВУ, - в том, что писать на них можно быстро и концентрируясь на идее проекта, а не реализации, но то, что происходит "на самом деле" - зачастую "под капотом". Здесь также стоило бы учесть "кумулятивный эффект" разработки ПО в целом: то, что 30 лет назад было достаточно (МС-ДОС, ОС на дискете, и т.п.), сегодня недостаточно, и в существующее ПО вложены миллионы, а то и миллиарды человеко-часов. Поэтому для современного среднестатистического разработчика что=то всегда будет оставаться "под капотом".
Однако, "если не можешь повлиять на ситуацию, попробуй поменять точку зрения на нее". Если относиться к языку не исключительно как к средству конкурентного выживания в агрессивной среде, но как к инструменту (одному из) реализации интересных и полезных идей человека, то становится понятнее, что нет "универсального молотка для всего", а есть мастерство конкретного инженера и мыслителя, которое можно оттачивать бесконечно, с различными инструментами (включая и старые и новые, и "молотки" и "микроскопы"), и которое лучше оценивать не с точки зрения "знания языка", а с точки зрения реализованных проектов. Как ни странно, такой критерий оценки часто встречается и в реале, когда речь идет о том, что за работу будут [или не будут] платить деньги.
Споры же о "лучшем языке" - это, вероятно, отображение определенной неуверенности в завтрашнем дне (в том, что будешь нужен обществу в качестве программиста), и потребности уменьшить эту неуверенность хотя бы путем самовнушения себе, что существует "наиболее лучший язык" [как правило, наиболее хорошо известный или симпатичный такому человеку], и попыток получить подтверждение этого мнения от окружающих.
Это не хорошо и не плохо (человеческая природа). Просто не поможет в задачах программирования (ну кроме решимости "выучить" тот или иной язык). Скорее всего, наиболее эффективно изучить базовые концепции информатики, а затем, ориентируясь на рыночные тренды, выбрать конкретную сферу приложения интереса и <=> модный\эффективный язык для нее. К сожалению, понятно, что такая стратегия доступна лишь гениям или людям с хорошим профильным образованием, а ресурсоемкий процесс обучения доступен далеко не всем. Кстати, впереди маячит проблема и для "мастеров", - в связи с появлением нейронных сетей и прочих разработок в области ИИ, которые, вполне вероятно, смогут вскоре взять стандартные задачи программирования на себя, - и далее быть "загадочным бородатым всемогущим сисадмином" станет все более проблематично [во всяком случае в инновационных экономиках].
С другой стороны, достижением является и просто овладение базовыми возможностями и концепциями какого-либо языка программирования, - самообразование явно лучше чем отсутствие оного. Да и энтузиазм играет свою несомненную роль в разработке передовых проектов, а не только лишь сухой профессионализм. Важно только понимать, что своего "обособленного трона программиста" в современном передовом мире программирования никогда не будет, и сила скорее состоит в открытости и способности понимать и применять концепции и рисунок структур и взаимосвязей, использовать их в своих творениях, а не в сакральной закрытости и обособленности "знания", - будь то определенный язык или что-либо еще. Поэтому и мастерам и стремящимся я бы пожелал: дерзайте, в любом случае, - ваш собственный путь не пройдет никто, - ни вместо вас, ни за вас.
[Профиль]  [ЛС] 

angramania

Стаж: 8 лет 11 месяцев

Сообщений: 1529

angramania · 17-Май-19 08:08 (спустя 7 часов)

Спасибо, herider, за пару лишних минут жизни. Бородатый всемогущий сисадмин во мне так развеселился, что едва не свалился с обособленного троне программиста.
[Профиль]  [ЛС] 

herider

Стаж: 8 лет 8 месяцев

Сообщений: 156

herider · 18-Май-19 04:15 (спустя 20 часов)

angramania писал(а):
77385146Спасибо, herider, за пару лишних минут жизни. Бородатый всемогущий сисадмин во мне так развеселился, что едва не свалился с обособленного троне программиста.
Рад, что удалось сделать благое дело)
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error