Re[10]: А вот за язык-то Вас никто не тянул...
От: Дарней Россия  
Дата: 04.11.04 13:38
Оценка: +1
Здравствуйте, mihoshi, Вы писали:

M>Кстати, описания синтаксиса C# в EBNF, насколько я понимаю, просто не существует


очень сильно ошибаешься
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[3]: Сложность современных средств разработки ПО
От: Дарней Россия  
Дата: 04.11.04 13:44
Оценка: 7 (2) +1
Здравствуйте, Privalov, Вы писали:

P>"Простой" и "тяжелый" — понятия разные. Скажем так, усложнение системы, как правило, делается с целью облегчения ее использования.


Просто аналогия не совсем точная. В случае программирования, упрощение инструментов не упростит сам процесс разработки программ; результат будет прямо противоположным.
Если убрать из языка циклы, то это не значит, что в программе не будет циклов. Они просто будут эмулироваться при помощи других средств. Хотя эта тема тут уже долго обсуждалась.
Чем проще будет язык программирования, тем больше программисту придется эмулировать своими силами
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: А вот за язык-то Вас никто не тянул...
От: wagtail  
Дата: 04.11.04 13:51
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Ну, Вас никто за язык не тянул.




СГ>Приложение B: Синтаксис Компонентного Паскаля


Хм... А компонентный паскаль и оберон — суть одно и то же разве?

СГ>Обещали — исполняйте, вот ссылочка: http://www.inr.ac.ru/~info21/cpascal/cp_report_1.4_rus.htm


Легла в букмарки. Как с делами развяжусь — утащу домой, гляну
Re[9]: А вот за язык-то Вас никто не тянул...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 04.11.04 13:57
Оценка:
Здравствуйте, wagtail, Вы писали:

W>Хм... А компонентный паскаль и оберон — суть одно и то же разве?


Всяких оберонов полно. Компонентный Паскаль — усовершенствованная версия языка Оберон-2, разработанная компанией Oberon microsystems.

Про оригинальный 1-вый Оберон там:
http://www.oberon.ethz.ch/compiler/index.html#report
Re[10]: А вот за язык-то Вас никто не тянул...
От: bkat  
Дата: 04.11.04 13:59
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Кстати, описания синтаксиса C# в EBNF, насколько я понимаю, просто не существует


Ну в каком-то виде обязательно существует.
Раз есть компилятор, то обязана быть и спецификация языка,
включая синтаксис (простая часть) и семантику (менее тривиальная часть).
Re[4]: Сложность современных средств разработки ПО
От: AndreyFedotov Россия  
Дата: 04.11.04 15:04
Оценка: 9 (3) +5
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Ну фанатам оберона обяснить то, что крупный проект на нём сделать не возможно никак не получается.


СГ>Несколько операционных систем написанных на оберонах — это, по Вашему, не несколько крупных проектов? То есть ОСь — это мелкий проект, а вот что-то работающее, например, с СУБД — это уже крупный проект.


СГ>Может хватит попусту трепаться?


Вы кое что забыли. Кое что очевидное. Есть такая 32 битная, многопточная ОС ADRT. Она гораздо удобнее, проще и легче в освоении чем Windows или Linux. Программы, написанные под неё работают с проиводительностью несколько миллиардов операций в секунду. В своей области у неё нет конкурентов. Более того — если считать число копий, то она возможно уже догнала Windows. Так где же она?
Это ОС для DSP Analog Devices — и используется она для упрощения их программирования. И она действительно гораздо проще и Windows и Linux. И DSP на которых она используется при той же тактовой частоте гораздо производительнее Penium IV/Athlon/Duron...
Ну написали на обероне ОС. Да хоть 10. Ну и что. В интституте еждегодно народ по нескольку операционок для проверки полученных знаний и демонтсрации крутизны пишет. И попадаются даже весьма удачные экземпляры. То же самое и с БД.
Но всё это ничего не значит, пока ОС или БД не стала использоваться так широко как Windows или хотя бы Linux. Потому, как многие проблемы всплывут и будут очевидны именно тогда, а не пока этой ОС или БД восхищённо любуются и ничего особенного — крупного и коммерчески выгодного не делают. Ах да! 2-3 коммерчески успешных проекта под каждую такую ОС? Ну так и под DOS можно при желании написать проект гораздо сложнее, чем среднестатистический проект под Windows. Более того их и писали.
Оберон проще и легче изучать? Прекрасно. Но программа то это не только язык. Об этом тут сказали уже кучу раз. Это ещё и библиотеки, средства разработки, инструменты, которые прозволяют её отлаживать. Вы уверены, что кривой WinAPI станет на обероне вдруг прямым? Или как обычно — до основанья, а затем?
Re: Сложность современных средств разработки ПО
От: ON  
Дата: 04.11.04 16:48
Оценка: +1 -1
Имхо, если программа не системная, т.е. ее цель не устранить недостатки системы, а быть чем-то самостоятельно полезным, то с некоторого объема уже без разницы на чем писать. И объем этот очень не велик, скажем 10000 строк. Программист делает интерфейс между системой исполнения и представлениями предметной области, затем основную часть пишут уже в понятиях предметной области. И тут уже любой язык начинает мешать, если это не тот язык на котором оформлена постановка задачи. Там уже совершенно безразлично скобочки там или begin-end, убирается мусор или нет.
Posted via RSDN NNTP Server 1.9 gamma
Re: Сложность современных средств разработки ПО
От: Дарней Россия  
Дата: 05.11.04 06:16
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

