LINUX.ORG.RU

Swift — новый язык программирования от Apple

 , ,


0

1

Только что на своей ежегодной конференции для разработчиков WWDC'14 крупнейшая IT-корпорация мира Apple анонсировала новый язык программирования — Swift, призванный заменить Objective-C, являющийся основным в операционных системах компании последние двадцать лет.

Swift — объектно-ориентированный язык, компилирующийся в нативный код. Вместе с тем он включает в себя многие фичи, присущие функциональным языкам, в том числе:

  • сопоставление с образцом (pattern matching);
  • вывод типов (type inference);
  • замыкания (closures);
  • кортежи (tuples);
  • REPL.

Однако в новый язык не попали многие низкоуровневые вещи, обеспечивающие обратную совместимость Objective-C и C. Несмотря на это, заявляется, что по производительности Swift существенно обгоняет Objective-C.

Также сообщается, что Xcode — интегрированная среда разработки от Apple — уже обеспечивает полную поддержку нового языка, включая интерактивный playground.

Подробнее на Apple Developer Center

>>> Руководство по языку

★★

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

Ответ на: комментарий от makoven

Swift пилили с 2010 года, просто ранее его никто официально не анонсировал

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

Еще бы на улице кошелек попросил кого нибудь подержать

учитывая всю проприетарную сущность этого софта — действительно да — похоже что использование такого софта не плохо соизмеримо с «кошелек попросил кого нибудь подержать» :-)

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

И зачем это нужно на LOR?

А затем, что это уже давно не LOR, тут многие пролили тонны спермы на божественную OS X. И продолжают проливать :)

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

Неправда. Objective-C почти тот же Си.

Не очень понимаю, о чем речь. Да, Obj-C совместим с C, но структура программ и вообще подходы к проектированию архитектуры абсолютно разные.

А вот в Swift чувствуется преемственность. Ключевое слово convenience вызвало некоторую ностальгию.

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

Так структуру программы и проектирование выбирает программист, а не язык. В моих objective-C приложениях примерно 30% кода написано на Си вперемежку с objective-C и никаких проблем архитектурного плана это ни то что не вызывает, но даже смотрится красиво и гармонично, я даже Си стал любить больше после кодинга на objective-C.

menangen ★★★★★
()

Просмотрел руководство, кое-где, конечно, довольно бегло, но все же, должен сказать, очень классная штука.

slyjoeh ★★★
()

Ещё один ЯП. Надоели.

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

А когда надо иметь дело с большими буферами (например, обработка каждого кадра с камеры) - уповать на то, что, компилятор расставит malloc/free в правильных местах

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

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

Таки прозрели, что Objective C - г...но.

Objective C - говно, но это не лучше.

alexeiz
()

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

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

интерактивный playground

Кэп сегодня в ударе.

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

И что же теперь – суды, разбирательства?

Вряд ли. Юристы у эппла хорошие и такого прокола не допустили бы. Скорее всего эппл зарегистрирует торговую марку и заставит старый свифт переименоваться.

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

Это предложение встречается в каждом восторженом туториале про любой динамический петушок^wязык

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

В модераторы без маков не берут. Был тут один, Тазом звали...

Как показывает практика, модераторы с макбуками слишком пассивны.

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

Да ведь так все и делают. Сначала пишут хоть на Руби, а потом если взлетает - самые тормозящие места переписывают хоть на Си. Смысл в том, что не имеет смысла заниматься преждевременной оптимизацией. Софтина может оказаться никому не нужна, и тогда уже неважно с какой скоростью она работает. Использование современных языков позволяет писать быстро, что дает возможность много-много раз попробовать написать прототипы софтин, и потом делать только те, что выстрелили

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

ты смеешься что ли? Скопировать его .app в Applications и подождать пять минут. Еще установить Command Line Tools (там в dmg лежит уже .pkg, его нужно запустить).

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

