Википедия говорит, что:
Rust is an experimental, concurrent, multi-paradigm, compiled programming language developed by Mozilla Labs. It is designed to be practical, supporting pure-functional, concurrent-actor, imperative-procedural, and object-oriented styles.
Особенно интригует в заявленных Influenced by: С++ и Erlang.
Может кто уже успел посмотреть - рассказывайте как оно.
Кто вообще не в курсе что это - ссылка на оффсайт http://www.rust-lang.org/
Update:
Прошло 4 года, Rust вышел из альфа-версии, прошел через несколько "сдвигов парадигмы":
Но, пока что "не выстрелил", популярность где-то как у языка D, в момент его старта.
fn main() { vec::iter( [1, 2, 3]) {|i| io::println( #fmt( "hello, %d", i)); } }
Некрасиво.
А вообще, я бы разработчикам фаерфокса не сильно доверял - эта хрень уже 9 мажорных версий на маке течёт, и сколько эта команда умельцев с альтернативной инсталляцией рук ни пытается, ничего с этим сделать не может.
ffinder
> Язык программирования Rust
Давай давай уже рассказывай как там и что - в чём плюсы и минусы языка, по сравнению с другими, в чём основные плюшки, и так далее.
Ждемс, ждемс...
jaguard
> Некрасиво.
Не то слово. По моему мнению просто люто бешенный какой то говнопиндец. Еще бы единичку круглыми скобками окружили - и совсем было бы говнометание синтаксисом напропалую.
мда... Mozilla Labs
ну и синтаксис.
Вот такой должен быть:
$([1, 2, 3]).each(echo("hello, {i}"));
причём тут в примере все инструкции языка. Для остальных нужно качать аддоны.
petya-kurochkin
> Для прикладных задач, требующих скорости, есть Scala.
А чем это scala быстрее java, которая не быстрая?
> Для нетребовательных к скорости, но требующих переносимости, есть HTML5 +
> фреймворки типа kickstrap/jQuery UI.
Да, п2п плеер flac-а тоже будешь на js писать?
> Для игр есть Flash.
То есть crysis должен быть на flash?
> А зачем нужен Rust/Go/C++/C?
> Разве что операционки писать, да базовые либы для других языков.
Оно и видно, сколько продаваемых игр под десктоп на флеше, js, python и java ;D
Flash, jvm не либы, однако ж на c/c++. Как так? Почему не на питоне/ js?
petya-kurochkin
> а. Вы надоели - Java очень-очень быстрая, хоть и медленнее плюсов.
так вот почему эклипс так быстро работает
> На андроиде - жава
На плюсах под дроид тоже пишут. Причем игры. Причем не двумерных злых птичек. Отгадай почему.
> У вас такой бугурт от того, что программа написана на js/server-side, а не на
> C++, что вы её даже за программу не считаете?
Считаем.
> Оно и видно, что плюсы проигрывают популярности в Java.
А хаскелл проигрывает плюсам, пирожные проигрывают йогуртам, сигареты проигрывают по популярности пробежке по утрам. Причем правое обычно проще, быстрее и приятнее. Но лучше ли в конечном итоге для юзера?
Methos
> так вот почему эклипс так быстро работает
Эклипс работает также быстро, как и нативные программы. JetBrains IDEA тоже.
Methos
> Отгадай почему.
Лучше ты отгадай почему гугл сразу не дала доступ плюсовикам под платформу. А вообще, ты в этом вопросе однозначно слил и просто переводишь беседу в другое русло. Я тебе показал различные отрасли геймдева, а ты мне говоришь "но ведь есть еще и". Ну да, есть. Везде что-то всегда есть. Но в этих областях плюсы, в подавляющем большинстве случаев не используются.
Methos
> Причем не двумерных злых птичек.
А трёхмерных сталкеров.
Methos
> Но лучше ли в конечном итоге для юзера?
Для юзера было бы лучш, если бы Сталкер и иже с ними были написаны на Яве. Я серьёзно.
Для юзера лучше: более дешёвые программы, его любимые программы работают в любом окружении, программ больше. И да, программы на Яве не тормозят. Я не знаю, что у вас за проблемы. Вы тут выкладываете видео, как эклипс тормозит - скажите прогу под мак - я покажу, что он у меня не тормозит. Запускается примерно за 15 секунд. Это Java/Scala/ADT + Debug-layout напичканный всякой хренью. Сама работа вообще молниеносная. Я б сам нашёл - но не хочется заморачиваться - обсуждалось уже ну просто мегатыщи раз.
Вы вспомните как студия 2003 работала. Это полный капут в сравнении с эклипсом. А ведь это нативное приложение.
p.s. Аргументы у тебя левые. Из разряда "но ведь там-то есть и то-то". То у тебя один только эклипс (тормоза которого сами по себе являются спорным аргументом) сразу всю яву демонстирует. Вы для убедительности хотя бы NetBeans приводили. То у тебя редкие игрушки, написанные с плюсовыми вставками сразу приводятся в качестве аргумента того, что почти весь мобильный геймдев (я же тебе об этом говорил) сидит на плюсах. То у тебя сравнения пирожных с отморожным и сигарет с людьми. Продолжать (а по сути, начинать) спор, я просто не хочу, т.к. в который раз себя ловлю на том, что вступаю в нафиг ненужную мне полемику с неизвестным мне человеком в крайне заунывной манере.
petya-kurochkin
> Лучше ты отгадай
И из нас еще переводит беседу в другое русло, не отвечая на прямой вопрос?
> мак - я покажу, что он у меня не тормозит. Запускается примерно за 15 секунд.
Расскажете, что он такого делает, что должно занимать 15 секунд?
> работают в любом окружении
А что, программы на сишечке так не могут?
> p.s. Аргументы у тебя левые. Из разряда "но ведь там-то есть и то-то".
У вас аргументы того же разряда "но в google docs есть java", "на мобилках есть java", а java это не цпп.
Просто java-прогеров много, они дешевле, быстрей пишут приложенюшки, которые дают денюшку.
> То у тебя редкие игрушки, написанные с плюсовыми вставками сразу приводятся в
> качестве аргумента того, что почти весь мобильный геймдев (я же тебе об этом
> говорил) сидит на плюсах.
1. Не со вставками, а полностью на плюсах. ( окей, + dummy class на java для удовлетворения дроида )
2. Я не писал что весь. Я писал, что есть необходимость в производительном коде и там.
3. Не надо ставить objc в одну шеренгу с java/scala/etc. Его место около плюсов.
> Продолжать (а по сути, начинать) спор, я просто не хочу, т.к. в который раз себя ловлю на том, что вступаю в нафиг ненужную мне полемику с неизвестным мне человеком в крайне заунывной манере.
То есть слив.
Вы считаете, что разработка на Rust/Go/c++/D не может быть столь же быстрой и дать лучший результат, чем java/scala/etc ?
Methos
> Вы считаете, что разработка на Rust/Go/c++/D не может быть столь же быстрой и
> дать лучший результат, чем java/scala/etc ?
В любой IDE для джавы возможностей рефакторинга "из коробки" гораздо больше, чем даже в MSVC с вижуал ассистом (а без него вообще ноль). Вот и получается, что разработка на джаве быстрее.
На яве проще писать простой код. Сложный одинаково сложно. Ява тормозит и не скалируется, это факт, смиритесь.
Таким образом, если есть резерв производительности - проще делать на яве/с# и т.д. А нормальные 3d игры - на СПП.
petya-kurochkin
> Для юзера было бы лучш, если бы Сталкер и иже с ними были написаны на Яве. Я
> серьёзно.
Петя, когда выходил Сталкер, основная масса машин была 32-битной. И яве памяти бы не хватило для нормальной игры. Так что фейл.
Кто чего полезного извлёк из разговора про языки?
petya-kurochkin
> Запускается примерно за 15 секунд.
это я выкладывал видео и тоже 15 секунд грузило эклипс (чистый)... Прикол в том что студия 2005 с кучей тяжелых плагинов грузилось меньше 5 секунд на той же машине (и это было первое видео)
_zerg_
> . Вот и получается, что разработка на джаве быстрее.
угу, после разработки, идет жесткий рефакторинг - да, очень ускоряет... Зато у нас в MSVC таких вещей нет, поэтому не расслабляемся и пишем сразу чтобы без геморойного рефакторинга... Ну и кто быстрее делает? [/ирония]
petya-kurochkin
> Кто чего полезного извлёк из разговора про языки?
что у тебя бартхерт при любом упоминании с++, который ты, если мне память не изменяет, просто не осилил (а то зачем ты раньше создавал темы про его освоение?)
Из интересного по теме топика:
Синтаксически язык косит под go, haskell и ruby.
Синтаксис процедурный, но с сахарком для статической перегрузки:
impl int_util for int {
fn times(b: fn(int)) {
let mut i = 0;
while i < self { b(i); i += 1; }
}
fn dollars() -> currency {
mk_currency(self, "USD")
}
}
send_payment( 10.dollars() )
war_zes
> угу, после разработки, идет жесткий рефакторинг - да, очень ускоряет... Зато у
> нас в MSVC таких вещей нет, поэтому не расслабляемся и пишем сразу чтобы без
> геморойного рефакторинга... Ну и кто быстрее делает? [/ирония]
дитя С++ :) рефакторинг - это неотъемлемая часть процесса разработки. Extract Method, Extract Variable, Rename Method/Variable, Change Signature - самые ходовые рефакторинги.
у С++-детишек видимо батхерт от того, что им приходится проделывать это все вручную, т.к. вижуал ассист загибается на сколько нибудь крупных проектах.
Тема в архиве.