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)

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

Но зачем, например, делать вот так:

let 你好 = «你好世界»

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

let опердень = buildОпердень();

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

Это как пример. Опердень есть наверное, но кучи терминов либо нет, либо без специального словаря про них не догадаться. А это всё — лишнее время и лишняя память для разработчика.

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

Operday (operational day) вероятно. Но, как уже писал, это был исключительно для примера, нормальные термины сейчас в голову не приходят, но я с ними сталкивался.

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

Operday (operational day) вероятно

Слишком похоже на незабвенный «надмозг».

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

Trading day, если речь о бирже; transaction day, если о банке; operation(al) или тупо business day в других случаях.

Ты серьёзно сомневаешься в наличии у них таких терминов, учитывая, что банки на Западе появились на полтыщи лет раньше, чем в этой стране (а регулируемая центральная банковская система впервые возникла как раз в Великобритании, емнип)?

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

Ты серьёзно сомневаешься в наличии у них таких терминов

Я серьезно сомневаюсь в том, что смысл терминов «transaction day» и «опердень» одинаков.

банки на Западе появились на полтыщи лет раньше, чем в этой стране

Это лишний (хотя и незначительный) повод сомневаться в идентичности терминологии.

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

Я серьезно сомневаюсь в том, что смысл терминов «transaction day» и «опердень» одинаков.

Очень зря. Операционный (или банковский) день — это время в течение которого банки проводят операции. По-английски банковская операция называется financial transaction, следовательно transaction day. Безусловно, разница в работе самих банков есть, (например, процедура закрытия может отличаться), но суть понятия-то от этого не меняется.

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

Операционный (или банковский) день — это время в течение которого банки проводят операции. По-английски банковская операция называется financial transaction, следовательно transaction day

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

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

Да да, я такое как раз в 1С видел. Для внутрикопоративных одноразовых поделок вполне себе сойдет. В современном программировании так делать не стоит. Представьте себе проект в котором: 2 немца, 2 русских, 4 китайца, 2 индуса. Отгадайте на каком языке конференции проводились.

A-234 ★★★★★
()

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

В чём отличие языков, компилирующихся в наивный код? Если на выходе мы получаем низкоуровневую нечитаемую белеберду, то как язык А может быть быстрее языка Б? Или дело в том, что на выходе нам даст компилятор? Тогда компилятор языка А генерирует бинарник «более лучше» компилятора языка Б? Или всё таки языки?

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

Это твое понимание, или ты занимался разработкой оперденей

Первое и отчасти второе.

Ясно.

Мой тебе совет: учи инглиш, чтобы не одинэсить до пенсии.

Телепат из тебя даже худший, чем переводчик.

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

Ну-ка признавайтесь, кто мой коммент на главную башорга кинул?

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

Автор — идиот, кроме шкалы других языков не знающий.

Swift inherits from Scala most of the «banner» features listed by Apple

ORLY?

Type Inference

Появилось в ML где-то в 70-х.

Closures

Появилbсь в лиспе хз как давно.

Tuples

Существуют задолго до шкалы (как минимум с 80-х).

Protocols

Ака интерфейсы. Были ещё в Аде и Объектном Паскале.

Extensions

Есть в Obj-C.

Generics

Емнип, изначально возникли в Аде. В шкале несколько другие дженерики, чем в Свифте, кстати.

Read-Eval-Print-Loop

Лисповская фича, сто лет ей скоро.

Ну а уж сравнение синтаксиса вообще ни в какие ворота не лезет.

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