Live data from Hacker News

LambdaNative – Cross-platform mobile apps in Scheme

lambdanative.org

21–30 of 38 posts

Re: LambdaNative – Cross-platform mobile apps in Scheme

#21

This project blew me away. I always thought Scheme was just interpreters and toy programs. Hope this succeeds in making scheme popular. Scheme and Lisps in general way too underrated.

Stock Scheme does not have much in the way of interfaces to the outside world (long story) but there are several Scheme variants where people are doing larger projects. Racket is sort of a Scheme variant, and it seems to be the most popular, but Chicken and Guile are also pretty popular (as far as Scheme variants go) for real-world use cases.

Gambit is another one that has some real-world usage (it's what LambdaNative uses).

Re: LambdaNative – Cross-platform mobile apps in Scheme

#22
Gambit is a fantastic scheme system. The performance you get from it exceeds even SBCL in my limited use cases. Additionally, Gerbil Scheme (http://cons.io), built on Gambit, has expanded syntax like racket's #lang features for dsls. Several packages have also been create for it for most of the things I need.

Re: LambdaNative – Cross-platform mobile apps in Scheme

#23
post #11

It's a bit inaccurate of them to present the results of a 17-year old paper (published in 2000), as empirical evidence that development time in Scheme is shorter. These days there are plethora of language choices on the JVM, and if I were devloping a multi-platform app today, I would personally choose Kotlin along with the Intel Multi-OS Engine: https://software.intel.com/en-us/multi-os-engine Part of my motivation t…

> more readable ...to you. It's possible I suck at what I do, but somehow I've enjoyed building, shipping, and maintaining services and applications in dynamic languages. I used a lot of Clojure, and it was basically smooth sailing, even on teams. Along the way I used various statically typed languages, such as C# and a tiny bit of SML (to be able to read Okasaki), and enjoyed them too. Just not as much. Anyway, I ca…

I've coded in both (Common Lisp and Haskell, as two examples) and enjoyed both. Static languages tend to force you to think carefully about what you're doing before you test your code; dynamic languages let you get away with being careless. Dynamism is fine for prototyping but terrible in large software projects if you have mediocre programmers. That said, I've had mostly good experiences with dynamic languages -- probably because I've worked with mostly excellent software engineers who didn't need the language to force them to be thoughtful.

Re: LambdaNative – Cross-platform mobile apps in Scheme

#24
post #11

Earlier quoted context omitted.

> more readable ...to you. It's possible I suck at what I do, but somehow I've enjoyed building, shipping, and maintaining services and applications in dynamic languages. I used a lot of Clojure, and it was basically smooth sailing, even on teams. Along the way I used various statically typed languages, such as C# and a tiny bit of SML (to be able to read Okasaki), and enjoyed them too. Just not as much. Anyway, I ca…

You haven't grounded your assertions on any logical arguments. I've worked on large code bases, both in statically typed languags, and dynamically typed ones, and the latter was a far worse experience than the former. Even just in terms of reading and understanding what was going, there was no way to know the structure of objects passed to various function. A function would take an object foo, which had some arbitary…

> You haven't grounded your assertions on any logical arguments.

The author asserted nothing but their own person experience. No logic argument is needed to support the claim "I feel X." Assuming a truthful author, the claim is self-supporting.

Re: LambdaNative – Cross-platform mobile apps in Scheme

#25
post #11

Earlier quoted context omitted.

> more readable ...to you. It's possible I suck at what I do, but somehow I've enjoyed building, shipping, and maintaining services and applications in dynamic languages. I used a lot of Clojure, and it was basically smooth sailing, even on teams. Along the way I used various statically typed languages, such as C# and a tiny bit of SML (to be able to read Okasaki), and enjoyed them too. Just not as much. Anyway, I ca…

You haven't grounded your assertions on any logical arguments. I've worked on large code bases, both in statically typed languags, and dynamically typed ones, and the latter was a far worse experience than the former. Even just in terms of reading and understanding what was going, there was no way to know the structure of objects passed to various function. A function would take an object foo, which had some arbitary…

I fully agree with you!! I'm going to a new job in scala in a few weeks, what would you wish me? :)

Re: LambdaNative – Cross-platform mobile apps in Scheme

#26
post #11

Earlier quoted context omitted.

> more readable ...to you. It's possible I suck at what I do, but somehow I've enjoyed building, shipping, and maintaining services and applications in dynamic languages. I used a lot of Clojure, and it was basically smooth sailing, even on teams. Along the way I used various statically typed languages, such as C# and a tiny bit of SML (to be able to read Okasaki), and enjoyed them too. Just not as much. Anyway, I ca…

You haven't grounded your assertions on any logical arguments. I've worked on large code bases, both in statically typed languags, and dynamically typed ones, and the latter was a far worse experience than the former. Even just in terms of reading and understanding what was going, there was no way to know the structure of objects passed to various function. A function would take an object foo, which had some arbitary…

I fully agree with you!! I'm going to a new job in scala in a few weeks, what would you wish me? :)

Re: LambdaNative – Cross-platform mobile apps in Scheme

#27

Earlier quoted context omitted.

I know that, with Racket's move to the Chez Scheme interpreter, bits of core Racket C code are getting rewritten in Racket ( https://groups.google.com/forum/#!msg/racket-dev/2BV3ElyfF8Y... ). I wonder if that might enable Racket to ultimately be able to run on other Schemes' infrastructure.

> with Racket's move to the Chez Scheme interpreter, Is there a wiki or an issue to track progress of this?

https://github.com/racket/racket7

Re: LambdaNative – Cross-platform mobile apps in Scheme

#28
post #11

Earlier quoted context omitted.

> more readable ...to you. It's possible I suck at what I do, but somehow I've enjoyed building, shipping, and maintaining services and applications in dynamic languages. I used a lot of Clojure, and it was basically smooth sailing, even on teams. Along the way I used various statically typed languages, such as C# and a tiny bit of SML (to be able to read Okasaki), and enjoyed them too. Just not as much. Anyway, I ca…

You haven't grounded your assertions on any logical arguments. I've worked on large code bases, both in statically typed languags, and dynamically typed ones, and the latter was a far worse experience than the former. Even just in terms of reading and understanding what was going, there was no way to know the structure of objects passed to various function. A function would take an object foo, which had some arbitary…

I agree with most of what you said and I understand frustration but even if intended to be humorous I think you should not say to someone that you want to beat them up over it.

Re: LambdaNative – Cross-platform mobile apps in Scheme

#29

It's a bit inaccurate of them to present the results of a 17-year old paper (published in 2000), as empirical evidence that development time in Scheme is shorter. These days there are plethora of language choices on the JVM, and if I were devloping a multi-platform app today, I would personally choose Kotlin along with the Intel Multi-OS Engine: https://software.intel.com/en-us/multi-os-engine Part of my motivation t…

". Large programs written in statically typed languages are orders of magnitute more readable, more maintainable, easier to understand, and far less error-prone, than programs written in dynamically typed languages."

That's your belief, not a fact.

> The recent surge in popularity of dynamically typed languages like JavaScript, Python, Ruby, etc, had been a source of horror and frustration to me. It feels like a huge segment industry is throwing away decades of advancement made in programming language research,

It is exactly the opposite. Mainstream programming languages are recently catching up with features that are more advanced but weren't popular before, like functional programming, metaprogramming and dynamic programming.

Re: LambdaNative – Cross-platform mobile apps in Scheme

#30

Earlier quoted context omitted.

You haven't grounded your assertions on any logical arguments. I've worked on large code bases, both in statically typed languags, and dynamically typed ones, and the latter was a far worse experience than the former. Even just in terms of reading and understanding what was going, there was no way to know the structure of objects passed to various function. A function would take an object foo, which had some arbitary…

I'm downvoting you because your post is venomous and insulting. I'm also disagreeing with you. Most of your argument is emotional and anecdotal, and what remains is only a compelling argument for code quality, not static/dynamic. I, too, have worked in large code bases in both static and dynamic languages, and generally, I found the latter was a far better experience than the former - but code quality trumped any sta…

Agree with you. Too many myths!
Post reply on HN