Да, кстати говоря... кажется, тобой упоминалось о том, что Оберон задумывался как нечто вроде ОО ассемблера.
Есть и другой такой язык — это MSIL Только я ни разу не слышал, чтобы кто-нибудь предлагал начинать обучение программированию именно с него Да и просто писать на нем желающих довольно мало.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[4]: Сложность современных средств разработки ПО
От: Privalov  
Дата: 05.11.04 08:27
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Privalov, Вы писали:


P>>"Простой" и "тяжелый" — понятия разные. Скажем так, усложнение системы, как правило, делается с целью облегчения ее использования.


Д>Просто аналогия не совсем точная. В случае программирования, упрощение инструментов не упростит сам процесс разработки программ; результат будет прямо противоположным.


Правильно. Так я ведь и говорил: не упрощения, а облегчения. Процесс разработки ПО вряд ли вообще можно упростить, а вот облегчить — задача каждого разработчка, в первую очередь разработчика систем программирования

Д>Если убрать из языка циклы, то это не значит, что в программе не будет циклов. Они просто будут эмулироваться при помощи других средств. Хотя эта тема тут уже долго обсуждалась.

Д>Чем проще будет язык программирования, тем больше программисту придется эмулировать своими силами

Естественно, кто же спорит. Где-то раньше и я говорил о том, что это та самая простота, которая хуже воровства...
Re[5]: Сложность современных средств разработки ПО
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.11.04 08:31
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Здравствуйте, Дарней, Вы писали:


Д>>Если убрать из языка циклы, то это не значит, что в программе не будет циклов. Они просто будут эмулироваться при помощи других средств. Хотя эта тема тут уже долго обсуждалась.

Д>>Чем проще будет язык программирования, тем больше программисту придется эмулировать своими силами

P>Естественно, кто же спорит. Где-то раньше и я говорил о том, что это та самая простота, которая хуже воровства...

P>

Ага, только вот такое ощущение, что до Сергея это как-то ну совсем не доходит
Re[8]: А вот за язык-то Вас никто не тянул...
От: AndreyFedotov Россия  
Дата: 05.11.04 10:51
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

Ещё одно доказательство того, что кое-кто выдаёт желаемое за действительное. Такое описание не один нормальный человек не воспримет. А в заковырестой нотации можно умудриться сделать C++ компактнее чем Паскаль. Но это не означает ещё — что тот или иной язык проще освоить или им легко пользоваться.
Лучше сравнить два адекватных по качеству описания обоих языков на естественном языке. А по той нотации, что здесь дана можно оберон до второго пришествия изучать...
Re[3]: Технология
От: AVC Россия  
Дата: 05.11.04 11:06
Оценка: 22 (4) +2 -2
Здравствуйте, Сергей Губанов, Вы писали:

СГ>А ведь, действительно, термин "технология" к оберонам очень подходит. Может быть, именно из-за того что оберон системы — это технология, способная заменить все остальные технологии, их во всем мире вообще, и на форуме RSDN в частности, воспринимают в штыки?


