Hacker News new | past | comments | ask | show | jobs | submit login

Python is a bad choice for writing reliable software. If you need the reliability of type checking, just use an early-bound language, not a late-bound language with checking grafted on. And very few Python libraries have type annotations.

And while 3 fixed some footguns, e.g. 'a' < 5 now throws a TypeError and there's a clear distinction between str and bytes, others remain, e.g. if you reuse a generator it will silently be empty.

Looking at the repo[1] the languages tab shows:

OCaml 78.6% F# 12.2%

The F# hits are in a directory "fsharp-backend", and all in the last 3 weeks.

1: https://github.com/darklang/dark




Haha, also checked the repo and thought the same. We're using F# in prod (about 200K LOC) and it has been great so far.

We also use F# for two react front ends with fable (F# to JS compiler). More new alternatives for using F# in the browser (FsBolero/Blazer) via web-assembly or running it server side like Phoenix live view also exist.

One issue we had with Fabel is how .NET DateTimeOffsets are handled on the Client side.


There's a more to reliable software than static typing. See eg Erlang and its stellar record in building reliable systems.

Static types aren't necessarily the best fit for distirbuted systems, network protocols, asynchrony etc.


Honestly surprised I was able to keep this any kind of mystery, since the repo is open and it's plain as day what I've been working on. But congrats on being the only person that actually looked!




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

Search: