[ann] Язык программирования Swift 2.2 (Apple)
От: Iso12  
Дата: 03.12.15 21:22
Оценка: 2 (1)
Язык программирования Swift от Apple как и было объявлено стал Open Source и теперь доступен также на Линуксе.
https://swift.org/about/#swiftorg-and-open-source
https://swift.org/download/#latest-development-snapshots
Имея за спиной такого спонсора как Apple у языка может быть большое будущее.
Отредактировано 03.12.2015 21:24 Iso12 . Предыдущая версия .
swift apple
Re: [ann] Язык программирования Swift 2.2 (Apple)
От: std.denis Россия  
Дата: 04.12.15 13:47
Оценка:
I>Имея за спиной такого спонсора как Apple у языка может быть большое будущее.
Еще бы транслятор под JVM, цены бы ему не было
Re[2]: [ann] Язык программирования Swift 2.2 (Apple)
От: Iso12  
Дата: 04.12.15 15:14
Оценка:
Здравствуйте, std.denis, Вы писали:

SD>Еще бы транслятор под JVM, цены бы ему не было


Для чего нужен транслятор? Для каких целей?
Re[3]: [ann] Язык программирования Swift 2.2 (Apple)
От: std.denis Россия  
Дата: 04.12.15 21:06
Оценка:
SD>>Еще бы транслятор под JVM, цены бы ему не было
I>Для чего нужен транслятор? Для каких целей?

Заменить Java на ведре. Да, там есть Kotlin, но
А, еще есть RemObjects Silver, но это костыль костылей какой-то. Даже хуже Xamarin.
Отредактировано 04.12.2015 21:08 denis.st (дополнил про silver) . Предыдущая версия .
Re: [ann] IBM Sandbox for Swift
От: Iso12  
Дата: 15.12.15 20:24
Оценка: 56 (2)
Для тех кто хочет попробовать Swift, может это сделать на Swift Sandbox от IBM.
Пока правда только Beta версия.
Re[2]: [ann] Язык программирования Swift 2.2 (Apple)
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.12.15 20:44
Оценка: -2
Здравствуйте, std.denis, Вы писали:

SD>Еще бы транслятор под JVM, цены бы ему не было


В JVM поддерживаются перегрузки функций. В Свифте — нет. Так что язык придется дорабатывать напильником. Проще взять скалу. Есть все что в Свифте и намного больше.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [ann] Язык программирования Swift 2.2 (Apple)
От: std.denis Россия  
Дата: 19.12.15 08:23
Оценка: 53 (1)
VD>В JVM поддерживаются перегрузки функций. В Свифте — нет.
При всём уважении.. где ты такое прочитал? Ну не мог же ты написать такую чушь голословно.

Вот код, можешь пробнуть IBM sandbox
func log(prefix: String, _ value: String) {
    print ("[\(prefix)] \(value)")
}

func log(value: String) {
    log("default", value)
}

log("first")
log("db", "second")
Re[4]: [ann] Язык программирования Swift 2.2 (Apple)
От: Iso12  
Дата: 20.12.15 21:52
Оценка:
Здравствуйте, std.denis, Вы писали:

VD>>В JVM поддерживаются перегрузки функций. В Свифте — нет.

SD>При всём уважении.. где ты такое прочитал? Ну не мог же ты написать такую чушь голословно.

В Swift-e поддерживается перегрузка функций, но есть одно "но". Если использовать в одном проекте Swift и Objective-C, из-за того что в Objective C перезагрузка функций не поддерживается, то можно получить в определённых случаях "compiler error". Может Влад это имел ввиду.
Но это проблема не языка Swift а его использования вместе с Objective C.

Успехов
Re[5]: [ann] Язык программирования Swift 2.2 (Apple)
От: std.denis Россия  
Дата: 21.12.15 00:16
Оценка:
I>В Swift-e поддерживается перегрузка функций, но есть одно "но". Если использовать в одном проекте Swift и Objective-C, из-за того что в Objective C перезагрузка функций не поддерживается, то можно получить в определённых случаях "compiler error". Может Влад это имел ввиду.
Как-то маловероятно ;) Смысл-то противоположный получается
Re[4]: [ann] Язык программирования Swift 2.2 (Apple)
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.15 19:13
Оценка:
Здравствуйте, std.denis, Вы писали:

SD>При всём уважении.. где ты такое прочитал? Ну не мог же ты написать такую чушь голословно.


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

Тогда остаются разные мелочи вроде отсутствия исключений (или здесь я тоже ошибаюсь?). Объектные энумы и прочую ерунду можно эмулировать.

С исключениями сложнее. Живя в мире дотнета нельзя не уметь обрабатывать исключений. Хотя, наверно, можно не уметь их генерировать. Это можно в функцию обернуть.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [ann] Язык программирования Swift 2.2 (Apple)
От: Iso12  
Дата: 22.12.15 12:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тогда остаются разные мелочи вроде отсутствия исключений (или здесь я тоже ошибаюсь?). Объектные энумы и прочую ерунду можно эмулировать.


VD>С исключениями сложнее. Живя в мире дотнета нельзя не уметь обрабатывать исключений. Хотя, наверно, можно не уметь их генерировать. Это можно в функцию обернуть.


С версии 2.0 есть:
Error Handling
Re[6]: [ann] Язык программирования Swift 2.2 (Apple)
От: std.denis Россия  
Дата: 22.12.15 15:12
Оценка: +1
VD>>С исключениями сложнее. Живя в мире дотнета нельзя не уметь обрабатывать исключений. Хотя, наверно, можно не уметь их генерировать. Это можно в функцию обернуть.
В мире явы, Влад

I>С версии 2.0 есть:

I>Error Handling
Оно как бы и исключения, но по сути обертка вокруг NSError – сработает если юзерский код дергает throw, не сработает на разыменовании nil.
Хотя в общем-то наверное можно поймать java-исключение и завернуть в swift-исключение.
Re[7]: [ann] Язык программирования Swift 2.2 (Apple)
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 22.12.15 22:19
Оценка: :)
Здравствуйте, std.denis, Вы писали:

SD>Хотя в общем-то наверное можно поймать java-исключение и завернуть в swift-исключение.


Ээ.. А при чем тут java вообще? Swift не на JVM работает, он нативный.
Re[8]: ветку не читай @ сразу отвечай (-)
От: std.denis Россия  
Дата: 23.12.15 12:06
Оценка: :)
сабж
Re[6]: [ann] Язык программирования Swift 2.2 (Apple)
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.12.15 13:43
Оценка:
Здравствуйте, Iso12, Вы писали:

I>С версии 2.0 есть:

I>Error Handling

А это разве исключения? Это нечто на них похожее, но ими не являющееся. От туда:

Error handling in Swift resembles exception handling in other languages, with the use of the try, catch and throw keywords. Unlike exception handling in many languages—including Objective-C—error handling in Swift does not involve unwinding the call stack, a process that can be computationally expensive. As such, the performance characteristics of a throw statement are comparable to those of a return statement.


Так что при реализации на дотнете придется менять их семантику. Все описания функций как throws пойдут лесом, а любая функция сможет сгенерировать исключение. Соответственно код на таком Свифте вряд ли будут полностью совместим с кодом на эпловской реализации.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.