Такое предположение можно сделать в отношении крупных компаний, стремящихся устранить конкурентов своим ОС и языкам программирования. Яркий пример — Microsoft. Но они борются отнюдь не только с Обероном, а со всеми: с UNIX, с Linux и т.д.
Что же касается "критики" в адрес Оберона на RSDN, то здесь верно скорее обратное: многие участники форума не представляют, в чем именно заключается альтернативность Оберона. Я делаю такой вывод на основании здешних "постов".
Это говорит о том, что мы "не с той стороны подошли к кобыле".
Наверное, надо начать с того, что такое сложность ПО, и каким образом Оберон пытается решить эту проблему. Показать, что продуманная ОС — не сложнее компилятора, а обратное — предрассудок. Что компонентное программирование есть просто естественное развитие идеи раздельной компиляции. Что именно поэтому в Обероне нет шаблонов. И т.д., и т.п.
Т.е. надо менять собственный подход к обсуждению вопроса.
Конечно, это только моя точка зрения, и ее можно и нужно критиковать.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[9]: А вот за язык-то Вас никто не тянул...
От: TheBeard Россия  
Дата: 05.11.04 11:23
Оценка: 12 (1) +1 -1
Вы уж извините, Андрей, но такое письмо онозначно характеризует автора
как полнейшего дилетанта в программировании. EBNF (Extended Backus-Naur
Form) — это де-факто стандартный способ описания синтаксиса языка
программирования уже в течение лет 20. Подобные описания используются
для синтаксического анализа в компиляторах (вы с YACC когда-нибудь
работали?). И речь в этом топике именно о формальном описании грамматики
языка и шла.

Вы, видимо, имели в виду описание _семантики_ языка, но это совсем
другая история. Замечу, что и в этом отношении С++ много сложнее Оберона.

AndreyFedotov wrote:

> Здравствуйте, Сергей Губанов, Вы писали:

>
> Ещё одно доказательство того, что кое-кто выдаёт желаемое за
> действительное. Такое описание не один нормальный человек не
> воспримет. А в заковырестой нотации можно умудриться сделать C++
> компактнее чем Паскаль. Но это не означает ещё — что тот или иной
> язык проще освоить или им легко пользоваться. Лучше сравнить два
> адекватных по качеству описания обоих языков на естественном языке.
> А по той нотации, что здесь дана можно оберон до второго
> пришествия изучать...
Posted via RSDN NNTP Server 1.9 gamma
Re[10]: А вот за язык-то Вас никто не тянул...
От: AVC Россия  
Дата: 05.11.04 12:51
Оценка:
Здравствуйте, TheBeard, Вы писали:

TB>Вы уж извините, Андрей, но такое письмо онозначно характеризует автора

TB>как полнейшего дилетанта в программировании. EBNF (Extended Backus-Naur
TB>Form) — это де-факто стандартный способ описания синтаксиса языка
TB>программирования уже в течение лет 20. Подобные описания используются
TB>для синтаксического анализа в компиляторах (вы с YACC когда-нибудь
TB>работали?). И речь в этом топике именно о формальном описании грамматики
TB>языка и шла.

Если я ничего не путаю, то YACC работает не с EBNF, а с BNF, т.е. с (лево)рекурсивным представлением грамматики без циклов.
Например:
список: элемСписка
| ',' элемСписка
;

А Вирт пользуется именно EBNF, например:
список = элемСписка { ',' ЭлемСписка }

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[11]: А вот за язык-то Вас никто не тянул...
От: AVC Россия  
Дата: 05.11.04 12:56
Оценка:
Опечатка, sorry!

AVC>Например:

AVC>список: элемСписка
AVC> | ',' элемСписка
AVC> ;


Конечно, так "правильнее":
список: элемСписка
| список ',' элемСписка
;

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[10]: А вот за язык-то Вас никто не тянул...
От: AndreyFedotov Россия  
Дата: 05.11.04 13:28
Оценка: +2
Здравствуйте, TheBeard, Вы писали:

