Цитата(Aesthete Animus @ Nov 12 2008, 19:09)

То есть, вы уже успели прочитать студентам курс лекций про asm, IAR, avr-gcc, CodeVision, BASCom
Боже упаси!
Как только начинают обучение с "курсов лекций" "по IAR", "по GCC", "по CodeVision" - всё, сливай воду. Для ознакомления с перспективами такого подхода ("... аппараты Бимена. В тех проклятых лентах, которые дали мне образование был предусмотрен спектрограф Хенслера... ... мне скажут, что мой мозг предназначен для Хенслера...") - читать Азимова, рассказз "Профессия" ( "Специальность"? В украинском переводе "Фах", кстати, я очень рад, что он был у дочери в курсе иностранной литературы).
Цитата(defunct @ Nov 17 2008, 01:14)

вместо goto и метки можно воспользоваться любым оператором цикла и break, производительность от этого не пострадает.
Код
do
{
.....
if ( x ) break;
....
if ( y ) break;
..
} while (0);
а смотреться будет, на мой взгляд
красивше нагляднее.
Нафиг-нафиг. Пробовал в детстве, но аллергией на goto, навязанной излишне академичными книжками, переболел. Даже с комментарием
/* while(0) */ в начале возле
do { всё равно плохо. Поначалу кажется - "о как красиво". А потом при модификациях вдруг цикл добавить, из которого выходить нужно - и путаница "это тот break или другой"?
Итого где можно выделить в функцию и return (да, аллергии на несколько точек выхода из функции у меня тоже нет), то выделяю, пусть даже она один раз вызывается.
Где обилие локальных переменных данной функции, к которым нужно обеспечить доступ в блоке, затрудняет выделение блока кода в функцию (локальных функций ведь, привет от паскаля, в стандартном С нет, а привыкать к этому расширению gcc не хочу, не так часто надо), там goto.
Цитата(DSIoffe @ Nov 14 2008, 10:04)

А ссылочка от gotty очень хороша. Рекомендую всем любителям убедительных фраз.
И чем она хороша? Агрессии не меньше, чем в этой теме. Правильные слова - правильны как-то независимо от языка.
Пример про "на паскале вы НЕ МОЖЕТЕ такого написать" - ну извините. Если у кого-то поведение зависит от того, стоит ли рядом кто-то, кто НЕ РАЗРЕШАЕТ гадить где ешь - то это его личные проблемы.
Точно так же можно ругать какой-то естественный человеческий язык за многообразие конструкций и оттенков (их ещё и понять может быть тяжело человеку, плохо знающему этот язык! он же ещё и жидкость для ухода за кожаными кошельками может на щёки себе натереть!!!). На человеческом языке поэты могут писать стихи, основанные на игре
звучания слов практически без какого-либо смысла, учёные могут писать сложные тексты, непонятные школьникам (ничего, подучатся и поёмут, если захотят, зато между учёными коммуникация эффективнее, чем если бы они пытались писать "понятно для всех"), а можно и ругательства на стенах баллончиком с краской писать. Давайте запретим эти языки, как "растлевающие малолетних".
Там правильно в начале сказано про
Цитата
проблему нехватки квалифицированных специадистов с "правильно поставленными мозгами"
- но это проблема не "использования языка С", а обучения им пользоваться, так же как и обписанные да обписянные подъезды - проблема не человеческого языка как такового. Более того, там же сказано (стр. 6)
Цитата
даже если школьники прошли какие-то школьные курсы ... "постановка мозгов" им в школе (за редкими исключениями) нередко оказывается выполненной настолько неправильно ... , что послежствия ощущаются годы
- а ведь в школе не С и не С++ дают, а Паскаль. Значит - не панацея и даже не облегчает ничего.
Кстати, как вам конструкция "за редкими исключениями нередко оказывается" - я об неё споткнулся.
Может, автору надо изучить вместо русского какой-то другой язык? В котором "он НЕ МОЖЕТ такого написать"? Или "за редким исклдючением" касалось слов "в школе" а не "оказывается выполненной"?
Что касается паскаля... Язык как язык.
Можно и на нём закрутить нерабочий текст с трудно отыскиваемыми ошибками.
Можно и на нём работать в малых объёмах (да какая-то мега128 с внешней ОЗУ-шкой и тем более ARM имеют ресурсов больше, чем "Robotron-1715" на Z80 с CP/M и паскалем или чем "Электроника-60"/"ДВК-2", для которых тоже на паскале писалось). Ну если иметь подходящий компилятор. А если их нет - то хоть в ООН жалуйся на маркетологов и издательства, которые "служат усилителем", легче не станет.
Писал когда-то парень по соседству для "Электроники-60" на паскале интерпертатор языка управления лабораторной установкой с КАМАК-ом. Насколько я помню, треть программы - асмовые вставки, и не только в кусках обмена с аппаратурой. Но "самый верх" - на паскале довольно красивый получалося. А когда я выбирал для себя на чём более-менее окончательно остановиться, я пописал немного и на паскале, и на С, посравнивал генерируемый код. У паскаля он был гораздо страшнее. Особых оптимизаций тогда не на чём было делать, а С оказался гораздо ближе к реальным процессам.
Убедился, что на С мне в большинстве случаев удастся обойтсиь без асм-вставок (он их и не позволял), а если вдруг таки надо будет - то одну-две подпрограммы на ассемблере просто напишу. Вот и всего выбора. begin/end на него вообще не повлияли :-)
Сейчас у дочери в школе паскаль - ну и нормально. Главное что не бейсик, как в предыдущей. Может даже лучше, что не С - весь С всё равно не дадут, а с укороченного подмножества потом переучиваться может оказаться труднее, как совсем новое пойдёт органичнее.
Показал и как множествами пользоваться, и вложенными функциями (почему-то в школе это опустили).