LINUX.ORG.RU

F# опубликован под свободной лицензией

 , ,


1

1

Язык программирования F# (компилятор и основные библиотеки), разрабатываемый компанией Microsoft и работающий под .NET и Mono, опубликован под лицензией Apache 2.0.

Загрузить F# можно отсюда, прочитать спецификацию — здесь.

>>> Подробности

★★★★

Проверено: post-factum ()
Последнее исправление: post-factum (всего исправлений: 2)

Ответ на: комментарий от Macil

>Кстати говоря, эта концепция была реализована в языке Simula. Это к вопросу ООП.

коссподи. Эта концепция была реализована во всех параллельных ЯП. И в фортране (убивце симулы) тоже.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

> Важнейшее, что есть в микроядре, это обмен сообщениями вместо прямого вызова функций.

Ну собственно это как бы вытекает из того что я сказал выше.

Это полный уход от ООП. Вернее, ортогональный переход с локальной модели исполнения задачи на сетевую.

Ооо, как все запущенно. Переход с локальной модели на сетевую - не более чем следствие использования ООП в полную силу. Никаким уходом от ООП тут и не пахнет.

При этом наивно предполагается, что как и в случае с сетью, компрометация одного узла (процесса) не вызовет компрометацию всей сети (ядра).

А вот это уже вопрос реализации подсистемы безопасности. К слову - в unix way с безопасностью вообще полная беда - там наивно полагается что злоумышленник никогда не получит рутовых привелегий.

Хорош или плох вендувс, но он доминирует...

Именно! Он доминирует. И не надо говорить про рекламу, агресивный маркетинг и анальные зонды - есть области где все это мелкософту ни разу не помогла раз, два - все это, и в гораздо большем кол-ве было и есть у тех же IBM и какой результат? Где полуось и где винда? Где лотус нотес и эксчендж? Видимо все дело в том что мелкомягкие продукты лучше решали типовые задачи пресловутого «обычного юзера»...

лисп, хаскель смотрят на тебя, как на ...

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

anonymous
()
Ответ на: комментарий от AVL2

> У мекрософта патентов не меньше. А насчет копирайта, опять мимо. Одним из следствий работы комитета стало то, что jvm несколько. И у всех разный копирайт А затем появился openjdk под свободной лицензией.

Лицензия ≠ copyright. Лицензия OpenJDK позволяет использовать код в рамках GPL, Oracle же, как владелец копирайта может делать с этим кодом всё что угодно. Как то так.

Насчёт терминов вроде «сторона тьмы» — я бы ими не разбрасывался, мир, ИМХО, устроен несколько сложнее, чем кино про звёздные войны.

Моно, как и джава, не нужен. Но джава имеет историю, а моно нет.

Вполне понятная позиция. Я вполн мог бы с ней согласится — НО. Но спрос на стандартизированную виртуальную машину есть, а реальных альтернатив этим 2-м продуктам нету. И если мы боремся с Mono — мы боремся и за монополию Java. А любая монополия — чревата.

Не может никакая лицензия защитить от патентов.

Apache 2.0 требует передачи патентов в общее пользование. Сторона, начавшая патентную тяжбу лишается всех переданных ей прав в отношении патентов и кода. http://www.opensource.org/licenses/apache2.0.php — пункт 3.

be_nt_all ★★
()
Ответ на: комментарий от anonymous

> Где полуось и где винда? Где лотус нотес и эксчендж? Видимо все дело в том что мелкомягкие продукты лучше решали типовые задачи пресловутого «обычного юзера»...

Если вы помните время борьбы OS/2 vs. Windows 95 — то могли заметить несколько моментов.

1) Чисто технологически OS/2 была более качественным продуктом. С точки зрения пользовательского интерфейса преимущества Windows 95 тоже не были так уж очевидны.

2) Неадекватность маркетинга IBM. Они активно тратили деньги на рекламу, ролик полуоси крутился к примеру на euro-MTV, но насколько это всё было невнятно, безадресно и бездарно.

