7 ms·
"The hard economic truth for engineers is that technical excellence is overwhelmingly irrelevant" No. Technical excellence matters a lot when used appropriatel
by jeffdavis 6y ago
"The hard economic truth for engineers is that technical excellence is overwhelmingly irrelevant"
No. Technical excellence matters a lot when used appropriately, but competing with javascript and python is not where haskell is going to win.
There IS a language with HUGE success that is: declarative, strongly typed with type inference, lazy, and no side effects. It's called SQL[1].
That's where Haskell could shine -- compared with SQL. Imagine Maybe rather than NULLs, a sane language, multiple returns, a much better type system, etc. Python and Java can't touch SQL, but haskell could.
[1] http://thoughts.davisjeff.com/2011/09/25/sql-the-successful-cousin-of-haskell/ http://thoughts.davisjeff.com/2011/09/25/sql-the-successful-...
- dllthomas 6y agoSQL does not have type inference. It's dynamically typed, and will break at runtime if you feed the wrong type into something. It probably is strongly typed, depending where you draw that line. It also sometimes has side effects, although that's more dialect specific than present in the standard I think (when it comes to DML).
- jeffdavis 6y agoI'm sure there are some counterexamples, but for the most part most SQL implementations will fail to compile a query if you try to add a string to an integer or take the average of a date column. So I'm not quite sure what you mean. And type inference also plays a role with CASE statements, UNION, etc. Again may depend on SQL implementation.
- dllthomas 6y agoHmm, I'm not sure of the details, but I very much remember encountering type errors based on what data path was taken. Playing around now I think the typical case is more as you described. I might revisit when I'm better rested.
- justinmeiners 6y agoSQL works really well though. Lot's of people know it and can learn it. There are many implementations. There is a standard.
- jeffdavis 6y agoBut haskell could offer so much more. A good type system would be huge. Just replacing NULL with Maybe would be huge. A lot of other ideas could come out of it. And people care about correctness in a way that they don't with python or javascript. Haskell really has something to offer.
- justinmeiners 6y agoThat could be interesting. Do you have any links to projects pursing this type of thing?