ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 мая
1399386 Топик полностью
Adept (02.02.2024 17:21 - 23:52, просмотров: 85) ответил SciFi на Сколько нетривиальных программ вы написали на ЯВУ, чтобы утверждать "абсолютно не зависит от средства и языка программирования"? Я на асме что-то делал. Могу утверждать: вы занимаетесь самообманом. Впрочем, ничего страшного в этом нет, кто из нас этим не занимается?
я - нисколько, но имел большой опыт взаимодействия с весьма квалифицированными программистами. Можно сказать "вместе с ними всё делал". И сходные по сложности на си, и ноде JS, проекты делались с ассемблерными примерно за одно и то же время, т.е. независимо от средств проектирования 1-2 месяца до альфа-версии, ещё столько же до резиза. 

90% управляющих программ - тупые линейные алгоритмы (программисты ЯВУ избегают эффективного взаимодействия с аппаратурой и использования нелинейных структур, пользуются исключительно средствами ОС для достижения целей, что в реалтайм системах и точном управлениии оборудованием плодит ворох проблем. Одно невилирует другое - мощь инструмента "компенсируется" многослойностью работы программы через всякие программные прокладки и прочее, прдлодящее непредсказуемые ошибки и трудно устранимые баги, особенно при сложной структур.) Ситуация, когда высокоуровневый программист на вопрос "как это работает" отвечает "ХЗ" :) в такой ситуации, малейший более-менее нестандартный баг, ставит процесс раком, и приходится прикладывать тиитанические усилия по устранению ошибок. В итоге, сильно более кропотливая низкоуровненвая работа над проектом заказнчивается примерно в одно и то же время, как и аналогичная работа высокоуровневого программера. Повторюсь, что речь о структурно сложныз проектах, плотно взаимодействующих с железом. Конесно, если взять проект типа - сваять веб-морду для удалённого управления модемом через стандартный протокол, на ЯВУ уто можно сделать за один день, на ассемблере - никогда (пока не напишешь на ассемблере свой нужный феймворк, что в итоге выльется в попутное создание транслятора Си с библиотеками :))) Так же сложная математика так же делается лучше на ЯВУ (линейное программирование, кстати), но это сугубо вопрос наличия библиотек. При наличии большой матбиблиотеки и на ассемблере, не составляет труда делать какие-то сложные вычисления :) Исторически так сложилось, что ассемблер проще, понятнее и "элементранее", потому, более простыми средствами в нём реализуется практически всё, но для более сложных задач традиционно привлекались ЯВУ, что в обще-то и предопределилоо нишу для асемблеров - "компактные, быстрые и высокоэффективные программы" в основном драйверы, спецйиализированные быстрые расчётные алгоритмы и/или реалтайм алгоритмы управления (если конечно разумерно использовать ресурсы, а не надеяться на гигагерцы и гигабайты :)) Для всего остального - пжлста, - ЯВУ.


Для примера - дайте программисту Си чистый транслятор языка и стандартную библиотеку (и больше ничего) и попросите его реализовать какой-нить хитромудрый проект с управлением внешним оборудованием в реалтайме, драйверами и прочим таким От "эффективности" и следа не останется :))


В общем, как я уже сказал, каждому фрукту - свой овощ.

ПРо сильно большие проекты (вроде "виндовс", к примеру) не скажу, но на МК не вижу по своему роду работ тотального преимущества ЯВУ. Каждый программер работает как ему удобно :)

И речь шла вообще-то о сложных структурно, проектах. Там все ошибки и ноухау закопаны именно в структуре, а как оно уже будет реализовано, - дело десятое.

...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)