3) Microsoft активно работал со сторонними производителями ПО. Насколько это была честная конкуренция, не знаю (суд решил, что нет) — но в результате этого самого стороннего ПО для OS/2 было просто мало.

А вообще, я ни разу не понял, чем лидирующее положение OC Windows на десктопах может помочь ей стать тем, о чём вы тут писали. Все эти виртуальные красоты «хомячкам» и «офисному планктону» не нужны.

be_nt_all ★★
()
Ответ на: комментарий от yaws

Скажем так, к APL 2.0 больше доверия. Но если у Scala нормальная лицензия BSD, тогда разницы никакой.

los_nikos ★★★★★
()
Ответ на: комментарий от be_nt_all

> В чём? Где эта чудесная СУБД, которая всех нас спасёт. И чем она лучше той, у которой слоник на логотипе.

Даже не в курсе, что это за СУБД, но слонику до многих явно долго, далеко и раком.

Недавно в слонике надо было сделать простую операцию:

Есть две таблицы. У каждой есть primary key, к-во строк порядка 10 миллионов, размер на диске где-то 5 гигабайт.

Надо обновить первую таблицу данными из второй, объединяя их по primary key.

SQL выглядит так:

UPDATE destination_table d SET something = s.something FROM source_table s WHERE d.primary_key=s.primary_key

Слоник решил, что самый мудрый план - сделать sequential scan по ОБОИМ таблицам. 10 000 000 000 000 операций. Писец... Слава open source.

rtvd ★★★★★
()
Ответ на: комментарий от anonymous

> виртуальная машина и БД в качестве хранилища объектов. Никаких файлов, никакой привязки прикладных программ к конкретному железу (у той же AS/400 менялась архитектура используемых CPU что никак не повлияло на работоспособность прикладных программ, даже перекомпиляция не потребовалась), единое поле памяти (ОЗУ фактически превращается в еще один уровень кеша между CPU и HDD). Мы к этому придем - это неизбежно

...как крах капитализма!

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

> Переход с локальной модели на сетевую - не более чем следствие использования ООП в полную силу. Никаким уходом от ООП тут и не пахнет.

Обмен сообщениями вообще никак с ООП не связан (и придуман много раньше). Ты еще скажи, что любой сетевой протокол - это ООП.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Обмен сообщениями вообще никак с ООП не связан (и придуман много раньше).

Вообще-то - связан. А то что придуман много раньше - ну и что? ООП не на пустом месте создавалось и в нем есть много чего, что придумано «много раньше».

anonymous
()
Ответ на: комментарий от anonymous

>> Обмен сообщениями вообще никак с ООП не связан (и придуман много раньше).

Вообще-то - связан.

Вообще-то нет. Есть понятие «протокол», вот с ним обмен сообщениями связан. Но ООП - это гораздо больше, чем протоколы.

tailgunner ★★★★★
()
Ответ на: комментарий от be_nt_all

> Все эти виртуальные красоты «хомячкам» и «офисному планктону» не нужны.

А им вообще ничего из подобных фундаментальных вещей в чистом виде не нужно - им нужно то что из этого проистекает. В данном случае - результатом будет упрощение пользования компом. Для примера - ты думаешь ну например PnP был им нужен? Да ни разу - платы внутрь компа все равно не они втыкают и джаперы на них не они перетыкали. Но вот USB - то что они могут воткнуть флешку и больше ни очем не париться - это им нужно. А это - тоже PnP.

anonymous
()
Ответ на: комментарий от tailgunner

> Вообще-то нет. Есть понятие «протокол», вот с ним обмен сообщениями связан. Но ООП - это гораздо больше, чем протоколы.

Эээ, не путайте горячее с мокрым. А чтоб проще было, сформулируйте основные концепции объектно-орентированного подхода... Обмен сообщениями как метод взаимодействия объектов друг с другом - базовая концепция ООП.

anonymous
()
Ответ на: комментарий от anonymous

