По поводу "поймет" не согласен. Если Бог не дал, то никто не даст. Код, основанный на более или менее сложных положениях теории дурак не поймет. Прочитать сможет, а понять - не дано. А вот второе, не сломает, - тоже не есть правильно. Достаточно гле-то не там поставить запятую или точку. И программы не созхдают себе окружение, а работают в какой-то среде, которую может создать "умелец". А еще проще - берем кувалду и с помощью кувалды и такой-то матери "рихтуем" код...
> Дурак не должен понимать "как". Он должен понимать "что" и "зачем". Без "как"-ов все остальное лишь благие пожелания. Ситуация aka "гляжу в книгу, вижу фигу".
> И код, основанный на тонких теориях, нужен в исключительных случаях. А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория не тонкая, а ...
> Ошибки с точками и запятыми должны застревать в контроле качества. Должны, но не обязаны. Вы не путайте желаемое и действительное. Например, достаточно поставить лишнюю запятую в параметрах функции с неопределенным числом аргументов...
> И код, основанный на тонких теориях, нужен в исключительных случаях. А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория очень простая. "Знаю - это не только помню, но еще и умею применять". Например, нужно отсортировать массив из миллиарда записей. Затраты на qsort и другие сортировки N*sqrt(N). В общем, работа программе на несколько часов. А можно сделать так сортировку, чтобы ее затраты были между N и n*sqrt(N). Как - это следует из теории сортировок. Дурак будет решать задачу "в лоб"...
Это вещи ортогональные. Большинство сложных задач имеет простые и изящные решения. Отсылки к алгоритму достаточно, чтоб минимум уважение у чайника вызвать.
> возникает из-за того, что человек думает, что знает Один мой знакомый говорил: "Думать надо, когда есть чем. В остальных случаях надо просто знать." ;-))
> Контроль качества зависит от качества контроля качества. Как известно - использование рекурсии приводит к физически нереализуемым моделям.
> В больших проектах приходится возводить мощную защиту от дурака. Американцы для этих целей контроля качества в самом коде создали язык Ada. Вам туда...
Хотя, если система защищена от дурака, то в ней может работать только дурак.
А как Вы собираетесь контролировать неточности в программировании? Неточность в программировании приводит к ошибке в прогнозе поведения программы в изменившихся условиях. Все равно ошибка, хотя прога сразу не "падает". Но такиек вещи контролировать не сможет ни одна система контроля. Только человек. Да еще обязательно очень грамотный, хорошо знающий теорию.
Это, кстати, одна из причин почему Виртовские разработки, вроде Oberon, Modula и Lilit, не имеют широкого хождения.
Опыт применения оберона лично мне показал, что программирование становится вполне безопасным, тупых ошибок просто нет, при этом кадровый вопрос решается легко и быстро.
Оберон просто работает. Это самая важная причина того, что он не имеет широкого хождения. Нет места для якобы улучшающих качество программирования тулзовин (бизнес) и самоудовлетворения задротов (психология).
Как сказал один спец, "Оберон был проще, чем нужно"
В принципе, весь проект шёл под эгидой "Тут все с высшим образованием, так что разберутся" И люди, пишущие на Обероне, продолжали в коде форматировать так, как у Вирта в книжке. Что для промышленного уровня не приемлемо.
Кстати, самый понятный и ясный код пришёл тоже из универа от одного профессора.
Последнее же высказывание не всегда не то, что не верно. Просто кодирование - это настолько низкий уровень, что не важно, насколько оно муторно и зашорено. Проблема в постановках задач, решениях и алгоритмах.
Ну, я по умолчанию предположил, что у конкретного "кадра" умение программировать уже есть. А перейти на оберон опытному программисту раз плюнуть. При этом качество разработки не снизится, а скорее наоборот.
> Ада - это военка. Какая разница? Важна цель с которой создавался данный язык. Америкосов замотало бесконечное дебаженье, вот они и наделили язык функциями контроля. Из-за чего на это у**ище может писать только шизик. Это что-то вроде "экскремента" с PL/1. ;-)))
Когда я перешёл на Оберон (Component Pascal + среда BlackBox Component Builder, далее ББ), со мной приключилась история по поводу форматирования исходников.
В среде ББ нет автораскраски сырцов, плюс сам стиль текста такой "уплотнённый", что попервоначалу меня это повергало в изумление. Я продолжал пользоваться своим привычным шрифтом, поставил подсистему автораскраски и оформлял сырцы как раньше.
Постепенно я заметил, что цветовая раскраска мне стала мешать. Ни в кларионе, ни в FreePascal такого не происходило.
Далее, мои исходники как-то сами собой стали принимать "уплотнённый" вид.
И однажды случилось "страшное" :). Я полностью отказался от автораскраски исходников и перешёл на "архитектурную" раскраску (так я её назвал), благо составные документы среды ББ позволяют такое.
А для форматирования отступов и стилей у нас есть "корпоративный" инструмент для оформления :)
Кроме того, Никлаус Вирт грешит тем, что настаивает на своем сечении библиотек. Именно поэтому нельзя воспользоваться остальным накопленным опытом. Вещь в себе.
xds - Excelsior Oberon-2/Modula-2 compiler, set up to produce native FreeBSD binaries. Поставляется в бинарниках. Посему им никто не пользуется - падает, зараза.
"Портят", да. Есть такое дело. Но при этом, в том же КП есть всё, что необходимо для промышленной постановки задачи. Поэтому я и говорю - если человек владеет соответствующим категориальным аппаратом, то использование оберона не будет проблемой. А если не владеет, то пойдут проблемы от BEGIN END, отсутствия break и прочих вытребенек.
А никто не даст гарантию, что модель "накопленного опыта" полностью совпаст с моделью Вашей разработки. Очень часто случается так, что проще изобрести простой велосипед, чем иметь геморрой с очередным мега-компонентищем.
Представляете мое удивление, когда для компиляции CVSUP приходится полностью компилировать не только ezm3 (компилятор Modula3), но еще потом еще и кучу библиотек окружения. Это только для одной cvsup. Представляю, какие пойдут затраты, если появится како-нить продукт на oberon. Тут будет уже полная жопа. Такая же, как и с компилятором, колторый сделан в виде бинарника и который падает. Были бы исходники - перекомпилировал и никаких проблем. А так я это дело сразу выкинул и пометил себе - пользоваться нельзя, говно.
И, кстати, не напомните, что там сам Никлаус Вирт говорил по поводу языка C?
> Язык - это не более, чем инструмент. Молоток он что в военке молоток, что в гражданке. Правда, в военке могут сделать (америкосы так уже делали) такой молоток, что он будет стоить дороже золотого. Объективно, Ada тоже из серии таких "молотков". Конечно, Oberon на фоне Ada очень даже хорошо смотрится. Но стоит его сравнить с C...
Вообще-то оберон поддерживает раздельную компиляцию, поэтому такими устарвешими вещами, как независимая компиляция, Вам попросту нет необходимости заниматься.
no subject
Date: 2010-02-10 11:40 pm (UTC)no subject
Date: 2010-02-11 08:24 am (UTC)А вот второе, не сломает, - тоже не есть правильно. Достаточно гле-то не там поставить запятую или точку. И программы не созхдают себе окружение, а работают в какой-то среде, которую может создать "умелец". А еще проще - берем кувалду и с помощью кувалды и такой-то матери "рихтуем" код...
no subject
Date: 2010-02-11 08:30 am (UTC)no subject
Date: 2010-02-11 08:44 am (UTC)Всё зависит от того, как в проекте контролируют качество.
no subject
Date: 2010-02-11 08:48 am (UTC)И код, основанный на тонких теориях, нужен в исключительных случаях.
Ошибки с точками и запятыми должны застревать в контроле качества. А за кувалдометры в приличных домах просто бьют по рукам.
no subject
Date: 2010-02-11 08:50 am (UTC)no subject
Date: 2010-02-11 08:55 am (UTC)Естественно, один посреди голого поля и хороший программист - не воин.
no subject
Date: 2010-02-11 09:01 am (UTC)Без "как"-ов все остальное лишь благие пожелания. Ситуация aka "гляжу в книгу, вижу фигу".
> И код, основанный на тонких теориях, нужен в исключительных случаях.
А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория не тонкая, а ...
> Ошибки с точками и запятыми должны застревать в контроле качества.
Должны, но не обязаны. Вы не путайте желаемое и действительное. Например, достаточно поставить лишнюю запятую в параметрах функции с неопределенным числом аргументов...
no subject
Date: 2010-02-11 09:09 am (UTC)А часто Вы встречались с тем, чтобы скудентам правильно читали, например, сортировки? Теория очень простая. "Знаю - это не только помню, но еще и умею применять". Например, нужно отсортировать массив из миллиарда записей. Затраты на qsort и другие сортировки N*sqrt(N). В общем, работа программе на несколько часов. А можно сделать так сортировку, чтобы ее затраты были между N и n*sqrt(N). Как - это следует из теории сортировок. Дурак будет решать задачу "в лоб"...
no subject
Date: 2010-02-11 09:17 am (UTC)no subject
Date: 2010-02-11 09:19 am (UTC)Контроль качества зависит от качества контроля качества. А условия, чтоб лишние запятые никуда не попадали, создать не сложно.
no subject
Date: 2010-02-11 09:36 am (UTC)Я не для чайников пишу, что бы работало. Какая у Вас цель, когда Вы пишете код - шашечки или ехать?
no subject
Date: 2010-02-11 09:37 am (UTC)В больших проектах приходится возводить мощную защиту от дурака.
no subject
Date: 2010-02-11 09:40 am (UTC)Один мой знакомый говорил: "Думать надо, когда есть чем. В остальных случаях надо просто знать." ;-))
> Контроль качества зависит от качества контроля качества.
Как известно - использование рекурсии приводит к физически нереализуемым моделям.
no subject
Date: 2010-02-11 09:43 am (UTC)Американцы для этих целей контроля качества в самом коде создали язык Ada. Вам туда...
Хотя, если система защищена от дурака, то в ней может работать только дурак.
no subject
Date: 2010-02-11 09:44 am (UTC)В не правильном всё в любом случае безнадёжно.
no subject
Date: 2010-02-11 10:09 am (UTC)Это, кстати, одна из причин почему Виртовские разработки, вроде Oberon, Modula и Lilit, не имеют широкого хождения.
no subject
Date: 2010-02-11 01:14 pm (UTC)Опыт применения оберона лично мне показал, что программирование становится вполне безопасным, тупых ошибок просто нет, при этом кадровый вопрос решается легко и быстро.
Оберон просто работает. Это самая важная причина того, что он не имеет широкого хождения. Нет места для якобы улучшающих качество программирования тулзовин (бизнес) и самоудовлетворения задротов (психология).
no subject
Date: 2010-02-11 01:19 pm (UTC)Насчёт же кадрового вопроса не всё так просто в смысле бизнеса.
no subject
Date: 2010-02-11 01:23 pm (UTC)В принципе, весь проект шёл под эгидой "Тут все с высшим образованием, так что разберутся"
И люди, пишущие на Обероне, продолжали в коде форматировать так, как у Вирта в книжке. Что для промышленного уровня не приемлемо.
Кстати, самый понятный и ясный код пришёл тоже из универа от одного профессора.
no subject
Date: 2010-02-11 01:24 pm (UTC)В принципе, писать "выживающий" код не так сложно, хотя и муторно.
no subject
Date: 2010-02-11 01:27 pm (UTC)Последнее же высказывание не всегда не то, что не верно. Просто кодирование - это настолько низкий уровень, что не важно, насколько оно муторно и зашорено. Проблема в постановках задач, решениях и алгоритмах.
no subject
Date: 2010-02-11 01:35 pm (UTC)no subject
Date: 2010-02-11 01:43 pm (UTC)Кроме того, гляньте сюда http://ooc.sourceforge.net/ ;-))
no subject
Date: 2010-02-11 01:45 pm (UTC)Какая разница? Важна цель с которой создавался данный язык. Америкосов замотало бесконечное дебаженье, вот они и наделили язык функциями контроля. Из-за чего на это у**ище может писать только шизик. Это что-то вроде "экскремента" с PL/1. ;-)))
no subject
Date: 2010-02-11 01:48 pm (UTC)В среде ББ нет автораскраски сырцов, плюс сам стиль текста такой "уплотнённый", что попервоначалу меня это повергало в изумление. Я продолжал пользоваться своим привычным шрифтом, поставил подсистему автораскраски и оформлял сырцы как раньше.
Постепенно я заметил, что цветовая раскраска мне стала мешать. Ни в кларионе, ни в FreePascal такого не происходило.
Далее, мои исходники как-то сами собой стали принимать "уплотнённый" вид.
И однажды случилось "страшное" :). Я полностью отказался от автораскраски исходников и перешёл на "архитектурную" раскраску (так я её назвал), благо составные документы среды ББ позволяют такое.
А для форматирования отступов и стилей у нас есть "корпоративный" инструмент для оформления :)
no subject
Date: 2010-02-11 01:48 pm (UTC)xds - Excelsior Oberon-2/Modula-2 compiler, set up to produce native FreeBSD binaries. Поставляется в бинарниках. Посему им никто не пользуется - падает, зараза.
no subject
Date: 2010-02-11 01:53 pm (UTC)no subject
Date: 2010-02-11 01:55 pm (UTC)no subject
Date: 2010-02-11 01:55 pm (UTC)no subject
Date: 2010-02-11 01:58 pm (UTC)А для Линукса компилятор Оберона лучше?
no subject
Date: 2010-02-11 02:00 pm (UTC)no subject
Date: 2010-02-11 02:02 pm (UTC)Первым делом, я обещал всем, приславшим код, что уничтожу электронную версию.
Вторым, после переезда все бумаги по старым проектам лежат в коробках.
no subject
Date: 2010-02-11 02:10 pm (UTC)Вот уже много лет я выбираю тот, который лучше подходит под задачу. Или, который потребен заказчику.
Там, где используется Ада столько мутотени, что особенности языка на фоне не очень выделяются.
no subject
Date: 2010-02-11 02:12 pm (UTC)no subject
Date: 2010-02-11 03:39 pm (UTC)И, кстати, не напомните, что там сам Никлаус Вирт говорил по поводу языка C?
no subject
Date: 2010-02-11 04:11 pm (UTC)no subject
Date: 2010-02-11 04:17 pm (UTC)no subject
Date: 2010-02-11 07:19 pm (UTC)http://picasaweb.google.ru/akaStargazer/BlackBox
no subject
Date: 2010-02-11 07:24 pm (UTC)Ну, да. Логично.
Только мне не нравится.
no subject
Date: 2010-02-11 08:33 pm (UTC)no subject
Date: 2010-02-11 10:00 pm (UTC)Молоток он что в военке молоток, что в гражданке. Правда, в военке могут сделать (америкосы так уже делали) такой молоток, что он будет стоить дороже золотого. Объективно, Ada тоже из серии таких "молотков". Конечно, Oberon на фоне Ada очень даже хорошо смотрится. Но стоит его сравнить с C...
no subject
Date: 2010-02-12 05:31 am (UTC)no subject
Date: 2010-02-12 08:37 am (UTC)no subject
Date: 2010-02-12 02:11 pm (UTC)no subject
Date: 2010-02-12 05:10 pm (UTC)no subject
Date: 2010-02-12 05:17 pm (UTC)Прилично мозг разгружается, да.