Здравствуйте, Сергей Губанов, Вы писали:
СГ>Сложность в смысле сколько труда и времени надо затратить на освоение.
СГ>Если можно освоить за неделю — простое, если надо упражняться пару лет — это уже сложное.
За неделю освоить что? Операторы языка? Уже говорилось, что для мало-мальски опытного программиста это труда не составляет. Не знаю, верно ли это, но, имхо, язык — это часть среды разработки. Понятие среды включает в себя, кроме навороченного редактора с кучей диалоговых окон, также стандартные и нестандартные библиотеки, документацию... Добавьте, если я забыл что-то.
Естественно, среду можно изучать только в процессе работы над реальным проектом, который может продолжаться и больше, чем два года...
Что толку в простоте среды, если, выучив инструкции языка Паскаль (к примеру), я обнаруживаю, что у него нет ни раздельной компиляции, ни средств работы с внешними библиотеками. (Я не о Borland Pascal, а о том, описание которого занимает десяток страниц. Кстати, а сколько занимает описание среды разработки Borland Pascal?). Увидев, что я не могу использовать написанное мною ранее на (к примеру) Фортране, я, разумеется, возвращаюсь к старому доброму Фортрану. Он не отвечает, может быть, каким-то новым веяниям, зато разработка в этой среде займет меньше времени и сил, с учетом использования возможностей его среды (раздельная компиляция, подключение библиотек).
Так что в данном случае простота эта — та самая, которая хуже воровства...
А проект может продолжаться и больше, чем два года...
Re[4]: Сложность современных средств разработки ПО
Здравствуйте, AlexandrV, Вы писали:
AV>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>Здравствуйте, AlexandrV, Вы писали:
СГ>>>>Вирт цитирует фрагмент доклада своего коллеги из США: СГ>>>>
СГ>>>>Мне еще ни разу не попадался учебник по UNIX/C++/Java, который я мог бы освоить за неделю. Их учебники невозможно читать, они предполагают, что читатель принадлежит какой-то секте, чьи заклинания должны оставаться тайной для публики, и читателю не следует ожидать многого в плане надежности, связности или общей элегантности
AV>>>Наверное, дело все-таки в учебниках, которыми пользовался Вирт?
СГ>>Тогда уж не Вирт, а его коллега из США. СГ>>
СГ>>>>Вирт цитирует фрагмент доклада своего коллеги из США:
AV>Точно, извините, не Вирт, а его коллега, а Вирт, не проверив эти данные, и поверив своему коллеги, решил написать короткую книгу (из 30 листов) и под этот ограниченный объем создал язык??
Канэшна, ведь этож коллека из США! Из самой правильной страны, им можно на слово верить, самим-то нахрен читать учебники по каким-то мегасложным C++?
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Почему же не пожелал? В том выступлении Вирта содержится такая мысль: Современные средства разработки ПО слишком сложны, в то время как на самом деле они могли бы быть простыми. Надо обсуждать вопрос — почему современные системы разработки ПО стали такими сложными и как с этим бороться???
С мыслью, высказанной Виртом, я совершенно согласен.
Но (как мне кажется) слишком много внимания уделяется синтаксической "компактности" Оберона и слишком мало его действительному содержанию: Оберон — это скорее не язык, а именно технология, в некоторых случаях способная полностью заменить все альтернативные средства вместе взятые.
Как мне кажется, нет большого смысла рассматривать язык Оберон в отрыве от Оберон-систем.
Оберон является прежде всего промышленным языком, а то, что он пригоден и для целей обучения студентов, является дополнительным "бонусом", следствием качественной разработки языка.
СГ>Вирт цитирует фрагмент доклада своего коллеги из США: СГ>
СГ>Мне еще ни разу не попадался учебник по UNIX/C++/Java, который я мог бы освоить за неделю. Их учебники невозможно читать, они предполагают, что читатель принадлежит какой-то секте, чьи заклинания должны оставаться тайной для публики, и читателю не следует ожидать многого в плане надежности, связности или общей элегантности
В отношении UNIX я не согласен.
Например, книжка Кернигана и Пайка "UNIX programming enviroment" достаточно проста и вполне доступна начинающему.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Хоар
Re[2]: Сложность современных средств разработки ПО
S>Пардон, а что считается "сложным"? И с чем его сравнивают? Давай сравним C# 2.0 и Active Oberon. И посмотрим, настолько ли он проще, как обещали, и достаточно ли он выразителен. Для определенности поясню, что выразительностью языка я называю компактность записи программ. Я боюсь, что первый же шаблонный контейнер порвет Active Oberon по выразительности в клочки.
Злой ты какой то. Вся идеология Вирта прежде всего направлена и обучение с меньшими затратами и максимумом понимания. Еще раз в который раз повторюсь когда после фортрана и Васика для ДВК был выбор между С и Паскаль я выбрал второе о чем ни капли не жалею. Прекрасный трамплин.
Честно говоря не видел Oberon но дисскусия продвигается в сравнении несравнимого.
Или ты считаешь, что обучение должно идти с фреймворк 2.0 на любом из нетовских языков (уточню непонимаю почему обязательно C# их (языков) там и без него как грибов)
... << RSDN@Home 1.1.3 stable >>
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, AVC, Вы писали:
AVC>Но (как мне кажется) слишком много внимания уделяется синтаксической "компактности" Оберона и слишком мало его действительному содержанию: Оберон — это скорее не язык, а именно технология, в некоторых случаях способная полностью заменить все альтернативные средства вместе взятые.
А ведь, действительно, термин "технология" к оберонам очень подходит. Может быть, именно из-за того что оберон системы — это технология, способная заменить все остальные технологии, их во всем мире вообще, и на форуме RSDN в частности, воспринимают в штыки?
Вы сами-то, надеюсь, видите ограничения этой технологии?
Сергей Губанов wrote:
> Может быть, именно из-за того что оберон системы — это технология, > способная заменить все остальные технологии, их во всем мире вообще, > и на форуме RSDN в частности, воспринимают в штыки?
Здравствуйте, Сергей Губанов, Вы писали:
СГ>А ведь, действительно, термин "технология" к оберонам очень подходит. Может быть, именно из-за того что оберон системы — это технология, способная заменить все остальные технологии, их во всем мире вообще, и на форуме RSDN в частности, воспринимают в штыки?
Ого! Сергей, не стоит замахиваться на весь мир Конкуренция нескольких примерно одинаковых по возможностям технологий еще никому не вредила Я — за плюрализм!
Да и кроме того, положа руку на сердце, не дотягивает Оберон до такого mind-crashing уровня.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, AVC, Вы писали:
AVC>>Но (как мне кажется) слишком много внимания уделяется синтаксической "компактности" Оберона и слишком мало его действительному содержанию: Оберон — это скорее не язык, а именно технология, в некоторых случаях способная полностью заменить все альтернативные средства вместе взятые.
СГ>А ведь, действительно, термин "технология" к оберонам очень подходит. Может быть, именно из-за того что оберон системы — это технология, способная заменить все остальные технологии, их во всем мире вообще, и на форуме RSDN в частности, воспринимают в штыки?
Т.е. в том виде, каком Оберон сейчас есть, он позволяет обращаться к БД, делать WEB приложения, поддерживает распределенные транзакции и делает еще кучу подобной лабуды?
Re[2]: Сложность современных средств разработки ПО
Здравствуйте, Курилка, Вы писали:
К>Да, остаётся пожалеть 99% человечества, которое всё ещё использует эти "безумно сложные" C++/Java/C# и пр. К>Ну тупые видимо, не иначе...
Эти тупые они! Однозначно! Меня надо президентом сделать! Я пока все будут сапоги мыть в индейском океане — из страны конфетку сделаю. Однозначно!
Ну фанатам оберона обяснить то, что крупный проект на нём сделать не возможно никак не получается.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>А ведь, действительно, термин "технология" к оберонам очень подходит. Может быть, именно из-за того что оберон системы — это технология, способная заменить все остальные технологии, их во всем мире вообще, и на форуме RSDN в частности, воспринимают в штыки?
Тут на RSDN в штыки воспринимается чрезмерный фанатизм.
Вон функциональные языки тут тоже критиковали,
а в итоге целый форум получился, вполне конструктивный и интересный.
А то, что Оберон критикуют, дак это только во благо ему пойдет,
если у него вообще есть потенциал для развития.
Re[3]: Сложность современных средств разработки ПО
Здравствуйте, AndreyFedotov, Вы писали:
AF> Ну фанатам оберона обяснить то, что крупный проект на нём сделать не возможно никак не получается.
Несколько операционных систем написанных на оберонах — это, по Вашему, не несколько крупных проектов? То есть ОСь — это мелкий проект, а вот что-то работающее, например, с СУБД — это уже крупный проект.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, AndreyFedotov, Вы писали:
AF>> Ну фанатам оберона обяснить то, что крупный проект на нём сделать не возможно никак не получается.
СГ>Несколько операционных систем написанных на оберонах — это, по Вашему, не несколько крупных проектов? То есть ОСь — это мелкий проект, а вот что-то работающее, например, с СУБД — это уже крупный проект.
СГ>Может хватит попусту трепаться?
Установил я себе BlackBox — и, честно говоря пока не очень понял запустить простейши пример хелоо ворд, но уже его скомпилировал.
Но, мне кажется, что пройдет совсем немного времени, и blackbox (с обероном) станут примерно такими же монстрами, как и те средства разработки, которые вы называете сложными.
Re[6]: Сложность современных средств разработки ПО
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Нет не синтаксиса, а всего языка, описание синтаксиса (в EBNF) оберонов умещается на ОДНОЙ странице.
Я хочу на это посмотреть! Итак, одна страница — это примерно 60 строк текста. Если полное описание синтаксиса уместится в этот размер — я, пожалуй познакомлюсь с Обероном поближе.
Здравствуйте, wagtail, Вы писали:
W>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>Нет не синтаксиса, а всего языка, описание синтаксиса (в EBNF) оберонов умещается на ОДНОЙ странице.
W>Я хочу на это посмотреть! Итак, одна страница — это примерно 60 строк текста. Если полное описание синтаксиса уместится в этот размер — я, пожалуй познакомлюсь с Обероном поближе.
Ну, Вас никто за язык не тянул.
34 правила
54 строчки
Приложение B: Синтаксис Компонентного Паскаля
Module = MODULE ident ";" [ImportList] DeclSeq [BEGIN StatementSeq] [CLOSE StatementSeq] END ident ".".
ImportList = IMPORT [ident ":="] ident {"," [ident ":="] ident} ";".
DeclSeq = { CONST {ConstDecl ";" } | TYPE {TypeDecl ";"} | VAR {VarDecl ";"}} {ProcDecl ";" | ForwardDecl ";"}.
ConstDecl = IdentDef "=" ConstExpr.
TypeDecl = IdentDef "=" Type.
VarDecl = IdentList ":" Type.
ProcDecl = PROCEDURE [Receiver] IdentDef [FormalPars] MethAttributes
[";" DeclSeq [BEGIN StatementSeq] END ident].
MethAttributes = ["," NEW] ["," (ABSTRACT | EMPTY | EXTENSIBLE)].
ForwardDecl = PROCEDURE "^" [Receiver] IdentDef [FormalPars] MethAttributes.
FormalPars = "(" [FPSection {";" FPSection}] ")" [":" Type].
FPSection = [VAR | IN | OUT] ident {"," ident} ":" Type.
Receiver = "(" [VAR | IN] ident ":" ident ")".
Type = Qualident | ARRAY [ConstExpr {"," ConstExpr}] OF Type
| [ABSTRACT | EXTENSIBLE | LIMITED]
RECORD ["("Qualident")"] FieldList {";" FieldList} END
| POINTER TO Type
| PROCEDURE [FormalPars].
FieldList = [IdentList ":" Type].
StatementSeq = Statement {";" Statement}.
Statement = [ Designator ":=" Expr | Designator ["(" [ExprList] ")"]
| IF Expr THEN StatementSeq
{ELSIF Expr THEN StatementSeq}
[ELSE StatementSeq] END
| CASE Expr OF Case {"|" Case}
[ELSE StatementSeq] END
| WHILE Expr DO StatementSeq END
| REPEAT StatementSeq UNTIL Expr
| FOR ident ":=" Expr TO Expr [BY ConstExpr] DO StatementSeq END
| LOOP StatementSeq END
| WITH [ Guard DO StatementSeq ]
{"|" [ Guard DO StatementSeq ] }
[ELSE StatementSeq] END
| EXIT
| RETURN [Expr]
].
Case = [CaseLabels {"," CaseLabels} ":" StatementSeq].
CaseLabels = ConstExpr [".." ConstExpr].
Guard = Qualident ":" Qualident.
ConstExpr = Expr.
Expr = SimpleExpr [Relation SimpleExpr].
SimpleExpr = ["+" | "-"] Term {AddOp Term}.
Term = Factor {MulOp Factor}.
Factor = Designator | number | character | string | NIL | Set | "(" Expr ")" | " ~ " Factor.
Set = "{" [Element {"," Element}] "}".
Element = Expr [".." Expr].
Relation = "=" | "#" | "<" | "<=" | ">" | ">=" | IN | IS.
AddOp = "+" | "-" | OR.
MulOp = " * " | "/" | DIV | MOD | "&".
Designator = Qualident {"." ident | "[" ExprList "]" | " ^ " | "(" Qualident ")" | "(" [ExprList] ")"} [ "$" ].
ExprList = Expr {"," Expr}.
IdentList = IdentDef {"," IdentDef}.
Qualident = [ident "."] ident.
IdentDef = ident [" * " | "-"].
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Современные средства разработки ПО слишком сложны, в то время как на самом деле они могли бы быть простыми.
Современные средства разработки ПО сложны, потому что с их помощью решают сложные проблемы.
И так будет до тех пор, пока не изобретут компонент TProgrammer
P.S. Лом — тоже вот очень простой инструмент, проще практически некуда. А бульдозер — очень даже сложный, чтобы научиться им пользоваться тоже немало времени надо.
Но значит ли это, что выкопать фундамент под дом будет проще с помощью лома, чем с помощью бульдозера?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: Сложность современных средств разработки ПО
Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>Современные средства разработки ПО слишком сложны, в то время как на самом деле они могли бы быть простыми.
Д>Современные средства разработки ПО сложны, потому что с их помощью решают сложные проблемы. Д>И так будет до тех пор, пока не изобретут компонент TProgrammer
Д>P.S. Лом — тоже вот очень простой инструмент, проще практически некуда. А бульдозер — очень даже сложный, чтобы научиться им пользоваться тоже немало времени надо. Д>Но значит ли это, что выкопать фундамент под дом будет проще с помощью лома, чем с помощью бульдозера?
Почти то же самое хотел сказать
А еще лом надежен, универсален и никогда не подведет
Здравствуйте, Дарней, Вы писали:
Д>P.S. Лом — тоже вот очень простой инструмент, проще практически некуда. А бульдозер — очень даже сложный, чтобы научиться им пользоваться тоже немало времени надо. Д>Но значит ли это, что выкопать фундамент под дом будет проще с помощью лома, чем с помощью бульдозера?
Проще, но значительно тяжелее.
"Простой" и "тяжелый" — понятия разные. Скажем так, усложнение системы, как правило, делается с целью облегчения ее использования.
Здравствуйте, Дарней, Вы писали:
СГ>>Ну, Вас никто за язык не тянул.
Д>интересно, и что ты этим хотел доказать? Д>Что любой начинающий сможет прочитать эту страничку и сразу начать программировать? Д>
Вопрос был задан именно о размере описания синтаксиса:
>>описание синтаксиса (в EBNF) оберонов умещается на ОДНОЙ странице.
>>Я хочу на это посмотреть!
Кстати, описания синтаксиса C# в EBNF, насколько я понимаю, просто не существует