> Обмен сообщениями как метод взаимодействия объектов друг с другом - базовая концепция ООП.

Еще раз: ООП - это гораздо больше, чем обмен сообщениями. Является ли, например, протокол FTP объектно-ориентированным?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Еще раз: ООП - это гораздо больше, чем обмен сообщениями. Является ли, например, протокол FTP объектно-ориентированным?

А вы понимаете разницу между необходимыми и достаточным условиями?

anonymous
()
Ответ на: комментарий от anonymous

>> Еще раз: ООП - это гораздо больше, чем обмен сообщениями. Является ли, например, протокол FTP объектно-ориентированным?

А вы понимаете разницу между необходимыми и достаточным условиями?

Да, понимаю. А ты на вопрос ответишь?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Да, понимаю. А ты на вопрос ответишь?

Да собственно ответил - где я утверждал что обмен сообщениями это достаточное условие для ООП? Правильно, нигде. О следовательно Вы сейчас спорите не со мной, а с голосами в своей голове. Вы приписали мне утверждение, которого не было и начали с ним спорить. Не смешно ли? Мне - да.

anonymous
()
Ответ на: комментарий от anonymous

> Вы приписали мне утверждение, которого не было

Неужели? Вот этого утвержедения не было: «Переход с локальной модели на сетевую - не более чем следствие использования ООП в полную силу»?

и начали с ним спорить.

Я задал вопрос, на который ты так и не ответил.

Вы сейчас спорите не со мной, а с голосами в своей голове.

Ты сейчас переваливаешь с больной головы на здоровую.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Вот этого утвержедения не было: «Переход с локальной модели на сетевую - не более чем следствие использования ООП в полную силу»?

И? Где тут утверждение что обмен сообщениями достаточное условие? Изначально при проектирования микроядра ставились вполне определенные задачи. То что для их решения хорошо подошли методы ООП и сетевой модели - ну да. То есть их использование стало следствием, а не причиной, разницу понимаете? Они использоютсмя не потому что была задача их использовать, а потому что они хорошо решали поставленные задачи.

anonymous
()
Ответ на: комментарий от anonymous

>> Вот этого утвержедения не было: «Переход с локальной модели на сетевую - не более чем следствие использования ООП в полную силу»?

И? Где тут утверждение что обмен сообщениями достаточное условие?

Здесь написано, что ООП используется в полную силу. Где там используется, например, наследование?

Изначально при проектирования микроядра ставились вполне определенные задачи. То что для их решения хорошо подошли методы ООП и сетевой модели - ну да.

Сетевой модели. Группа, написавшая Mach, до этого занималась распределенными системами.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Может пора выкинуть этот каменный топор и перейти к более современному понятию объекта?


и как же ты определишь влезет ли этот «объект» на дискетку или понадобиться DVD+RW не зная размера этого «объекта»? Объекты хороши либо в мэйнфрейме либо в облаке

Karapuz ★★★★★
()
Ответ на: комментарий от simplex

> Захватить 90% десктопа, это ошибка, да.

Речь шла о продуктах, производимых компанией Microsoft.

andreyu ★★★★★
()
Ответ на: комментарий от AVL2

> Важнейшее, что есть в микроядре, это обмен сообщениями вместо прямого вызова функций
в таком случае винда - вполне себе микроядро
учите матчасть про I/O request packet например

anonymous
()
Ответ на: комментарий от anonymous

>в таком случае винда - вполне себе микроядро

частично. собственно, в основе NT было микроядро. и что?

учите матчасть про I/O request packet например

дело не в IO.

AVL2 ★★★★★
()
Ответ на: комментарий от Macil

>> в таком случае винда - вполне себе микроядро

Так оно и есть микроядро.

не было оно никогда микроядром, спроси Катлера :) И обмен сообщениями там только в IO Manager, в остальных подсистемах (и между подсистемами) - обычные вызовы функций.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>не было оно никогда микроядром

