5 ms·
Wasabi – A Sinatra-inspired web framework for Kotlin
- RazvanPanda 13y agoWhy was the Issues tab removed? http://i.imgur.com/9jCrGY8.png http://i.imgur.com/9jCrGY8.png
- hhariri 13y agoWe don't use GitHub issue tracker. Issues are tracked with YouTrack here: http://hhariri.cloudapp.net:8080/issues/WA http://hhariri.cloudapp.net:8080/issues/WA Support is on Google Groups: groups.google.com/forum/#!forum/wasabifx
- RazvanPanda 13y agoAh, I missed that in the description, thanks for reply.
- danieldk 13y agoI wrote some toy programs in Kotlin, can anyone who used it for serious projects weigh in on how it compares to e.g. Java 8?
- qwerta 13y agoI wrote about 10kloc in Kotlin for internal testing framework. It is heavily multi-threaded and Kotlin aced here (compared to Scala). Java8 brings lot of legacy stuff. It feels like authors just wanted to add 'functional' on feature list. No type inference or named arguments. I think it is better to compare Kotlin to Groovy or Scala. In both cases it is simpler and more elegant language. I found two problems with Kotlin: Not mature yet. It is surprisingly stable and bug free (compared to Scala just 4 years ago). But some features are not designed yet and are missing (for example getters handling). Those will be added in some future milestones. Also I had to write some boiler plate code which should be in standard library. Nullability handling is strictly required. Most of classpath API is already annotated, but I had to annotate external libraries I am using.
- virtualwhys 13y agoInteresting, in what ways is Kotlin more elegant that Scala?
- pron 13y agoI wouldn't say it's more elegant than Scala, because, unlike, say, Clojure or Haskell, elegance doesn't seem to be a central design requirement of Kotlin's, but it is far easier to understand, learn and master. I think Scala pays a tremendous cost in complexity for its features. Kotlin gives you all of those features that would interest all but avid Haskellers (and those would be better off with Haskell than with Scala) for a tiny fraction of the cost.
- virtualwhys 13y agoAgreed, there's a price to pay for Scala's elegance (long compile times). If Kotlin can deliver on the promise to compile _at least as fast_ as Java, it will find Java converts for sure. > Kotlin gives you all of those features that would interest all but avid Haskellers. Not so sure about that, Scala runs on the JVM, which is one of the reasons Twitter, LinkedIn, etc. Big Companies have adopted the former and not the latter. Will be interesting to see how things play out. For example, what will Kotlin provide in the way of a concurrency library like Scala's Akka? Are LINQ and F# style Type Providers possible in Kotlin given it's mandate for simplicity and compiler performance? I suspect Java8 is going to be a thorn in Kotlin's side given that Java8 will likely already have been given a look at by Java world before Kotlin 1.0 comes on the scene.
- pron 13y ago> Not so sure about that, Scala runs on the JVM, which is one of the reasons Twitter, LinkedIn, etc. Big Companies have adopted the former and not the latter. If you look at their code, they, like most Scala developers, hardly ever use features not found in Kotlin. None of them use the language for its Haskellesque powers. > Agreed, there's a price to pay for Scala's elegance (long compile times). I was referring to mental load and indescribable complexity that makes Haskell look like child play in comparison - not compilation time. This is the price Scala pays for power; I wouldn't in a million years call it elegant, but some people think it is.
- hhariri 13y agoWith the disclaimer out the way that I work for JetBrains, we are using it internally for several projects and some parts of our tools, including for instance the LiveEdit functionality in WebStorm is written in Kotlin. In terms of comparing to Java, yes Java 8 adds lambdas but Kotlin drastically reduces the amount of code required and adds several other features that are not in 8.
- danieldk 13y agoI certainly think there is a place for a language that does not have the complexity of Scala, but reduces the boilerplate of Java. I also liked the support of non-null types in Kotlin.
- MichaelAza 13y agoI was wondering what niche this filled and now that you say it, yes, this does seem like a nice compromise between Java and Scala (The F# of the JVM?) In general, these "traditional OOP with functional flare" languages are a very positive trend with functional idioms becoming much more mainstream. "FP for the masses" is certainly going places.
- hhariri 13y agoAnd also has extension methods and lambda extensions which AFAIK are unique to Kotlin (the latter), which makes some of the stuff I do with Wasabi possible.
- deleted 13y ago[deleted]
- pron 13y agoI see that you're using straight-up Netty as the http server. Why did you choose to take this path rather than use a servlet container (Jetty, Tomcat)? Are there performance advantages?
- hhariri 13y agoI wanted the minimal viable that worked and proved concept and direction of API and then build on it. And while Netty seems to be seriously good performance wise , I will most likely add a layer to allow use of any servlet container. The dependency on Netty is minimal. Basically only one file with is the Request handler.
- bhauer 13y agoTo what the author has said, I will add that in terms of performance, Netty is currently faster than the fastest production Servlet containers [1]. Presently, Undertow (the web server for the upcoming WildFly application server, which will have a Servlet container) is the only platform providing slightly faster request-processing performance. Until WildFly is production-ready, Resin is the highest-performance Servlet container I am aware of. [1] http://www.techempower.com/benchmarks/#section=data-r6&hw=i7&test=plaintext http://www.techempower.com/benchmarks/#section=data-r6&hw=i7...