Pull to refresh

Comments 24

Мне лично кажется, что чтобы swift более менее взрослым стал, для него должен появиться открытый компилятор.
А что для этого нужно? Если какое то малейшее содействие apple, то я сомневаюсь, что такое будет.
Очень похоже на vendor locking. Вот наш девайс, для этого девайса вот наш сертифицированный язык, для этого языка вот наш сертицифированный статик-чека, вот наш сертифицированный… ну и тд. и тп. Открытые решения в наше время имеют больше шансов на успех, посмотрим что получится у Apple.
А много Вы пишете на ObjC вне OSX и IOS? а на C# вне .net (кроме Unity)?

Мне правда интересно, т.к. нет знакомых программистов, чтобы спросить. Просто у меня сложилось впечатление, что хоть для этих языков и доступны компиляторы на других платформах, но используются они в основном на тех, которые их развивают.
Микрософт же наверное не просто так .net приоткрывает? Да и до этого же жил себе mono и им даже пользовались.
FYI: itmozg.ru/vacancy/show/123166#.VTdlHM4Vf8s
Ядро платформы — видео-бэкенд — это кластер машин, оснащенных GPU, которые с помощью софта на Objective-C и Lisp’е создают и показывают видео.

Это необычно, да.
Тоже намучился с указателями на функцию с аналогичным нестабильным результатом. Пришлось на просто си писать.
А вообще свифту, самое главное, как вы сказали в конце, не хватает своей собственной стандартной библиотеки, где все будет адаптировано под возможности и концепции именно этого языка.
У swift и C разные call conventions, так что так лучше не делать. В будующем возможно добавят аналог extern «C».
про call conventions не знал, теперь понятно что указатель на С-функцию работать не должен. но в playground'е же сработало, это непонятно. хотя точно не помню, а код пока нет возможности посмотреть, может в pg я создавал функцию без параметров…
Для функции без параметров и не захватывающей переменные из внешнего контекста сработает, но без гарантий.
А такой вопрос, накидайте туториалов и уроков по Swift хороших, спасибо :)
На мой взгляд введение в свифт в документации достаточно полно написано. Там, где описания структур, вызовов функция и бриджей к objc, основы языка. Только его проштудировал перед началом работы с ним. Хотя, в целом, документация у apple не очень. Но, минимум половину необходимой информации из неё получить можно. Вторую половину можно извлечь из playground. Я поначалу не оценил эту фишку, но там достаточно удобно: поначалу на практике пробовать способности и ограничения языка, вместо того чтобы искать нужный пункт в документации. Затем тестировать куски кода до 100 строк без необходимости компилировать весь свой проект
Спасибо, просто я так давно ничего не писал, что уже сложно влиться в новый язык таким способом. Нужно все с нуля, как ребенку :)

P.S. Те кто заминусовал меня — конкуренции боитесь? :)
выучить синтаксис Swift не так сложно… сложнее вникнуть в написание приложения. Можно в песочнице писать суровейшие алгоритмы, но если вы не знаете структуру написания аппликации — успеха не будет. Мне кажется надо брать туториалы именно по созданию приложений и повторять-повторять-повторять… Потом попробовать написать самому какой-то калькулятор со своим блекджеком.
Спасибо, у меня именно в этом и проблема, последний раз я писал давно и к мобильным никогда не прикасался.
Будет тяжело… надо сначала восстановить в памяти принципы ООП и для начала погружаться в освоение UIKit framework. Или может быть для вас будет более удобный вариант создавать саначал прототипы без логики и понять как работает Xcode. По этой теме есть неплохой курс Design + Code — гугл знает. Там именно по созданию работающих прототипов и как потом их «оживлять»
Да, как для детей, хороший вариант.
Название неудачное. Я бы перешел на язык с названием i (ай). Ой! Ай! А стриж — увольте. Я играю за буревестник.
не знаю зачем минусы: действительно ведь очень удачное название. Вполне в духе C, D, F и прочих однобуквенных языков. Ну и в духе продукции Apple, буква i в названии продукта символизировала бы что что этот язык лежит в основе его программного обеспечения.
UFO just landed and posted this here
С++, С#, Java, php. В основном диссонанс вызывает вызов фукций в виде [object function], это и писать менее удобно, хотя в xcode это достаточно хорошо реализовали. Именованные параметры при вызове функции тоже непривычно. И все вот эти вот директивы с @ в начале тяжело воспринимаются
Выражение [object function] не является вызовом функции. Это посылка сообщения function экземпляру какого-то объекта object.
Мигрировать на 1.2 мне помог автокомплит который помог подобрать новые параметры pattern matching:
-  func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewFlowLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize! {
+  func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

или
-  func application(application: UIApplication!, willFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
+  func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
Не встретил в статье про несовместимость enum и struct, написанных в obj-c и используемых в swift и наоборот.
Ещё есть проблемы с глобальными переменными, #define.
Sign up to leave a comment.

Articles