Так говорю же, болеет :)) Очень и очень быстро идея различных подсистем была похерена. В современных системах, даже NTVDM не осталось.

Классическим микроядром оно не было никогда. Но кое-какие идеи были. Но даже они были задвинуты!!! Что характеризует.

Ну химера же...

Macil ★★★★★
()
Ответ на: комментарий от anonymous

Мы тут все безмерно счастливы, что ты открыл для себя удивительный, волшебный мир ООП. И как девочка, нашедшего своего очередного избранника, ты во всем теперь видишь черты милого сердцу лица ООП.

Вот только к микроядрам ООП перпендикулярно. И к мейнфреймам тоже. А к sql ООП вообще противно. ООП базы данных обычно не совместимы с SQL.

AVL2 ★★★★★
()
Ответ на: комментарий от be_nt_all

>Лицензия ≠ copyright. Лицензия OpenJDK позволяет использовать код в рамках GPL, Oracle же, как владелец копирайта может делать с этим кодом всё что угодно. Как то так.

Это называется исключительные и неисключительные права. Оракул-сан, как автор, имеет исключительные права и он уже ими воспользовался, перелицензировав свой код под GPL, то есть выдав неисключительные права. Столлман одобряе...

Насчёт терминов вроде «сторона тьмы» — я бы ими не разбрасывался, мир, ИМХО, устроен несколько сложнее, чем кино про звёздные войны.

Это общая болезнь безвременья, разрухи. Вы теряете ориентиры. Не называете Мавроди не мошенником, а гением математики, а зло не можете назвать злом, ибо мир так сложен!

А это не мир устроен сложнее, это вы трусливо прячетесь на ЛОР от реальности.

Но спрос на стандартизированную виртуальную машину есть,

нет никакого спроса на виртуальную машину. QT для клиента ничем не хуже моны или джавы. Это вам запаривают, а что - не важно. Хошь воду в бутылках, хошь, фильтры петрика, а хошь - мону.

Apache 2.0 требует передачи патентов в общее пользование.

О чем и речь. Любые требования в лицензии касаются только пользователей кода. А патентодержатели не обязаны, знаете ли, использовать данный код. а если и используют, то могут подать иск от другого юр. лица.

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

>Вообще-то - связан.

да никак не связан. Обмен сообщениями используется там, где невозможно напрямую выполнить код. И в ООП и в процедурном стиле и в функциональщине - везде в программе прямо вызывается код.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

QT для клиента ничем не хуже моны или джавы


нука давай, перепиши мне ЛОР на «QT для клиента» и посмотрим сколько часов в день он будет недоступен и сколько выдавать «ошибку 500». И сколько своего времени ты будешь тратить на удаленную отладку сервера.

А лучше предложи ixbt.com переписать их движок с перла на QT, а то у них уже месяц как серьезные проблемы с работой форума http://forum.ixbt.com/topic.cgi?id=5:13-90#3233

Karapuz ★★★★★
()
Ответ на: комментарий от Karapuz

>нука давай, перепиши мне ЛОР на «QT для клиента»

для веба есть хаскель и snap или hapstack. Для быдла есть руби на рельсах, есть джанго, пилонс. Чего толко нет для веба.

и посмотрим сколько часов в день он будет недоступен и сколько выдавать «ошибку 500».

учитывая, что лор выдает «сбой добавления» в 30-50% случаев, сделать еще более неустойчивую поделку будет проблематично.

И сколько своего времени ты будешь тратить на удаленную отладку сервера.

Заметно меньше, чем на джаве.

AVL2 ★★★★★
()
Ответ на: комментарий от Karapuz

>А лучше предложи ixbt.com переписать их движок с перла на QT, а то у них уже месяц как серьезные проблемы с работой форума http://forum.ixbt.com/topic.cgi?id=5:13-90#3233

ixbt - рукожопые. Им только эвтаназия поможет.

AVL2 ★★★★★
()
Ответ на: комментарий от tailgunner

