Hacker Newsnew | past | comments | ask | show | jobs | submit | jpliska's commentslogin

In many cases, you would get warnings when accessing a var that you don't get when accessing a val. Also, IntelliJ suggests converting to val if a var is never reassigned.


Can you share a link to an example?

How do you deal with the massive size of the javascript that is generated by kotlinJS?


Unfortunately not, since those apps are all business internal.

On Android/react-native, the Kotlin parts runs on the JVM directly. I haven't released a KotlinJS-application to the wild yet, but I don't suppose the size is a problem after running it through webpack, uglify et. al.

You are right, the runtime is rather larger though. Do you have suggestions?


Getchip.com costs less, can actually be purchased and has onboard flash


While the C.H.I.P. is arguably a lot nicer in many ways, I believe it's been out of stock since December.


Just checked out the site and it says they're currently on backorder.


I'm glad both exist for sure. My favorite thing about the chip is lipo charging built-in. But micro-sd, HDMI, and the camera connector on the Pi are useful too.


I wish some good designers would lend LibreOffice a hand. Even without reworking UX they could win over more users by being less ugly (compare MS Office start page)


Kotlin has been useful to me and easy to learn. It dovetails so well with exisiting java libraries that no Kotlin revolution (rewrite everything) is necessary. The most notable frameworks are in android land (Anvil, Bansa -- like react, redux). But on the backend, you can use stardard stuff. That's why Kotlin has been well accepted but not made a huge splash.


The use of the ~ here illustrates the problem in the scala world: a lot of surprising bells and whistles. Why not call it watch instead of ~?


Or just use IntelliJ and you can reload classes while your program is running if you want. Sbt is a very powerful tool but it's not written with readability for new users in mind.


I'm looking for someone to partner with me on http://www.ballotbin.com

The system needs changes (in frontend, backend, sysadmin). It is pretty much the same as in 2002.


I can help you with the sysadmin/devops stuff, if you want contact me: hn at leandrosf dot com


Oh man, I'd love to build the front-end for this. It really needs help :)


Check out kotlinlang by Jetbrains. It's git the best of java, C# and python


Or Ceylon! It looks a lot like Java in some ways, but with a really novel type system.

Kotlin is nice too though.


Have you all seen Kotlin?


Yes, it's like they reinvent all the things that were considered but discarded in Scala and believe they found something nobody ever thought about before.


I am not sure that Kotlin competes with Scala in any way. They are trying to remove the pain from Java by providing a concise and safe language (see the quotes from their website below). What are "all the things" they reinvented that were discard in Scala?

> Kotlin is a pragmatic programming language for JVM and Android that combines OO and functional features and is focused on interoperability, safety, clarity and tooling support.

> Being a general-purpose language, Kotlin works everywhere where Java works: server-side applications, mobile applications (Android), desktop applications.


> What are "all the things" they reinvented that were discard in Scala?

Extension methods, properties, special syntax for everything, final by default, short constructor syntax, trying to put band-aid around Java's broken collection types, ...


I'd love to learn more about Java's broken collection types. What's broken about them?


The pattern of throwing exceptions for operations deemed "unsupported", an API that requires massive workarounds to keep alive in Java 10, no support for immutable collections, unmodifiable views are a complete clusterfuck, no persistent collections etc.


Thank you. I appreciate the list.


Kotlin competes with Scala in that they are both alternatives to Java.


Every single description of Kotlin in your comment could just as easily be describing Scala.


At least they care about 1st class support on Android Studio, instead of InteliJ + sbt + missing support from Android tooling.


If you feel that something is missing people would likely be happy to receive bug reports/feature requests.


They are full aware of it:

"Android Studio should currently not be used for development with sbt and Scala. Chances are, however, that it's a good fit for a Gradle + Scala setup."

http://scala-on-android.taig.io/editor/android-studio/

Using InteliJ instead of Android Studio means not being able to use the latest tooling even from the stable version, as InteliJ is always some versions behind.

Using Gradle + Scala implies a few configuration steps that tend to break at each new Android Studio release, versus the out of the box experience from Kotlin.


I have never seen this documentation and it seems to be wildly outdated.

Which issues did you experience with Android Studio?


No out of the box integration even for basic stuff.

I expect no more hurdles than just using Java official Android tools.


Yes, it's awful. It's the opposite of that; it's removing general abstractions that Scala got right and replacing them with zillions of special cases.

Ceylon is what you should be looking at.


I would do more things in Ceylon if it wasn't plagued by performance problems. So far the only way I've found is to avoid any of the few libraries written in Ceylon and just use Java libraries but if you're going to do that then Kotlin's interop is far more appealing.


How so? Kotlin's interop isn't actually any better as far as I can see?


Yes. It has awful nullable unions rather then monadic options/maybes.


Have you seen kotlin? Its a cross between java, python and scala for the JVM (and JS - with wrinkles)


Everyone should seriously consider using Kotlin, it's here to stay.


The only thing I hate it the extra symbols. How to they justify using : val companyName: String = "JetBrains". Instead of string companyName = "Jetbrains" ?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: