Live data from Hacker News

Show HN: Programming Google Flutter with Clojure

github.com

71–80 of 93 posts

Re: Show HN: Programming Google Flutter with Clojure

#72
post #55

Earlier quoted context omitted.

i am a big advocate for common lisp use but i still don't see your point. are you saying that the whole point of having a clojure on rust is to have native compilation? because i imagine "clojure on rust" for the parent means having a clojure-like-syntax on rust, keeping in mind that rust is a statically typed language (kind of a big point of rust)

Common Lisp supports gradual typing.

but not static mem allocation

Re: Show HN: Programming Google Flutter with Clojure

#73

Earlier quoted context omitted.

Oh this totally reminds me of the BLoC pattern[0][1] that everyone kind of... really gritted their teeth through. It just wasn't at all an appealing way to structure data flow and I was kind of surprised that it was the architectural choice that was being pushed. 90% of the time, it felt like simple IoC plus an app-wide singletons would have been enough for most apps-- trying to get everyone to aadopt BLoC was painfu…

Why are people using BLoC? I thought Provider and now Riverpod are what was recommended, which are the global singletons you're talking about.

It’s been a while since I looked, if that’s true then great

Re: Show HN: Programming Google Flutter with Clojure

#74
post #5

Ah Flutter. I burned a month making silly apps with it, but then I realized that I would probably be better off learning any other programming language than Dart (careerwise at least)

How come? What's so bad about dart?

Off the top of my head, no access modifiers (so private variables, for example, are prefixed with `_`, by convention, not enforced by the compiler), no pattern matching (and obviously no exhaustive matching), no record types, no sum types, no json (de)serialization (requires 3rd party libary code gen, wow), mutability everywhere, everything is a statement (i.e. no implicit `return`, AKA everything is an expression), required semi-colons (which they'd like to get rid of but can't due to questionable design decisions made long ago -- for the gory details see here[1]).

If you like Java 8 and earlier you'll probably feel at home with Dart.

Obviously I'm biased, but I find Dart to be one of the most unpleasant languages I've had the misfortune of being exposed to; this despite Flutter and its instantaneous hot code reloading being quite amazing -- a bizarre mix of promise and despair.

[1] https://github.com/dart-lang/language/blob/master/resources/...

Re: Show HN: Programming Google Flutter with Clojure

#75

Earlier quoted context omitted.

FWIW, I tried ClojureDart a little while back, had a good time, but thought to myself, "I'll be back when they have a REPL working." At that time you guys were saying things in the Slack like, "We already have a working prototype behind closed doors, it just needs polish. We'll be ready to release it soon." It was very exciting. That was... six months ago. :) So... I guess I'll keep waiting.

You posted this as a reply to cgrand saying they would need resources to go any faster. Yes it’s not ready yet so you’ll need to wait (or provide resources). Paraphrasing your memory of their prior time estimate on Slack seems a non sequitur - what is your intended point?

Parent comment says: REPL is a priority to me, do you have that?

cgrand's comment says: Not yet, but probably soon! Here's a link to donate

My comment says: Before you donate, here's some context for what "soon" likely means

Your comment says........?

Re: Show HN: Programming Google Flutter with Clojure

#76
post #34

Earlier quoted context omitted.

It is a bit more convulated than that. Dart was being pushed as JavaScript replacement, back when everyone had one. However Chrome team failed to push ChromiumVM and eventually the project was ramped down, by then AdWords had made a massive investment moving from GWT into AngularDart, so they rescued the project. Eventually Flutter, initally prototyped in JavaScript, moved into Dart, and they also decided to change t…

Do you know what is the relationship between Dart/Flutter and Kotlin? On paper, it seems that Dart/Flutter is a better choice in the context of mobile dev because it is cross platform. If I were to focus on Android exclusively, would Kotlin offer any advantages over Dart/Flutter? I guess I am trying to understand why these two coexist, which one to learn, and how likely it is that Google will kill Dart/Flutter in the…

Just to add on, Kotlin also does have some (limited) multi-platform features, with potential to build on for more.

Honestly, Flutter is an amazing framework conceptually, but Dart may prove to be its demise. I just hope there is a possibility for Flutter based on Typescript or Kotlin in the future.

Re: Show HN: Programming Google Flutter with Clojure

#79

Earlier quoted context omitted.

Do you know what is the relationship between Dart/Flutter and Kotlin? On paper, it seems that Dart/Flutter is a better choice in the context of mobile dev because it is cross platform. If I were to focus on Android exclusively, would Kotlin offer any advantages over Dart/Flutter? I guess I am trying to understand why these two coexist, which one to learn, and how likely it is that Google will kill Dart/Flutter in the…

Just to add on, Kotlin also does have some (limited) multi-platform features, with potential to build on for more. Honestly, Flutter is an amazing framework conceptually, but Dart may prove to be its demise. I just hope there is a possibility for Flutter based on Typescript or Kotlin in the future.

That is impossible, because Flutter is written in Dart on top of Skia, most Dart 2.0 features have been done to improve that development experience, using any other language means basically a full rewrite.

Re: Show HN: Programming Google Flutter with Clojure

#80
post #53

Earlier quoted context omitted.

I'm sincerely curious about what you have in mind for "clojure hosted on rust". Rust has a relatively thin runtime, but heavy static compilation work (types and lifetime and borrowing, etc...) , so it kinda seems like a completely different set of tradeoffs than what clojure favors (dynamicity, late bindings, runtime checks, managed memory, etc..) Or did you mean "a clojure-like syntax for something that produces rus…

I think they mean a JIT compiler for a clojure-like language written in rust, with rust interop (instead of Java interop). There would be no static compilation of rust code.

Code is easy, data is hard, the JIT would help with the former only. Rust on JSVM/.NET/JVM/Dart relies on the host platform to provide the underlying object system, reflection, interop with host code, GC etc.
Post reply on HN