Escape the SW development paradigm trap

Hello Dimmy.

14 May 06 06:03, you wrote to me: DT> Sat May 13 2006 19:36, Vladimir V. Teplouhov wrote to me:

... VVT>> Я тут как-то пробовал докапаться к авторам больших проектов VVT>> на Ада(там одних исходников либ мег по 20) какой они отладчик VVT>> предпочитают... В общем насколько я понял отладчик они даже VVT>> не смотрели толком :)

DT> Для мелких МК, как я понял, Ады нет и не будет.

ну вообще-то были такие потуги, тут даже ссылки пробегали... Скачал себе в коллекцию примеров как не надо делать :)

Они там короче написали пакеты для каждого камня где всякие служ. регистры обозвали как переменные... Вот уж не понимаю какой кайф такого изврата, ладно бы саму задачу на языке писать и всякие либы вроде математических и в-в реализовать, но ковыряться в регистрах какая разница на чем...

DT> А с большими проектами я вряд ли стану связываться. Hикогда не писал DT> программ "коллективно" - и не хочется.

зря-зря, там это можно ;)

Vladimir

Reply to
Vladimir V. Teplouhov
Loading thread data ...

Hello Alex.

13 May 06 16:33, you wrote to me:

SD>> Хочешь сказать любой, даже совpеменный, сишный компилятоp SD>> пpоглотит констpукцию типа for(int i = 0; i < 8; i++); ? AM> Я ничего не хочу сказать о компилятоpах - ни совpеменных, ни, тем AM> более, всех. Я говоpю о том, что пpавилам языка C пpиведенная тобой AM> констpукция удовлетвоpяет. И если какой-то компилятоp ее не AM> пpоглатывает, значит он не полностью поддеpживает язык C. Как тут было метко подмечено, не удовлетвоpяет C99 (и, возможно, еще каким-то сpавнительно свежим стандаpтам). Если K&R уже безнадежно устаpел, то C99 еще не вытеснил более pанние стандаpты. А вообще, лично мне более интеpесно то, какие констpукции поддеpживает используемой мной компилятоp, чем то каким именно стандаpтам это соответствует. Hе так, конечно, категоpично :) Пpосто выбоp обычно не такой уж и большой - на каждую платфоpму найдется пяток компилятоpов из котоpых один-два пpиемлемы для pаботы и они могут и не поддеpживать все новшества. SD>> Hе исключаю, что такое pасшиpение может быть, AM> Это не pасшиpение. Hе хочется вдаваться в споpы о теpминологии - ни к чему хоpошему это не пpиводит :) А вот скажем, по аналогии такая констpукция switch(int i = foo()) удовлетвоpяет пpавилам языка? g++ это пpоглотил, а gcc попеpхнулся (веpсия

3.4.6 с -std=c99) SD>> но мне пока такие не попадались. Только что на SD>> gcc котоpый под pуку подвеpнулся пpовеpил, AM> Hомеp веpсии подвеpнувшегося под pуку gcc? Под pуку попался 2.96. 3.4.6 согласился это откомпилиpовать только когда я ему сказал, что это C99. Более свежего под pукой нет.

Sergey

Reply to
Sergey Davydov

Hello, Sergey!

(15 Май 06 01:03), Sergey Davydov писАл Alex Mogilnikov: SD> А вот скажем, по аналогии такая констpукция switch(int SD> i = foo()) А что подобная конструкция дает? Ведь переменную i ты объявляешь только в пределах switch. Здесь что-то лишнее, или switch, или i.

With best regards, Igor. Time: 02:30 Date: 15 Май 06

Reply to
Igor Ulanov

Fri, 12 May 2006 14:40:46 +0000 (UTC) Vladimir Vassilevsky wrote to Harry Zhurov:

HZ>> Ага, это смотря какая плата. Что-то я с трудом представляю себе, как HZ>> можно развести сложную плату с частотами на сотню мегагерц на шинах, с HZ>> аналоговыми элементами и прочим, если не обладать значительными знаниями HZ>> и опытом в соответствующих областях электроники. Если только рядом с HZ>> техником, который мышой тыцает, не стоит инженер-разработчик и руководит HZ>> процессом.

VV> Знаешь, что напоминают эти разговоры о ручной разводке плат? VV> Религиозные войны C vs Ассемблер!

А ты сам-то давно последний раз плату разводил? И какую? Аналогия совсем мимо кассы.

VV> Никто не спорит, что хорошие руки могут сделать все существенно лучше, VV> но тем не менее, регресс идет своим путем.

Не в случае трассировки плат.

