Rohan Maity
02/17/2019, 9:18 AMRohan Maity
02/17/2019, 12:19 PMRohan Maity
02/17/2019, 1:17 PMTom Adam
02/18/2019, 7:34 PMSOFe
02/19/2019, 3:39 AMSOFe
02/19/2019, 3:45 AMgildor
02/19/2019, 3:46 AMExtension functions are cool, but it’s not something you’d write every day unless you’re developing some DSLI disagree, this is super powerful concept and used a lot by us and many other developers without any kinds use cases related to DSL
SOFe
02/19/2019, 3:47 AMSOFe
02/19/2019, 3:47 AMgildor
02/19/2019, 3:48 AMSOFe
02/19/2019, 3:48 AMSOFe
02/19/2019, 3:49 AMgildor
02/19/2019, 3:49 AMBuilt-in immutability does not make sense for a beginner to programmingYou right, but usually you introduce language to people who already have experience
SOFe
02/19/2019, 3:49 AMSOFe
02/19/2019, 3:50 AMSOFe
02/19/2019, 3:50 AMSOFe
02/19/2019, 3:50 AMSOFe
02/19/2019, 3:53 AMRohan Maity
02/19/2019, 4:27 AMYou right, but usually you introduce language to people who already have experienceThat is my concern . I watched Hadi's talk . He also introduced Kotlin with comparison to Java , which is fine as it was for Android developers . But with coming of Kotlin/Native , Ktor (for backend) Kotlin-Js(have to thoroughly look why it's better in practice than JS), Kotlin is not restricted to Android realm anymore . That is what I want to make students realise . But since Kotlin initially was made with Kotlin/JVM I am thinking starting with Kotlin/JVM , introduce with comparison to Java. And introduce cool things like extension functions and if/when expression (personally like) And then move to Android dev, then move to other platforms Is it right ? Any more suggestions ? @SOFe @gildor?
Rohan Maity
02/19/2019, 4:29 AMI disagree, this is super powerful concept and used a lot by us and many other developers without any kinds use cases related to DSLAny powerful example please ?
SOFe
02/19/2019, 4:29 AMf(x)
with x.f()
Rohan Maity
02/19/2019, 4:30 AMSOFe
02/19/2019, 4:31 AMSOFe
02/19/2019, 4:32 AMSOFe
02/19/2019, 4:33 AMSOFe
02/19/2019, 4:33 AMSOFe
02/19/2019, 4:34 AMgildor
02/19/2019, 5:13 AMBut thats not powerful 😅It’s not powerful for simple examples, but much more powerful if you work with other APIs, you can check stdlib and see, that almost everything there is an extension function
gildor
02/19/2019, 5:16 AMwhich is fine as it was for Android developersJVM as a platform is much-much more than Android
But when I calm down and compare it with other languagesIsn’t this about combination of factors, Kotlin never tried to be something innovative, provide some features that not exist in other languages, just be pragmatic and productive. It really depends on your use case
gildor
02/19/2019, 5:17 AMKotlin is not restricted to Android realm anymoreAnd never was. Originally Kotlin targeted only JVM and never target Android as a platfom and originally even didn’t work due to some bugs of DEX, all the rise of Android came from community, not from JetBrains
SOFe
02/19/2019, 5:20 AMgildor
02/19/2019, 5:21 AMBut I want to highlight other Kotlin features and make students know use Kotlin language .There are a few people in this Slack who also do the same, Also, there is Atomic Kotlin book for people without other programming experience - https://www.atomickotlin.com/
Rohan Maity
02/19/2019, 5:21 AMAnd never was. Originally Kotlin targeted only JVM and never target Android as a platfom.Sorry for that. I know Kotlin targeted JVM . But alot people here in my country think as Kotlin for Android only .
Rohan Maity
02/19/2019, 5:22 AMAlso, there is Atomic Kotlin book for people without other programming experienceThats seems something . Can I use it for introducing Kotlin ?
gildor
02/19/2019, 5:22 AMgildor
02/19/2019, 5:23 AMSOFe
02/19/2019, 5:23 AMSOFe
02/19/2019, 5:23 AMgildor
02/19/2019, 5:23 AMgildor
02/19/2019, 5:24 AMBut it’s confusing for people who don’t know JavaWhy do you think so? every real language has a lot of things that may confuse, but it doesn’t mean that it cannot be used to learn programming
gildor
02/19/2019, 5:25 AMSuch as the val get() thingHow this related to Java experience? Also it’s not unique for Kotlin, for example C# has similar syntax
Rohan Maity
02/19/2019, 5:26 AMHow this related to Java experience? Also it’s not unique for Kotlin, for example C# has similar syntaxI agree
SOFe
02/19/2019, 5:26 AMSOFe
02/19/2019, 5:27 AMgildor
02/19/2019, 5:28 AMRohan Maity
02/19/2019, 5:28 AMIf you know Java or similar OOP languages, you have an idea about getters and settersBut this thing shouldn't be that much of problem for beginners either
gildor
02/19/2019, 5:28 AMSOFe
02/19/2019, 5:28 AMval
supposed to mean, despite context?SOFe
02/19/2019, 5:28 AMgildor
02/19/2019, 5:29 AMSOFe
02/19/2019, 5:30 AMgildor
02/19/2019, 5:30 AMSOFe
02/19/2019, 5:30 AMSOFe
02/19/2019, 5:30 AMSOFe
02/19/2019, 5:31 AMSOFe
02/19/2019, 5:31 AMSOFe
02/19/2019, 5:31 AMgildor
02/19/2019, 5:32 AMgildor
02/19/2019, 5:32 AMgildor
02/19/2019, 5:32 AMgildor
02/19/2019, 5:33 AMgildor
02/19/2019, 5:34 AMvar
and final var
SOFe
02/19/2019, 5:35 AMgildor
02/19/2019, 5:35 AMgildor
02/19/2019, 5:36 AMgildor
02/19/2019, 5:37 AMgildor
02/19/2019, 5:38 AMRohan Maity
02/19/2019, 5:39 AMBut since Kotlin initially was made with Kotlin/JVMI am thinking starting with Kotlin/JVM , introduce with comparison to Java. And introduce cool things like extension functions and if/when expression (personally like).And then move to
Android dev
, then move to other Advanced things like Kotlin/Native , Coroutines , Ktor
etc .
And would refer Atomic Kotlin
for making students understand Kotlin language features along the way
I want to engage people in development with Kotlin Lang .
What you guys think ?gildor
02/19/2019, 5:39 AMintroduce with comparison to JavaBut it make sense only for people who already familiar with Java
Rohan Maity
02/19/2019, 5:46 AMAtomic Kotlin
first for introducing and also with compare with Java for highlighting feature .
Also Alot of people here learnt C++ (also OOPs ). So thinking for beginner purpose could compare with C++ in OOPs little bit for highlighting Kotlingildor
02/19/2019, 5:50 AMRohan Maity
02/19/2019, 7:03 PMTom Adam
02/20/2019, 9:26 AMSOFe
02/20/2019, 9:27 AMTom Adam
02/20/2019, 9:31 AMSOFe
02/20/2019, 9:32 AMSOFe
02/20/2019, 9:32 AMTom Adam
02/20/2019, 9:54 AMSOFe
02/24/2019, 8:05 AM