И судя по всему как и все самоучки путаете системное программирование с низкоуровневым.
Гм... Вы с чего-то взяли, что я самоучка и далее делаете из этого вывод, что вот это
Так вот вначале вы продумываете структуру или организацию своей программы. Затем составляете алгоритм. А после уже его реализуете.
Система это все три части.
Структуру и организацию программы лучше всего разрабатывать при помощи шаблонов проектирования. Описывать структуру лучше всего при помощи языка UML или любым другим графическом языком.
А вот выбор языка для описания и как следствие для изучения надо выбирать из-сходя из алгоритма.
мне неизвестно.
Увы, Ваши выводы совершенно ошибочны.
А то что Кнут писал на ассемблере, так это только по тому что у него не было персонального компьютера.
Подозреваю, что Вы читали Кнута очень давно. Или совсем не читали.
Потому что он в своей книге объясняет, почему он выбрал вымышленный ассемблер.
И дело вовсе не в отсутствии компьютера.
В этом плане Зубков как учебник ассемблера это плохой учебник. Дальше чем 1-2 функции вы по нему не напишите. Он вообще не учит писать функции.
Ну, это не самая плохая книга по ассемблеру из тех, что я видел.
Я ведь не сказал, что это лучшая книга. Я сказал "неплохая".
-- 07.03.2014, 07:49 --Однако, судя по Вашим словам, Вы сами нуждаетесь в помощи.
Это не так. Я не нуждаюсь в помощи. Когда я нуждаюсь в помощи, я обращаюсь за помощью.
В данном случае я всего лишь предостерегаю новичка от возможных трудностей.
Прежде всего: откуда Вы взяли, что Си более низкоуровневый язык, чем Паскаль?
На самом деле это не я первый придумал. Си называют "самым низкоуровневым среди высокоуровневых языков". Разумеется, это образное выражение. Но доля правды в этом есть.
Например, во многих реализациях Паскаля можно вставлять ассемблерные фрагменты...
Вы этим часто пользовались?
Интересно, как далеко вы уедете на этих ассемблерных вставках.
Почему "Мышление в буквальном смысле отравлено Паскалем"?
Паскаль, как и другие высокоуровневые языки скрывает от программиста многие детали. В этом, собственно, и был смысл появления ЯВУ. Но вот для познания этих скрываемых деталей ЯВУ уже неудобен.
Могу предположить, что дело в типизации данных
Да, это одна из причин, но не единственная.
Когда Вы занялись самообразованием
Это ошибка. Остаток абзаца не комментирую ввиду того, что выводы сделаны из ложного утверждения.
Есть, конечно, особые случаи типа драйверов устройств
Именно это я и имею в виду прежде всего. Но не только это.
а у Вас есть реальная необходимость написать свой оригинальный драйвер?
Да, есть.
Очень опасная для начинающего идея работать с регистрами процессора!
Вы невнимательны. Где я говорил "работать"? Я говорил "изучать".
Я ведь не просто так привел слова моего собеседника о том, что ассемблер в нынешнее время нужен для того, чтобы читать, а не писать.
Вероятность того, что у Вас получится более быстрый код, чем код той же программы, написанной на языке высокого уровня (ЯВУ), крайне мала.
Да дело-то не в этом.
Современные компиляторы настолько хорошо оптимизируют код
Вот это как раз очень плохо в смысле учебного процесса.
А вот заточить под "железяку", под конкретную конфигурацию, на которой Вы делаете код, - это запросто. В итоге с Вашей программой никто не сможет работать, кроме Вас, а когда и если Ваша "железяка" сломается и Вам придется заменить ее на другую "железяку", то очень вероятно, что на новой Ваш код не будет работать. И кому нужен такой код?
Такой код нужен там, где есть ограниченные ресурсы и жесткая привязка к железу: прошивки для микросхем и прочие подобные задачи. Обратите внимание, ТС упоминал о ИИ и роботах. Там это пригодится.
Откуда такое утвержение?
Процессор в рамках вычислительной системы выполняет задачи, сходные с задачами мозга в человеческом организме. Я ведь сказал, это модель. Про степень адекватности этой модели я ничего не говорил.
Никто, кроме Вас, не знает как работает мозг во всех деталях.
А с чего Вы взяли, что я это знаю?
-- 07.03.2014, 08:18 --Резюмируя суть моих постов в данной теме, скажу так:
Я рекомендую движение от более низкого уровня к более высокому.
Как бы это ни выглядело странно, но движение в этом направлении легче, чем в противоположном.