[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
1. C - это тот же ассемблер (поверь на слово).
2. C хорош тем, что это ANSI и ISO стандарт
3. C плох тем, что сказано в п. 1
4. Из п. 3 и п. 1 вытекает, что даже если ты выучил ISO C (самый свежий, например, C99), это радикально не поможет
5. Потому, что из п. 1 следует - реализация библиотек в C ОЧЕНЬ СИЛЬНО ЗАВИСИТ ОТ АРХИТЕКТУРЫ ЦЕЛЕВОГО ПРОЦЕССОРА
6. Что (п. 5) означает - не знаешь архитектуры, знание C не поможет
7. Что (п. 6), в свою очередь, означает - учить архитектуру нужно
8. Что (п. 7) равносильно - учи ассемблер обязательно (потому что ассемблер - это и есть модель архитектуры для программиста)
9. Что (п. 8) приводит к выводу - начинать надо с камней наиболее "экзотичных" по архитектуре
10. Потому что освоив их архитектурные "изгибы", потом будет намного легче
11. Кроме того, камни эти должны быть распространенными - ты ведь свое время и силы инвестируешь в свои знания, и будет лучше, чтобы они (знания) потом пригодились
12. Из пп. 8-11 можно сделать вывод: начинай с i8031/8051/8032/8052 и PIC - после них все RISC-машинки кажутся (и не только кажутся :) очень простыми
13. А производство PIC и 51-х будет еще очень долгим
14. И при их хорошем знании можно будет их хорошо использовать тоже долго
15. Возвращаясь к п. 1 - при а). правильном подходе, б) знании целевой архитектуры в) "прямизне" инструментальных средств, программы на ASM и C одинаково хорошо читаются и понимаются
16. Если хоть один из а)-в) подпунктов п. 15 не выполняется, - это геморрой. Ассемблерные "затычки" глюков компилятора - это такой же ужас, как и написанная "матом" программа. Здесь помогают только бубен, костер и продолжительные камлания под отваром мухоморов :)
17. Из самого спора (C или ASM) можно сделать дополнительный вывод - языки приходят и уходят (я еще PL/M помню, и он был ничуть не хуже C), а профессия остается.
18. Что (п. 17) означает - алгоритмы дороже их реализаций. И повторно использовать алгоритмы намного проще, чем код (это без балды - это серьезно!)
19. Для меня п. 18 очевиден и вывод из него один - учи алгоритмику. Книги Н. Вирта "Алгоритмы + структуры данных = программы", А. Ахо и Ульмана (в двух изданиях), Д. Кнута - это важнее, чем нюансы реализации компанией XXX функции printf() для микроконтроллера YYY. Понадобится - выучишь. А на алгоритмику времени не хватит.
20. Вот и все, удачи!
E-mail: info@telesys.ru