While I have no problem with copyleft licenses (at least those approved by the OSI) and in fact think that they should probably use the AGPL, I commend them for sticking to their guns and commitment to open source.
The article was good enough. There was a lack of mentioning the many drawbacks that this approach can have[1], but it was a well written description of it.
Many of the comments, however, are... Not quite as good; there was a bit of elitism and maybe even zealotry[2]. As usual, it soured an interest in FP (not that I've ever needed it) that an even slightly humbler approach might have fostered.
Now I'll dabble a bit in the self-congratulatory tone of some of the comments: I have never written a line of F# and the last time I dabbled with a primarily functional language was a couple of toy projects in Clojure (quite different) years ago and yet I was able to follow along the code and the explanations.
Functional approaches aren't all that different or revelatory for someone with enough development experience[3] and it's just a different approach, who would have thought it?
[1]: Not unexpected; functional programmers who've convinced themselves that FP has no drawbacks are unfortunately common. I'm not saying the author is one of those, though; he probably thought the article was long enough as is.
[2]: Also not unexpected in any discussion about paradigms, specially functional programming.
[3]: I've seen the general idea discussed here in different more multiparadigm languages.
Full stack developer with extensive experience in Python (Flask, Django, SQLAlchemy, Celery, Alembic, Pytest, Fire) and JavaScript (VueJS, React, Webpack, NodeJS, Express, Jest) and also experience with operations work (Docker, Compose, Gitlab-CI, Bash).
I've worked on multiple projects of different domains and both in large organizations and greenfield projects (in one in particular, I was first developer and responsible for choosing the entire stack).
Full stack developer with extensive experience in Python (Flask, Django, SQLAlchemy, Celery, Alembic, Pytest, Fire) and JavaScript (VueJS, React, Webpack, NodeJS, Express, Jest) and also experience with operations work (Docker, Compose, Gitlab-CI, Bash).
I've worked on multiple projects of different domains and both in large organizations and greenfield projects (in one in particular, I was first developer and responsible for choosing the entire stack).
> That's a loaded statement without qualification.
That "without qualification" is an odd thing to say regarding a couple of (flamewars) discussions that have been going on for sixty years. There are thousands, millions of lines of literature discussing advantages and disadvantages of every paradigm and every type system.
> It is entirely possible (if not highly likely) that one approach is better
And when such approach is discovered and/or conclusively proven as better, I'm sure the entire industry will converge upon it. Computer science is, after all, a science.
What I just wrote is obvious and common knowledge that I'm sure you're aware of, but I couldn't think of another way to explain my point. Hopefully I was clear.
Entirely off-topic (or maybe not given the nature of like 20% of the comments here), but it's getting seriously annoying how in every thread even tangentially related to programming there are ten or so people (not the same people, not trying to call anyone out) trying to proselytize about functional programming and/or static typing.
They're not panaceas, they're just alternative approaches to programming no worse nor better and they don't need to be brought up in every. Single. Post.