Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
10.07.13 05:15: Перенесено из 'Философия программирования'
Здравствуйте, Grundik2, Вы писали:
G>Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
Здравствуйте, Grundik2, Вы писали:
G>Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
Самое первое — C++11 и идущий следом C++14. На фоне C++03 это совсем новый язык.
Rust — самый что ни на есть малоизвестный и экзотический язык. Правда, надеюсь, со светлым будущим, да и выглядит очень перспективно.
D — вроде хороший, но не менее экзотический и уже, похоже что, без перспектив, в отличие от...
Так что, если на перспективу, то можно на Rust посмотреть, а если хочется то, что однозначно используется и будет активно использоваться, то C++11.
Здравствуйте, kaa.python, Вы писали:
KP>Здравствуйте, Grundik2, Вы писали:
G>>Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
KP>Самое первое — C++11 и идущий следом C++14. На фоне C++03 это совсем новый язык. KP>Rust — самый что ни на есть малоизвестный и экзотический язык. Правда, надеюсь, со светлым будущим, да и выглядит очень перспективно. KP>D — вроде хороший, но не менее экзотический и уже, похоже что, без перспектив, в отличие от...
KP>Так что, если на перспективу, то можно на Rust посмотреть, а если хочется то, что однозначно используется и будет активно использоваться, то C++11.
Я тоже думаю, что Rust. Не хочу лезть в дебри C++, в 11ой версии они еще более дремучие.
Здравствуйте, Grundik2, Вы писали:
G>Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
Еще момент. На сколько тебе критично компилирование в нативный код? К чему я это. Я когда-то задавался таким-же вопросом, но пришел к выводу, что ограничение "нативностью" в большинстве случаев не целесообразно. В большинстве случаев, желание "нативности" вызвано ограничениями по памяти и/или по скорости работы. Тут сразу же вспоминается легенда о тормознутости не нативных приложений написанных на JVM, .NET, которая как бы и не легенда, но с ограничениями. Т.е. да, приложения на JVM и .NET тормознутые, но не потому что JVM или .NET тормознутая, а потому, что основная масса разработчиков под эти платформы вообще не думает о том, что стоит память или на сколько дорого обходится то или иное решение. В итоге получается монстры-тормоза, а дело-то все в ручках...
Поэтому, очень стоит поглядеть на языки программирования базирующиеся на JVM, такие как Scala, Closure и Kotlin. У этих языков есть отличное коммьюнити, им доступна куча JVM библиотек и у них однозначно есть будущее.
Вот как-то так...
KP>Поэтому, очень стоит поглядеть на языки программирования базирующиеся на JVM, такие как Scala, Closure и Kotlin. У этих языков есть отличное коммьюнити, им доступна куча JVM библиотек и у них однозначно есть будущее. KP>Вот как-то так...
Здравствуйте, Grundik2, Вы писали:
G>Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
Здравствуйте, kaa.python, Вы писали:
KP>Самое первое — C++11 и идущий следом C++14. На фоне C++03 это совсем новый язык.
Жизнь слишком коротка, чтобы учить С++.
KP>Rust — самый что ни на есть малоизвестный и экзотический язык. Правда, надеюсь, со светлым будущим, да и выглядит очень перспективно.
Слишком пока колбасит его, еще сто раз поменяется. Вон, делали-делали его со сборкой мусора, а надысь задумали от нее отказаться в языке. Будущее у него пока слишком отдаленное, пусть даже и светлое.
KP>D — вроде хороший, но не менее экзотический и уже, похоже что, без перспектив, в отличие от...
Он последнее время (~год) набирает обороты, после недавнего переезда на гитхаб прибавилось разработчиков/контрибюторов, баги правят пачками, а сам язык все стабильнее, все меньше в нем вредных изменений. Недавно вон конференция по нему прошла на базе Facebook'a, много интересного рассказали и вопросов порешали. (см. dconf.org) Есть пока некоторые больные места в его реализациях (вроде GC), но если на них сильно не наступать, то очень годный язык уже сегодня, а по сочетанию понятности-выразительности-скорости, пожалуй, круче всех.
Здравствуйте, D. Mon, Вы писали:
DM>Жизнь слишком коротка, чтобы учить С++.
Не такой уж он и сложный
DM>Слишком пока колбасит его, еще сто раз поменяется. Вон, делали-делали его со сборкой мусора, а надысь задумали от нее отказаться в языке. Будущее у него пока слишком отдаленное, пусть даже и светлое.
Колбасит сильно. GC в составе языка никогда не было, есть отдельный эксперимент с GC живущий в отдельном проекте. Если его и дальше не будет, то никто и не заметит.
DM>Он последнее время (~год) набирает обороты, после недавнего переезда на гитхаб прибавилось разработчиков/контрибюторов, баги правят пачками, а сам язык все стабильнее, все меньше в нем вредных изменений. Недавно вон конференция по нему прошла на базе Facebook'a, много интересного рассказали и вопросов порешали. (см. dconf.org) Есть пока некоторые больные места в его реализациях (вроде GC), но если на них сильно не наступать, то очень годный язык уже сегодня, а по сочетанию понятности-выразительности-скорости, пожалуй, круче всех.
Это все хорошо, но то что за 15 лет не разродилось, уже вряд ли когда-то появится на свет
Здравствуйте, Grundik2, Вы писали:
G>Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
Вы лучше скажите для чего, а там уже видно будет.
У С++ есть очень сильное преимущество в большом числе утилит , то бишь дебаггеров, IDE и прочих вещей.
Кажется мелочь, однако удаленная отладка очень полезная штука.
Да С++ очень сложен в обучении, но ваш любимый IDE переписывать никто не будет
Здравствуйте, os24ever, Вы писали:
_NN>>Да С++ очень сложен в обучении, но ваш любимый IDE переписывать никто не будет
O>Открой для себя Scala + IntelliJ IDEA.
Я уже давно открыл для себя Nemerle и больше ничего не надо , но ведь речь не об этом .
Здравствуйте, _NN_, Вы писали:
_NN>Здравствуйте, Grundik2, Вы писали:
G>>Хочу поиграться с чем-нибудь, чтобы компилилось сразу в native код. Аналог C++'са, но не слишком экзотическое, малоизвестное или вымирающее. На ум приходит только D и Rust. Что порекомендуете?
_NN>Вы лучше скажите для чего, а там уже видно будет.
Здравствуйте, kaa.python, Вы писали:
KP>Т.е. да, приложения на JVM и .NET тормознутые, но не потому что JVM или .NET тормознутая, а потому, что основная масса разработчиков под эти платформы вообще не думает о том, что стоит память или на сколько дорого обходится то или иное решение. В итоге получается монстры-тормоза, а дело-то все в ручках...
Т.е. ты умный, а JVM и .NET разработчики дураки?
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
KP>>Т.е. да, приложения на JVM и .NET тормознутые, но не потому что JVM или .NET тормознутая, а потому, что основная масса разработчиков под эти платформы вообще не думает о том, что стоит память или на сколько дорого обходится то или иное решение. В итоге получается монстры-тормоза, а дело-то все в ручках...
IT>Т.е. ты умный, а JVM и .NET разработчики дураки?
Не совсем. Что на JVM, что на .NET типичный подход выглядит как-то так: "главное задача, памяти бесконечно много, не хватает мощности — поставим на кластер". Умный это подход или глупый, в общем случае, – мне судить сложно. С точки зрения системного C++ разработчика – подход глупый, но, бизнес, вроде как устраивает.
Ну и в целом, большинство JVM и .NET смутно представляют себе то, как работает их код на железе, что тоже не слабо сказывается на его качестве. Этот нюанс прослеживается что на форуме, что в личной беседе.
Здравствуйте, IT, Вы писали:
IT>Т.е. ты умный, а JVM и .NET разработчики дураки?
Если отбросить эмоции, то Java/.Net разработчики не задумываются о ресурсах/алгоритмах. Мне прямо говорили: "В бизнес-приложениях алгоритмы не нужны, у нас все в базу упирается".
Здравствуйте, kaa.python, Вы писали:
DM>>Слишком пока колбасит его, еще сто раз поменяется. Вон, делали-делали его со сборкой мусора, а надысь задумали от нее отказаться в языке. Будущее у него пока слишком отдаленное, пусть даже и светлое.
KP>Колбасит сильно. GC в составе языка никогда не было, есть отдельный эксперимент с GC живущий в отдельном проекте. Если его и дальше не будет, то никто и не заметит.
Были указатели на "управляемые" объекты, а теперь хотят их выбрость, если я все правильно путаю.
DM>>Он последнее время (~год) набирает обороты, после недавнего переезда на гитхаб прибавилось разработчиков/контрибюторов, баги правят пачками, а сам язык все стабильнее, все меньше в нем вредных изменений. Недавно вон конференция по нему прошла на базе Facebook'a, много интересного рассказали и вопросов порешали. (см. dconf.org) Есть пока некоторые больные места в его реализациях (вроде GC), но если на них сильно не наступать, то очень годный язык уже сегодня, а по сочетанию понятности-выразительности-скорости, пожалуй, круче всех.
KP>Это все хорошо, но то что за 15 лет не разродилось, уже вряд ли когда-то появится на свет
Уже появилось. Это Rust пока в состоянии "нерожденный" , а на D некоторые компании уже активно пишут. 100+ человек в компании, и весь код на D, на упомянутой конференции были представители.