OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 15:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 01:56 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
http://zouev.blogspot.com/2010/03/code- ... net-c.html
Евгений Зуев в своем блоге пишет:
Цитата:
В последней (четвертой) версии .NET и, соответственно, в VS2010, появились средства спецификации параметров, пред- и постусловий, инвариантов классов и всего того, что с подачи Бертрана Майера называется Code Contracts или Design by Contract.
...
Но вот как быть с такими промышленными языками, как Eiffel и Scala? С введением поддержки контрактного программирования C# практически полностью "покроет" почти все преимущества Эйфеля, а то немногое особенное, что еще есть в этом языке, вряд ли окажется причиной выбора этого языка для реальных проектов. И сейчас не очень понятно, какова популярность Эйфеля как такового (в индексе TIOBE он сильно ниже первых пятидесяти языков), а его присутствие в мире .NET кажется совершенно эфемерным...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 09:58 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Спасибо. Интересно.
Но мне думается, что более перспективным был бы путь TopSpeed. Не в один язык все впихнуть, а разрешить в рамках одной программы писать на разных языках. В одной среде, да еще с интерпретатором это легко слделать. Зато можно каждый отдельный язык оптимизировать по полной.
А так получается монcтр, как в комментах заметили, типа PL-1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 11:22 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Валерий Лаптев писал(а):
Спасибо. Интересно.
Но мне думается, что более перспективным был бы путь TopSpeed. Не в один язык все впихнуть, а разрешить в рамках одной программы писать на разных языках. В одной среде, да еще с интерпретатором это легко слделать. Зато можно каждый отдельный язык оптимизировать по полной.

Кто такое TopSpeed?
Собственно в рамках одной программы никто не мешает писать на разных языках и сейчас -- см. .net/java, да и в обычной программулине нативненькой никто не мешает мешать множество языков в рамках одного бинаря.

Вопрос лишь в том, на сколько это удобно. И насколько много придется прослоек делать для конвертации форматов данных и, самое главное, конвертации абстракций из одного ЯП в другой.

Я например слабо себе представляю как какие-нибудь type classes из хаскеля + тамошний вывод типов конвертировать в какую-нибудь скажем те Аду. Или, того хуже, в какой-нибудь пролог :-)

Валерий Лаптев писал(а):
А так получается монcтр, как в комментах заметили, типа PL-1.

Это я и заметил в оных комментариях :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 11:26 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
TopSpeed, о-о-о-о, это история! Модула-2, Кларион и пр.:

http://www.nf-team.org/drmad/stuff/t.htm (тут Топспидом кличут среду, но не суть)

http://www.infocity.kiev.ua/db/content/db052.phtml

http://ru.wikipedia.org/wiki/JPI:

Цитата:
Jensen & Partners International образовалась выходом из Borland International в 1987 году[1], когда Нильс Йенсен (один из основателей Borland International и вице-президент) вместе с группой разработчиков покинул ее[2] из-за расхождения во взглядах на качество компиляторов. В то время президент компании[3] выпустил, чтобы не отставать от Microsoft, очередную версию компилятора Си, весьма недоделанную.

JPI вышли на рынок с уникальным продуктом, аналогов которому нет до сих пор - TopSpeed JPI. Идеалогия этого продукта заключалась в том, что под единой интегрированной средой разработки были объединены такие языки программирования как Assembler 80x86, Pascal, Modula-2, Ada, C, С++, Fortran. Оптимизирующие трансляторы, объединённые единым мощным компилятором-кодогенератором, общими библиотеками, общим компоновщиком и общей интегрированной пользовательской средой с отладчиком. Группа разработчиков могла работать над единым проектом на разных языках.

TopSpeed JPI выполнял генерацию кода для трех операционных сред: DOS, Windows, OS/2.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 11:37 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Валерий Лаптев писал(а):
Не в один язык все впихнуть, а разрешить в рамках одной программы писать на разных языках. В одной среде, да еще с интерпретатором это легко сделать. Зато можно каждый отдельный язык оптимизировать по полной.
То есть путь .NET'а...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 12:24 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Geniepro писал(а):
То есть путь .NET'а...
Не, у дотнета рантайм узковат. Языки под него либо будут все одинаковыми, либо неэффективными.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 12:35 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Любая попытка приведения языков к общему высокоуровневому знаменателю влечет за собой именно это.

Ну и соответственно неизбежно появляется God Language который объемлет всё. В случае .net'a это C#.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 12:38 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Иван Кузьмицкий писал(а):
http://ru.wikipedia.org/wiki/JPI:

Цитата:
Идеалогия этого продукта заключалась в том, что под единой интегрированной средой разработки были объединены такие языки программирования как Assembler 80x86, Pascal, Modula-2, Ada, C, С++, Fortran.


Ну, т.е. объединяла в себе однотипные и родственные языки. Если бы они сюда умудрились бы скажем sml или ocaml красиво увязать, или там prolog какой, тогда имело бы смысл посмотреть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 13:01 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вот на Эльбрусах увязывались разные семейства. Посмотрите Сафронова на ОберонКоре, интересная книга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 14:20 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Сергей Губанов писал(а):
Не, у дотнета рантайм узковат. Языки под него либо будут все одинаковыми, либо неэффективными.

