
Ask HN: What are the pros/cons to using a single non-JS lang to rule them all? - augb
The important point is to be able to effectively use a single (non-JS ^) programming language for mobile, browser and server-side. Ideally, to cut down on the technologies folks would have to come up to speed on and allow them to go deep with a particular language. This is beyond isomorphic apps, though, these are included. So, F# can theoretically run on the server, in the browser (via Fable [1]) and on mobile (via Xamarin Studio [2]). Clojure has a similar story since JVM languages can run on Android mobile phones&#x2F;tablets and there is ClojureScipt [3]. These are just some examples of ones I am aware of. (I wonder if there is something like Fable for Swift?)<p>Is this a pipe dream, or is there real value to this approach?<p>^ Why non-JS? Mainly because I am interested in exploring other languages that can include statically typed, compiled languages.<p>[1] https:&#x2F;&#x2F;fsprojects.github.io&#x2F;Fable&#x2F;
[2] https:&#x2F;&#x2F;www.xamarin.com&#x2F;studio
[3] https:&#x2F;&#x2F;github.com&#x2F;clojure&#x2F;clojurescript<p>Edit: styling, grammar
======
ThatGeoGuy
The ultimate dream (IMO) is to use CHICKEN Scheme for everything. You can use
it on the web [1], transpile to JS [2], run on Android [3], and since it's so
portable, you can basically use it anywhere C code can run (embedded, etc.).

In practice though, it's not so glorious. CHICKEN still lacks strong numerics
libraries (think Numpy, APL), and SPOCK, while useful, isn't as rugged or
battle-tested as say, Clojurescript. It doesn't transpile to the greatest JS
code, and I don't believe it works with all browsers (docs seem to indicate it
needs work [2]).

I think it could be reasonable to eventually get this level of support, but
the Scheme community is already quite small and needs people to work on these
sorts of things. Right now, I'd say it's unreasonable to write everything (JS
and numerics are the big problem) in CHICKEN, but we're getting close.

[1] [http://wiki.call-cc.org/chicken-projects/egg-
index-4.html#we...](http://wiki.call-cc.org/chicken-projects/egg-
index-4.html#web) [2] [http://wiki.call-
cc.org/eggref/4/spock](http://wiki.call-cc.org/eggref/4/spock) [3]
[https://github.com/chicken-mobile/chicken-android-
template](https://github.com/chicken-mobile/chicken-android-template)

~~~
augb
Thanks for your response. This is the type of thing I am wanting to do, even
if not with CHICKEN Scheme. :)

------
augb
To clarify ... I am seeking advice on whether choosing a single non-JS
language for "all" form factors is reasonable given existing languages,
libraries, etc.

------
cjbprime
ClojureScript sounds like it's already doing this; I think most people simply
prefer writing JS to writing Clojure.