> обмен сообщениями там только в IO Manager
я сильно подозреваю что вы даже не знаете от какого щастья вы отказываетесь
например для корректной обработки IRP нужно дикое количество кода - ставить каждый запрос в очередь чтобы можно было сделать cancelling когда ваш драйвер внезапно выгружается, выставлять свою completion routine чтобы знать когда уже ваш запрос завершился и так далее и тому подобное

а теперь представьте себе что ровно такие же действия вам нужны для совершенно простых операций вроде выделения памяти или синхронизации. Мало того что это будет тупить, глючить и слушать радио радонеж круглосуточно - размер кода возрастает на порядок. И за ради чего оно нужно ?

anonymous
()
Ответ на: комментарий от Marisa

у тебя повышенное ЧСВ. Если не юзал, как ты можешь о нем что-то говорить?

Ignotus
()

.NET убог, от виртомашины до языков. F# - это вообще кастрат Окамла. Видно, что и бросили его потому, что «не выстрелило» - слишком много надо писать, чтобы сделать _полноценный_ Окамл, а урезанная версия, да ещё и с функц.парадигмой нафик не нужна. Вобщем, очередное «на те боже, что нам негоже!».

matumba ★★★★★
()
Ответ на: комментарий от AVL2

>На спектруме был интерпретатор бейсика, причем интерпретатор байт-кода.

А вот это хитро, да :) Пользователь ещё и собственноручно компилировал код в байт-код. Гениально :)

Binary ★★★★★
()
Ответ на: комментарий от simplex

>Хорошо, раз уж ты воспринимаешь все абсолютно буквально, замени «А» на «Обычно».
Да нет. Это просто ты безапелляционно бросаешься словами, которые меняешь якобы без особого изменения смысла, после того, как тебя прижмут.
И на википедию ты сходи ка сам. QNX опенсорсный. Или ты все еще путаешь понятия «free», «opesource» и «халява»?

anonymous
()
Ответ на: комментарий от anonymous

Нет, к словам обычно цепляются когда больше ответить нечего, т.е как в твоем случае.

Или ты все еще путаешь

А почему «все еще»? Я то как раз различаю эти понятия.

simplex
()
Ответ на: комментарий от be_nt_all

> Если вы помните время борьбы OS/2 vs. Windows 95

Угу, только OS/2 «боролась» с Windows NT, а не 95.

bolmer
()
Ответ на: комментарий от AVL2

> На спектруме был интерпретатор бейсика, причем интерпретатор байт-кода.

Чушь собачья. Никакого понятия байт-кода в спектрумовском бейсике не было.

bolmer
()
Ответ на: комментарий от bolmer

Смотря что считать байт-кодом. В общем-то вполне себе байт-код, только функцию транслятора выполнял человек.

Binary ★★★★★
()
Ответ на: комментарий от Binary

> Смотря что считать байт-кодом. В общем-то вполне себе байт-код, только функцию транслятора выполнял человек.

Оппределение байт-кода совершенно однозначное - инструкции байт-кода эквивалентны одной или нескольким командам ассемблера. В спектрумовской памяти хранилоась не более чем кодировка оператора языка BASIC и номера строки одним-двумя байтами. А подпрограммы для их исполнения были будь здоров.

bolmer
()
Ответ на: комментарий от anonymous

Если ты считаешь что это зомби-высер, то почему ответил? Если не нравится пост (ну например 'баттхёрт' мучает) можно же проигнорировать, лучше будет, чем потом дальше сливать.

simplex
()
Ответ на: комментарий от bolmer

>QNX - НЕ опенсорсный. Это ты чего-то путаешь

По-моему они то ли открыли, то ли собирались открыть часть компонентов

annulen ★★★★★
()
Ответ на: комментарий от tailgunner

«Я быдлокодер со стажем, а не какой-то там помоечный 'айтишник'» (c) linuxfan

студия - пожалуй лучшая IDE на планете, твой фанатизм (сарказм?) неуместен.

Dudraug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.