VV> Видишь ли, в большинстве случаев задача должна быть просто сделана. VV> Сделана как-то, не важно, хорошо или плохо. Лишь бы работало.

Вот именно! Если в случае С и асма имеет место небольшое преимущество по размеру/скорости у асма при значительном запасе по обоим этим ресурсам, поэтому смысла асмить в подавляющем большинстве случаев просто нет. В случае же трассировки ПП никакой автотрассировщик не выдаст самостоятельно качественную разводку. Всегда требуется участие человека. Даже при наличие прекрасных построителей топологии, каким является отечественный "ТопоР", качественная ПП сама собой не получается. Я уже как-то озвучивал идею, повторю ее еще раз: программа тогда будет хорошо конструировать ПП, когда научится в схемах разбираться. Думается, мы до этого не доживем. На сегодня хорошие программы по разработке ПП максимум позволяют автоматизировать отдельные операции. И это фактор огромной степени важности.

Таким образом, в отличие от асм/С с ПП ситуация такая, что оно просто не работает. Или работает неудовлетворительно, что, в общем-то, то же самое.

Reply to
Harry Zhurov

Fri, 12 May 2006 17:33:49 +0400 Alex Mogilnikov wrote to Harry Zhurov: AM>>> Сейчас кто-нибудь (например я) вылезет и очередной раз AM>>> напомнит, что объявление параметров цикла в операторе цикла есть и AM>>> в языке C. :)

HZ>> И давно оно там есть?

AM> Давно...

Т.е. ты хочешь сказать, что код:

for(int i = 0; i < N; i++) ...;

валиден в С? И давно? (ждал, что ты скажешь "со времен принятия С99". Не дождался :) )

Reply to
Harry Zhurov

Hello Alex.

Sun May 14 2006 18:34, Alex Mogilnikov wrote to me:

DT>> Всё равно там ссылочного типа, const,

AM> Да вы что, сговорились? :) const там есть.

Я имею в виду - для объявления нетипизированных констант-литералов, вместо #define. Есть там такое? Типа

const CLOCK = 16000; //kHz

Dimmy.

Reply to
Dimmy Timchenko

Hello Igor.

15 May 06 02:30, you wrote to me:

SD>> А вот скажем, по аналогии такая констpукция switch(int SD>> i = foo()) IU> А что подобная констpукция дает? Ведь пеpеменную i ты объявляешь IU> только в пpеделах switch. Здесь что-то лишнее, или switch, или i. Мало ли зачем. switch(int i = foo()) { case 0: case 1: bar = i++; break; case 2: case 3: bar = i--; break; .. } или также volatile int foo; switch(int i = foo) {..} чтобы из volatile читать один pаз.

Был бы человек, статья найдется (с) :)

Sergey

Reply to
Sergey Davydov

Hello Sergey.

Mon May 15 2006 00:03, Sergey Davydov wrote to Alex Mogilnikov:

SD> Пpосто выбоp обычно не такой уж и большой - на каждую SD> платфоpму найдется пяток компилятоpов из котоpых один-два пpиемлемы SD> для pаботы и они могут и не поддеpживать все новшества.

Если речь не идёт о лицензионной чистоте, то хороший выбор - IAR. У них есть компиляторы для кучи платформ. Хотя специфические расширения для конкретных архитектур могут различаться.

Dimmy.

Reply to
Dimmy Timchenko

Пpивет Michael! Michael Belousoff --> Pavel Grishin ( Thu May 11 2034, 12:57 )

MB> Фигня. Из всех тех возможностей, что пpедоставляют MB> ЯВУ пpогpаммистy, вовсе не обязательно пользоваться всеми,

Бpать микpоскоп и забивать гвоздики?

-= Брест. Павел Гришин =-

... Сидим за компом, я и пивo

Reply to
Pavel Grishin

Dimmy, ты ещё здесь сидишь?

Воскресенье Май 14 2006 05:10, Dimmy Timchenko wrote to George Shepelev:

DT>>> Вот именно. Я вот не применяю ООП, GS>> Зря, кстати. Это концепция, полезная даже при программировании на GS>> ассемблере. DT> Hе люблю. Больно мутная она.

"Вы не любите кошек?" (c) анек

DT> Предпочитаю структурно-модульный подход с максимально возможной DT> атомарностью и инкапсулированностью.

Кстати, эти концепции растут из принципов ООП ;)

Георгий

Reply to
George Shepelev

Dimmy, ты ещё здесь сидишь?

Воскресенье Май 14 2006 05:18, Dimmy Timchenko wrote to George Shepelev:

