Of all the experts talks on Kotlin where they confuse you instead of clarifying things, Venkat's explanation by far is the best, its so good i had to leave a comment
Heh, the way you wrote this implies you think that this is still a talk where they confuse you instead of clarifying things and it's just the best of those.
No need to get names by going through the indices anymore, if you want some sort of enumeration, You can simply loop through withIndex() like such: val names = arrayOf("Blake" ,"Jason", "Spike") for ((index, value) in names.withIndex()) println("$index $value") which vill give you the exakt same output, just a bit more readable.
"var is the keyword of shame" and because ... ??? no reason provided. It can be helpful in many cases when data changes, so why mention not looking to other developers in the eye and that condescending tone when you can't even explain why. This might be not related but I really don't like it when more experienced programmers look down at less experienced, like why? you were there one day, just say why a thing isn't good or keep your ego to yourself.
He seems to just be joking, don't take it personally. My guess would be that var is mutable state and therefore not good from a functional programming perspective. When you have mutable variables it can be harderto reason about and debug a program, because the variable might change at any place in the program. If you only have vals, you know they will never change. If you need to reassign a var, you could just as well create a new val instead. Now I don't think the pure functional style is always better, but that is absicaly ther easoning from that perspective.
That is just the programming community in general. They make snarky and passive agressive jokes. They are all kind of egotistical and self righteous. This was more light hearted joke, and it of course had that edge. To be clear, I don't think there is anything wrong with that as I'm part of that group. If he had time to explain why he would have, but he didn't. I can guarantee this because programmers love explaining anything and everything.
Anyone watching more of Venkats talk knows that hes a big proponent of immutability as we all should be, val is immutable, and var is mutable. Mutability is one of the biggest cause of bugs in code, therefore by overusing var your're more likley to induce bugs in code than if you we're to use val... Venkat is known to make jokes all the time, that what makes him such a captive talker. Don't take it to seriously, the point hes trying to make is that we should keep things as immutable as possible, and also hes known to joke about how he himself write bad code.. Don't get your panties in a twist lol.
Probably a little late, but I'll see if I can't help. "operate" is calling the function operate. You could call it like within parenthesis operate ({ it turns "right"; it turns "left" }) but you don't need to because the compiler will put them in for you if you use a lambda as the last argument. It is just syntactic sugar. "it" refers to the robot being used in "operate" and you are essentially calling "robot.turn("left")". With the infix notation, it allows you to call it differently, as in "robot turn "left". The presenter got a little confused because it for some reason was giving him issues with using the property of left, so he instead just passed a string there. He could also have done it turns "I am making up this turn". For what he was trying to demonstrate, he should have been able to access anything within the Robot class since "it" refers to the robot. The code I downloaded for this part works.
your suggestion could not work, how would it know to delegate? "by" indicates delegation and "lazy" is a delegation function but you can delegate by something else like Observable or create your own. And the curly braces is to indicate the lambda expression to pass to the delegate.
Of all the experts talks on Kotlin where they confuse you instead of clarifying things, Venkat's explanation by far is the best, its so good i had to leave a comment
Heh, the way you wrote this implies you think that this is still a talk where they confuse you instead of clarifying things and it's just the best of those.
It's like Java and Typescript have a baby together and named it Kotlin
Impossible,Kotlin is older than ts
@@IvanRandomDude have you watched "Don't Be a Menace to South Central While Drinking Your Juice in the Hood"
Nice video, ty.
I guess that would have worked:
operate {
it turns it.right
it turns it.left
}
Nice introduction to kotlin Venkat!
Not only an intro bruh ...
very happy hearing some clear english
Quite a clear lesson! Thanks Venkat
No need to get names by going through the indices anymore, if you want some sort of enumeration, You can simply loop through withIndex() like such:
val names = arrayOf("Blake" ,"Jason", "Spike")
for ((index, value) in names.withIndex()) println("$index $value")
which vill give you the exakt same output, just a bit more readable.
Absolutely awesome 👍
Thank you sir.
Love your work venkat
I love the REPL via kotlinc. Never thought of using it before.
Thank you Venkat
this dudes public speaking skills are on point
wow, great talk!
wow!
I'm not far into the presentation but it looks like a lot of stuff here has since been added to Java.
Nicely explained.
kotlin is the Way
Any idea what editor is he using?
TextMate
Thank you so much
Kotlin : till lambda 35:00
"var is the keyword of shame" and because ... ??? no reason provided. It can be helpful in many cases when data changes, so why mention not looking to other developers in the eye and that condescending tone when you can't even explain why. This might be not related but I really don't like it when more experienced programmers look down at less experienced, like why? you were there one day, just say why a thing isn't good or keep your ego to yourself.
He seems to just be joking, don't take it personally. My guess would be that var is mutable state and therefore not good from a functional programming perspective. When you have mutable variables it can be harderto reason about and debug a program, because the variable might change at any place in the program. If you only have vals, you know they will never change. If you need to reassign a var, you could just as well create a new val instead.
Now I don't think the pure functional style is always better, but that is absicaly ther easoning from that perspective.
That is just the programming community in general. They make snarky and passive agressive jokes. They are all kind of egotistical and self righteous. This was more light hearted joke, and it of course had that edge.
To be clear, I don't think there is anything wrong with that as I'm part of that group.
If he had time to explain why he would have, but he didn't. I can guarantee this because programmers love explaining anything and everything.
Anyone watching more of Venkats talk knows that hes a big proponent of immutability as we all should be, val is immutable, and var is mutable. Mutability is one of the biggest cause of bugs in code, therefore by overusing var your're more likley to induce bugs in code than if you we're to use val... Venkat is known to make jokes all the time, that what makes him such a captive talker. Don't take it to seriously, the point hes trying to make is that we should keep things as immutable as possible, and also hes known to joke about how he himself write bad code.. Don't get your panties in a twist lol.
Pls can you give the documentation for
operate {
it turns "right"
it turns "left"
}
last topic thanks
Probably a little late, but I'll see if I can't help.
"operate" is calling the function operate. You could call it like within parenthesis
operate ({ it turns "right"; it turns "left" })
but you don't need to because the compiler will put them in for you if you use a lambda as the last argument. It is just syntactic sugar.
"it" refers to the robot being used in "operate" and you are essentially calling "robot.turn("left")". With the infix notation, it allows you to call it differently, as in "robot turn "left".
The presenter got a little confused because it for some reason was giving him issues with using the property of left, so he instead just passed a string there. He could also have done
it turns "I am making up this turn".
For what he was trying to demonstrate, he should have been able to access anything within the Robot class since "it" refers to the robot. The code I downloaded for this part works.
FIrst half OK - second half, lost it
The lazy syntax is so uggly.
val temp by lazy { compute(4) }
Why not make it like this:
val temp = lazy compute(4)
your suggestion could not work, how would it know to delegate? "by" indicates delegation and "lazy" is a delegation function but you can delegate by something else like Observable or create your own. And the curly braces is to indicate the lambda expression to pass to the delegate.
what's his ide?
He's using TextMate. It's an text editor rather than an IDE. Take a look at this post: blog.agiledeveloper.com/2014/10/running-in-textmate.html
Devoxx please give this man some extra time. So he can speak a little slower next time.
what is he using using for presentation?
TextMate
Hi 5 Jerry
:D
TOP
😄👍👍👍👍👍👍
why his voice is so sexy ?
ha ha stupid semicolon(;)
34:45 is not a good explanation of ?. and ?: - suggest people Google that !
This is for programmers? 7 minutes and all I saw was string interpolation and `kotlinc` command
Wow this guy codes in 12 different languages! I wouldn't have known if he hadn't mentioned it 12 different times!!
31 minute and only small portion of kotlin syntax?