VB.NET, F#, Nemerle, Boo -- довольно сильно отличаются от C# или Managed С++, однако реализованы достаточно эффективно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 15:29 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Geniepro писал(а):
VB.NET, F#, Nemerle, Boo
Не знаю про экзотику, а VB.NET - те же яйца что и C#, только вид сбоку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 16:03 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Сергей Губанов писал(а):
Geniepro писал(а):
VB.NET, F#, Nemerle, Boo
Не знаю про экзотику, а VB.NET - те же яйца что и C#, только вид сбоку.

Это "экзотика" отныне входит в стандартную поставку VS 2010.
По крайней мере F#.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 18:16 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Так F#-пу может расширяемые собственнозначные записи и собственозначные массивы с модульность может и не нужны?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Вторник, 30 Март, 2010 19:19 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Сергей Губанов писал(а):
Так F#-пу может расширяемые собственнозначные записи и собственозначные массивы с модульность может и не нужны?


Под собственнозначностью подразумевается размещение на стеке?
Вообще, вначале рекомендую ознакомиться с F#. А то сейчас начнется разговор слепого с глухим :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Среда, 31 Март, 2010 00:43 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Alexey Veselovsky писал(а):
Вообще, вначале рекомендую ознакомиться с F#.
Мне лично жалко моего времени на обрубок OCaml. Сейчас много разных бездумных экспериментов с ФЯ (мода).
В моей области (встроенные приложения) пользы от ФЯ нет.
Впрочем, готов пересмотреть свою позицию, если кто-нибудь здесь внятно объяснит пользу от F#, вместо барственной "рекомендации".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Среда, 31 Март, 2010 06:15 

Зарегистрирован: Понедельник, 25 Февраль, 2008 08:42
Сообщения: 125
Alexey Veselovsky писал(а):
Иван Кузьмицкий писал(а):
http://ru.wikipedia.org/wiki/JPI:

Цитата:
Идеалогия этого продукта заключалась в том, что под единой интегрированной средой разработки были объединены такие языки программирования как Assembler 80x86, Pascal, Modula-2, Ada, C, С++, Fortran.


Ну, т.е. объединяла в себе однотипные и родственные языки. Если бы они сюда умудрились бы скажем sml или ocaml красиво увязать, или там prolog какой, тогда имело бы смысл посмотреть.

"Visual Prolog - логический и объектно-ориентированный язык программирования, который развивался от Turbo Prolog и PDC Prolog. Visual Prolog поставляется с интегрированной средой разработки. Язык полностью компилируется и может быть связан, например, с C++ кодом"

" Objective C. Это компилируемый объектно-ориентированный язык программирования корпорации Apple, построенный на основе языка Си и парадигм Smalltalk".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Среда, 31 Март, 2010 07:16 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
AVC писал(а):
Alexey Veselovsky писал(а):
Вообще, вначале рекомендую ознакомиться с F#.
Мне лично жалко моего времени на обрубок OCaml.
F# нельзя назвать обрубком Окамля -- в режиме совместимости с Окамлем компилятор F# может просто скомпилировать программу на Окамле.

У F# есть некоторые отличия от Окамля -- (необязательные) значимые отступы, система типов (ООП-часть) немного подстроена под .NET (хотя и не полностью похожа на C#) -- ориентация на .NET. То есть F# можно назвать Ocaml.NET...

AVC писал(а):
В моей области (встроенные приложения) пользы от ФЯ нет.
Впрочем, готов пересмотреть свою позицию, если кто-нибудь здесь внятно объяснит пользу от F#, вместо барственной "рекомендации".

Есть примеры использования ФЯ в вашей области. Например, во втором номере журнала "Практика ФП" упоминался коммерческий проект языка для девайса с очень ограниченными ресурсами. Сам язык, правда, был больше императивным, чем функциональным, но транслятор его был написан на Окамле.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Среда, 31 Март, 2010 07:22 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Сергей Губанов писал(а):
Так F#-пу может расширяемые собственнозначные записи и собственозначные массивы с модульность может и не нужны?

F# -- это .NET'овский язык. Если это не нужно в C#, значит без этого вполне можно жить.
Модули в F# есть, но они отображаются в .NET'овские классы. Можно ли делать выгружаемые модули -- не знаю, не сталкивался с такой нуждой, но раз что-то подобное можно делать вообще в .NET (что-то в районе application domain, вроде бы), то можно сделать и в F#...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Среда, 31 Март, 2010 10:46 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Ну, F# интересен уже тем, что там есть понятия единиц измерения (размерности), и это входит в систему типов (опционально, т.е. можно пользоваться а можно нет).

Да, речь идет о тех самых размерностях что используются столь широко в физике, а не о какой-то очередной абстрактной фигне :-)

В OCaml'e этого нет. Более того, я подобного не видел ни в одном другом ЯП.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Code Contracts в .NET и монополия C#
СообщениеДобавлено: Среда, 31 Март, 2010 10:51 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
AVC писал(а):
Alexey Veselovsky писал(а):
Вообще, вначале рекомендую ознакомиться с F#.
Мне лично жалко моего времени на обрубок OCaml. Сейчас много разных бездумных экспериментов с ФЯ (мода).
В моей области (встроенные приложения) пользы от ФЯ нет.
Впрочем, готов пересмотреть свою позицию, если кто-нибудь здесь внятно объяснит пользу от F#, вместо барственной "рекомендации".

А .net вообще каким боком ко встроенным приложениям?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB