Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been recently wondering why something like Javascript/Typescript could not grow into the role.

* Ubiquitous.

* Not owned by a single corporation.

* Fairly performant runtime characteristics, with multiple implementations.

* Optional typing for quick explorations.

* Quite pleasant to use in its 2020 incarnation.

* The community has a proven process, tooling and track record of incrementally improving a language and its ecosystem.

Please don't shoot, I'm interested in constructive criticism.



Because JS wasn't designed for scientific computing like R and Julia are. Best case scenario is that you reimplement all the libraries Python has, but then you're just replacing Python with another generic scripting language instead of a language built for that purpose. Why would data scientists bother switching to JS when Python already has those libraries, and Julia and R have better numeric and data analysis support baked in?

And if Python, Julia and R don't cut it, then there's no reason to think another scripting language would. Instead you'd be looking at a statically typed and compile language with excellent support for parallelism.


JavaScript is a mess of a language in general. But even if that was not true, it is definitely not designed for numerical computation, nor symbolic manipulation, nor high performance, nor reliability.

Going from Python to JavaScript is a step backwards, not forward.


A big non starter in my opinion is that JavaScript doesn't even have proper numerical types. Everything is a float.


Feels like there's too much impedance mismatch, as integers aren't a first-class citizen in JS. You can use array buffers, but... I imagine you would want precise control over numerical representations everywhere to fully auto-differentiate code.


In addition to your list here, I am drawn by ES6 on the backend. This is not javascript of the early days.

On Differentiable Programming, you might be aware of a tensorflow counterpart in javascript:

https://www.tensorflow.org/js

I tested this to a certain extent and its not a toy. Its well thought out product from a very talented team, and has the ease of coding that we love about javascript. It can run on browsers!

This being said, we should note the strengths of a statically compiled language with the ease of installation and deployment like with Go, Rust, Nim, etc. in enterprise scale numerical computing.


I have similar thoughts. I think that Typescript could allow for a lot of the "bolt-on" type checking that I find appealing with static languages and most of these are just interfaces to the same C/C++ framework, so no reason you couldn't create typescript bindings..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: