LINUX.ORG.RU

D, Go и Rust, взлетит ли что-нибудь?

 , , , ,


4

8

Привет, LOR. На данный момент в окружающее пространство уже некоторое время накатывает следующая мысль: «Разработчикам прикладного ПО, использующим в своей практике Си и C++, крайне необходимо облегчить жизнь, избавив от ошибок с памятью и предоставив удобные механизмы для параллельного программирования». Одни адепты, этакие Базаровы от программирования, предлагают воплощать задумку с помощью новых языков: D, Go и Rust. Другие же, коих пока явно больше, всячески не желают выходить из своей зоны комфорта, предлагая включать необходимое в новые стандарты уже используемых инструментов.

Как думаешь, садиться ли уже сейчас за изучение одного из убийц Си/C++, чтобы через 5 лет не оказаться на обочине индустрии, или же все продолжит идти в старом русле с незначительными вливаниями новшеств?

Баба Ванга говорила, что за Rust вроде как большое будущее.

Про все остальное пусть скажут практики :-)

Twissel ★★★★★
()

Судя по шуму вокруг, Go.

yoghurt ★★★★★
()

нет и уходи, тупые тут не нужны

anonymous
()

D, Go и Rust, взлетит ли что-нибудь?

D умер не родившись, Go уже давно взлетел, Rust пока ещё нет, но взлетит гарантированно.

садиться ли уже сейчас за изучение

Садиться за изучение стоит всегда.

mix_mix ★★★★★
()
  • C бессмертен. И тут вряд ли что поменяется.
  • Go уже летит, как уже отметили выше.
  • D похоже что мёртворождён.
  • Rust — не знаю, только на ЛОР про него и слышно. ;)
beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)

D, Go и Rust, взлетит ли что-нибудь?

D уже не взлетел.

tailgunner ★★★★★
()

Стоит поиграться ради расширения кругозора, но ничто из этого через 5 лет С/С++ не вытеснит. D уже 15 лет как вытесняет с нулевым результатом, Go вроде нашел себе нишу, но он скорее конкурент Java, чем С/С++. Rust единственный из троицы, кто вносит какие-то принципиальные инновации в индустрию в виде lifetime и borrow checker, но пока не понятно, на сколько это будет удобно на практике.

anonymous
()

Go уже взлетел, Rust взлетит. D не интересовался.

ee1337a
()
Ответ на: комментарий от Novell-ch

Его вообще писали как замену Си для прикладных нужд. Потом откуда-то налетели любители Python и сместили вектор развития в сторону web.

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

Его вообще писали как замену Си для прикладных нужд

Убийца Си с толстым рантаймом и сборкой мусора. Какой бред.

tailgunner ★★★★★
()

D - мертворожден

Go - взлетел, но не вместо C++

Rust - перспективен

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

Посмотри сюда http://golang.org/pkg/

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

https://www.youtube.com/watch?v=VoS7DsT1rdM а тут Роб Пайк рассказывает об истории и предпосылках. В конце говорит что создавался на замену C++ и Java в гугле.

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

Get your shit right. Тебе выше сказали - нормальные люди на си прикладуху не пишут. Там, где си нужен - там его убивать не нужно, он вполне годен. Да и не убьешь ты его. А плюсы совсем другой разговор, да.

Никогда го не планировался как убийца Си.

entefeed ☆☆☆
()

Сабж не может быть убийцей С & C++ точно так же как C++ не стал никаким убийцей C (и не планировался как таковой, надо сказать).

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

Кстати, моё маленькое наблюдение (не знаю на сколько оно верно):

Беда всех этих C#, D, C++, Rust, Vala, Obj-C ... you name it скорей всего в том, что они и не пытались ломать обратную совместимость с C. В связи с чем у них были конечно какие-то свои плюшки, но всё же они все слишком «повязанны» и бедны на новые, кардинальные идеи и решения. Такие, никому толком ненужные «C с прибамбасами».

Другое дело Go, вот он и взлетел.

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

