LINUX.ORG.RU

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

 , ,


1

1

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

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

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

★★★★

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

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

Ты не можешь точно утверждать, что она — лучшая IDE на планете как минимум по двум причинам:
1) Мало вероятности, что ты просмотрел все существующие в мире IDE со всеми плагинами.
2) Есть люди, которые считают по-другому. То есть, они либо врут, либо MSVS действительно не является верхом совершенства.

а VS видел только на скринах


Я её видел не только на скринах, т.к. в принудительном порядке приходится пользоваться, правда не для C++, а для C#. А C++ m$ же пытаются постепенно закопать. Ну и покажи мне, куда там надо залезть, чтобы разработать кроссплатформенное приложение с графическим интерфейсом? Скажешь, что надо установить нужные библиотеки и плагины для VS, чтобы в ней было удобно программировать с использованием этих библиотек?

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

Ю 2) Есть люди, которые считают по-другому. То есть, они либо врут, либо MSVS действительно не является верхом совершенства.

А типа они не могут врать? :)

а VS видел только на скринах

Я её видел не только на скринах, т.к. в принудительном порядке приходится пользоваться, правда не для C++, а для C#. А C++ m$ же пытаются постепенно закопать. Ну и покажи мне, куда там надо залезть, чтобы разработать кроссплатформенное приложение с графическим интерфейсом? Скажешь, что надо установить нужные библиотеки и плагины для VS, чтобы в ней было удобно программировать с использованием этих библиотек?

Сочуствую. Для шарпа она наверное действительно говно. Что до плюсов, то было дело, пользовался. Несколько неудобно, но всяко лучше чем в ваших nano. Кроссплатформенный графический интерфейс разрабатывается не хуже чем в других IDE. Выбираешь библиотеку по вкусу и вперед.

А ты можешь предложить другую IDE, что будет лучше, и в частности, будет лучше для разработки кроссплатформенного гуя на плюсах? И рассказать, чем именно она лучше. Только не надо про «оно и на моем линуксе работает». Это для адекватных людей слабый аргумент, хотя и не пустой.

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

> на плюсах не пишут. На плюсах замаливают грехи отцеубийства и кровосмешения.

Да, плюсы это почти как икона отцеубийства (Боже, как С испоганили!) и кровосмешения (ООП концепции из других языков, начиная с Common LISP, при этом результат похож на химеру).

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

> Но ООП - это гораздо больше, чем протоколы.

Я бы даже сказал, ООП это совсем не протоколы.

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

> чего конкретно нет в F# из того что есть в Ocaml ?

Я не особый спец, я читал это в каком-то из блогов. Речь шла о какой-то хрени, определения которой я даже не слышал. Что-то типа «виртуальный деструктор абстрактного интерфейса» :) т.е. нечто глубинное, нужное в 1% случаев и без которого можно (подозреваю) спокойно обойтись. В любом случае, это факт - неосиляторы мелкософта потянули на .NET вещи, под которые дотнетина не предназначена ввиду убогой VM. В конце концов, если не поленитесь, есть гугл.

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

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

Как говорится, «не читал, но осуждаю». А вот многих практических вещей в ocaml действительно не хватает, например list comprehension, async workflows, нормального синтаксиса для quotations ...

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

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

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

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

2) Есть люди, которые считают по-другому. То есть, они либо врут, либо MSVS действительно не является верхом совершенства.

Я таких не встречал. Ну только если их мнение не было рождено в фанатизме.

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

Я её видел не только на скринах, т.к. в принудительном порядке приходится пользоваться, правда не для C++, а для C#. А C++ m$ же пытаются постепенно закопать. Ну и покажи мне, куда там надо залезть, чтобы разработать кроссплатформенное приложение с графическим интерфейсом? Скажешь, что надо установить нужные библиотеки и плагины для VS, чтобы в ней было удобно программировать с использованием этих библиотек?

Как и к эклипсу, как и к любой IDE. QT спокойно прикручивается к студии.

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

причем прикручивать ничего не надо, надо использовать cmake, который сам «прикрутит» qt к нужной IDE

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

>практических вещей в ocaml действительно не хватает

Да банального статического полиморфизма и implicity type cast, то что 3 + 4.0 не сложить все-таки периодически напрягает.

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

Это как раз меня не напрягает, а вот без перечисленных вещей действительно неудобно. И если list comprehension и async workflows можно заменить своими велосипедами, то синтаксис для quotations уже никак не поменяешь.

