ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
137980 Топик полностью
Сергей Борщ (08.11.2008 21:10, просмотров: 239) ответил dlsh на <"языка, похожего на С" имени CV>
На электрониксе несколько раз обсуждалось, напишу некторые и тут 1) Все исходники сваливаются в один файл, который уже компилируется. Отсюда вытекает: - отсутствие области видимости в пределах файла - невозможно завести в нескольких файлах одноименные глобальные переменные с квалификатором static. - без объявления доступны глобальные переменные и типы, описанные в других файлах. Потенциальный источник ошибок. - отсутствие раздельной компиляции, при малейшем изменении перекомпилируется весь код. - невозможно в несколько исходников включить один заголовочный файл, изменяя его поведение предшествующими #define. Или можно, но это требует дополнительных действий. - отсутствие линковки, необходимость всякими asm() добиваться желаемого размещения кода и данных. 2) расширение вида порт.бит, активно пользуемое новичками и ставящее их в тупик при переходе на другой компилятор. 3) Не позволяет возвращать структуры из функций. Возможно есть что-то еще, мне хватило п.1 чтобы не использовать этот компилятор. Ну и по оболочке - код, сгенерированный визардом содержит шестнадцатиричные константы вместо перечисления именованных битов, что делает код абсолютно нечитаемым без словаря (даташита). И даже со словарем куча времени непродуктивно тратится на перевод шестнадцатиричного числа в двоичное и сопоставление с битами. Хотя элементарно можно было генерить исходник так, чтобы компилятор делал обратное преобразование. Не забываем принцип IBM "Машина должна работать, а человек - думать". Или, другими словами, "Машина - дура, вот пусть она и работает". Комментарии не спасают, ибо при модификации кода комментарии чаще всего не трогают и через некоторое время они уже не коррелируют с кодом.