О том, что такое EBNF я прекрасно знаю. И прекрасно знаю, что не только оберон, но и многие другие языки обладают синтаксисом на страницу или меньше.
Посмотри на исходную посылку. Она была (поправь, если я ошибаюсь), что простота языка означает и большую простоту написания программ. Она сама по себе спорна. Потом была сделано второе предположение. Критерий простоты языка его представление в форме EBNF. Что опять таки крайне спорно. Простой синтаксис и простой язык не одно и то же. Думаю синтаксис ассеблера вообще займёт две-три строчки. Это не означает, что ассемблер проще чем С++ или Оберон и что программировать на нём проще.
И опять таки, несмотря на то, что EBNF очень старая, полезная и признаная форма, вопрос о том, является ли компактность описания языка в этой форме критерием его простоты (не теоретической, а практической) — очень спорен (см. ассеблер).
И вполне допускаю, что возможно придумать такое представление языка, в котором более сложные языки (такие как C++ или Java или C#) будут выглядет проще, чем более простые. Допустим для простоты опысывать каждый язык аналогичным кодом на C++. Естественно в таком представлении C++ окажется самым простым языком. Но будет ли это правильно? Будет ли такое представление отражать реали программирования?
Re[11]: А вот за язык-то Вас никто не тянул...
От: TheBeard Россия  
Дата: 05.11.04 13:32
Оценка:
Совершенно верно. EBNF легко переводится в BNF, AFAIK она (EBNF) была
введена для более компактного описания грамматики в печатных изданиях.

AVC wrote:

>

> Если я ничего не путаю, то YACC работает не с EBNF, а с BNF, т.е. с (лево)рекурсивным представлением грамматики без циклов.
Posted via RSDN NNTP Server 1.9 gamma
Re[11]: А вот за язык-то Вас никто не тянул...
От: TheBeard Россия  
Дата: 05.11.04 14:04
Оценка:
Я, пожалуй, поясню подробнее, что именно мне не понравилось:

> Такое описание не один нормальный человек не воспримет.


Как раз EBNF и является наиболее естественным описанием грамматики.
Правда, не для человека, а для программиста

> А в заковырестой нотации можно умудриться сделать C++ компактнее чем Паскаль


Сильно сомневаюсь, интуиция протестует. Поскольку соответствующим мат.
аппаратом не владею, вот ссылка на исследование в этой области:
http://www.cs.clemson.edu/~malloy/research/iwpc2000/paper/paper/paper.html
. Вот здесь
(http://www.cs.clemson.edu/~malloy/research/iwpc2000/paper/paper/node8.html)
есть некоторые численные результаты.
Posted via RSDN NNTP Server 1.9 gamma
Re[12]: А вот за язык-то Вас никто не тянул...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 05.11.04 14:44
Оценка:
Здравствуйте, TheBeard, Вы писали:

TB> есть некоторые численные результаты.


В добавок:
http://www.uni-vologda.ac.ru/cs/syntax/ariphm.htm

Элементы         Мodula2 Оberon Оberon2  Си   Си++  Java  Ада  
Лексемы          887     765    726      917  1662  1771  2206  
Нетерминалы      70      62     43       917  126   174   226  
Терминалы        88      90     91       123  131   121   102  
Служебные слова  39      32     34       27   47    48    63

Re[12]: А вот за язык-то Вас никто не тянул...
От: AndreyFedotov Россия  
Дата: 05.11.04 15:29
Оценка: 2 (2) +3
Здравствуйте, TheBeard, Вы писали:

TB>Я, пожалуй, поясню подробнее, что именно мне не понравилось:


>> Такое описание не один нормальный человек не воспримет.


TB>Как раз EBNF и является наиболее естественным описанием грамматики.

TB>Правда, не для человека, а для программиста

Тогда посмотрим на это с другой стороны. Если мы опросим нормальных людей — хотя бы здесь на RSDN — считают ли они нормальным человеком того, кто учит язык по его EBNF нотации вместо обычных книг и документации — интересно — а какой ответ мы получим?
И не в этом ли проблема Вирта с его коллегой?

>> А в заковырестой нотации можно умудриться сделать C++ компактнее чем Паскаль


TB>Сильно сомневаюсь, интуиция протестует. Поскольку соответствующим мат.

TB>аппаратом не владею, вот ссылка на исследование в этой области:
TB>http://www.cs.clemson.edu/~malloy/research/iwpc2000/paper/paper/paper.html
TB>. Вот здесь
TB>(http://www.cs.clemson.edu/~malloy/research/iwpc2000/paper/paper/node8.html)
TB>есть некоторые численные результаты.
С числами согласен. Они относятся к EBNF и думаю совершенно справделивы Как сделать нотацию в которой самый компактный C++ (С#, Java или даже Oberon) — я показал.
Но суть не в конкретной нотации и её обоснованности, а в том, можно ли вообще считать простоту языка в некоторой нотации критерием его большей полезности или эффективности. И привел пример — ассемблер. Вот уж чья нотация проще некуда. Но попробуйте на неё что-нибудь написать!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.