Кстати, implicity type cast и в F# отсутствует. И это правильно!

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

Блочная пересылка данных (одна команда на ассемблере) секундами отрабатывала.

Ты ошибся порядков эдак на 5-6. Это говорит о том, что ни одной программы для Z80 ты не написал, и cовершенно не знаком с предметной областью, о которой берёшься спорить.

В спектруме был классический байт-код. Вместо текста программы, байт на код операции и далее опционально параметры.

Ну, зашибись. Тогда байт-код - это всё. Видишь-ли в чём дело. Любой текст программ - это набор байт. А способов кодирования существует очень и очень много, а ASCII - лишь самый распространённый из них. В ZX-Specttum всего лишь применялся более ёмкий способ кодирования текста, чем ASCII, это не делает этот способ кодирования байт-кодом.

нет никакой связи между ассемблером и байт-кодом. Иначе байт-код был бы машинозависимым.

Корректнее выражаясь, не ассемблером, а инструкциями процессора, хотя умный человек поймёт, о чём речь. Байт-код и так машиннозависимый, и эта машина - виртуальная машина. В общем, я прав и не буду больше с тобой спорить.

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

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

Они открыли gcc, GNU toolchain и ещё какие-то производные.

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

> Ну и покажи мне, куда там надо залезть, чтобы разработать кроссплатформенное приложение с графическим интерфейсом?

Дело вот в чём. Для вас понятие «кроссплатформенное» означает «работает на Linux». А для нас, фанатиков Билли, «кроссплатформенное» означает «работает на Windows». Вот и покажи мне, куда надо залезть в любой линуксовой IDE, чтобы создать нейтивный код, скажем, для PPC/Windows Mobile.

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

>Ага, уже без ошибок научилист писать. И все правильный код...

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

ах да, вам некогда. Вам же быдлокодить надо...

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

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

Мне кажется ты слишком обчитался сказок. 12309 уже починили?

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

to be_nt_all Мне нравится лоровская категоричность, компетентность, а уж от терминологии вроде «анальный зонд» и ничем не обоснованных домыслов о сексуальной напрвленности Мигеля де Икасы я просто в восторге.

А вот на счет Microsoft всё достаточно определено http://en.wikipedia.org/wiki/Gay_and_Lesbian_Employees_at_Microsoft

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

Будь круче - сделай chsh «sudo bash», чо.

Спасибо!

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

>>2) Есть люди, которые считают по-другому. То есть, они либо врут, либо MSVS действительно не является верхом совершенства.

Я таких не встречал. Ну только если их мнение не было рождено в фанатизме.

Все, кто со мной не согласен — фанатики. Верх логики.

А вы не можете предположить, что у других людей может быть совершенно отличное видение того, что такое идеальное IDE. А пару лет назад я читал на хабре перевод откровений одного из ведущих разработчиков Microsoft, которое можно вкратце пересказать как то вроде «Visual Studio — это конечно привлекательный программный продукт, но для настоящих профессионалов, вроде меня: только vim»

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

>Там соль не в названиях языков, а в именах переменных

Так Линус подчеркнуто про сишников говорил. В других языках может быть и иначе. А то что в любом стиле можно довести имена до ахтунга ни для кого не секрет. (Конкретно в Java длинные имена вполне допустимы).

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

> Так Линус подчеркнуто про сишников говорил.

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

Конкретно в Java длинные имена вполне допустимы

Они везде допустимы уже лет 20-30.

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

>Ты ошибся порядков эдак на 5-6.

То, что ты не в курсе про блочные и строковые инструкции z80, это твои личные половые трудности.

А способов кодирования существует очень и очень много, а ASCII - лишь самый распространённый из них.

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

Корректнее выражаясь, не ассемблером, а инструкциями процессора,

не тупи. Байт-код не машинозависимый. Питоновые pyc можно спокойно переносить между системами.

Байт-код и так машиннозависимый, и эта машина - виртуальная машина.

ага. у тебя ВМ уже процессор эмулирует...

В общем, я прав и не буду больше с тобой спорить.

тут не о чем спорить. Ты просто напердолил в лужу.

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

>Ты путаешь первое лицо с третьим ;)

это нарочито деревенское арго. Я в курсе, что было бы правильно использовать есть.

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

>Мне кажется ты слишком обчитался сказок.

в мире вежуал-программастов вывереные алгоритмы и доказаный код - ненаучная фантастика. Студия же не поддерживает...

12309 уже починили?

железо почини.

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

железо почини.

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

