Coming soon - Get a detailed view of why an account is flagged as spam!
view details

This post has been de-listed

It is no longer included in search results and normal feeds (front page, hot posts, subreddit posts, etc). It remains visible only via the author's post history.

157
Haskell is the greatest programming language of all time
Post Body

Sorry for the rant. I am preaching to the choir here. I recently saw a post in which someone regurgitated the often-commented Philip Wadler quote, “Agda is what Haskell wants to be when it grows up.” I love Agda, and one of my favorite papers of all time is a proof of computational complexity using Agda (https://projekter.aau.dk/projekter/files/335444832/pt101f20thesis.pdf). But I’m sorry, Haskell is the grown-up version of Agda, and it is the rational adult in a room full of children when compared to every other programming language. Agda, Idris, etc. are programming ideals, and I would love to see them reach the level of maturity of Haskell. But, guess what? You can do literally everything in Haskell, right now, at an astronomical level compared to any other programming language. Seriously.

In my job, I have the privilege of using Haskell for everything. Business logic? Pure Haskell. Databases? Haskell libraries, such as beam, persistent, hedis, and haskell-leveldb. Frontend? Reflex/Obelisk (hope Ryan and Ali keep posting updates 😘). APIs? Servant. Cryptography? I haven’t found a (commonly used) cryptography standard that doesn’t have a corresponding Haskell library. AWS? God damn, some dude maintains support for their entire service for free. Data science and ML? Ok, Python wins here. However, to borrow a technique from Python, anyone can use Haskell’s world-class FFI to call a C library for those things. It is actually that easy, and I have written several libraries for doing just that. By the way, doing everything in Haskell means you can actually refactor your fucking code. Swapping out databases becomes pedestrian and outright trivial.

When I program in Haskell, I am in utopia. I am in a different world than 99.9% of what I see posted on Reddit. Omg you hate null pointer exceptions? Use a language that literally prevents you from creating them. Omg, you have an entire CI pipeline to check for type errors between the frontend and backend? Use a language that allows your entire stack to be typechecked together, and a platform that allows you to write enjoyable frontend code (again, Ryan and Ali, keep up the good work 😉).

Haskell is the greatest language of all time, and I will die on this hill. Goodnight Brooklyn.

Comments
[not loaded or deleted]

Just curious, what types of games do you develop in Haskell, and what libraries/tools do you use?

[not loaded or deleted]

So do you insist on knowing a kernel build number if someone says Linux is their favorite OS? I consider myself quite the pedant, but saying that you can't consider Haskell conceptually without knowing the version number seems excessively specific.

[not loaded or deleted]

Sure, but the same could be said of most programming languages. C , Java, C#, Python, etc. have changed at least as much as Haskell over the last 10 years, but if someone told me their favorite language was C# I wouldn't grill them on which version they meant -- I would just assume they meant the latest stable version.

Author
Account Strength
60%
Account Age
3 years
Verified Email
Yes
Verified Flair
No
Total Karma
367
Link Karma
167
Comment Karma
200
Profile updated: 1 week ago

Subreddit

Post Details

We try to extract some basic information from the post title. This is not always successful or accurate, please use your best judgement and compare these values to the post title and body for confirmation.
Posted
2 years ago