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)
Ответ на: комментарий от vurdalak

У них это стадо уже есть, называется iOS developer.

да, но сейчас оно не такое узкокалейное. слезание с фалоимитатора iOS development сейчас равносильно простому изучению нужного SDK. А концепции языка и принцип разработки остается старым. Вон сраваните переход с Objective C на тот же C++\Qt5, например, и переход со swift на C++\Qt5. Разница, думаю будет серьезная. Ведь Objective C - он таки ещё родной к C\C++, верно же? И прогам сейчас проще туда-обратно бегать.

А теперь попытка слезть с этого поделия будет равносильна полной смене языка. Все равно что сишнику например джаву освоить. Потому стадо узкокалейщиков станет ещё более узкокалейным.

Ибо кому нахрен нужен этот свифт кроме яблодрочеров?

Ставлю свои 5 копеек, что повторится ситуация как с 1С: потребностей много, прогов мало, проги становятся дороже.

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

а?

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

слезание с фалоимитатора iOS development сейчас равносильно изучению нужного SDK.

Не всё так просто. Даже в пределах одного языка есть куча специализаций и технологий. И чем дольше ты работаешь в одной, тем сложнее тебе будет слезть на другую. Банально потому, что твой опыт работы в игроделе на iOS например бесполезен в написании соцсетей на iOS, и при желании слезть с одного на другой ты получишь зарплату новичка.

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

Вероятнее, что будут и дальше писать на ObjC. На джаве сколько улучшайзеров кануло в лету до появления scala? Навскидку - Kotlin, Clojure, Groovy. Да и скалка популярна разве что среди хаскелистов-реалистов

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

А кто-нибудь пощупал уже этот интерактивный плейграунд? Выглядело так, как будто Apple первым наконец-то осилил и реализовал идеи, показанные Bret Viktor (Inventing on Principle, http://vimeo.com/36579366). А то в Lighttable это как то совсем уныло получилось, вернее совсем не получилось (на примере js).

Чтобы не говорили, но сами идеи довольно-таки неплохие и если для их воплощения потребовалось сделать новый язык - вполне оправданно :)

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

Все равно что сишнику например джаву освоить.

На работе пишу дрово на Си. Дома, для себя — на приложение на Java. ЧЯДНТ?

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

На работе пишу дрово на Си. Дома, для себя — на приложение на Java. ЧЯДНТ?

Пишешь на Java «дома, для себя».

tailgunner ★★★★★
()

А компилятор где скачать?

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

чел, ты как раз все делаешь правильно!

я не говорю что это невозможно) я говорю о высоте калеи.

в бытность прогера 1це я писал внешние компоненты на дельфях, и потом С++\Qt освоил. но я один тыкой был на весь франч. и боюсь даже не на один наш франч, а на пару десятков франчей.

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

И да, это издевательство — давать ссылку на руководство в айтюнс. Господа модераторы-маководы, залейте на файлообменник.

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

clojure моложе скалы и никуда не канул, а активно развивается.

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

Для начала надо его скачать. Чтобы его скачать нужна оплаченная учётная запись разработчика.

вот эт засада.. мало того что сидеть ночами и писать код, тыг ещё и платить за это деньги!

user_id_68054 ★★★★★
()

Посмотрел примеры, может я извращенец, но мне это очень нравится, подумываю даже начать делать что-то на нем для вражеских ОС.

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

вот эт засада.. мало того что сидеть ночами и писать код, тыг ещё и платить за это деньги!

По запросу (без кавычек): «xcode6 torrent» можно спокойно найти тоже самое, без всяких там аккаунтов разработчика.

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

Зайди по ссылке, скачай через iTunes, там обычная книга в формате epub. Не вижу проблемы прочитать её чем-либо, если надо сконверти calibri хоть в pdf.

Т.е. для чтения документации надо скачать какую-то проприетарную хрень и запустить её в Вайне? Хорошо хоть, что скан паспорта прислать не просят.

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

хорошие языки создаются практиками, прошедшими огонь воду и медные трубы. Корпорации успешны и значит они прошли все стадии и испытания жизни в ИТ. Знают что хорошо и понятно для индустрии, интеллектуальный уровень индустрии. Акадкмики создают языки под свой интеллект и потому на хаскеле пишут «3.5» человека. Обе ниши нужны.

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

но то что он от эпла значит что он не нужен

вебкит в UA

упс

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

Apple Dylan уже был и ни к чему подобному не привёл.

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

Вон сраваните переход с Objective C на тот же C++\Qt5, например, и переход со swift на C++\Qt5. Разница, думаю будет серьезная.

серьезной разницы не будет, вы внимательно доку смотрели? тот же obj-c с сахаром, более современный, я удивлен почему swift не запилили раньше, давно пора.