Сугубо околовебной направленности там и близко нет.

http://youtu.be/VoS7DsT1rdM?t=8m30s Всю дорогу с Си сравнивает.

Хотели программировать на Си вместо C++ и Java -> создали усовершенствованную версию Си.

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

Он там сравнивает со многими языками.

В стандартной библиотеке есть много батареек для написания под сеть (под веб в частности), набегание вебохипстеров вполне закономерно.

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

Гм. C#, C++, Obj-C точно взлетели (каждый по своим причинам). У C# с C общего разве что только символы в названии и фигурные скобки.

Rust ещё вроде до 1.0 не дошёл, рано о чём-либо говорить.

Ну и уж go точно беден на

новые, кардинальные идеи и решения

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

Я не совсем понял что ты имеешь ввиду под совместимостью с Си, и откуда она у C# и раста. Но в Го взаимодействие с Си одно из самых легких что я видел.

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

его(golang) изначально писали под баребон кластера с мап-редюсом на 100500узлов с 100500 «зелёными» нитями на узел.

т.е не столько убийца С

сколько отьедание промежуточной ниши между С и «Python» на сервере.

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

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

как и С

эт видимо марка продуктов BellLabsGuys - не новыми фишками а «синергией старых фишек»

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

Попробую передать мысль «на пальцах». ;)

Во первых, по поводу C# и Rust я не совсем уверен — никогда их не смотрел.

А имел я в виду, что ванильный C код для этих языков является также валидным синтаксисом.

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

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

Ну и уж go точно беден на

новые, кардинальные идеи и решения

А, в частности, мультипроцессинг на уровне синтаксиса языка не в счёт?

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

На чем основана уверенность?

Компиляция в native, статическая типизация, ADT, pattern matching, генерики, трейты, статическая и динамическая диспетчеризация, RAII, лайфтаймы, нет GC и толстого рантайма, простой FFI, даже макросы завезли. Это беспроигрышная комбинация, даже несмотря на упоротый синтаксис.

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

мультипроцессинг на уровне синтаксиса языка не в счёт?

Ерланг, occam, newsqueak (оттуда взяли оператор-стрелку для каналов), limbo, alef.

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

Первые 3 по-моему интерпетирующие, последние 2 можно считать промежуточным этапом между C и Go. (От тутда в принципе ноги и растут.)

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

А, в частности, мультипроцессинг на уровне синтаксиса языка не в счёт?

После Occam и Ada - точно не в счет.

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

И тем не менее в го нет ничего принципиального нового. Всё было придумано до них. Это не хорошо и не плохо, просто так вышло ☺

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

Для прикладных нужд Си не используется уже лет 20.

А я вот использую почти каждый день :(

Я тоже. Но речь-то о нормальных людях и приложениях, которые начали писаться за последние 20 лет.

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

Компиляция в native, статическая типизация, ADT, pattern matching, генерики, трейты, статическая и динамическая диспетчеризация, RAII, лайфтаймы, нет GC и толстого рантайма, простой FFI, даже макросы завезли.

Лайфтаймы и линейные типы довольно трудно использовать. Jury's still out...

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

Вопрос сокрее даже не в том, что там такого уникального нового, а в том, что «свежие» идеи (те которым не 40, а только 20 лет) собраны в кучу и красиво обёрнуты.

И ещё, немаловажный момент — т.к. Go в какой-то степени требует literate programming, имеем в результате чудеснейшую документацию, чем не многие языки похвастатся могут.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от PolarFox

Ну и уж go точно беден на новые, кардинальные идеи и решения

В этом и есть его кардинальная идея. Это великолепный по своей практичности язык, которым реально хочется пользоваться. Мгновенная сборка в native, stand-alone бинарь, горутины с магическим планировщиком, утиные интерфейсы, рефлексия, и всё в комплекте с набором всевозможных утилит высочайшего качества.

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

C#, C++, Obj-C точно взлетели (каждый по своим причинам)

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

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