TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Kotlin: A Language with a Bright Future

78 pointsby venturis_voiceover 7 years ago

17 comments

lmmover 7 years ago
As a Scala programmer, Kotlin always feels like a language that frustratingly <i>almost</i> gets it, but is infuriatingly unwilling to listen to experience of what works in large codebases. Look at the examples on <a href="https:&#x2F;&#x2F;philipnilsson.github.io&#x2F;Badness10k&#x2F;escaping-hell-with-monads&#x2F;" rel="nofollow">https:&#x2F;&#x2F;philipnilsson.github.io&#x2F;Badness10k&#x2F;escaping-hell-wit...</a> - I think Kotlin has literally every one of those ad hoc solutions built into the language, but stubbornly avoids making the generalisation. In small examples ad hoc solutions look great, but to succeed in large codebases a language needs a generality and consistency that Kotlin lacks.<p>E.g. already there&#x27;s no way to reuse logic between code paths that operate on Kotlin nullable types, Java Options (needed for compatibility with Java streams or more generally other JVM libraries), or rust-style Result types (for which there are several Kotlin libraries already, because it&#x27;s a very useful concept and the language mostly has the facilities to support it), even though all three behave almost identically and you would often want to do the same thing in all three cases. But since the language won&#x27;t let you represent what these types have in common, your only option is to copy&#x2F;paste the code.
评论 #15741866 未加载
评论 #15740905 未加载
评论 #15740526 未加载
评论 #15740656 未加载
评论 #15740494 未加载
评论 #15756336 未加载
评论 #15740859 未加载
评论 #15740623 未加载
评论 #15740726 未加载
adamnemecekover 7 years ago
I agree 100%. Kotlin compiles to JVM, JS and very soon also to native via LLVM. That means you can ship a web app (both backend &amp; frontend) and mobile clients (for android and soon iOS) in one language. This is unprecedented.<p>For JS, you can use all you favorite front-end frameworks like react (here&#x27;s an example by JetBrains themselves <a href="https:&#x2F;&#x2F;github.com&#x2F;Kotlin&#x2F;kotlin-fullstack-sample" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Kotlin&#x2F;kotlin-fullstack-sample</a>) or cycle. And you can import typescript definitions.<p>Also first class IDE integration.<p>So yeah, bright future is an understatement.<p>I guess clojure&#x2F;clojurescript and scala.js are somewhat similar however I feel like Kotlin has an insane amount of momentum behind it right now.
评论 #15740221 未加载
评论 #15740496 未加载
评论 #15740192 未加载
评论 #15740684 未加载
评论 #15740554 未加载
评论 #15756344 未加载
评论 #15740184 未加载
评论 #15740817 未加载
rdsubhasover 7 years ago
I&#x27;m neither pro nor con with Kotlin, but let&#x27;s look at history and parallels.<p>At its peak, Eclipse released Xtend. At that point, Eclipse was the IntelliJ of today, everyone assumed Xtend would be the next Java with full support of Eclipse tooling. Today, well, anyone remembers it? But its still there, check the features: <a href="http:&#x2F;&#x2F;www.eclipse.org&#x2F;xtend&#x2F;documentation&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;www.eclipse.org&#x2F;xtend&#x2F;documentation&#x2F;index.html</a>.<p>You will see thousands of articles on kotlin vs java, but only a handful on kotlin vs xtend, because of the cycle.<p>Groovy. Same cycle, same result.<p>Javascript has a large share of syntactic forks. All of them had this hype-cycle. Coffeescript was &quot;de-facto way&quot; to write cross-browser eloquent javascript at one point.<p>There are few lessons from history: Syntactic language forks are what they are - forks. It takes equal amount of tooling and expertise to maintain them. When the next two versions of Java releases, the hype cycle will again turn tides. &quot;X is the better Y&quot;, &quot;Groovy is the better Java&quot; - never, there is only one Java, there is no better Java.<p>The best approach is to make the language itself extensible. Look at ES-next and babel. Every language addition is a proposal, and proposals can be implemented as language plugins with stages 3&#x2F;2&#x2F;1&#x2F;0. This effectively rendered most syntactic forks almost meaningless and unnecessary. Have an idea? Extend to the language directly! The most important part - tooling - which is eslint, AST parsing, intermediate representations, code formatting, etc - have been shifted to work on top of language plugins. Now some of you will talk against babel, and how different projects use different babel settings - but given all the history, babel is the best way to pragmatically evolve a language we&#x27;ve ever had so far.<p>Java has a longer mature JSR and language proposal process, just like ES. I really regret that Jetbrains decided to create yet another language fork, while being in the position to create the next babel for java.<p>Will Kotlin be different from all the previous cycles? Only real 2020 will tell, but until then, the only reference available is history.
mumphsterover 7 years ago
Cached: <a href="http:&#x2F;&#x2F;webcache.googleusercontent.com&#x2F;search?q=cache:http:&#x2F;&#x2F;www.venturi-group.com&#x2F;blog&#x2F;getting-started-kotlin&#x2F;" rel="nofollow">http:&#x2F;&#x2F;webcache.googleusercontent.com&#x2F;search?q=cache:http:&#x2F;&#x2F;...</a>
pmelendezover 7 years ago
Honest question. I have been checking Kotlin since a while but haven&#x27;t found a compelling case for me to start using it. All the features I have seen so far are syntactic sugar.<p>Even the article quote something around those lines: “The syntax for Kotlin, like Apple’s Swift, is clean and modern. The reaction amongst developers learning Kotlin is not dissimilar to the initial experiences with Ruby years ago. The syntax is so intuitively designed that even without any previous exposure it’s almost possible to guess it.”<p>The question would be: Am I missing something? Is syntax the only reason that makes people excited about it? or are there any new abstractions&#x2F;ideas that are exclusive for Kotlin?
评论 #15740465 未加载
评论 #15740379 未加载
评论 #15740546 未加载
评论 #15740914 未加载
评论 #15740508 未加载
评论 #15740516 未加载
评论 #15740473 未加载
kevinherronover 7 years ago
I love Kotlin. It&#x27;s the sweet spot between Java and Scala. Been using it for backend stuff since it went 1.0. Coroutines are a game changer for a lot of the work I do.<p>Really excited to see how Native progresses as well. I&#x27;ve got a handful of projects what would benefit from having the 90% core written in Kotlin with some JVM and Native portions plugged in, ultimately meaning the library is available on both JVM and Native.
russellbeattieover 7 years ago
This may not be the most educated opinion, but I tend to think of &quot;languages&quot; that compile to the JVM as just elaborate macros. My reasoning is that in order to use Kotlin (or Scala, Groovy, etc.), you will inevitably have to know Java very well, as most of the language is just syntactic sugar, and you&#x27;ll almost always have to interact with standard libraries and SDKs written for use with Java.<p>A language isn&#x27;t a &quot;real&quot; language unless you can live in it and be blissfully ignorant of anything else. I don&#x27;t need to know C in order to use Go, or Python. I don&#x27;t need to know Ruby in order to use JavaScript. But it&#x27;ll be relatively impossible to write code in Kotlin without interacting with Java constantly. Which means context switching and maybe even bugs.
meddlepalover 7 years ago
I have been using Kotlin in the backend (along with Python) since late 2015 at Datawire.io and it is a pleasure to work with.
评论 #15740281 未加载
bencollier49over 7 years ago
As a Python and Java programmer, Kotlin hits the sweet spot for me with the type safety of Java (+ ecosystem) together with a clean and modern syntax.<p>All whilst avoiding adding clever&#x2F;stupid things (cf. Scala, Go, Rust).
venturis_voiceover 7 years ago
Hi all, thanks for commenting on our recent blog post. We share and discuss all our content on Venturi’s Voice Slack group. Seeing as you know quite a bit about this topic it would be great if you joined the conversation on there. We’re a new community based around the blogs and podcasts we release everyday at Venturi. We aim to consistently deliver valuable content to our candidates - but we know there is always room for improvement, so your feedback would really help us out!<p>The group’s pretty quiet at the moment whilst we’re building up the community but stick with us as we’re aiming to grow it rapidly.<p><a href="https:&#x2F;&#x2F;publicslack.com&#x2F;slacks&#x2F;https-venturisvoice-slack-com&#x2F;invites&#x2F;new" rel="nofollow">https:&#x2F;&#x2F;publicslack.com&#x2F;slacks&#x2F;https-venturisvoice-slack-com...</a>
ravirajx7over 7 years ago
Is the link broken?
评论 #15740630 未加载
评论 #15746720 未加载
评论 #15740330 未加载
评论 #15740317 未加载
评论 #15740321 未加载
评论 #15740378 未加载
rb808over 7 years ago
I like Kotlin, but I&#x27;m thinking of just concentrating on Java and giving up on Scala and Kotlin.<p>Scala was much better than Java but now the gap has closed and while its still nice to work with, I feel most applications would be better to stick to mainstream Java.<p>Kotlin is interesting but after Scala experience I&#x27;m reluctant to invest all over again. Is it worth it?
评论 #15740579 未加载
评论 #15740876 未加载
iLemmingover 7 years ago
I skimmed through the comments, looked at code examples - they hurt my eyes. Read arguments of Scala people. Read about C# vs Java. For the life of me I don&#x27;t get it. Why people simply wouldn&#x27;t use Clojure?
pankajdohareyover 7 years ago
Does anyone remember Groovy this is just a fad Kotlin would be forgotten with time, i fail to see the real technical innovation in Kotlin.
评论 #15740632 未加载
评论 #15741776 未加载
edpichlerover 7 years ago
Could someone tell me if Kotlin and TypeScript are similar solutions? I put both on my &quot;next reads&quot; list.
评论 #15740628 未加载
lobo_tuertoover 7 years ago
Woops 404 on the link.
评论 #15746718 未加载
pankajdohareyover 7 years ago
To me Kotlin feels like the most overrated copy of Scala.