По поводу "поймет" не согласен. Если Бог не дал, то никто не даст. Код, основанный на более или менее сложных положениях теории дурак не поймет. Прочитать сможет, а понять - не дано. А вот второе, не сломает, - тоже не есть правильно. Достаточно гле-то не там поставить запятую или точку. И программы не созхдают себе окружение, а работают в какой-то среде, которую может создать "умелец". А еще проще - берем кувалду и с помощью кувалды и такой-то матери "рихтуем" код...
> Дурак не должен понимать "как". Он должен понимать "что" и "зачем". Без "как"-ов все остальное лишь благие пожелания. Ситуация aka "гляжу в книгу, вижу фигу".
> И код, основанный на тонких теориях, нужен в исключительных случаях. А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория не тонкая, а ...
> Ошибки с точками и запятыми должны застревать в контроле качества. Должны, но не обязаны. Вы не путайте желаемое и действительное. Например, достаточно поставить лишнюю запятую в параметрах функции с неопределенным числом аргументов...
> возникает из-за того, что человек думает, что знает Один мой знакомый говорил: "Думать надо, когда есть чем. В остальных случаях надо просто знать." ;-))
> Контроль качества зависит от качества контроля качества. Как известно - использование рекурсии приводит к физически нереализуемым моделям.
А как Вы собираетесь контролировать неточности в программировании? Неточность в программировании приводит к ошибке в прогнозе поведения программы в изменившихся условиях. Все равно ошибка, хотя прога сразу не "падает". Но такиек вещи контролировать не сможет ни одна система контроля. Только человек. Да еще обязательно очень грамотный, хорошо знающий теорию.
Это, кстати, одна из причин почему Виртовские разработки, вроде Oberon, Modula и Lilit, не имеют широкого хождения.
Опыт применения оберона лично мне показал, что программирование становится вполне безопасным, тупых ошибок просто нет, при этом кадровый вопрос решается легко и быстро.
Оберон просто работает. Это самая важная причина того, что он не имеет широкого хождения. Нет места для якобы улучшающих качество программирования тулзовин (бизнес) и самоудовлетворения задротов (психология).
Ну, я по умолчанию предположил, что у конкретного "кадра" умение программировать уже есть. А перейти на оберон опытному программисту раз плюнуть. При этом качество разработки не снизится, а скорее наоборот.
"Портят", да. Есть такое дело. Но при этом, в том же КП есть всё, что необходимо для промышленной постановки задачи. Поэтому я и говорю - если человек владеет соответствующим категориальным аппаратом, то использование оберона не будет проблемой. А если не владеет, то пойдут проблемы от BEGIN END, отсутствия break и прочих вытребенек.
Кроме того, Никлаус Вирт грешит тем, что настаивает на своем сечении библиотек. Именно поэтому нельзя воспользоваться остальным накопленным опытом. Вещь в себе.
xds - Excelsior Oberon-2/Modula-2 compiler, set up to produce native FreeBSD binaries. Поставляется в бинарниках. Посему им никто не пользуется - падает, зараза.
А никто не даст гарантию, что модель "накопленного опыта" полностью совпаст с моделью Вашей разработки. Очень часто случается так, что проще изобрести простой велосипед, чем иметь геморрой с очередным мега-компонентищем.
Представляете мое удивление, когда для компиляции CVSUP приходится полностью компилировать не только ezm3 (компилятор Modula3), но еще потом еще и кучу библиотек окружения. Это только для одной cvsup. Представляю, какие пойдут затраты, если появится како-нить продукт на oberon. Тут будет уже полная жопа. Такая же, как и с компилятором, колторый сделан в виде бинарника и который падает. Были бы исходники - перекомпилировал и никаких проблем. А так я это дело сразу выкинул и пометил себе - пользоваться нельзя, говно.
И, кстати, не напомните, что там сам Никлаус Вирт говорил по поводу языка C?
Вообще-то оберон поддерживает раздельную компиляцию, поэтому такими устарвешими вещами, как независимая компиляция, Вам попросту нет необходимости заниматься.
> И код, основанный на тонких теориях, нужен в исключительных случаях. А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория очень простая. "Знаю - это не только помню, но еще и умею применять". Например, нужно отсортировать массив из миллиарда записей. Затраты на qsort и другие сортировки N*sqrt(N). В общем, работа программе на несколько часов. А можно сделать так сортировку, чтобы ее затраты были между N и n*sqrt(N). Как - это следует из теории сортировок. Дурак будет решать задачу "в лоб"...
Это вещи ортогональные. Большинство сложных задач имеет простые и изящные решения. Отсылки к алгоритму достаточно, чтоб минимум уважение у чайника вызвать.
> В больших проектах приходится возводить мощную защиту от дурака. Американцы для этих целей контроля качества в самом коде создали язык Ada. Вам туда...
Хотя, если система защищена от дурака, то в ней может работать только дурак.
Последнее же высказывание не всегда не то, что не верно. Просто кодирование - это настолько низкий уровень, что не важно, насколько оно муторно и зашорено. Проблема в постановках задач, решениях и алгоритмах.
> Ада - это военка. Какая разница? Важна цель с которой создавался данный язык. Америкосов замотало бесконечное дебаженье, вот они и наделили язык функциями контроля. Из-за чего на это у**ище может писать только шизик. Это что-то вроде "экскремента" с PL/1. ;-)))
> Язык - это не более, чем инструмент. Молоток он что в военке молоток, что в гражданке. Правда, в военке могут сделать (америкосы так уже делали) такой молоток, что он будет стоить дороже золотого. Объективно, Ada тоже из серии таких "молотков". Конечно, Oberon на фоне Ada очень даже хорошо смотрится. Но стоит его сравнить с C...
Как сказал один спец, "Оберон был проще, чем нужно"
В принципе, весь проект шёл под эгидой "Тут все с высшим образованием, так что разберутся" И люди, пишущие на Обероне, продолжали в коде форматировать так, как у Вирта в книжке. Что для промышленного уровня не приемлемо.
Кстати, самый понятный и ясный код пришёл тоже из универа от одного профессора.
Когда я перешёл на Оберон (Component Pascal + среда BlackBox Component Builder, далее ББ), со мной приключилась история по поводу форматирования исходников.
В среде ББ нет автораскраски сырцов, плюс сам стиль текста такой "уплотнённый", что попервоначалу меня это повергало в изумление. Я продолжал пользоваться своим привычным шрифтом, поставил подсистему автораскраски и оформлял сырцы как раньше.
Постепенно я заметил, что цветовая раскраска мне стала мешать. Ни в кларионе, ни в FreePascal такого не происходило.
Далее, мои исходники как-то сами собой стали принимать "уплотнённый" вид.
И однажды случилось "страшное" :). Я полностью отказался от автораскраски исходников и перешёл на "архитектурную" раскраску (так я её назвал), благо составные документы среды ББ позволяют такое.
А для форматирования отступов и стилей у нас есть "корпоративный" инструмент для оформления :)
no subject
no subject
А вот второе, не сломает, - тоже не есть правильно. Достаточно гле-то не там поставить запятую или точку. И программы не созхдают себе окружение, а работают в какой-то среде, которую может создать "умелец". А еще проще - берем кувалду и с помощью кувалды и такой-то матери "рихтуем" код...
no subject
И код, основанный на тонких теориях, нужен в исключительных случаях.
Ошибки с точками и запятыми должны застревать в контроле качества. А за кувалдометры в приличных домах просто бьют по рукам.
no subject
Без "как"-ов все остальное лишь благие пожелания. Ситуация aka "гляжу в книгу, вижу фигу".
> И код, основанный на тонких теориях, нужен в исключительных случаях.
А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория не тонкая, а ...
> Ошибки с точками и запятыми должны застревать в контроле качества.
Должны, но не обязаны. Вы не путайте желаемое и действительное. Например, достаточно поставить лишнюю запятую в параметрах функции с неопределенным числом аргументов...
no subject
Контроль качества зависит от качества контроля качества. А условия, чтоб лишние запятые никуда не попадали, создать не сложно.
no subject
Один мой знакомый говорил: "Думать надо, когда есть чем. В остальных случаях надо просто знать." ;-))
> Контроль качества зависит от качества контроля качества.
Как известно - использование рекурсии приводит к физически нереализуемым моделям.
no subject
В не правильном всё в любом случае безнадёжно.
no subject
Это, кстати, одна из причин почему Виртовские разработки, вроде Oberon, Modula и Lilit, не имеют широкого хождения.
no subject
Опыт применения оберона лично мне показал, что программирование становится вполне безопасным, тупых ошибок просто нет, при этом кадровый вопрос решается легко и быстро.
Оберон просто работает. Это самая важная причина того, что он не имеет широкого хождения. Нет места для якобы улучшающих качество программирования тулзовин (бизнес) и самоудовлетворения задротов (психология).
no subject
Насчёт же кадрового вопроса не всё так просто в смысле бизнеса.
no subject
no subject
Кроме того, гляньте сюда http://ooc.sourceforge.net/ ;-))
no subject
no subject
xds - Excelsior Oberon-2/Modula-2 compiler, set up to produce native FreeBSD binaries. Поставляется в бинарниках. Посему им никто не пользуется - падает, зараза.
no subject
no subject
И, кстати, не напомните, что там сам Никлаус Вирт говорил по поводу языка C?
no subject
no subject
А для Линукса компилятор Оберона лучше?
no subject
no subject
Прилично мозг разгружается, да.
no subject
В принципе, писать "выживающий" код не так сложно, хотя и муторно.
no subject
А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория очень простая. "Знаю - это не только помню, но еще и умею применять". Например, нужно отсортировать массив из миллиарда записей. Затраты на qsort и другие сортировки N*sqrt(N). В общем, работа программе на несколько часов. А можно сделать так сортировку, чтобы ее затраты были между N и n*sqrt(N). Как - это следует из теории сортировок. Дурак будет решать задачу "в лоб"...
no subject
no subject
Я не для чайников пишу, что бы работало. Какая у Вас цель, когда Вы пишете код - шашечки или ехать?
no subject
В больших проектах приходится возводить мощную защиту от дурака.
no subject
Американцы для этих целей контроля качества в самом коде создали язык Ada. Вам туда...
Хотя, если система защищена от дурака, то в ней может работать только дурак.
no subject
Последнее же высказывание не всегда не то, что не верно. Просто кодирование - это настолько низкий уровень, что не важно, насколько оно муторно и зашорено. Проблема в постановках задач, решениях и алгоритмах.
no subject
Какая разница? Важна цель с которой создавался данный язык. Америкосов замотало бесконечное дебаженье, вот они и наделили язык функциями контроля. Из-за чего на это у**ище может писать только шизик. Это что-то вроде "экскремента" с PL/1. ;-)))
no subject
Вот уже много лет я выбираю тот, который лучше подходит под задачу. Или, который потребен заказчику.
Там, где используется Ада столько мутотени, что особенности языка на фоне не очень выделяются.
no subject
Молоток он что в военке молоток, что в гражданке. Правда, в военке могут сделать (америкосы так уже делали) такой молоток, что он будет стоить дороже золотого. Объективно, Ada тоже из серии таких "молотков". Конечно, Oberon на фоне Ada очень даже хорошо смотрится. Но стоит его сравнить с C...
no subject
no subject
no subject
no subject
no subject
Всё зависит от того, как в проекте контролируют качество.
no subject
no subject
Естественно, один посреди голого поля и хороший программист - не воин.
no subject
В принципе, весь проект шёл под эгидой "Тут все с высшим образованием, так что разберутся"
И люди, пишущие на Обероне, продолжали в коде форматировать так, как у Вирта в книжке. Что для промышленного уровня не приемлемо.
Кстати, самый понятный и ясный код пришёл тоже из универа от одного профессора.
no subject
В среде ББ нет автораскраски сырцов, плюс сам стиль текста такой "уплотнённый", что попервоначалу меня это повергало в изумление. Я продолжал пользоваться своим привычным шрифтом, поставил подсистему автораскраски и оформлял сырцы как раньше.
Постепенно я заметил, что цветовая раскраска мне стала мешать. Ни в кларионе, ни в FreePascal такого не происходило.
Далее, мои исходники как-то сами собой стали принимать "уплотнённый" вид.
И однажды случилось "страшное" :). Я полностью отказался от автораскраски исходников и перешёл на "архитектурную" раскраску (так я её назвал), благо составные документы среды ББ позволяют такое.
А для форматирования отступов и стилей у нас есть "корпоративный" инструмент для оформления :)
no subject
no subject
no subject
no subject
http://picasaweb.google.ru/akaStargazer/BlackBox
no subject
Ну, да. Логично.
Только мне не нравится.
no subject
no subject
no subject
Первым делом, я обещал всем, приславшим код, что уничтожу электронную версию.
Вторым, после переезда все бумаги по старым проектам лежат в коробках.