metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-01-25 06:43 pm

Компилируемый язык с статик типами и GC?

http://www.rust-lang.org/
Кто-нибудь на сие смотрел, чем оно полезно и зачем?

[identity profile] geeks-ru.livejournal.com 2013-01-25 06:06 pm (UTC)(link)
Я уже довольно давно веду список языков-кандидатов на замену C/C++, сейчас там значатся:
D http://www.digitalmars.com/d
Go http://golang.org
HaXe http://haxe.org
Vala http://live.gnome.org/Vala
Clay http://claylabs.com/clay
Nimrod http://force7.de/nimrod/index.html
Zimbu http://www.zimbu.org
OOC http://docs.ooc-lang.org
Brace http://sam.ai.ki/brace
Rust http://www.rust-lang.org
C2 http://www.c2lang.org
SafeC http://chat-webcam-samuro.com/safe-c/start-en.html
BitC http://www.bitc-lang.org
Cyclone http://cyclone.thelanguage.org

[identity profile] andrew kondratovich (from livejournal.com) 2013-01-25 07:46 pm (UTC)(link)
Кстати да - с каких пор джит уже не компилируемый )

Сейчас джит делает код поэффективнее, чем статик компилятор.

[identity profile] mehanizator.livejournal.com 2013-01-25 08:40 pm (UTC)(link)
под jvm же полно их

[identity profile] metaclass.livejournal.com 2013-01-25 08:51 pm (UTC)(link)
Забыл уточнить, что мне нужен стандалоне язык - чтобы с собой рантаймы на 100 мег не таскать, не деплоить и не зависеть от них.

[identity profile] mehanizator.livejournal.com 2013-01-25 10:13 pm (UTC)(link)
понятно тогда.

[identity profile] nivanych.livejournal.com 2013-01-26 01:30 am (UTC)(link)
Типаа "Спасибо, Кэп!"

[identity profile] nivanych.livejournal.com 2013-01-26 01:31 am (UTC)(link)
Ннуу, строго говоря CoQ и Agda такими не являются, это трансляторы.
Для Agda есть уже свой backend, но он в зачёт пока не пойдёт.

[identity profile] nivanych.livejournal.com 2013-01-26 01:34 am (UTC)(link)
Вот нахера это делают?
Первый же вопрос — а что там такого, чего нет в уже существующем?
Убрали побольше фишек, чтобы не было очень страшно?

[identity profile] thedeemon.livejournal.com 2013-01-26 04:08 am (UTC)(link)
См. его модель памяти и подход к многопоточности. Все ради этого.

[identity profile] denisioru.livejournal.com 2013-01-26 05:17 am (UTC)(link)
Тот же Nemerle уже сколько лет пилится силами чуть более чем одного человека - и где он до сих пор? Где реальные проекты? Где развитие? Не мейнстримовые языки не нужны.

[identity profile] nivanych.livejournal.com 2013-01-26 06:30 am (UTC)(link)
Да, соглашусь. На этот аспект стоит обратиь внимание.

[identity profile] zerthurd.livejournal.com 2013-01-26 06:50 am (UTC)(link)
Где в ерланге JIT?

[identity profile] blackyblack.livejournal.com 2013-01-26 07:03 am (UTC)(link)
Окамл не замена что ли? Или С подобный синтаксис требуется?

[identity profile] thedeemon.livejournal.com 2013-01-26 07:54 am (UTC)(link)
Не замена, к сожалению. А то я б у себя давно уже заменил. Из необходимых вещей: SMP-параллелизм, SIMD.

[identity profile] gds.livejournal.com 2013-01-26 09:00 am (UTC)(link)
из программ на этих языках можно получить native code бинарник -- значит компиляторы. А что добавлено ещё несколько стадий компиляции, в том числе через промежуточные файлы -- так это мелочи.

[identity profile] kurilka.livejournal.com 2013-01-26 09:45 am (UTC)(link)
типы-то есть, но динамические

[identity profile] gds.livejournal.com 2013-01-26 11:53 am (UTC)(link)
а к какого рода структурам данных нужен общий доступ и вообще всякое SMP? Потому что кое-какие решения есть, например, shared memory, к которой имеют доступ несколько процессов, если нужно что-то простое, типа bigarray.

[identity profile] veter-r-r.livejournal.com 2013-01-26 12:10 pm (UTC)(link)
Ребе, да напишите же уже свой язык с червями и змеями. Все равно вам там заняться нечем :)

(Anonymous) 2013-01-26 12:21 pm (UTC)(link)
У моно рантайм занимает пару мегабайт.

[identity profile] thedeemon.livejournal.com 2013-01-26 12:27 pm (UTC)(link)
В моем случае нужны две вещи:
1. Параллельно обработать разные слегка пересекающиеся части картинки (массив байтов или интов), иногда синхронизируясь через семафоры.
2. Уметь передать мой колбэк COM-библиотеке, так чтобы она могла его вызывать из другого потока того же процесса, причем поток создает она сама, я им не управляю.

[identity profile] thedeemon.livejournal.com 2013-01-26 12:28 pm (UTC)(link)
HiPE?

[identity profile] thedeemon.livejournal.com 2013-01-26 12:32 pm (UTC)(link)
Где и был - на своем сайте. :) Проекты есть, но штучные. Особого развития основной ветки сейчас нет, т.к. он достиг зрелости и определенной законченности. Команду разработчиков прошлым летом взяла под свое крыло JetBrains, и сейчас они пилят N2, который будет не новым немерле, а инструментом создания языков, в том числе и немерле.

[identity profile] denisioru.livejournal.com 2013-01-26 12:58 pm (UTC)(link)
Он может и достиг зрелости, но никаких проектов на нем не пишут.
А у JetBrains, несмотря на мое сильное уважение по поводу Resharper и DotPeek - есть свои костыли - MPS, на которых написан YouTrack (и который крутиться внутри java машины). Это настолько сильные грибы и колёса, что развидеть это сложно. Упомяну лишь, что проблема локализации YouTrack (которую они безуспешно решают уже третий примерно год) связана как раз с этим MPS, ибо все текстовые поля (dropdown, состояния, ...) суть текстовые константы кода.

[identity profile] ivanzoid.livejournal.com 2013-01-26 03:46 pm (UTC)(link)
В рамках флуда — вот ещё есть компилятор Java (кучу денег стоит правда): http://www.excelsior-usa.com/products.html

[identity profile] vaddimka.livejournal.com 2013-01-26 04:10 pm (UTC)(link)
Как-то это не подтверждается на реальном коде
http://benchmarksgame.alioth.debian.org/
По ссылке - набор задачек, каждый может засабмитить свое решение на любом популярном языке, а некоторый набор машин-конфигураций автоматически его соберет-протестирует. Я давно туда не заглядывал, но не видел жавы обгоняющей те же C/C++.

Page 2 of 3