LINUX.ORG.RU
ФорумTalks

Swift vs. Rust

 , , , ,


0

5

Тут столько тредов было про Go vs. Rust, при том что первый нифига не позиционируется заменой C/C++ в широком спектре задач. И, что удивительно, ни единого Swift vs. Rust холивара.

Хотя авторы Swift называют конкурентом своего ЯП именно Rust. Конечной их целью является язык, пригодный как для десктопных, мобильных и прочих приложений, так и целых операционных систем, баз данных, серверов. Выбрали для этого, по их словам, они отличный от Rust подход - top to bottom: начали с эргономики ЯП и постепенно работают над производительностью и прочими аспектами. И это заметно, на фоне птичьего Rust'а, Swift таки выглядит красиво.

Swift по большей части используется пока лишь для узкого круга задач, но при этом обходит по популярности Rust. Кроме того, за ним Apple (кто говорил «если бы не Google, Go бы вообще никто всерьёз не воспринимал бы», «Go используют, потому что Google»?).

Как-то так. Дискуссию на тему перспектив объявляю официально открытой.

Перемещено tailgunner из development

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

Комменты выше читал, и тем более осуждаю.

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

Не, в ёппловскую экосистему лезть и под айфон писать чёт фу. Так и под Андроид макакой можно. Только нематериальной мотивации типа «крута» и «прикольна» не хватает.

LittleKawaiiNeko ★★
()

Для серьезной разработки на свифте небось придется брить ножки итп. Кому оно надо вне яблокоподелок?

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

Ты можешь сделать шугаринг. Но только потому, что у тебя розово-фиолетовая поняша на аватаре.

RedJohn
() автор топика

По ссылке херня какая-то, где PR сделать?

Не знаю свифт, но про раст вранье как минимум с явными типами там, где они не нужны.

Собственно как пример со свапом — ложь.

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

Вернись на 3 года назад: была тонна пиара Go на всех возможных ресурсах, на нём хайпили раз в 5 мощнее чем на расте в пик хайпа

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

Там рантайм простейший, как и весь язык. Достаточно прошаренный Васян с командой из 5 Петь бы осилил ка нефиг.

mersinvald ★★★★★
()

Кроме того, за ним Apple

Это вроде минус, а не плюс.

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

Releases Swift 4.0.2 Download Xcode 9.1* Toolchain Debugging Symbols November 1, 2017 Ubuntu 16.10 Signature November 1, 2017 Ubuntu 16.04 Signature November 1, 2017 Ubuntu 14.04 Signature November 1, 2017

spider_russia
()

выглядит красиво http://hyperpolyglot.org/rust

Так сравнивает только школота

Дискуссию на тему перспектив объявляю официально открытой

У свифта все перспективы завязаны на эпл - скопытится, скопытится и ЯП. Перспективы яблока туманны, но есть момент инерции, насколько хватит посмотрим. Здесь свифт похож на шарп - в своей экосистеме неплох, на шаг вправо и полный голяк.

Перспективы раста завязаны на то, как себя покажет Mozila Quantum и Redox. Будут ли пестрить новостные ленты 0-деями (как они еженедельно пестрят для поделий написанных на си или крестах) или нет. Пока еще рано говорить.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)

Я считаю, что Swift — язык без перспектив, но тем не менее, удачная попытка Apple сделать безопасный, нативный язык да ещё и с удобным синтаксисом.
Мог стать отличной альтернативой Java и C# для написания мобильных и десктоп приложений, но появился Kotlin и быстро, уверенно отнимает ту самую нишу (и даже больше).
Год назад — ок, сейчас — не вижу причин использовать Swift.

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

Если по трендам смотреть, Rust'а вообще не существует: Go (91), Swift (51), Rust (5). А перспектив, конечно же, нет у Swift. Потому что потому.

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

В каком месте оно что-то у кого отнимает? Даже в 20ку ЯП не попал ещё. В сотне болтается в середине, как х... на резине. А работать на Android / iOS / OSX умеет и Go; через cgo д*очи любой нативный фреймворк - не хочу. И даже Dart. Это абсолютно не показатель.

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

Перспективы раста завязаны на то, как себя покажет Mozila Quantum и Redox

Quantum - да, может быть. Redox? Всем пофиг.

Будут ли пестрить новостные ленты 0-деями (как они еженедельно пестрят для поделий написанных на си или крестах)

Собственно security браузера Rust вряд ли улучшит - Firefox будет смесью Си++ и Rust еще долго (а может, и всегда): переписывать JS-движок на Rust даже планов нет.

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

Я около полутора лет назад начал писать на расте, работу вполне предлагают.

Какого рода работу, если не секрет, насколько адекватные компании, удалёнка / onsite / релокация?

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

Сейчас парт-таймлю в блокчейн-стартапе + ребята из одной компании кидают мне задачи на аутсорс с почасовой оплатой.

Всё — удалёнка.

Есть и офисная работа, в Питере например, пара компаний, но я сейчас географически привязан в Татарстане.

