top | item 30046463

(no title)

fault1 | 4 years ago

I would say there isn't a completely ideal language yet.

Perhaps if Julia and Typescript had a baby:

gradual typing

structural subtyping

multiple dispatch

interfaces with declaration merging

discuss

order

jsskodof|4 years ago

If Julia and typescript had a baby, that baby would ideally be a lot like Julia and nothing like typescript.

fault1|4 years ago

Why?

I'll give you my two cents since I've tinkered with both languages extensively (tho I mostly write Python or C++ professionally, and Scala in the past).

I'd say TypeScript has a lot of things that are missing from Julia that are very useful for "data" oriented usages. And vice versa, Julia has a lot of numerical and metaprogramming stuff that is missing or nacient from the JS ecosystem.

I would say that TypeScript makes it a cake to create robust data processing pipelines around the most use data format in the world (which is JSON). I find structural subtyping surprisingly good for anything 'dataset' oriented, especially building up streaming datasets from various APIs and storage mechanisms (e.g, the usual "data engineering") in very robust ways. Julia also lacks interfaces or traits which are important for larger codebases.

Also, the tooling and developer experience is much better in TypeScript. Julia sometimes is like going back in time in that regard.

I have high hopes for Julia but I suspect that anyone who doesn't say that it could use some of TypeScript's features probably has not used TypeScript or JavaScript recently. There is a reason why TypeScript has influenced pretty much every other dynamic language in the last 5 years.

These are all important things when you have a large codebase, or need something robust in production. These are things that Julia has not yet been able to break into. Almost every feature in TypeScript was created to solve problems with JavaScript historically in this regard.