скорость реализации некоторых алгоритмов в 3,9 раза больше, чем на Python

Какая-то маленькая скорость

makoven ★★★★★
()

Господа, я только что прозрел. Простите слоупока.

Получается, у эппла теперь есть всё - своя ОС, своя GPU API, свой язык программирования. И это значит, что скоро разработчиков под iOS и мак невозможно будет переучить!

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

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

Получается, у эппла теперь есть всё - своя ОС, своя GPU API, свой язык программирования. И это значит, что скоро разработчиков под iOS и мак невозможно будет переучить!

Apple == Microsoft + анальное рабство

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

Apple == цельная инфраструктура без разброда и шатания

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

Получается, у эппла теперь есть всё - своя ОС, своя GPU API, свой язык программирования.

А, типа, раньше не было.

И это значит, что скоро разработчиков под iOS и мак невозможно будет переучить!

???

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

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

Получается, у эппла теперь есть всё - своя ОС, своя GPU API, свой язык программирования.

А, типа, раньше не было.

Своего GPU API не было. Да и Objective-C может считаться «своим» с некоторой натяжкой // К.О.

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

Скопировать его .app в Applications и подождать пять минут. Еще установить Command Line Tools (там в dmg лежит уже .pkg, его нужно запустить).

у меня GNOME .. тут нет кнопки «Applications» , но есть кнопка «Show Applications» — это оно?

ты смеешься что ли?

чуть-чуть :-)

user_id_68054 ★★★★★
()

Очередной универсальный язык ? Спасибо не надо, нам бы кросс платформенный язык для гуя. А так пусть эпло-филы забавляются think different-ются.

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

Самое прикольное, что через год никто не на swift писать под apple не будет. Появится куча книжек и видеотуториалов о стриже, напишут кучу софта на нём, бабки потекут ручьём, а убунту как тормозила, так и будет тормозить у всех :-) Кстати, swift будет компилиться в LLVM opensource, но толку, если в том же Linux из адекватных GUI Framework'ов только Qt...

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

Почему ты считаешь, что не будут? Я вот попробовал, понравилось, понравилось больше, чем ObjectiveC. Наконец-то можно просто писать, а не трахать себе мозг.

stevejobs ★★★★☆
()

Швыдкой и министерство культуры одобряэ!!1

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

О, круто, новое не_нужно от не_нужно. Джва года этого ждал!

Это ты еще про Metal не узнал. Тогда совсем обалдеешь

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

Почему ты считаешь, что не будут?

Он ровно обратное предполагает.

Apple-ch ★★
() автор топика

Как я рад, что не начал год назад учить Objective C. Теперь он, как выяснилось, не нужен.

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

OpenCL вообще-то из яббла вышел.

А OpenGL из SGI. И ничего - пережил кончину родителя.

tailgunner ★★★★★
()

Кажется, эпл снова унюхали куда дует ветер и быстренько спи*дили идею у Rust ...

s9gf4ult ★★
()
Ответ на: комментарий от Apple-ch

Про васик забыли:

let maximumNumberOfLoginAttempts = 10

И паскаль:

var welcomeMessage: String

Это совпадение на 100%. В принципе очень даже ничего, в конце концов эти языки в свое время были весьма популярными, а основной синтаксис повторяет С. Но зачем, например, делать вот так:

let 你好 = «你好世界»

Наберут китайских кодеров, которые потом поувольняются, останется только новых китайских искать.

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

let 你好 = «你好世界»

Наберут китайских кодеров, которые потом поувольняются, останется только новых китайских искать.

организовать замену не сложно =) sed и awk во все поля =)

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

Как бы ты, линуксоид, не баттхёртил, не злился и прочее, OS X - это Unix, так ещё и сертифицированный, а iOS - Unix-like.

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

у меня GNOME .. тут нет кнопки «Applications» , но есть кнопка «Show Applications» — это оно?

У меня по экрану уже жир течёт.

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