mersinvald ★★★★★
()
Последнее исправление: mersinvald (всего исправлений: 2)

Вот и Google с Swift подтянулся. https://itc.ua/news/tainstvennaya-os-google-fuchsia-poluchit-podderzhku-yazyi...

К настоящему моменту известно, что ОС Fuchsia позволит запускать приложения, созданные как на языке Dart собственной разработки Google, который во многом похож на C, так и приложения, написанные на других языках – C/C++ и Go. Добавление Swift в этот список подразумевает, что в теории в будущем разработчики смогут легко портировать свои приложения для платформ Apple на ОС Google Fuchsia.

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

Вот и Google с Swift подтянулся. https://itc.ua/news/tainstvennaya-os-google-fuchsia-poluchit-podderzhku-yazyi...

Ни о чем не говорит. С Rust он подтянулся уже давно: https://github.com/fuchsia-mirror/docs/blob/master/rust.md

Добавление Swift в этот список подразумевает, что в теории в будущем разработчики смогут легко портировать свои приложения для платформ Apple на ОС Google Fuchsia.

Ничего такого она не подразумевает. Приложения на Swift будут использовать эппловские либы, которых на Фуксии не будет.

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

Redox? Всем пофиг.

Не всем. Смотри звездочки тут https://github.com/redox-os/redox

Firefox будет смесью Си++ и Rust еще долго

А что, кроме SpiderMonkey, будет на крестах в новом фырфоксе?

переписывать JS-движок на Rust даже планов нет

Можно глянуть шире, тут джаву планируют на джаву переписать, а потом это вместе с Graal и Nashorn к ржавому и серво - бац браузер c JVM написанный на джаве и крестов по минимуму (а может и вообще без)

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 4)
Ответ на: комментарий от mersinvald

Сейчас парт-таймлю в блокчейн-стартапе

Вооот, говорю же pump and dump проекты по большей части. Я таких вежливо посылаю, карма дороже.

ребята из одной компании кидают мне задачи на аутсорс с почасовой оплатой.

Из какой области задачи? Компания местная?

RedJohn
() автор топика
Ответ на: Внезапно... от sqq

Я про Swift тащемта спрашивал. Потому что у Rust есть #![no_std] и портабельный core.

WatchCat ★★★★★
()
Последнее исправление: WatchCat (всего исправлений: 2)
Ответ на: комментарий от RedJohn

Redox? Всем пофиг.

Не всем. Смотри звездочки тут https://github.com/redox-os/redox

Всем. Разрабы Redox не рискуют ни деньгами, ни репутацией, а их конечным продуктом (если он появится) никто не будет пользоваться (кому нужна ОС без приложений?).

Firefox будет смесью Си++ и Rust еще долго

А что, кроме SpiderMonkey, будет на крестах в новом фырфоксе?

Всё, кром CSS и WebRender.

тут джаву планируют на джаву переписать,

Шо, опять? Jikes RVM уже был же.

бац браузер c JVM написанный на джаве и крестов по минимуму

Не понял, причем здесь JVM. Браузерные VM явно буду использовать WebAssembly (возможно, там случится Cretonne, но это опять же не имеет отношения к JVM).

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

В каком месте оно что-то у кого отнимает?

В том, где используют Java, например.

Даже в 20ку ЯП не попал ещё

Хайп — тем более не показатель. Но даже если ты думаешь иначе, вот тебе несколько интересных фактов:
В TIOBE Swift сейчас на 20-м месте, красная стрелка указывает, что он вот-вот из 20-ки вылетит. Scratch(!!!) на 16-м.
В RedMonk отметили, что за последний год в их рейтинге Kotlin переместился на ~20 позиций (сейчас 46).
В PYPL (самый адекватный рейтинг) Kotlin на 17-м месте и имеет 6 (Change) и 0.9% (Trend), в то время, как Swift 0 (Change) и только 0.3% (Trend).

А работать на Android / iOS / OSX умеет и Go; через cgo д*очи любой нативный фреймворк - не хочу. И даже Dart. Это абсолютно не показатель.

Ни Go ни Dart не годятся для полноценной разработки под Android, Kotlin — вполне. Он уже занял нишу языка для Android разработки.
Следующий ожидаемый шаг — стать языком для мобильной разработки, т.е. для Android и для iOS. Поверь, возможности шарить платформонезависимый код между Android и iOS приложениями очень не хватает. А Swift такую возможность предоставить не сможет.

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

На гитхабе. Зачем либам поддерживать платформу? Стандартня библиотека поддерживает, а либы зависят только от нее.

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

Ну ок, может и чушь. Но мне правда интересны конкретные примеры, что же такого платформозависимого должно быть в либах? Сеть, потоки, графика, это уже есть.

vlad9486
()

Вот это же просто рассизм. Об Objective C тоже говорили что он только для apple. Хотя вполне себе можно писать под другие мейнстримные десктопы. Есть под линукс, а значит и под новые винды.

