-
- Не знаю, как у Вас (хоть Ваши проекты вызывают уважение), но мои исходники повольно понятные и мне не составляет труда "поднять" проект, скажем 5-летней давности. Видел многие примеры Си-кода, которые абсолютно непонятны Adept(2952 знак., 08.06.2013 14:11)
- А почему люди пишут в комментариях во множественном числе: Запускаем, считаем, проверим, присвоим, сохраним? - Юра(09.06.2013 00:40, )
- А здесь мы сердечник трансформатора сделаем из дерева потому, что до этого места никто не дочитает... - fk0(09.06.2013 17:12)
- Так автор привлекает к себе в компанию читателя. - Лeoнид Ивaнoвич(09.06.2013 00:49)
- Как-то панибратски. Это же инструкция а не экскурсия. Представляю плакаты ГО и ЧС с фразами вроде "одеваем ОЗК и бежим в укрытие")) Однако что-то не нашел запретов на подобный штиль комментариев. - Юра(09.06.2013 10:18, )
- Вполне нормально. Тем более, речь шла не об инструкции, а о комментариях. - Лeoнид Ивaнoвич(09.06.2013 11:34)
- Как-то панибратски. Это же инструкция а не экскурсия. Представляю плакаты ГО и ЧС с фразами вроде "одеваем ОЗК и бежим в укрытие")) Однако что-то не нашел запретов на подобный штиль комментариев. - Юра(09.06.2013 10:18, )
- Я стараюсь так: считывание, проверка, сохранение. Безлично. - mazur(09.06.2013 00:42)
- А в чём преимущества-то? AD(126 знак., 08.06.2013 16:49)
- кода больше в строка, меньше в байтах, исполняется быстрее и без программных ошибок :) так будет правильнее, хотя, по "Законам Мерфи", последнее можно поставить под сомнение :)) - Adept(08.06.2013 17:02)
- В том-то и дело, что этот код больше и медленнее аналогичного на С. AD(37 знак., 08.06.2013 17:15)
- листинг в студию :) Вы будете отверждать, что на Си простую локальную задачу решите более эффективно?? В корне неверное утверждение, хотя бы потому, что результат работы компилятора - ассемблер (т.е. тот же машинный код) Adept(801 знак., 08.06.2013 17:37 - 18:37)
- Сколько не видел ассемблерщиков, ни один на ассемблере писать-то и не умел. AD(2369 знак., 08.06.2013 18:51)
- и почему я должен искать ошибки в чужом коде (нет работы с compare регистром таймера, неполноценна работа с АЦП, все... дальше не смотрел :( Adept(407 знак., 08.06.2013 19:09 - 19:14)
- Спор о том, что Вы хуже знаете ассемблер, чем его знает компилятор Си. А прогонять Вашу программу в отладчике, простите, это уже слишком. - Лeoнид Ивaнoвич(08.06.2013 19:29)
- Да нет, не мою, свою :) только уж если браться сравнивать, то нужно потрудиться написать полностью аналогичный алгоритм, так как Adept(1003 знак., 08.06.2013 20:32)
- Про "Си-автору неизвестна структура программы" хотелось бы подробнее, но боюсь спровоцировать волну гнева ;) - Vladimir Ljaschko(09.06.2013 05:35)
- Действительно, не стоит провоцировать. Человек никак не хочет понять, что мы это всё проходили: и полную неприязнь Си, и придумывание "железных" аргументов в защиту ASM, и споры с сишниками до мордобоя. Только такие войны в основном прошли лет 10 Лeoнид Ивaнoвич(7 знак., 09.06.2013 12:12)
- такое впечатление, что адепты ЯВУ это некая "секта" похлеще "ассемблерщиков" :)) Я Вам уже сказал, что есть аргументы и За и Против, просто в той нише, где я сейчас работаю, ассемблер более востребован, на нём проще реализовывать Adept(1911 знак., 09.06.2013 14:38 - 14:40)
- Ты всерьёз не понимаешь, что некоторые адепты ЯВУ ассемблерщики по-хлеще тебя были в своё время. Да каждый второй, условно. И если жизнь заставит, ещё такого наассемблируют, что в ужасе отсюда сбежишь. Только оно того не стоит -- вот что поняли fk0(1319 знак., 09.06.2013 17:30)
- Помню, как в своё время меня агитировали перейти на Си, а я упирался. Лeoнид Ивaнoвич(786 знак., 09.06.2013 17:27)
- +CD. тоже переползал с асма на Си под давлением одного товарища, и приводил те же самые аргументы что и ТС (забавно их видеть со стороны теперь). ни разу не пожалел, и не знаю никого кто бы передумал и вернулся из Си снова в голый асм. - Snaky(10.06.2013 05:49)
- Я понял! ASM - это тоталитарная секта! А Си - это очищающий святой ручей! - SciFi(10.06.2013 14:27)
- во имя printf-а, malloc-a и святого while(1) - Snaky(10.06.2013 16:40)
- while(1) не актуально. while(2) куда как лучше, а while(77) так вааще гуд - Vit(10.06.2013 18:00)
- Профессионалы не используют библиотечных функций. - fk0(10.06.2013 17:15)
- старовер? - Snaky(11.06.2013 03:52)
- Папрашу! В наших краях исповедуют for (;;) :-) - SciFi(10.06.2013 16:56)
- Для полного соответствия значению слова ТС нужно ник сменить на Adept_ASM :) - rezident(10.06.2013 14:28, ссылка)
- во имя printf-а, malloc-a и святого while(1) - Snaky(10.06.2013 16:40)
- Я понял! ASM - это тоталитарная секта! А Си - это очищающий святой ручей! - SciFi(10.06.2013 14:27)
- то же самое и с внутрисхемной отладкой: Вы утверждаете, что обойдётесь без неё, потому что ещё не пробовали - koyodza(09.06.2013 17:45)
- Уверен на все 100% - стоит лишь попробовать, не смогу потом представить, как без нее обходился. - Лeoнид Ивaнoвич(09.06.2013 18:14)
- +CD. тоже переползал с асма на Си под давлением одного товарища, и приводил те же самые аргументы что и ТС (забавно их видеть со стороны теперь). ни разу не пожалел, и не знаю никого кто бы передумал и вернулся из Си снова в голый асм. - Snaky(10.06.2013 05:49)
- Мне повезло - мой первый embedded проект на ЯВУ (тогда - Паскаль) был сделан 23 года в приказном порядке, поэтому я сэкономил на мордобое :) - Vladimir Ljaschko(09.06.2013 12:44)
- такое впечатление, что адепты ЯВУ это некая "секта" похлеще "ассемблерщиков" :)) Я Вам уже сказал, что есть аргументы и За и Против, просто в той нише, где я сейчас работаю, ассемблер более востребован, на нём проще реализовывать Adept(1911 знак., 09.06.2013 14:38 - 14:40)
- Да чего уж там :) для того, чтобы корректно сравнивать, не плохо было бы посмотреть дефайны с распределением ресурсов МК (по крайней мере тех, что используются в данном примере, или что бы не думать тупо использовать аналогичные регистры и ячейки Adept(692 знак., 09.06.2013 05:59)
- Действительно, не стоит провоцировать. Человек никак не хочет понять, что мы это всё проходили: и полную неприязнь Си, и придумывание "железных" аргументов в защиту ASM, и споры с сишниками до мордобоя. Только такие войны в основном прошли лет 10 Лeoнид Ивaнoвич(7 знак., 09.06.2013 12:12)
- Правильно сказал AD, компилятор Си генерирует лучший код, чем большинство ассемблерщиков. Это достаточный повод перейти на Си. А если у Вас всё так хорошо, то и незачем затрагивать тему. Лeoнид Ивaнoвич(209 знак., 08.06.2013 20:58)
- я уже рассказывал тут, как переделывал одно изделие после "крутого ассемблериста". Проект быт 12,5 тыс. строк на асм под 51, чуть больше 20кБ прошивка koyodza(183 знак., 08.06.2013 21:41)
- Мне кажется я достаточно аргументировано обозначил свою позицию, и да, немного изменил первоначальное мнение (касательно АРМов). Странно видеть как воплне конструктивная поначалу дискуссия превращается в помойку. Adept(478 знак., 08.06.2013 21:37)
- Про "Си-автору неизвестна структура программы" хотелось бы подробнее, но боюсь спровоцировать волну гнева ;) - Vladimir Ljaschko(09.06.2013 05:35)
- Да нет, не мою, свою :) только уж если браться сравнивать, то нужно потрудиться написать полностью аналогичный алгоритм, так как Adept(1003 знак., 08.06.2013 20:32)
- Наверное, потому что я этот кусок и не писал? Откуда я знаю, что там скрыто за макросами? AD(131 знак., 08.06.2013 19:22)
- внимание к деталям, умение слушать и читать, поможет Вам ... :)) - Adept(08.06.2013 20:35)
- Как-то Вы неумело спрыгиваете с темы, незачет. AD(236 знак., 08.06.2013 20:54)
- слушайте, мне всё равно, что Вы думаете насчёт меня. Ваша "демонстрация" - не решает поставленной задачи, точка! напишите полный аналог на си (с соблюдением типов переменных) - будет о чём говорить. спорить по эффективности для простых задач даже Adept(499 знак., 08.06.2013 21:21)
- Есть какие-то возражения по размеру кода? Вам придется поспорить с ИАР'ом. - AD(08.06.2013 21:51)
- "Есть два мнения: одно моё, а второе неверное". Уже просто неприятно читать эту мысль, выраженную вами разными словами. Если вы не собираетесь менять своего мнения, то зачем спрашиваете и зачем провоцируете на диспут? Обычный троллинг? - rezident(08.06.2013 21:26)
- Вы о чем вообще?? :(( - Adept(08.06.2013 21:39, ссылка)
- Перечитайте ветку, абстрагировавшись от своего мнения и своих эмоций. Как посторонний человек прочитайте. - rezident(08.06.2013 21:52)
- перечитал, специально через полчасика, изменения своего эмоционального фона не увидел (спокоен, как удав)Нового тоже ничего не увидел, резюмирую: Adept(1881 знак., 08.06.2013 23:45 - 23:49)
- забыли ещё одну весомую причину не преходить на Си -> Snaky(30 знак., 09.06.2013 05:12, ссылка)
- Ну вот опять вы сделали безапелляционные утверждения в форме постулатов, слабо вуалируя их "своим мнением". Т.е. мнение-то оно конечно ваше, но зачем же его возводить в абсолютную истину? Тем более, что истиной оно не является. По каждому пункту rezident(177 знак., 09.06.2013 00:48)
- А я и не претендую на истину, в отличие, видимо, от Вас. Истина она эфемерна и непостижима. Имеет значение только то, что применимо здесь и сейчас при текущих условиях. И заметьте, я никому не навязываю своего мнения, а только Adept(706 знак., 09.06.2013 01:23)
- Пункт 2 - совсем неверно. Си - основной язык. Ассемблер - для расшивания узких мест или туда, куда Си не лезет. Всё остальное - тупо от лени выучить Си. SciFi(166 знак., 08.06.2013 23:50 - 23:56)
- Ну что Вы! Какие узкие места могут быть в Си-коде, и разве он куда-то может не полезть?? Не кажется, что это противоречит общему тренду оппонирующей мне стороне?? Ну а по поводу лени да, там где ненужно делать лишних телодвижений, Adept(455 знак., 09.06.2013 00:21)
- Ну так лень - это единственный аргумент. Убрать его - и всё сразу перевешивает в сторону Си. SciFi(89 знак., 09.06.2013 00:42)
- Ну вот и славненько. Все теперь довольны. Вы, потому что доказали себе свою правоту, а мы, потому что не появится новый сильный конкурент на рынке труда. Аминь. Завязали бесплодную дискуссию. - Dir(09.06.2013 00:27)
- Такое впечатление, что разговариваю со стенкой :)) действительно Аминь :( ну да ладно, переживем :) - Adept(09.06.2013 01:12)
- Ну что Вы! Какие узкие места могут быть в Си-коде, и разве он куда-то может не полезть?? Не кажется, что это противоречит общему тренду оппонирующей мне стороне?? Ну а по поводу лени да, там где ненужно делать лишних телодвижений, Adept(455 знак., 09.06.2013 00:21)
- перечитал, специально через полчасика, изменения своего эмоционального фона не увидел (спокоен, как удав)Нового тоже ничего не увидел, резюмирую: Adept(1881 знак., 08.06.2013 23:45 - 23:49)
- Перечитайте ветку, абстрагировавшись от своего мнения и своих эмоций. Как посторонний человек прочитайте. - rezident(08.06.2013 21:52)
- Вы о чем вообще?? :(( - Adept(08.06.2013 21:39, ссылка)
- Воинствующие ассемблерщики - старо, как мир :) - Лeoнид Ивaнoвич(08.06.2013 21:26)
- слушайте, мне всё равно, что Вы думаете насчёт меня. Ваша "демонстрация" - не решает поставленной задачи, точка! напишите полный аналог на си (с соблюдением типов переменных) - будет о чём говорить. спорить по эффективности для простых задач даже Adept(499 знак., 08.06.2013 21:21)
- Как-то Вы неумело спрыгиваете с темы, незачет. AD(236 знак., 08.06.2013 20:54)
- внимание к деталям, умение слушать и читать, поможет Вам ... :)) - Adept(08.06.2013 20:35)
- Спор о том, что Вы хуже знаете ассемблер, чем его знает компилятор Си. А прогонять Вашу программу в отладчике, простите, это уже слишком. - Лeoнид Ивaнoвич(08.06.2013 19:29)
- и почему я должен искать ошибки в чужом коде (нет работы с compare регистром таймера, неполноценна работа с АЦП, все... дальше не смотрел :( Adept(407 знак., 08.06.2013 19:09 - 19:14)
- Плавающей точки в программах для микроконтроллеров не применял ни разу. Лeoнид Ивaнoвич(84 знак., 08.06.2013 17:59)
- Сколько не видел ассемблерщиков, ни один на ассемблере писать-то и не умел. AD(2369 знак., 08.06.2013 18:51)
- листинг в студию :) Вы будете отверждать, что на Си простую локальную задачу решите более эффективно?? В корне неверное утверждение, хотя бы потому, что результат работы компилятора - ассемблер (т.е. тот же машинный код) Adept(801 знак., 08.06.2013 17:37 - 18:37)
- В том-то и дело, что этот код больше и медленнее аналогичного на С. AD(37 знак., 08.06.2013 17:15)
- кода больше в строка, меньше в байтах, исполняется быстрее и без программных ошибок :) так будет правильнее, хотя, по "Законам Мерфи", последнее можно поставить под сомнение :)) - Adept(08.06.2013 17:02)
- Ужас. Большая часть Вашей портянки на Си будет выглядеть так: Лeoнид Ивaнoвич(151 знак., 08.06.2013 16:19)
- ну дык может и большая, но не вся :) "как известно за 10% времени делается 90% работы, оставшиеся 10% работы поглощают 90% времени" Так и с программами, добавите необходимые условия,проверки и другие действия - будет далеко не так элегантно :) - Adept(08.06.2013 19:17)
- Философия тут ни при чем - просто лень всё переводить. - Лeoнид Ивaнoвич(08.06.2013 19:26)
- А потом говорят, что С глючный :) AD(30 знак., 08.06.2013 16:41)
- Любой вменяемый компилятор даёт warning. Да, их читать нужно и реагировать... - fk0(09.06.2013 17:33)
- Извините. В попыхах получилось. Там не только скобок, но и if не хватает для соответствия исходному алгоритму. Лeoнид Ивaнoвич(155 знак., 08.06.2013 17:39)
- Вот так, две строчки подряд? Если меньше, то больше. Тут же, выполнение следующей строчки, если больше, то меньше. Алгоритмически тут что-то не так. - mazur(08.06.2013 19:16 - 19:21)
- Почему не так? - Лeoнид Ивaнoвич(08.06.2013 19:25)
- Если выполнилась первая строка, зачем тут же выполнение второй строки? То есть лишняя проверка получается. - mazur(08.06.2013 19:30)
- Выполняться будет только первое сравнение, так как оно даст false. - Лeoнид Ивaнoвич(08.06.2013 19:37)
- Строчки красивы, не спорю, но выполнение лишних команд, после выполнения первой строки. - mazur(08.06.2013 19:31)
- 1) Оптимальность на самом деле не нужна. 2) Скорей с оптимизирующим компилятором неоптимальности и не будет, компилятор сам сделает как надо (не будет лишних вычислений второй раз). - fk0(09.06.2013 17:34)
- А не проще сразу написать так, чтобы компилятор сразу делал как нужно? - mazur(09.06.2013 17:40)
- Программа - она нужна не процессору, а человеку, чтобы он понимал, что он сам же и делает. Понятность и стройность представления алгоритма важнее пары лишних байт или тактов. - =AlexD=(09.06.2013 22:23)
- Нет. Как правило, от этого страдает читаемость кода. Как уже сказано, для современных приличных компиляторов это не проблема. - SciFi(09.06.2013 17:46)
- А не проще сразу написать так, чтобы компилятор сразу делал как нужно? - mazur(09.06.2013 17:40)
- Ну хорошо, пусть так: Лeoнид Ивaнoвич(158 знак., 08.06.2013 19:36)
- 1) Оптимальность на самом деле не нужна. 2) Скорей с оптимизирующим компилятором неоптимальности и не будет, компилятор сам сделает как надо (не будет лишних вычислений второй раз). - fk0(09.06.2013 17:34)
- Если выполнилась первая строка, зачем тут же выполнение второй строки? То есть лишняя проверка получается. - mazur(08.06.2013 19:30)
- Почему не так? - Лeoнид Ивaнoвич(08.06.2013 19:25)
- Вот так, две строчки подряд? Если меньше, то больше. Тут же, выполнение следующей строчки, если больше, то меньше. Алгоритмически тут что-то не так. - mazur(08.06.2013 19:16 - 19:21)
- ну дык может и большая, но не вся :) "как известно за 10% времени делается 90% работы, оставшиеся 10% работы поглощают 90% времени" Так и с программами, добавите необходимые условия,проверки и другие действия - будет далеко не так элегантно :) - Adept(08.06.2013 19:17)
- Это нечитаемо Ralex(1088 знак., 08.06.2013 14:37)
- Вы за деревьями не видите леса. Это лишь частности. Архитектура ПО в целом играет более важное значение, чем какие-то отдельные алгоритмы с комментариями. А в частности, у вас, например, неизвестно есть ли какие-либо соглашения о (не)использовании fk0(141 знак., 08.06.2013 14:17)
- По поводу регистров - конечно соглашения есть, всё прописано в дефайнах, я же вам дал только маленький кусочек кода, а нужно видеть весь проект, чтобы оценть насколько он строен (или нет, судя по Вашей реакции :)) Adept(430 знак., 08.06.2013 15:06)
- Если у кого-то что-то не работает в Си-коде, то на ASM у него тем более работать не будет. Программисты разные бывают, и если какие-то школьники поднимают шум насчет нерабочей программы на Си, это не повод взрослому дяде усомниться в самом Си. - Лeoнид Ивaнoвич(08.06.2013 16:23)
- Ага, ага, рассказывайте. Все работает... Практически все сначала на АСМе плавали, знаем ;) Dir(537 знак., 08.06.2013 16:12)
- дело вкуса, мне всё понятно и нравится, к низкоуровневому языку я сознательно ппришёл после 4-х высокоуровневых :)) Не
умеетелюбите программировать на асме - это Ваше личное дело. Далеко идущих выводов о том как правильно, делать не стоит Adept(3 знак., 08.06.2013 16:32)- Как ни странно, умею. И на АСМе и на С. Более того, на АСМе иногда программирую задачи ЦОС, что действительно необходимо, и задачки для PIC10 и ATtiny4...10. Поэтому имею право делать выводы. Тем более что они не такие уж и далекие. - Dir(08.06.2013 16:40)
- дело вкуса, мне всё понятно и нравится, к низкоуровневому языку я сознательно ппришёл после 4-х высокоуровневых :)) Не
- По поводу регистров - конечно соглашения есть, всё прописано в дефайнах, я же вам дал только маленький кусочек кода, а нужно видеть весь проект, чтобы оценть насколько он строен (или нет, судя по Вашей реакции :)) Adept(430 знак., 08.06.2013 15:06)
- А почему люди пишут в комментариях во множественном числе: Запускаем, считаем, проверим, присвоим, сохраним? - Юра(09.06.2013 00:40, )
- Не знаю, как у Вас (хоть Ваши проекты вызывают уважение), но мои исходники повольно понятные и мне не составляет труда "поднять" проект, скажем 5-летней давности. Видел многие примеры Си-кода, которые абсолютно непонятны Adept(2952 знак., 08.06.2013 14:11)