Ставлю свои 5 копеек, что повторится ситуация как с 1С: потребностей много, прогов мало, проги становятся дороже.

спрос/предложение на любом рынке предсказать сложно, слишком много факторов, спекулировать тут особо смысла нет, учи то, за что платят дофига денег сейчас, а не пытайся угадывать, завтра учи другое если потребуется

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

Они тоже создают стадо узкокалейных прогеров?

Чем это отличается от .Net?

x_hash
()

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

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

Kotlin уже выпустился в виде стабильной версии

вот смысл этого языка от меня сильно ускользает, JetBrains просто зажрались

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

Что Kotlin, что Ceylon - более удобная Java (т.е. новый функционал без необходимости поддержки атавизмов). А так как они на основе JVM, то весь существующий код работает как и раньше, т.е. ничего работающего переписывать не надо.

Посмотри на развитие Java. В последней версии (8) добавили только лямбды (синтаксический сахар по сути). Но для энтерпрайза и это слишком много, ибо многие до сих пор пользуются более древними версиями из-за того, что старый (очень старый) код должен работать, а мигрировать на новые версии затратно.

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

я это все прекрасно понимаю, не понимаю только одно, на что надеятся JetBrains выкатывая Kotlin? ты думаешь им кто-то всерьез будет пользоваться? Java-энтерпрайз коддеры со скрипом то принимают Groovy/Scala и то кто-то бежит обратно, а тут еще тебе языка привалило.

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

О, а на JS там можно будет так же интересно? Очень блин не хватает.

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

На вот почитай книжку

Достаточно увидеть в ссылке «itunes», чтобы уже начало тошнить.

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

Сомневаюсь, что они так сразу выпилят Objective-C и вставят свое новое поделие. Так что старые разрабы останутся. Кроме того, есть куча фреймворков, которые позволяют писать приложения под iOS не на Objetive-C. Можно хоть на javascript их клепать.

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

Да не, фигня objective-с - тоже хрень, которая нахрен никому не нужна и спрыгивать с нее на visual C так же как и с visual C на C++/QT5 одинаково геморно. так что все мы тут дрочеры которые плывем вроде в одной лодке но каждый гребет своим веслом :)

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

В такой среде (OSX, iOs) в которой пишут не такие уж большие приложения в первую очередь (не многолетний энтерпрайз) можно начать писать на Swift хоть сегодня, что приятно.

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

Scala

Как я понял, ее делают люди «от науки». А они не осиливают ни простых и удобных вещей, ни прикладных (а чтобы то и другое одновременно...). Про Groovy не знаю.

Основная идея Ceylon/Kotlin - сделать простой, удобный, прикладной язык, в котором есть много современных возможностей. Чтобы разрабатывать на нем могли большинство программистов (а не только тот, кто лет 10 занимался разными исследованиями в IT минимум по 5-ти направлениям, написал много статей и защитил докторскую). И разумеется такой язык должен позволять использовать без изменений существующий рабочий код (который никто не станет переписывать).

Т.е. идея в том, что если тебя задолбала ограниченность Java и тебе хочется чего-то нового, а старое при этом нужно поддерживать и тоже развивать, то берешь Ceylon/Kotlin и вперед. Старый код + стабильность JVM + новый функционал, которого нет в Java.

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

Основная идея Ceylon/Kotlin - сделать простой, удобный, прикладной язык

уже есть Java для этого, ее все знают, пилят потихоньку

umren ★★★★★
()

Ждём реинкарнации Dylan.

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

клуб пользователей операционной системы Linux и других Unix-систем

Фигасе, 4.2 в правилах ЛОРа?! О_о

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

А почему нельзя было прибавить производительности objc

Динамическая диспетчеризация. Такое не оптимизируется толком, насколько мне известно.

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

и других Unix-систем

А почему меня всё время на винфак отправляют? Разве винда - не сертифицированый юникс?

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

Поэтому Swift - очередной Go - еще больше магии, еще меньше низкоуровщины.

Хорошие языки за 10 дней не пишутся (Брендан Айк о Rust)

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

Неправда. Objective-C почти тот же Си. Все проги, написанные на Си являются Objective-C прогами. Новый Swift ближе к Scala. По сути это Scala+Python для LLVM.

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

Отлично, теперь swift code в гугле будет выдавать хрен знает что.

Недолго. Скоро его забудут люди, а потом и Google.

Suntechnic ★★★★★
()

WWDC'14 крупнейшая IT-корпорация мира Apple
Xcode — интегрированная среда разработки от Apple — уже обеспечивает полную поддержку нового языка

linux.org.ru

Вам на макфак с таким говном сударь.

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