
Ask HN: Is there any lanuage which satisfies my need? - mangatmodi
I have the following requirements
1. I need to work with complex data, so I need easy data transformation constructs (map, filter, lambdas etc.)
2. I need strongly statically typed language, as in my experience they are easier to debug, read and maintain
3. Binary compilation<p>I have worked with Go, Python, Scala and Kotlin, and seems now all of them fail somewhere.<p>Scala and Kotlin don&#x27;t compile to Binary and my team doesn&#x27;t want to maintain JVM dependency<p>Python is dynamically typed<p>Is C++ or any other language viable?
======
gus_massa
Have you tried Typed Racket [https://docs.racket-lang.org/ts-
guide/quick.html](https://docs.racket-lang.org/ts-guide/quick.html) ?

It's JIT-compiled, but it's doesn't use the JVM. And you can create an
executable of your program if you wish.

It's generally faster than Python but not as fast as C. YMMV.
[https://benchmarksgame-
team.pages.debian.net/benchmarksgame/...](https://benchmarksgame-
team.pages.debian.net/benchmarksgame/fastest/racket.html) The comparison use
the (Untyped) Racket instead of Typed Racket. Typed Racket usually has a
longer compilation time but a faster run time, because it has more
optimizations. YMMV.

------
brudgers
If the reason for static typing is debugging, then what matter is ease of
debugging, not static typing. If the reason for binary compilation is speed
and/or easy deployment, then what you need is speed and/or easy deployment not
binary compilation. They smell like XY problems. [1] To the degree they are XY
Problems, Erlang is worth looking into. Pattern matching against variable
input is what it does with decades of real world business critical deployment
at vast scale. It doesn't look like other languages because it isn't. Good
luck.

[1]:
[https://en.wikipedia.org/wiki/XY_problem](https://en.wikipedia.org/wiki/XY_problem)

~~~
mangatmodi
I am aware with XY Problem. You are right about binary compilation for easy
deployment (Though I believe Java is faster than Go, so the speed is not
reason).

But static typed provide a plethora of other advantages. Erlang is one of the
languages I had always in my checklist but never got into.

------
_0ffh
There's oodles of languages like that. I recommend Nim.

~~~
mangatmodi
How is tooling and STL maturity of Nim?

------
fiedzia
Try Rust

~~~
mangatmodi
Rust looks promising. I will try to see how good is tooling and dependency
management

