Hacker News new | ask | show | jobs
by 6177c40f 2350 days ago
I had been messing around with a similar concept not too long ago in OCaml- as it turns out, strong, static typing can be very nice to have in writing ML models (and code in general). I find it reduces some of the cognitive overhead that comes from having to keep track of how the functions interact in the program (or perhaps, it reduces/clarifies the potential ways the functions can interact).

I'll be very interested to see where this project goes.

1 comments

It's always been baffling to me that certain problem domains with extremely slow feedback loops have standardized on using dynamically typed languages. Machine learning and Python. Video game scripting and Lua. A lot of scientific programming as well.

How did that happen? Did the trend start because the work was done by domain specialists who were not necessarily expert programmers, and C was too unergonomic for non-experts to use? Is that the reason a Skyrim modder can't get immediate feedback from a compiler in 2020 - because 25 years ago game devs thought that documenting a C API was harder than embedding a scripting language in the game engine? Or perhaps because evaluating scripts was more secure than loading third-party DLLs and exposing the game's innards to them?

Edit: also, if every CSV file came with a schema, that would be great. Even if it says that every column is of type Option<Any> - at least then I know what to expect.

I think it is more that 'expert programmers' where told to leave 'domain-specific' bits for power-users to deal with.

Therefore,

- game scene development in games, are in scripts. - Equity derivatives and swap contracts are in Excel - scientific modeling is in python

I also agree with your other though that, dynamic loading enables 're-use' of the core framework, so those frameworks/engines become marketable technology assets so to speak.

The programmers, then in some instances, created DSLs to then auto-generate performant framework-specific code from the DSL-written user specs.

But those, usually, are quite limited and also some power users migrated to be descent (not the expert engine/core-level, perhaps) programmers