Из-за несправедливого стереотипа люди теряют целый язык.

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

что же такого платформозависимого должно быть в либах?

Не обязательно зависимого от платформы, а присутствующего на всех целевых платформах. GUI, СУБД, фреймворки для вебели и ещё куча всего. Насколько я могу судить, ничего этого для Swift нет. Есть только полтора десятка мелких библиотек на гитхабе.

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

В том, где используют Java, например.

Не слышал.

Хайп — тем более не показатель.

Хайп на Swift? Не замечал как-то. Rust форсят, Go тоже иногда. Про Swift вообще ничего не видел.

В TIOBE Swift сейчас на 20-м месте, красная стрелка указывает, что он вот-вот из 20-ки вылетит.

Т.е. по твоему стрелка указывает будущее? Хорошая гипотеза, но не рабочая. Стрелка указывает движение относительно этого же месяца прошлого года. В октябре на 20м месте был Go, сейчас он на 14м.

В RedMonk отметили, что за последний год в их рейтинге Kotlin переместился на ~20 позиций (сейчас 46).

Спасибо за пруф моих слов: сотни посредине, как х.. на резине.

В PYPL (самый адекватный рейтинг) Kotlin на 17-м месте и имеет 6 (Change) и 0.9% (Trend), в то время, как Swift 0 (Change) и только 0.3% (Trend).

Ты только погляди, у Java то вообще который месяц 0 (Change). Кого волнует, что это из-за первого места, правда? Таки Kotlin (0.8%) на 17м, а Swift (3.1%) на 10м. Всё что нужно знать.

А вот «адекватность» как раз вызывает вопросы. Perl и Visual Basic популярней Go? Пойди вакансии посмотри, что ли.

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

Ни Go ни Dart не годятся для полноценной разработки под Android.

Годится даже Dart. Было бы желание. Но он нафиг никому не сдался. Так же, как и Kotlin.

А Swift такую возможность предоставить не сможет.

Т.е. ЯП Swift как-то архитектурно залочен, делая невозможным разработку на нём ПО именно под Android'ы? Для ОС годен, для баз данных и серверов - тоже. У дефолтного компилятора Android backend имеется. Но разрабатывать принципиально нельзя. Я правильно понимаю?

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

Хайп на Swift?

Хайп на все языки. Рейтинги в основном его и показывают

Т.е. по твоему стрелка указывает будущее?

Указывает на то, что популярность падает (или слабо растёт)

Спасибо за пруф моих слов: сотни посредине, как х.. на резине.

Ну что сказать... Видеть только подтверждение своим словам — это сильно.

Таки Kotlin (0.8%) на 17м, а Swift (3.1%) на 10м.

Я говорю о динамике развития, а не о распространённости. Kotlin 1.0 релизнули позже (и не Oracle), распространённость соответственно меньше.

Perl и Visual Basic популярней Go? Пойди вакансии посмотри, что ли.

Популярней, посмотрел.

Годится даже Dart. Было бы желание. Но он нафиг никому не сдался. Так же, как и Kotlin.

Пока нет, Dart не годится. А вообще, стоит напомнить что Kotlin — второй официальный язык для разработки под Android, и не спроста

Т.е. ЯП Swift как-то архитектурно залочен, делая невозможным разработку на нём ПО именно под Android'ы? Для ОС годен, для баз данных и серверов - тоже. У дефолтного компилятора Android backend имеется. Но разрабатывать принципиально нельзя. Я правильно понимаю?

Да, на этом нельзя разрабатывать код для продукции

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

Ну, ОК. Ставь на Kotlin. Через несколько лет, когда его закопают от ненужности, я буду ржать тебе в лицо. Можешь скринить.

Популярней, посмотрел.

Значит у тебя альтернативная реальность. Либо ты смотришь какие-то зажопинские вакансии.

код для продукции

Дунул что-ли?

RedJohn
() автор топика

Тут упоминают Go? В адекватном ключе?

Где же вы были, когда выходили новоости на ЛОРе об очередном релизер Go?

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

Из-за несправедливого стереотипа люди теряют целый язык.

Думаю, стереотипы тут не при чём. Дело в самом ЯП. Народную славу и почёт сейчас получают языки, родившиеся естественным путём. Например, дрчил Коммандер Пайк сервера на плюсах в Гоогле и пришёл к осознанию, что для этой области лучше бы подошло оно... и создал Го. Задолбался кто-то из Тормозиллы иметь дело с определенными типами багов в гигантской легаси кодобазе - создал Rust, решающий эту проблему.

В случае Swift же менеджмент поставил задачу: - «нужно бы ЯП свой запилить, чтоб был». - «А что за ЯП»? - «А ХЗ, давай, наверное, со всем хорошим и без всего плохого». - «ОК, будем пилить очередной мультипарадигменный ЯП». А зачем он нужен людям, если C# давно существует? Нужно было только компилятор в нативный код написать и всё.

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

В сотне болтается в середине, как х... на резине

28-я позиция в TIOBE

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