6 ms·
For me, I've simply decided to just focus on javascript. I have to use it, and while I had quite a bit of enthusiasm for Coffeescript, the move towards ES6 has
by michaelchisari 10y ago
For me, I've simply decided to just focus on javascript. I have to use it, and while I had quite a bit of enthusiasm for Coffeescript, the move towards ES6 has made me realize that I need to just buckle in.
Maybe it's a little bit of fatigue setting in, but at this point, my next foray into a new language will be something properly compiled like Rust or Swift, not a transpiled language.
This is not to detract from Typescript or Purescript or anything else like it. There's some amazing work going on, but for now, I'd rather learn the ins and outs of javascript instead, warts and all.
- eloisant 10y agoIt is good indeed to have a deep understanding of Javascript before using other tools. I've never really cared for Coffeescript (because I felt like it brought very little at the cost of a very different syntax) but Typescript really improves my productivity.
- michaelchisari 10y agoI do miss meaningful whitespace. It's my favorite thing about Python. Although I recognize it's not for everyone, and it's purely a matter of aesthetics and preference.
- gmac 10y agoYeah, I have been all-in on CoffeeScript until recently, and significant whitespace is one of its best features for me. It's a DRY issue.
- cel1ne 10y agoGive Kotlin a try. It's a JVM-language and 100% java-compatible, but it can also compile to Javascript (not sure if that backend is production-ready yet though) https://kotlinlang.org/ https://kotlinlang.org/ It's also backed by JetBrains the IDE-maker.
- jbverschoor 10y agoKotlin is a JVM clone of swift.
- realharo 10y agoA clone of something that appeared 3 years later? (2011 vs 2014 according to wikipedia)
- Nullabillity 10y agoAFAIK the official line has always been that it's a "simpler Scala". Not to mention that it's several years older...
- nostrademons 10y agoThey're actually quite different - a good chunk of my current project is in Kotlin, and all of my last project was in Swift. Things Swift has that Kotlin doesn't: associated types, file-based access control (changing in Swift 3.0), pervasive use of keyword arguments, trailing closures, full pattern matching (Kotlin can only destructure component1...N sequences), reference counting. Things Kotlin has that Swift doesn't: smart casts, declaring properties directly in the constructor, declaring constructors directly in the class statement, auto-delegation, data classes, singleton objects, implicit parameterizable 'this' (handy for builders & DSLs), garbage collection. Things they both have: null chaining & defaulting, class extensions, somewhat clumsy first-class method syntax, concise lambda syntax, lambda anaphora ('it' in Kotlin, $0 and $1 in Swift), concise range operators, property descriptors, operator overloading. Kotlin generally has the feel of a much more pragmatic, industrial language. It's Java without the warts, where the designers took note of the common Java patterns they wrote and provided a lot of syntactic sugar to dramatically improve brevity. Swift feels more academic; its type system is more modern and less ad-hoc, it has polished implementations of many features that academic languages have been trying to get right for years. Both are heavily influenced by their ecosystems; Swift feels like a better Objective-C, and Kotlin feels like a better Java.
- cel1ne 10y ago
- premium-concern 10y agoScala compiles to JavaScript, to the JVM, to Android, and (soon) to native. Give it a try!
- Nullabillity 10y agoI love Scala, but last time I tried to build an Android app using it (about a month ago), I just got various weird errors in IntelliJ when trying to build it. Eventually I just gave up and rewrote my app in Kotlin instead. But yeah, it's absolutely my first choice for JVM or web work.
- premium-concern 10y agoThat sounds weird. How did you build it? Can you paste the SBT error?
- Nullabillity 10y agoIt happened with both the make button and when running it (yes, I had removed the "Gradle-aware make" step and replaced it with android:packageDebug from the SBT shell plugin). Sadly, I don't have the error message anymore, and it seemed to work when building from the command-line tool. I suppose I could have kept going like that, but it's very nice to have the proper debugging tools that an IDE provides. :/
- premium-concern 10y agoWhich version of sbt-android do you use?
- Nullabillity 10y ago1.6.1, I think, but I'm not sure. I was stupid enough to delete my project files...
- lomnakkus 10y ago
- youdontknowtho 10y agoTypescript doesn't really transpile, kinda sorta...its output is idiomatic JS. It's syntax is basically just javascript. It's really just a natural way to annotate the types that you pass to javascript functions so that the compiler can check them. Not trying to be "that guy", just saying that it isn't like learning a whole new language. It's just adding a few things to the JS that you already know.