
Pavel
27.08.2017
14:12:38
Еще у андройдовцем есть хорошая IDE, которая сильно облегчает жизнь программистам. У яблочников есть xcode, который как известно не умеет почти ничего.
И вместо того, чтобы научить xcode нормально подсвечивать параметры, они взяли и переложили ответственность на язык (гениально), и программист должен явно указывать какой он параметр передает, типа: User(name: "name", age: 18). Как фича прикольная, но когда так пишешь постоянно, то это генерирует слишком много кода, и это плохо.
Это наверное две мои самые большие претензии к языку: отсутствие анонимных классов и обязательное именование параметров. С остальным жить можно.


? animufag ?
27.08.2017
14:14:40
а ещё помню что на втором, что на третьем свифте были проблемы с комбинаторами
тип .flatMap($0 as? SomeViewController).reduce($0.somefn($1))
и он говорил что что-то замудрил с экспрешеном и не может вывести тип
ОК, а как его разпатернматчить?
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Enumerations.html
ctrl+f switch productBarcode

Google

? animufag ?
27.08.2017
14:15:45
а ну да там все эти комбинаторы ещё throws указывают и как бы немного грустно
Еще у андройдовцем есть хорошая IDE, которая сильно облегчает жизнь программистам. У яблочников есть xcode, который как известно не умеет почти ничего.
И вместо того, чтобы научить xcode нормально подсвечивать параметры, они взяли и переложили ответственность на язык (гениально), и программист должен явно указывать какой он параметр передает, типа: User(name: "name", age: 18). Как фича прикольная, но когда так пишешь постоянно, то это генерирует слишком много кода, и это плохо.
лол, это дизайн языка.

Pavel
27.08.2017
14:17:35
И что? Если это дизайн, то это явно неудачный дизайн.

Диёр
27.08.2017
14:18:03
скобки бесят, хочу меньше скобочек

? animufag ?
27.08.2017
14:18:14
ну то есть ещё с обжектив тянется

Va
27.08.2017
14:18:18

Dmitry
27.08.2017
14:18:34

Pavel
27.08.2017
14:18:48
хочешь как в python?

Va
27.08.2017
14:19:17
питон никуда вообще не годится (

? animufag ?
27.08.2017
14:19:22
ну конечно классно что в идее запилили подсветку параметров
так в целом иногда приятно выглядят имена параметров

Диёр
27.08.2017
14:19:37

Va
27.08.2017
14:19:40
( вброс спонсирован самыми жирными троллями )

Google

Va
27.08.2017
14:20:02
груви?

? animufag ?
27.08.2017
14:20:50
алсо селекторы отвратительная штука, тянущаяся с обжектива

Igor
27.08.2017
14:21:09

Диёр
27.08.2017
14:21:42
думаю хаскель с андроидом не очень поладят)

Va
27.08.2017
14:21:49
объективно по сабжу, как по мне, оба языка имеют и слабые и сильные стороны, но котлин выигрывает засчет простоты и мультипарадигмегности
свифт не такой разнообразный, как котлин в плане методологии написания
может, с другой стороны, это и хорошо

Pavel
27.08.2017
14:22:21

? animufag ?
27.08.2017
14:23:25

Va
27.08.2017
14:25:09
тебе в свифте, кстати, никто не мешает делать _ имена, если я не ошибаюсь

Quantum Harmonizer
27.08.2017
14:25:58

Va
27.08.2017
14:26:02
в котлине тоже есть именованные параметры, но, при этом, они опциональные

? animufag ?
27.08.2017
14:26:59
плюс на этом строится полморфизм
open func substring(from: Int) -> String
open func substring(to: Int) -> String
open func substring(with range: NSRange) -> String

Quantum Harmonizer
27.08.2017
14:27:22

? animufag ?
27.08.2017
14:27:25
это не самое плохое

Quantum Harmonizer
27.08.2017
14:27:45

? animufag ?
27.08.2017
14:27:52
оверлоадинг не полиморфизм (я реально запустался сейчас)?

Va
27.08.2017
14:28:15
with и есть идентификатор, а range имя переменой

Quantum Harmonizer
27.08.2017
14:28:54

? animufag ?
27.08.2017
14:29:00

Google

Диёр
27.08.2017
14:29:02
кто-нибудь в продакшене делает именя объектам на кириллице?)

Quantum Harmonizer
27.08.2017
14:29:14

? animufag ?
27.08.2017
14:30:23

Quantum Harmonizer
27.08.2017
14:30:47

? animufag ?
27.08.2017
14:31:57
argument label
ну да видимо это скорее оверлоадинг называется, раз функция в компайл-тайме выбирается
ну по сути для компилятора это просто разные функции
ну к счастью без эплодрочеров обошлось.

Pavel
27.08.2017
18:46:56
гайс, а дайте ссылку на канал эпл девелоперов

Sergey
27.08.2017
18:47:23

Pavel
27.08.2017
18:48:12
Ага, спасибо.

dobrowins
28.08.2017
08:57:21

Quantum Harmonizer
28.08.2017
09:31:35

Виталий Анатольевич
28.08.2017
09:47:06
да ладно

Евгений
28.08.2017
09:49:20
первое правило клуба ...

Nikita
28.08.2017
10:08:38
Господа, а причему тут котики и Kotlin

You
28.08.2017
10:16:52
хм
КОТлин и КОТики

Google

Nikita
28.08.2017
10:22:34
А, ну я так и думал
:)
Просто была мысля, что есть какие-то другие причины

Anton
28.08.2017
12:26:15
пацаны а порядок инициализации же такой же как в джаве ну тоесть сначала инит блоки а потом конструкторы?
супер класс контсруктор -> инит блок чайлда -> конструктор чайлда
или блок инит потом все пропишется конструкторам

Mi
28.08.2017
12:29:15
смотря какой конструктор

Anton
28.08.2017
12:29:21
секондари
все

Mi
28.08.2017
12:29:37
там ты вроде бы обязательно должен вызать праймари
и собственно будет инит блок сначала

Anton
28.08.2017
12:30:03
а если у меня нет праймари
вот допустим я вью класс свой пишу
тоесть там 4 секондари

Ivan
28.08.2017
12:30:44

Mi
28.08.2017
12:30:48
ну мне кажется если нет праймари, то он имплицитно вызывается

Anton
28.08.2017
12:30:53
умно спс

Mi
28.08.2017
12:31:18

Dmitry
28.08.2017
12:34:43

Mi
28.08.2017
12:35:14
часто декомпилируете на досуге?

Google

Eugeny
28.08.2017
12:35:56
привет всем, кто в чате. Ламер-question: есть ли средства вернуть список из асинхронного потока async для работы дальше в UI?

Dmitry
28.08.2017
12:36:21

Quantum Harmonizer
28.08.2017
12:46:56

DarkMentat
28.08.2017
13:47:09

Boris
28.08.2017
14:04:17
Кто-нибудь писал серьезные билды на грейдл+Котлин?