Показать сообщение отдельно
Старый 21.11.2009, 16:40   #367   
Форумец
 
Сообщений: 1,532
Регистрация: 19.02.2009
Возраст: 54
Записей в дневнике: 1

petrd вне форума Не в сети
Я тоже пишу на СИ, но подобного тезиса в сторону ассемблера себе ни за что не позволю.
Цитата:
Я пишу для пиков и не знаю асма - великолепно получается.
А кто Вам сказал, что получается великолепно? Кто-то проводил профессиональный анализ Ваших произведений? А то, что оно работает - это совсем не значит, что все великолепно.
Цитата:
А умникам асмистам - добро пожаловать на microchip.su - помогать таким же как и вы, они там такие регулярно появляются, помогите зажечь светодиод на асме, третью неделю бьюсь ничего не выходит....
Те кто там появляется с такими вопросами - не умники, а начинающие, и на Си таких вопросов у них не меньше.
Цитата:
компилятор только поставить и ФСЁ , портируй проект или пиши заново.
Ага, только еще надо знать как работает этот инструмент и какие у него особенности, а особенностей у каждого хоть отбавляй.
Цитата:
Про скорость написания и ОТЛАДКИ я вообще молчу
И лучше молчите пока профессионалы ассемблера Вас не услышали.
Цитата:
не существует такой конструкции на асме, в которую нельзя было бы скомпилировать сишный код
Еще бы, ведь компилятор любого языка высокого уровня трансирует все свои конструкции в язык понятный контроллеру, коим является машинный код, для лушего восприяти которого человек и придумал язык мнемоник т.е. ассемблер.
Цитата:
большинство из вас на асме либо никогда не достигнет уровня хорошего С компилятора с включенной оптимизацией
скорее наооборот - никакой оптимизатор не в состоянии догнать код написанный на Си до уровня хорошего профессионала в ассемблере ( т.к. оптимизатор не знает о нетривиальных трюках профессионала, которые он может применить в определенных случаях).

Те кто пишет компиляторы и оптимизаторы обязаны отлично знать и знают ассемблер (или их Вы тоже называете умниками, которые никак не могут зажечь светодиоды). Кстати без их отличных знаний ассемблера у Вас никогда бы и не возникло повода и мысли написать подобное в адрес ассемблера. Так как в этом случае у Вас никогда бы не было работающего компилятора Си и т.п.

А теперь представьте ситуацию, что у Вас имеется ТЗ в котором, четко указан конкретный тип контроллера, а заказчик платит очень хорошие деньги и не желает слышать об изменении ТЗ. Вы пишите код на Си, а он не влазит в память. Вы спокойно и уверенно включаете высший уровень оптимизации, и опа!!, а код-то все равно чуть-чуть не влазит в память программ. И что Вы пойдете к заказчику и скажете, что Вы пишете на Си и то что от Вас требует заказчик сделать невозможно?
Вариантов несколько:
1. Отказаться от хороших денег и будьте уверены - заказчик найдет того кто это сделает на Си, на Си + ассемблер или на чистом ассемблере, все будет зависеть от профессионализма разработчика и его предпочтений.
2. Лезть в листинг, а он кстати уже на ассемблере, и искать места где можно соптимизировать уже "отлично" оптимизированное компилятором и уже ручками в код на Си вставлять ассемблерные вставки, но увы Вы же не знаете ассемблера и не хотите знать, Вам же принцыпы не позволяют (а места для оптимизации там 100% будут), а там не хватает всего-то чуть-чуть. Остается вернуться к первому варианту и дальше проповедовать отрицание ассемблера, а в душе проклинать себя и вспоминать маму, которая говорила "сынок, ассемблер не мешало бы хоть немного знать".
3. Самому обратиться к специалисту не гнушающемуся ассемблером, да так чтобы он не знал о Вашей религии антиассемблера (а то если узнает, то пошлет куда подальше) и приверженцы вашей религии чтобы тоже не знали (эти могут обвинить в вероотступничестве).
И как тут быть?

P.S. И я не говорю, что хорошо знаю ассемблер.
  Ответить с цитированием