Да и в линуксе и без того багов хватает. Открой багзилу любого дистра, любого проекта (kernel, gtk, gnome,kde,compiz).

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

а рассуждение о стиле, алгоритмах, правильном коде - это не цель программирования.

Все это лишь способ добиться цели меньшей кровью, но никак не цель и не суть.

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

железо почини.

Ога, во всех ОСях всё работает нормально, а если не работает в лялехе, то это значит железо виновато. Фанатики, такие фанатики.

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

> То, что ты не в курсе про блочные и строковые инструкции z80, это твои личные половые трудности.

Ну, конечно же, я не в курсе. Это не я эмулятор и ZX-Spectrum и Z80, писал и отлаживал, а ты.

Байт-код можно обратно вернуть в исходник, за исключением имен переменных.

В таком случае, в памяти ZX-Spectrum - точно не байт код, потому что он возвращается назад в исходник с точностью до имён переменных. И даже с точностью до каментов.

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

> в мире вежуал-программастов вывереные алгоритмы и доказаный код - ненаучная фантастика.

Проблема в том, что ты поседеешь, пока докажешь код средненького такого проектика. Практика показывает, что быдлокод - работает. А флудеры - рассуждают и красотах кода и выверенности алгоритмов, при этом не написав ни одной нужной кому-либо либо программы.

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

>В таком случае, в памяти ZX-Spectrum - точно не байт код, потому что он возвращается назад в исходник с точностью до имён переменных. И даже с точностью до каментов.

ну близок. имена в байт коде, конечно, тоже надо нумеровать.

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

>Проблема в том, что ты поседеешь, пока докажешь код средненького такого проектика.

Зато вежуал студия - лучшая IDE. Чего думать, трясти надо!

Практика показывает, что быдлокод - работает.

Да никто не против. Только быдлу не положено голос иметь. Ему положено кодить за еду, а не рассуждать.

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

> это нарочито деревенское арго. Я в курсе, что было бы правильно использовать есть.

Значит, я юмора не понял :)

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

Да никто не против. Только быдлу не положено голос иметь. Ему положено кодить за еду, а не рассуждать.

То есть код бывает без ошибок?=)

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

>То есть код бывает без ошибок?=)

слишком общо.

Алгоритмические ошибки не требуют дебага. Они вообще на бумажке находятся.

А несоответствие поведения кода алгоритму лечится функциональщиной.

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

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

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

> Алгоритмические ошибки не требуют дебага. Они вообще на бумажке находятся.

Видишь ли в чём дело. На бумажке у тебя и есть закодированный тем или иным образом алгоритм. С точки зрения верификации агоритмов, код на языке С от кода на псевдоколе или на блок-схеме ничем не отличается. Вообще ничем. Блок-схема нагляднее. Но только для простейших примеров. Я тебя уверяю, отладчиком ты найдёшь ошибку быстрее в разы.

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

>Чем плоха студия, минусы. Только без фанатизма.

Плюс студии только в ее отладчике. В остальном - это какой-то инфернальный софт, с глючным интеллисенсом, полным отсутствием средств для рефакторинга/тестирования(C++) и довольно аскетичным редактором. Плагины решают часть проблем, но периодически роняют студию и/или выжирают память.

И да, стоимость студии и какого-нибудь ассиста/решарпера - тоже к плюсам не отнесешь.

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

>То есть код бывает без ошибок?=)

Вопрос в том, что с дебагом все намного проще.

классическая дислексия.

А что, можно вот так запросто включить камеру и снимать?

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

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

И да, стоимость студии и какого-нибудь ассиста/решарпера - тоже к плюсам не отнесешь.

Студию можно брать и экспресс эдишен, а вот ассист денег стоит это да.

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

Дебагером ошибки найти намного проще и это факт. Особенно в плюсах. Там иногда черт ногу сломит без дебагера. Да и в чужом коде разбираться проще с дебагером, можно понять как все работает.

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

>Вот и покажи мне, куда надо залезть в любой линуксовой IDE, чтобы создать нейтивный код, скажем, для PPC/Windows Mobile.

lolwut? Windows Mobile на PowerPC?

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

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

взад, в школу. Читать про сторонние эффекты.

Я тебя уверяю, отладчиком ты найдёшь ошибку быстрее в разы.

естессно, пока машину заведешь, пока разгонишься. А тут раз-два пешочком отмахал до Парижа и обратно...

вот только так и лезет из генов предательское - «То есть код бывает без ошибок?=)» хахаха. канешна, не бывает!

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