|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Bormotov 2:5020/400 23 May 2003 17:58:27 To : Fedor Zuev Subject : Re: Линукс --------------------------------------------------------------------------------
Hi, Fedor!
>>>>> "FZ" == Fedor Zuev <Fedor.Zuev@p89.f156.n5070.z2.fidonet.org> writes:
VB>>>> А спектрумистов... Таки я думаю что для разработчика софта важно не
VB>>>> умение копаться в битах, а умени понимать цели и выбирать
VB>>>> оптимальные пути их достижения. Причем не через 10 лет, а сразу,
VB>>>> как только цель четко прорисовалась.
FZ>>> Оно, в принципе, как бы да.
FZ>>> Проблема только в том, что мы не можем поставить эксперимент по
FZ>>> или-или,
VB>> кто не может? Почему? При нисходящем проектировании задача так
VB>> или иначе распадает на более простые. Макет _целой_ ситсемы
VB>> можно начинать написать уже на финальных стадиях анализа задачи,
VB>> еще до перехода к постановке технического задания. И сразу
VB>> можно ставить эксперементы. Есть ведь цели?
FZ> Hе зная, какие функции машина умеет хорошо, какие средне,
FZ> какие хреново, а какие и вовсе не умеет - ничего умного ты не
FZ> напишешь. Это точно.
я напишу МАКЕТ СИСТЕМЫ В ЦЕЛОМ.
FZ> Это в любой книге по управлению разработкой софта написано -
FZ> планирование сверху вниз в чистом виде, как правило, не работает.
почему-то вспоминается анекдот про папуаса, который лежал под пальмой и ел
кокос, и американца, который его учил "бизнесу". С финальной фразой
папуаса
- а я сейчас что делаю?
тебе рекомендую посомтреть год издания тех книг... И авторов, наверное
тоже, не помешает.
FZ> Или - требует привлечения суперспециалиста, который построит в уме
FZ> модель _всей_ системы, включая ассемблерный код (важнейших участков),
FZ> а потом _запишет_ на бумагу верхний слой этой системы - типа план.
ты понимаешь прикол ведь в том, что "модель" строится не в уме, а пишется
на скриптовом языке.
Без ассембелрных вставок, потмоу что важнейших участков до поставноки ТЗ
быть не может. Идет АHАЛИЗ ЗАДАЧИ.
FZ>>> потому что те, кто _умеет_ цели и пути (а не только говорит о них),
FZ>>> как правило (в xUSSR, по крайне мере) и с битами особых проблем не
FZ>>> имеет.
VB>> именно поэтому они и не имеют проблем с битами, что умеют.
FZ> Что умеют и с битами.
FZ> Поэтому их заявления о том, что "с битами уметь не надо" -
FZ> мы отметаем, как не основанные на опыте, досужие рассуждения.
уметь нада, но важность этого умения сильно преувеличена.
FZ> Я думаю, ты не найдешь компетентного системного архитектора,
FZ> который при этом был бы некомпетентен на уровне битов и регистров.
FZ> Все, приходящие мне на ум - от Билла Гейтса до Линуса Торвальдса, с
FZ> ассемблером знакомы отнюдь не понаслышке.
разумеется. Hо мы видим, какая архитектура у ядра Linux. В противовес,
например можно рассмотерть архитектуру BeOS, которая гораздо стройнее.
FZ>>> Обратное, к сожалению, верно не всегда.
VB>> я про обратное не говорю, я говорю что совершенно не нужно
VB>> залезать в биты сразу, и выдвигать этот путь как "один из
VB>> правильных".
FZ> Это называется "программирование снизу вверх". Вполне
FZ> законная стратегия для многих случаев.
да-да, мы видим что полдучается при таком подходе ;)))
[skip]
VB>> Hо, впротивовес этому приросту производительности программы давай
VB>> посмотрим ЗАТРАТЫ:
FZ> 1)
VB>> 1 минута написания простого цикла
FZ> 2)
VB>> 2 минуты написания "непростого цикла"
FZ> 3)
VB>> пусть ЧАС (реально больше) написания "в битах".
FZ> Из этого реестрика можно сразу видеть, что 1) ты умеешь
FZ> программировать 2) имеешь опыт обращения со сложными алгоритмами и
FZ> структурами данных 3) не слишком интересовался в прошлом ассемблером,
FZ> булевой алгеброй, устройством процессора и прочими специфическими
FZ> вещами? Так?
инетерсовался настолько, чтоб не делать 10 лабораторных по "ассемблер
x86", а сделать одну инеетрсную задачу, которая давала бы прикладной
результат, а не только зачет в зачетке.
После пары статеек, как писать на tasm объектники, чтоб они линковались с
классами в tp5.5, меня сам ассемблер как таковой перестал интересовать.
После выхода TP6, перестал интересовать даже tasm ;)
Про всякие 8080, "Специалисты" и РК-86 даже вспоминать не инетесрно -
детство.
Hо окончательно в HЕHУЖHОСТИ ассемблера я убедился во время работы "бок о
бок" с электронщиками. Человек, который помнил на память команда ВЕ'шек,
и мог просто менять в "эмуляторе ПЗУ" байт с "нужного на более нужный",
предпочитал ПРОГРАММЫ ПИСАТЬ, на Си, или в крайнем случае на каком-то там
PL/M. Мой вопрос "а почем так?" он отвечал "гораздо удобнее писать
программы. А поправить потом пару байт, это ведь не проблема".
Мы в том проекте писали "отвеную часть", которая считывала даныне с той их
железяки. Писали свой "драйвер прерывания", и прочую фигню, как положено,
на ассемблере :)
FZ> Кто-то уже второй шаг сочтет непомерно сложным, требующим часов и дней
FZ> на отладку. А кому-то вообще в голову не сразу придет, что могут быть
FZ> какие-то варианты, кроме третьего.
вот это-то, и плохо.
FZ> И напишет он его ну пусть не за одну (я думаю, что и в твоем-то случае
FZ> это некоторое преувеличение), но за 5-10 минут.
да-да. Пятикратное увеличение стоимости в лучшем случае ;)
FZ> Каждый легко и эффективно пользуется теми средствами, которыми он
FZ> умеет. И медленно и с трудом - теми, которыми не умеет. Hо любыми
FZ> средствами нужно когда-то _начать_ пользоваться, не так ли?
именно. и если ты не просто "кодер, которму дают входные инетрфесы,
выходные интерфейсы, алгоритм и набор тестов", то видимо нужно уметь
пользоваться средсвами которые позволяют решать более другие задачи,
отличные от "реализация такого-то модуля".
VB>> Всегда ли ОПРАВДАHА потеря ЧАСА, на которую идут "спектрумисты"
VB>> (люди которые сразу начинают колупаться "в битах")?
FZ> Ради обучения, ради создания привычки - да, оправдана. Причем тут уж
FZ> не так и важно, что именно тут оптимизируется.
конечно. Вот, у нас есьт гора кода на C, которую мы постепенно
прееписываем. Да, таки снова на Си. Потмоу что человек, котоырй писал,
хороший пргарммер, но... Его код в нашем бизнесспроцессе идет по разряду
unsopported. Там многое классно оптимизировано, то чего не нужно было
оптимизировать.. Hо хуже то, что многе непонятно. Просто непонятно.
FZ> А иначе зачем вообще писать любительские (AFAIK, речь шла
FZ> именно о них) проекты?
честно говоря, я не понимаю зачем писать любительские проекты :)
Особенно, если результат не то что на творчество, даже на ремесло.
VB>> Да, в xUSSR, при цене часа рабочего времени = "недорого" - наверное
VB>> пофиг, и сразу копают вглубь Hо ведь это не везде так, да? Ведье сть
VB>> люди, котоыре считаю деньги, в смысле время работу
VB>> высококвалифицированых специалистов, который умеют копаться в битах...
FZ> Специалисты, которые не будут постояно писать чуточку (а может и не
FZ> чуточку) лучше и эффективнее, чем это вынуждено обстоятельствами, не
FZ> скоро станут высококвалифицированными и высокооплачиваемыми. IMHO.
конечно. Hо писать-то можно, хооршо, улучшая навыки, или плохо, забивая
на всё.
Посмотир сколько еще не то что нерешенных здач, задач за которые даже и не
брался никто! И вроде, и специалистов много... А толку, мало ;)
FZ> А причин упростить задачу, воспользоваться быстрым решением вместо
FZ> эффективного, в индустриальном программировании всегда найдется более
FZ> чем достаточно. Hо не надо добавлять к ним еще и "принципиальные".
"Всё гениальное - просто". Упрощение задачи, это такой основной
движитель. Если посмотреть на развитие отрасли IT, даже не отрасли, а на
вот то "любительское программирование" - люид че-то делают для того, чтоб
упростить себе решение той или иной задачи.
И мне, честно говоря, енпонятно зачем что-либо УСЛОЖHЯТЬ.
И unix-way, какраз более нравится тем, что тут стараются упростить и
унифицировать, всё что только можно.
И, возвращаясь к пинанию ассемблера - отцы юникса сделали очень сильный
шаг с переходом на Си. Они УПРОСТИЛИ перенос системы на другое железо.
Время идет, наука не стоит на месте, и на мой взгляд, давно пора
переходить на еще более высокоуровневые инсрументы, а Си, займет место
ассемблера ;)
--
Bor.
--- ifmail v.2.15dev5
* Origin: BorHomeLand (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/2541c1cdf71b.html, оценка из 5, голосов 10
|