YK>>>> Только все это полумеры и лечение симптомов. DT>>> А что будет не полумерой и лечением причины? ;) GS>> Создание существенно более совершенных инструментов, разумеется. DT> Самостоятельное?

Пониаешь, в чём дело. Программы от сырости не заводятся. Их люди пишут.

DT> Это совсем другая работа.

Самый лучший инструмент делают тогда, когда вынуждены сами им пользоваться!

Георгий

Reply to
George Shepelev

Пpивет, George.

Вот что George Shepelev wrote to Michael Belousoff:

MB>>>> Hекотоpые писали на асме, но пеpеползли на си. Почемy, MB>>>> интеpесно? YK>>> Потомy что С по сpавнению с ассемблеpом - это пpогpесс. YK>>> С++ по сpавнению с С - это пpогpесс. MB>> Пpогpесс ценен не сам по себе, а теми пpеимyществами, MB>> котоpые он пpедоставляет юзеpy.

GS> Пойнт в том, что "юзеpы" компилятоpов бывают pазные.

Угy, pазные бывают: и на "я" бывают, и на "ё" бывают...

GS> Потомy что GS> задачи сильно отличаются. Так что одним эти пpеимyщества нyжны, а GS> дpyгим - нет...

А ещё бывают сходные задачи, котоpые pешают pазные "юзеpы". Один мyчает асм, дpyгой pазвлекается на ЯВУ.

Michael G. Belousoff mickbell(dog)r66(dot)ru

formatting link
... ==== Пpоблемy надо pешать до того, как она появится. ====

Reply to
Michael Belousoff

Hello, Sergey! You wrote to Andrej Arnold on Fri, 12 May 2006 15:00:18 +0600:

VV>>>>> Да что там 1000 индусов. Кстати, не все они плохие.

---------------------------------------------------------------------------------------------- AA>> А ты "слышал", что часть оффиса пишется в Hовосибе, чтобы AA>> лолить и ставить на вид? SG> Да где угодно писать могут. Hо целые нации дураками обзывать - SG> такое только лолы и вызывает. Это было уже сказано выше.

With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com

Reply to
Andrej Arnold

Привет Sergey!

15 May 06 01:03, Sergey Davydov писал Alex Mogilnikov:

AM>> Я ничего не хочу сказать о компилятоpах - ни совpеменных, ни, AM>> тем более, всех. Я говоpю о том, что пpавилам языка C пpиведенная AM>> тобой констpукция удовлетвоpяет. И если какой-то компилятоp ее не AM>> пpоглатывает, значит он не полностью поддеpживает язык C. SD> Как тут было метко подмечено, не удовлетвоpяет C99 (и, возможно, еще SD> каким-то сpавнительно свежим стандаpтам).

У меня как-то язык не поворачиваться текущий стандарт называть свежим. Далеко не первый год существует...

SD> А вообще, SD> лично мне более интеpесно то, какие констpукции поддеpживает SD> используемой мной компилятоp,

Это, наверное, написано в его документации. Точнее, обычно описывается, какие конструкции из предписываемых стандартом он не поддерживает...

SD> Пpосто выбоp обычно не SD> такой уж и большой - на каждую платфоpму найдется пяток компилятоpов SD> из котоpых один-два пpиемлемы для pаботы и они могут и не поддеpживать SD> все новшества.

Мне это кажется довольно странным. Hу если бы стандарт существовал год, ну два - можно было бы еще считать его новшеством. Hо я не могу понять разработчиков компилятора, когда они за почти 6 лет не удосужились привести свой продукт в соответствие с действующим стандартом. Это очень похоже на то, что работа над компилятором просто заброшена...

SD> Hе хочется вдаваться в споpы о теpминологии - ни к чему хоpошему это

Hу почему же, иногда есть польза. Hапример я могу сказать тебе номер пункта, в котором определен синтаксис обсуждаемой конструкции - 6.8.5 по стандарту ISO. Hадеюсь, тебе или еще кому пригодится.

SD> А вот скажем, по аналогии такая констpукция switch(int SD> i = foo()) удовлетвоpяет пpавилам языка?

Смотри в спецификацию. Судя по синтаксису оператора switch (п. 6.8.4 ISO), не удовлетворяет.

AM>> Hомеp веpсии подвеpнувшегося под pуку gcc? SD> Под pуку попался 2.96.

Я так и думал. Согласись, что второму gcc в обед сто лет. Текущий уже

4.1...

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Старый глюк лучше новых двух...

Reply to
Alex Mogilnikov

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Alex Mogilnikov! You wrote in conference fido7.ru.embedded to Sergey Davydov on Mon, 15 May 2006 14:10:03

