Time |
S |
Nick |
Message |
04:46 |
|
|
jchochli joined #virtualJUG |
07:25 |
|
|
LOCATEF joined #virtualJUG |
08:00 |
|
|
slaskawi joined #virtualJUG |
08:14 |
|
|
_ollie joined #virtualJUG |
08:14 |
|
|
mmatloka joined #virtualJUG |
08:47 |
|
|
pfrobinson joined #virtualJUG |
10:01 |
|
|
pfrobinson joined #virtualJUG |
11:33 |
|
|
jchochli joined #virtualJUG |
11:46 |
|
|
_ollie joined #virtualJUG |
12:42 |
|
|
_ollie joined #virtualJUG |
12:49 |
|
|
jchochli joined #virtualJUG |
13:05 |
|
|
edburns joined #virtualJUG |
13:30 |
|
|
_ollie joined #virtualJUG |
14:47 |
|
|
jchochli joined #virtualJUG |
15:12 |
|
|
kojilin joined #virtualJUG |
16:25 |
|
|
iamterryclark joined #virtualJUG |
16:51 |
|
|
kojilin joined #virtualJUG |
16:55 |
|
|
eramax joined #virtualJUG |
16:56 |
|
|
iamterryclark joined #virtualJUG |
16:56 |
|
|
Vash joined #virtualJUG |
16:58 |
|
sjmaple |
welcome folks! |
16:58 |
|
sjmaple |
will be starting just shortly |
16:59 |
|
|
atas joined #virtualJUG |
17:00 |
|
|
fjalvingh joined #virtualJUG |
17:00 |
|
|
Milan joined #virtualJUG |
17:01 |
|
|
beegor joined #virtualJUG |
17:01 |
|
|
amorfis joined #virtualJUG |
17:02 |
|
|
DSpair joined #virtualJUG |
17:02 |
|
|
DSpair joined #virtualJUG |
17:02 |
|
|
DSpair joined #virtualJUG |
17:03 |
|
|
cafrjbr joined #virtualJUG |
17:04 |
|
|
yesCode joined #virtualJUG |
17:05 |
|
|
JaysonMinard joined #virtualJUG |
17:05 |
|
sjmaple |
Barcalona JUG session straight after this session will be here -> https://www.youtube.com/user/BarcelonaJUG |
17:05 |
|
|
Milan joined #virtualJUG |
17:05 |
|
JaysonMinard |
:-D |
17:07 |
|
|
pioneer joined #virtualJUG |
17:07 |
|
sjmaple |
but for now, stay with us :) |
17:07 |
|
|
besolov joined #virtualJUG |
17:11 |
|
|
ecabrerar joined #virtualJUG |
17:12 |
|
|
carljokl joined #virtualJUG |
17:14 |
|
sjmaple |
hey carljokl |
17:15 |
|
pioneer |
Why targeting only a single target? Is it possible to have both JVM and JS targets in one project? |
17:16 |
|
carljokl |
Sorry I am late, I lost track of time |
17:17 |
|
DSpair |
How does Kotlin do docs? |
17:18 |
|
sjmaple |
like java docs? |
17:18 |
|
DSpair |
Yeah |
17:19 |
|
DSpair |
Ceylon had the "doc" annotation and the "by" annotation. |
17:21 |
|
|
marq joined #virtualJUG |
17:22 |
|
ecabrerar |
what's other IDE has support for Kotlin ? |
17:22 |
|
sjmaple |
I'll ask both these later - thanks |
17:23 |
|
sjmaple |
ecabrerar: I'm not sure how much luck you'll have with eclipse/NBs... we'll see |
17:25 |
|
|
rickhanlonii joined #virtualJUG |
17:25 |
|
ecabrerar |
@sjmaple thanks |
17:25 |
|
sjmaple |
np |
17:25 |
|
sjmaple |
carljokl: no worries :) welcome! |
17:26 |
|
carljokl |
Quite like Scala style |
17:26 |
|
sjmaple |
yeh, a lot of people make similarities to Scala |
17:27 |
|
carljokl |
I am not plugging Scala by the way it is just an open observation |
17:30 |
|
atas |
why not default toString as JSON string? |
17:34 |
|
sjmaple |
atas: hey, sorry... didn't see when you asked :( |
17:34 |
|
fjalvingh |
Not marking java null accesses as problematic might cause better looking code but it will again cause runtime problems. Does that not invalidate the use of safe nulls because 99% of code outside *is* java? |
17:35 |
|
|
orangium joined #virtualJUG |
17:36 |
|
atas |
it's ok :-) |
17:36 |
|
sjmaple |
great question - I find people are split on null safety. Some love it, some hate it. We've moved on but i'll ask when we do more questions, thanks fjalvingh |
17:37 |
|
carljokl |
I wonder how well it plays with Java annotations |
17:37 |
|
carljokl |
That is a pain point in Scala sometimes |
17:37 |
|
sjmaple |
Java annotations in Kotlin code? |
17:37 |
|
carljokl |
Yes |
17:37 |
|
carljokl |
If that is possible |
17:38 |
|
JaysonMinard |
Yes, Kotlin supports Java annotations, enums,... and can create both as well |
17:38 |
|
carljokl |
We have Java annotations in our Scala code for the Java EE / Spring stuff that works with annotations |
17:38 |
|
JaysonMinard |
for example, Kotlin with jackson can use the JsonProperty annotations (although there is a Kotlin module for Jackson that means you don't need any annotations unless you want to change the name of a property, or ignore) |
17:39 |
|
carljokl |
How about the Persistence API? |
17:39 |
|
ecabrerar |
great question ! |
17:40 |
|
carljokl |
I know it can be a pain sometimes applying JEE annotations to Scala that were designed with Java in mind |
17:41 |
|
JaysonMinard |
don't think from a Scala viewpoint for Kotlin. It is very interoperable with Java. Start with "it works" and then find out if it doesn't. |
17:41 |
|
JaysonMinard |
(you can ask about every API known to man, all Java things work UNLESS they cannot handle the one constructor of Koltlin) |
17:41 |
|
carljokl |
OK |
17:41 |
|
JaysonMinard |
Kotlin has one constructor that you declare, UNLESS al constructor parameters have default values which gives you an implied 2nd constructor, the default() constructor. So some libraries require a default constructor, and that is the main pain point. |
17:42 |
|
JaysonMinard |
Jackson module for Kotlin avoids this by telling jackson what to do so it doesnt need default constructor |
17:42 |
|
JaysonMinard |
SOON Kotlin will have secondary constructors. |
17:43 |
|
JaysonMinard |
Some dependency injection libraries fail to work because of this, but they are old style. If you create one that uses Kotlin runtime information you would do something newer, cooler, and nicer. so that will be short lived if secondary constructors doesn't help. |
17:45 |
|
|
mmatloka joined #virtualJUG |
17:48 |
|
|
marvin joined #virtualJUG |
17:48 |
|
marvin |
marvin_ |
17:49 |
|
carljokl |
Marvin and the long tail? |
17:50 |
|
|
marvin___ left #virtualJUG |
17:52 |
|
|
iiers joined #virtualJUG |
17:53 |
|
|
Guest51305 joined #virtualJUG |
17:54 |
|
iiers |
string comparison with ==? |
18:04 |
|
sjmaple |
just about to go into questions... iiers can you expand? |
18:04 |
|
sjmaple |
let me know your questions! |
18:08 |
|
|
_ollie joined #virtualJUG |
18:08 |
|
pioneer |
What are your plans regarding Javascript ecosystem? Existing JS libraries integrations, your own frameworks etc.? |
18:09 |
|
carljokl |
Was it covered already whether any big technology players are using it? |
18:09 |
|
JaysonMinard |
@pieneer there is a wrapper for React (Reakt) that is pretty well, and more in the open-source are happening. With the ability to convert TypeScript header to Kotlin, you can call most things TypeScript has defined in DefinitelyTyped repository |
18:10 |
|
JaysonMinard |
There is also an this discussion about javascript libraries: https://devnet.jetbrains.com/message/5528899#5528899 |
18:10 |
|
JaysonMinard |
because it is an open discussion now. please provide your feedback there on that thread, very helpful! |
18:12 |
|
fjalvingh |
Inference is of course very incomplete because it cannot be done with certainty |
18:13 |
|
JaysonMinard |
...about NULL safety. We assert NULL or NOT when we accept the Java value into our first point of entry into Kotlin, then from that point forward we have null safetly. And as our pile of Kotlin code grows we have no issues in our own code, and sometimes from third party code. |
18:13 |
|
JaysonMinard |
@fjalvingh Kotlin has one of the best type inference engines around. It is very very very rare when it cannot infer. |
18:13 |
|
JaysonMinard |
if it doesn't, likely a temporary bug |
18:14 |
|
fjalvingh |
No, there is much more library than kotlin... And wrapping is a huge amount of work |
18:14 |
|
JaysonMinard |
the rules of the language make public interface have types, therefore all the private code within functions can infer |
18:14 |
|
fjalvingh |
And it's circumventing the issue- that you can do it right is not the real issue ;-) |
18:15 |
|
JaysonMinard |
"definitely typed" = is what he is saying |
18:16 |
|
JaysonMinard |
(read the devnet thread above, you'll know what is coming) |
18:16 |
|
carljokl |
I keep making the virtual machine argument about JavaScript but I don't get a lot who also think so |
18:17 |
|
JaysonMinard |
Prezi, they use it for backend processing for the machine learning group, and abesto (see his github kotlin-pixi wrapper) uses it for javascript |
18:17 |
|
fjalvingh |
Apparently I do not understand. Inferring nullity means evaluating bytecode and proving NPE's can't happen. Does this mean the compiler does this during compile? And you assume that it's result is "near perfect"? |
18:18 |
|
JaysonMinard |
@fjalvingh there is an engine called KAnnotator that does the flow analysis and generates annotation summaries that are used. you can run it on any library. |
18:18 |
|
sjmaple |
replay of the session is available here -> http://virtualjug.com/kotlin-for-java-developers/ |
18:18 |
|
JaysonMinard |
Other companies using Kotlin include collokia.com, Bremeld, Renaissance Learning |
18:18 |
|
JaysonMinard |
and some have a strong commitment to helping develop the language and frameworks. |
18:19 |
|
fjalvingh |
I know of that. I think going this route is a big mistake. But thanks for the explanations. |
18:19 |
|
JaysonMinard |
ah |
18:19 |
|
iiers |
thanks |
18:19 |
|
JaysonMinard |
Kotlin is what Scala pretends to be, help it succeed. |
18:19 |
|
carljokl |
Thank you |
18:20 |
|
carljokl |
Putting "IDEA"s in developers heads? |
18:20 |
|
fjalvingh |
Overall I do love Kotlin, do not be mistaken. I would love to use it instead of Java. Thanks a lot for the work and the presentation!! |
18:20 |
|
JaysonMinard |
(I stole that as a quote from someone's twitter) |
18:20 |
|
JaysonMinard |
We have a Kotlin channel on our Slack account, we can add guests for those that are learning or need help with Kotlin. Let me know. jaysoncollokia.com |
18:21 |
|
fjalvingh |
Bye all and thanks again. |
18:21 |
|
sjmaple |
thanks everyone for attending and the questions! |
18:21 |
|
sjmaple |
and thanks to http://twitter.com/hharirifor presenting! |
18:22 |
|
iiers |
nope |
18:22 |
|
iiers |
wrong link |
18:22 |
|
sjmaple |
damn, missed the space before the *for* |
18:23 |
|
sjmaple |
http://twitter.com/hhariri |
20:02 |
|
|
wolfjb joined #virtualJUG |
22:44 |
|
|
sanchitgoyal joined #virtualJUG |
23:26 |
|
|
jchochli joined #virtualJUG |
23:55 |
|
|
kojilin joined #virtualJUG |