LINUX.ORG.RU

Парни из Ричмонда разработали язык Fan на замену C# и Java

 , , , ,


0

0

Устав переписывать программы с Java на C# и обратно, группа лиц разработала новый практичный язык программирования, который предназначен для написания программ в легкой и непринужденной, веселой (fun) манере.

Программы на языке Fan можно запускать как скрипты в браузере (аналогично JavaScript), так и как обычные скрипты (аналогично bash/perl) или десктопные приложения (.exe, elm)

Программы компилируются в промежуточный код fcode, который затем в рантайме транслируется либо в байткод JVM, либо в IL, в зависимости от того, в какой виртуальной машине запустили программу. Также fcode позволит в будущем написать транслятор в Parrot, Object-C либо LLVM.

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

★★★★★

Проверено: Shaman007 ()

Не люблю все эти жавы. По крайней мере на десктопе.

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

PolarFox ★★★★★
()

Полистал - весьма интересно. Буду пощупать.

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

>Если оно умеет компилироваться в нормальный нативный код рандомной платформы

Ъ³ не читают даже текст новости :)

«Также fcode позволит в будущем написать транслятор в Parrot, __Object-C__ либо __LLVM__.»

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

Вот когда позволит, тогда и посмотрим.

Ещё надо сделать нормальный заголовок. Ctrl+W хорошо для толксов, а не для заголовка на главной.

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

>Ещё надо сделать нормальный заголовок.

Какой предлагаешь заголовок? Я хотел сыграть на том что гугель еще разрабатывает нооп, а Fan уже разработан

Karapuz ★★★★★
() автор топика

Вах! Супер!

Запустил по приколу examples-демки с GUI. Вроде, из описания, он по дефолту должен работать с Java. Но вижу прекрасные шустрые нативные GTK-окошки. Запускаю top - а там java висит. Весьма порадовало :)

...

Правда, как под mono его запустить, что-то навскидку не нашёл.

KRoN73 ★★★★★
()

Жалко, что стартует долго, по 3-5 секунд. Но сабж - самое интересное в этой области, что мне попадалось за последние пару лет. Буду играться :)

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

Мне больше интересно, как оно в Chrome с его V8 Webkit? Работает? Быстро, как и должен Webkit?

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

>Буду играться :)

Ненене. Одерски негодуэ. Не надо распыляться, надо всем scala развивать

Karapuz ★★★★★
() автор топика

>Устав [...] группа лиц разработала

Прям детектив какой-то.

Deleted
()

Еще один велосипед?

нет, ну честно. Зачем еще один ЯП? Ведь фишка совсем не в языке, а в промежуточном байткоде, который можно сконвертировать в JVM, .Net или LLVM байткод.

Ну так неужели нельзя было взять и написать его для существующего языка(например Python) или, допустим, не страдать фигней и написать реализацию Ruby для LLVM(MacRuby не кроссплатформенно)

hellra1ser
()

до этого в мире было слишком мало уровней промежуточного кода

pained
()

Закопать. Не нужно.

anonymous
()

/me почему-то подумал о parrot

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

> Запустил по приколу examples-демки с GUI. Вроде, из описания, он по дефолту должен работать с Java. Но вижу прекрасные шустрые нативные GTK-окошки. Запускаю top - а там java висит. Весьма порадовало :)

Да там аж целый свой GUI тулкит - Fan Widget Toolkit, неужели они свой SWT изобрели? ))

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

>Запускаю top - а там java висит

в квотесы!

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

>Да там аж целый свой GUI тулкит - Fan Widget Toolkit, неужели они свой SWT изобрели? ))

Ну, поскольку у Java и .NET нет общих GUI-тулкитов, то изобретение тулкита/враппера было неизбежно :)

...

Результат - вполне симпатичный.

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

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

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

Парням из Ричмонда надо нахлестать по рукам.

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

> Ну, поскольку у Java и .NET нет общих GUI-тулкитов, то изобретение тулкита/враппера было неизбежно :)

Это очень большая работа, у "парней" точно должен быть спонсор. Что это вообще за "группа лиц" такая...

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

>А почему бы просто не использовать java?

Ну, например, потому что под виндой на десктопе .NET себя лучше показывает по производительности :)

>Интересно, как там у них с производительностью

GUI шустрый. Стартап тормозной. Числодробилки не оценивал.

KRoN73 ★★★★★
()

Fan -> fcode -> JVM -> machine code -> processor instructions

сколько слоёв абстракции нынче развелось...

Legioner ★★★★★
()

> Our philosophy is that generics are a pretty complicated solution to a fairly insignificant problem.

Ну да ну да. insignificant.

r ★★★★★
()

интересная затея... но луковицу какую-то напоминает..

код на яп fun -> fcode -> IL -> x86 -> внутренни код процессора

mono ★★★★★
()

перестаньте изобретать вело^Wяву!

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

>fun -> fcode -> IL -> x86 -> внутренни код процессора
почму-то все забыают про уровень api os, а ведь это тоже своего рода виртуальная машина.

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

> Числодробилки не оценивал.

Либы нужны будут (типа OpenCL) - в языке они поддерживают только int 64bit и double.

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

>А чем готовая сборка не устраивает?

просто никогда из mercurial нечего не собирал, хочется пополнить стену трофеев.

Скачал *.zip. Что дальше с ним делать ?

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

>libswt-mozilla-gtk.so

Работает, зараза, почти также шустро, как Хром :) И рендеринг шрифтов сразу системный используется.

...

Вообще, мне нравится. Простыми средствами достигается приличный результат. И всё «из коробки». Вполне может быть, что для себя что-то буду лепить GUI-шное. Ему бы ещё RAD какой-нить...

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

>Скачал *.zip. Что дальше с ним делать ?

Распаковать куда угодно, хоть в /opt, хоть в ~/work/programming/fan

В bin/fan поставить атрибут +x

Запускать /path/to/bin/fan demo.fan в каталогах, типа examples/fwt

...

Там и веб-сервер есть в виде демки: examples/web/demo.fan

Запустить и заходить из браузера по localhost:8080

KRoN73 ★★★★★
()

marvelous! Выглядит очень интересно и вкусно.

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

>Ему бы ещё RAD какой-нить...

Eclispe же. Будем хотеть написать вставной

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

>> Чего только не сделают люди, чтобы С++ не изучать.

>+1

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

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

пшол нах, я не Klizmoid, но с его точкой зрения по этому вопросу согласен.

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

>Чего только не сделают люди, чтобы С++ не изучать.

Толсто.

Я 7 лет программировал на Си++. И даже, было время, бурно его отстаивал. Но в новые времена лучше работают новые инструменты.

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

>Я 7 лет программировал на Си++. И даже, было время, бурно его отстаивал. Но в новые времена лучше работают новые инструменты.

Злостно. Говоришь что С++ - г**но мамонта ? А С# любишь ? :)

unrealix
()

Прикольно. Прямой вызов Java:

using [java] java.lang

**
** Hello world using System.out.println
**
class HelloWorld
{

  Void main()
  {
    System.out.println("Java FFI hello world")
  }

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