+0400:

AM> Мне это кажется довольно странным. Hу если бы стандарт AM> существовал год, ну два - можно было бы еще считать его AM> новшеством. Hо я не могу понять разработчиков компилятора, AM> когда они за почти 6 лет не удосужились привести свой продукт AM> в соответствие с действующим стандартом. Это очень похоже на AM> то, что работа над компилятором просто заброшена...

Странно, но сплошь и рядом выходят новые версии, но по старому стандарту.

dima

formatting link

Reply to
Dmitry Orlov

Привет Harry!

15 May 06 07:42, Harry Zhurov писал Alex Mogilnikov:

HZ> Т.е. ты хочешь сказать, что код: HZ> for(int i = 0; i < N; i++) ...; HZ> валиден в С?

Да. И не только хотел, а сказал. :)

HZ> И давно? (ждал, что ты скажешь "со времен принятия HZ> С99". Hе дождался :) )

У меня нет под рукой предыдущих стандартов, поэтому я не знаю (не знал), была ли такая конструкция допустимой до принятия C99. Я знаю, что в текущем стандарте она допустима, а он принят еще в прошлом веке. :) Поэтому я и написал "давно".

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Посетители должны общаться по сети.

Reply to
Alex Mogilnikov

Mon, 15 May 2006 14:34:09 +0400 Alex Mogilnikov wrote to Harry Zhurov:

HZ>> И давно? (ждал, что ты скажешь "со времен принятия HZ>> С99". Hе дождался :) )

AM> У меня нет под рукой предыдущих стандартов, поэтому я не знаю (не AM> знал), была ли такая конструкция допустимой до принятия C99.

А ты раньше на С не писал, что-ли? :) Я сам лично натыкался в том же IAR'е версий 1.хх, который голый С.

AM> Я знаю, что в текущем стандарте она допустима, а он принят еще в прошлом AM> веке. :) Поэтому я и написал "давно".

Принят-то он в прошлом веке, но от принятия Стандарта до его массовой поддержки проходит не один год. Т.ч. реально эта фича на практике может использоваться едва ли пяток лет. Если принять во внимание историю развития языка С и его возраст, то и ответ на вопрос "давно ли" получается "недавно". Что, собсно, и хотел услышать. :)

Reply to
Harry Zhurov

Hello, Sergey!

(15 Май 06 10:03), Sergey Davydov писАл Igor Ulanov: SD> Был бы человек, статья найдется (с) :) Эт точно:)

With best regards, Igor. Time: 17:56 Date: 15 Май 06

Reply to
Igor Ulanov

Fri May 12 2006 08:56, Dimmy Timchenko wrote to Yuriy K:

YK>> Потому что С по сравнению с ассемблером - это прогресс. YK>> С++ по сравнению с С - это прогресс.

YK>> Только все это полумеры и лечение симптомов.

DT> А что будет не полумерой и лечением причины? ;)

То, что прозволить принципиально изменить качество разработки софта.

DT> Есть задача и есть DT> доступные инструменты для её решения. Выбираем наиболее подходящий. А DT> ковать свой инструмент... это для особых энтузязистов. ;)

Откуда взялись "доступные инструменты"? Вот оттуда же и возьмется принципиально новое решение.

Reply to
Yuriy K

Привет Harry!

15 May 06 15:07, Harry Zhurov писал Alex Mogilnikov:

AM>> У меня нет под рукой предыдущих стандартов, поэтому я не знаю AM>> (не знал), была ли такая конструкция допустимой до принятия C99.

HZ> А ты раньше на С не писал, что-ли? :)

Стыдно признаться, но я писал не имея под рукой текста спецификации. Поэтому я мог не использовать такую конструкцию просто в силу незнания о ее существовании. :)

HZ> Я сам лично натыкался в том же IAR'е версий 1.хх, который голый С.

Я как раз в те годы пользовался каким-то очень старым IAR'ом для MCS51.

HZ> Если принять во HZ> внимание историю развития языка С и его возраст, то и ответ на вопрос HZ> "давно ли" получается "недавно". Что, собсно, и хотел услышать. :)

Эко ты придумал, чуть ли не с возрастом вселенной сравнивать... :))) Я сравнимаю с временем, необходимым (по моим оценкам) для имплементации нового стандарта разработчиками компиляторов. По моему мнению, оно уже прошло не один раз. :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Совет дня: чтобы убить жирную лошадь, добавьте к капле никотина каплю fairy

Reply to
Alex Mogilnikov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.