News for hackers. Stuff that matters.
Re:I would like a job writing Haskell by Cthulhu_ on Tuesday February 08, 2022 @04:13AM (#30256331)
Is it because they might be overqualified, so any company that happens to do haskell (which I can imagine aren't many) are intimidated?

I mean how many people here, currently working in language X, would want to hire someone that is better than they are? I mean rationally it makes sense - bette for the company, learning opportunities, etc, but emotionally it would seriously piss me off if someone came swooping in and basically made me obsolete and look stupid. (I'm not saying the author of the article would do so, I'm just speaking in general and thinking up hypothetical scenarios)

Re:I would like a job writing Haskell by omnicognate on Tuesday February 08, 2022 @04:34AM (#30256472)
That attitude among Haskell devs is one of the problems. The conviction that it is a fundamentally better way of programming and that anybody who chooses anything else for anything is a worse programmer certainly hampers its success.

But the main reason, at least in my 20+ year career in my industry, is that it simply doesn't have a track record of success. Haskell isn't remotely new. It was mainstream in academia when I was at university and since then I've seen multiple attempts at adopting it in a large scale commercial setting. I've seen a couple of successes, on small, well defined projects that were relatively "academic" in nature (i.e. the challenges were in the comp-sci type aspects rather than the engineering, and the interactions with other systems were minimal). I've seen more failures, projects with lofty goals that went nowhere. F# has been more successful, and I've seen some significant infrastructure built with it, but it's certainly not proven itself superior to the alternatives (in an industry where successful solutions always get mimicked).

Basically, it's 2022. People have tried it and it hasn't worked out.

Re:I would like a job writing Haskell by grumpyprole on Tuesday February 08, 2022 @05:38AM (#30256893)
> That attitude among Haskell devs is one of the problems. The conviction that it is a fundamentally better way of programming and that anybody who chooses anything else for anything is a worse programmer certainly hampers its success.

This is not true in my experience; and I have been professionally writing Haskell for over a decade. It is well understood that Haskell is excellent for reasoning about program correctness, but rather poor for reasoning about program performance/efficiency, especially memory usage. What Haskell programmers might get frustrated about is less suitable tools used for domains for which Haskell would be an excellent fit (smart contracts?). There are many domains for which correctness and productivity are important, but performance/efficiency less so. Haskell is still much more performant than many dynamic languages are.

OCaml is a nice middle ground, lots of functional goodness and type safety with a much more predictable runtime.

Re:I would like a job writing Haskell by pcthrowaway on Tuesday February 08, 2022 @06:23AM (#30257191)
> What Haskell programmers might get frustrated about is less suitable tools used for domains for which Haskell would be an excellent fit (smart contracts?)

Haskell actually is used for smart contracts on Cardano (which is also written in Haskell): https://github.com/input-output-hk

They haven't been very "successful" yet in the sense of mass adoption (even as far as smart contracts go, EVM-based dapps have multiples more users), but I think this is because of design choices in how the blockchain works moreso than using Haskell for implementation, which limit the usability right now.

Re:I would like a job writing Haskell by lazyeye on Tuesday February 08, 2022 @04:05PM (#30264682)
According to Messari Cardano oscillates between 2nd/3rd most active crypto

https://messari.io/screener/most-active-chains-DB01F96B

Given the head start for Ethereum I would call this very successful in terms of adoption.

Re:I would like a job writing Haskell by pcthrowaway on Tuesday February 08, 2022 @05:25PM (#30265718)
Ethereum and EVM compatible chains are at least 4 years ahead in terms of smart contract activity. Cardano just enabled smart contracts in September of last year, and there's been very little success in terms of usability so far; network scaling upgrades are slated to roll out over the next few years, and the dapps that have deployed don't really work without them. For context, Sundaeswap, a long-awaited DEX just deployed roughly 1 week ago, but people trying to make swaps may have to wait days for their swap to execute, which isn't very ergonomic.

The increased activity from people trying to make transactions with Sundaeswap has resulted in sluggishness all-around on the chain as well, because Cardano doesn't have the concept of gas bidding for priority

Re:I would like a job writing Haskell by omnicognate on Tuesday February 08, 2022 @06:45AM (#30257321)
I was replying to a comment that explicitly described Haskell programmers as "better" than other programmers and implied they make them "look stupid". I'd certainly expect anyone with some maturity and common sense to have a more nuanced view, but this attitude is expressed commonly enough that I think it does have an impact on perceptions.
Re:I would like a job writing Haskell by captaincaveman on Tuesday February 08, 2022 @04:50AM (#30256576)
I have similar opinions on Scala, lots of theory that it makes things better, but the only measurable difference is that its a nightmare to hire for, more expensive and we often have to invest time training people ... who then leave to become contractors.

I'm not anti functional or Scala, but I'm yet to see any reports etc that actually indicate there is a pay off.

Re:I would like a job writing Haskell by 62951413 on Tuesday February 08, 2022 @03:15PM (#30263966)
There are two flavors of Scala and only one of them is about cats/scalaz. I feel intellectually inferior to people who use the latter in production. But I don't think anymore it's a reasonable aspiration to become one of them. And maven builds Scala projects equally well (with half a screen of XML) and without any SBT complexity.

I have not seen Bay Area companies where previous Scala experience counts for more than inviting me to an interview. In my current team I know multiple developers who'd like to have more Scala and Java developers who don't know Scala or even Kotlin.

Re:I would like a job writing Haskell by grumpyprole on Tuesday February 08, 2022 @05:54AM (#30256997)
I don't even view Scala as a functional language, as functions (methods) are not first class. Lambdas are encoded as objects with a single method. It's much more expressive than Java and so better at expressing many functional programming ideas, but it's not a functional-first language, it's an evolution of Java.

The underlying issue is that it's a complex language with many experimental and interacting features, which can and do cause a lot of distraction. This is not the fault of functional programming. Have a go at OCaml or F#, which are nice practical sweet spots.

Re:I would like a job writing Haskell by hocuspocus on Tuesday February 08, 2022 @07:09AM (#30257490)
The JVM has had specialized bytecode for SAM types for a long time now, you cannot really get more "first-class" than that. And really it's just an implementation detail than doesn't make the language more or less functional.

Scala isn't simply an evolution of Java. It offers a type system that goes beyond what you can do in F# or OCaml. The fact it's multi-paradigm and plays nice with Java's OO model doesn't make it less functional than these two.

Re:I would like a job writing Haskell by grumpyprole on Tuesday February 08, 2022 @08:00AM (#30257835)
> it's just an implementation detail than doesn't make the language more or less functional.

It affects the language very much, awkward currying and tupling, needing to wrap methods in objects. Subtyping also has many complex consequences. There is limited type inference and tail call optimisation versus functional-first languages.

> Scala isn't simply an evolution of Java. It offers a type system that goes beyond what you can do in F# or OCaml.

It offers higher-kinded types, but F# has units of measure, OCaml has polymorphic variants. Each has advanced features not offered by the other.

> The fact it's multi-paradigm and plays nice with Java's OO model doesn't make it less functional than these two.

It was not designed as a functional programming language first and foremost, that is my point.

Re:I would like a job writing Haskell by hocuspocus on Tuesday February 08, 2022 @09:30AM (#30258783)
> It affects the language very much, awkward currying and tupling, needing to wrap methods in objects.

That is a lot less true since Scala 3.

> Subtyping also has many complex consequences.

Sure. But it also means I can use any library from the Java ecosystem, and that's a huge reason behind the big number of Scala jobs compared to other FP languages.

> There is limited type inference and tail call optimisation versus functional-first languages.

Limited type inference is typically what I (and my team) want, for the sake of self-documentation. Scala's type inference is plenty enough, and the few corner cases that were annoying in Scala 2 should be fixed in Scala 3.

Tail-call optimization is done the compiler. The lack of tail-call elimination is bothering the few maintainers of functional libraries that need to implement CPS and trampolines, but not really something the average developer will have to worry about. And it should come to the JVM with Loom, eventually.

> F# has units of measure

Scala offers more generic ways to do the same thing. Would F# need such a feature at the language-level if it had typeclasses?

> OCaml has polymorphic variants

I believe most people don't want structural typing in their GADTs.

> It was not designed as a functional programming language first and foremost, that is my point.

I don't think Martin Odersky would agree. It's not an either/or situation. Scala was designed to be a full-fledged functional language, and OO hybrid, compatible with (and leveraging) the Java OO model, and offering a strong type system that goes beyond what you find in most FP languages.

Re:I would like a job writing Haskell by sideeffffect on Tuesday February 08, 2022 @05:34PM (#30265816)
> awkward currying

Personally, even though I haven't really thought it through deeply, I feel like Scala would be better if everything were curried.

> Subtyping also has many complex consequences

But also substantial benefits!

> There is limited type inference

I wish Scala would improve in this regard. Maybe paradoxically, inference works better with code tuned for subtyping and variance.

> tail call optimisation

This will be fundamentally solved by Project Loom. At least on the JVM (there's also Scala on JS and on LLVM).

> F# has units of measure

I dearly miss those. Type Providers even more so.

> OCaml has polymorphic variants

Could be nice in Scala. Or maybe not, can't tell now. And there's always the risk of too many features, which makes a language worse, not better.

> It was not designed as a functional programming language first and foremost

This is misleading at best. It was designed to show that the distinction between OOP and FP is arbitrary, not fundamental. In other words, Scala erases the distinction, it's fully OOP and fully FP. Scala has higher order functions, ADTs, pattern matching, a module system, like SML/OCaml. But it uses keywords `class` and calls it's instances "object" like Java. And it's interoperable with Java. But theoretically there's no fundamental distinction.

More languages are becoming more and more like Scala, btw.

https://www.lihaoyi.com/post/FromFirstPrinciplesWhyScala.htm...

And the concept of a programming language paradigm is fake from the start anyway ;)

https://www.cambridgeblog.org/2017/05/what-if-anything-is-a-...

Re:I would like a job writing Haskell by grumpyprole on Tuesday February 08, 2022 @06:18PM (#30266274)
> This is misleading at best. It was designed to show that the distinction between OOP and FP is arbitrary,

Possibly misleading yes, it is certainly a subjective point. I guess it reflects the struggle I had doing FP in Scala versus alternatives. I don't think I'm alone either, the Haskell community contains a lot of Scala refugees. Note that I have not looked at Scala 3.

Re:I would like a job writing Haskell by sideeffffect on Wednesday February 09, 2022 @07:35AM (#30271892)
> doing FP in Scala versus alternatives

I think Scala is the language most actual functional programming on this planet takes place these days. Be it just FP or pure FP.

I especially like pure FP in Scala. One can do that with Cats Effect (from the TypeLevel family of languages) or ZIO. They're both awesome, so check them out and pick what you'll like best.

https://typelevel.org/cats-effect/

https://zio.dev/

You don't even need to reach out to Scala 3 (still not as mature in its tooling support), you can have a great time with the latest Scala 2 (2.13).

> versus alternatives

I think of Scala as a opinionated take on ML and a module system that is tailored to JVM (and is seamlessly interoperable with Java) that just happens to have syntax heavy on braces/parentheses. Otherwise, what's not to like? :)

Re:I would like a job writing Haskell by captaincaveman on Tuesday February 08, 2022 @08:41AM (#30258223)
I'll also add that scala/functional engineers are also more likely to focus their energies on monads and type theory rather than product delivery.

I get that it is probably more intellectually stimulating for many engineers than the project they are working on, but it also reflects in over engineering of distributed systems for simple problems. I do wonder if there is really any net gains for a company to go the functional route.

I would love to see some research on this as people have been championing it for decades now, and seems suspiciously absent!

Re:I would like a job writing Haskell by sideeffffect on Tuesday February 08, 2022 @05:06PM (#30265487)
> scala/functional engineers are also more likely to focus their energies on monads and type theory rather than product delivery

This feels to me like a low effort and vague criticism.

Essentially, this is a complaint about an arbitrary group of developers that they're playing around with tech (whatever that tech might be) instead of delivering...

Obviously, in this case you can't say that specific thing about Python/JS/PHP/whatever developers, because "monads and type theory" just don't apply in these languages. (I know Python has MyPy, but let's put that aside for the simplicity of the argument.)

But for some non-scala/functional engineers, somebody could complain that they're wasting time playing with GUI frameworks, testing frameworks, async libraries, whatever...

The truth is, people can clown around with any technology, just as people can deliver with Scala/FP or something else.

Re:I would like a job writing Haskell by hocuspocus on Tuesday February 08, 2022 @09:16AM (#30258603)
> I'll also add that scala/functional engineers are also more likely to focus their energies on monads and type theory rather than product delivery.

Then how do you explain that a very significant number of "top" tech companies have teams who manage to deliver products written in Scala or other FP languages?

Re:I would like a job writing Haskell by captaincaveman on Tuesday February 08, 2022 @11:37AM (#30260561)
Teams have managed to deliver products in also sorts of languages, Cobol for example. Did the choice of language benefit the delivery, maintenance and TCO is my question. If I choose Haskell/Scala over Java (FYI as a programmer I'm not a fan of Java) what benefit will it actually bring the business, and does it out weight the negatives, over what time frame and how much risk?
Re:I would like a job writing Haskell by hocuspocus on Tuesday February 08, 2022 @12:29PM (#30261407)
There are technical tradeoffs everywhere. But you cannot make a caricature of FP developers, supposedly not willing to spend energy on delivering products.

Lots of tech companies have proved that you don't need to follow Google and constrain your workforce to a small list of vetted languages. Most teams who chose Haskell, OCaml, Scala, Rust... are productive and able to deliver products.

Re:I would like a job writing Haskell by captaincaveman on Wednesday February 09, 2022 @05:33AM (#30271117)
> There are technical tradeoffs everywhere. But you cannot make a caricature of FP developers, supposedly not willing to spend energy on delivering products.

That is my personal experience, a tiny data point, again where are the studies that give some actual useful guidance?

I wrote a great project using Racket, everyone should use Racket, its cool, lets blog it ... gains momentum, its new its exciting it promises change ... people start to have different experiance, bad decisions are made ... new bandwagon, lets all rush to that yay. Having been around for long enough to see this cycle, I think it's right to ask for some well thought evidence, or gathering of trade offs to help decision making.

Re:I would like a job writing Haskell by captaincaveman on Wednesday February 09, 2022 @05:27AM (#30271076)
But my point is does moving to FP, which is the direction of change, actually bring any benefits to the actual outcome?

My question is simple as that, yet as engineers we get lost in the detail of the doing and some hand wavy suggestion that it makes things better, yet where is the actual evidence for this?

Be pro FP or not, or any other programming paradigm, lets say logic based (prolog etc), where is there any measures on how it benefits outcome.

I appreciate this isn't something that can be easily measured, but that is arguably a key problem with the state of the industry, that its emotion, intuition and bandwagon driven.

Re:I would like a job writing Haskell by barrenko on Tuesday February 08, 2022 @09:08AM (#30258512)
Yup, Scala is to Haskell what F# is to Ocaml.
Re:I would like a job writing Haskell by sideeffffect on Tuesday February 08, 2022 @04:52PM (#30265295)
> Scala is to Haskell what F# is to Ocaml

That's not quite precise, IMHO.

F# is an awesome language that I hold very dear, but it is a castrated form of OCaml. It has only a few features that OCaml doesn't have. For example Type Providers or Unit of Measurement. These are nice and useful features, they're not gimmicks, but they're not fundamental.

On the other hand, Scala isn't a hollowed out Haskell. Haskell, admittedly, is a more powerful language and has features Scala doesn't, like a linear type system. And it's just different, non-strict, whereas Scala is strict. But Scala is also very powerful in other fundamental areas, where Haskell is weak. Scala has a superior module system, it's biggest strength IMO. Haskell's modularity story is that great AFAIK.

Re:I would like a job writing Haskell by 62951413 on Tuesday February 08, 2022 @03:01PM (#30263773)
I remember perusing a book on ML (the language) and having aha moments such as "so this is where the '_' naming convention comes from" and "this is where pattern matching was borrowed from". Monads (aka zio/cats) are not built-in, the "lazy" keyword is a far cry from strictly lazy evaluation. I say "Scala to Ocaml" on the JVM is equivalent to "F# to Ocaml" in the .NET world (there must be some category theory joke in this topology).
Re:I would like a job writing Haskell by sideeffffect on Tuesday February 08, 2022 @06:05PM (#30266145)
> I don't even view Scala as a functional language, as functions (methods) are not first class. Lambdas are encoded as objects with a single method. It's much more expressive than Java and so better at expressing many functional programming ideas, but it's not a functional-first language, it's an evolution of Java.

It' technically true that Scala's fundamental building block is object, not function.

But that is in my eyes more of an implementation detail. Scala is a language that blurs the distinction between FP and OOP to the point of meaninglessness. You can do FP and still organize your code into classes/objects/traits (aka modules). You can choose to do side effects. Or you can waive them and do pure FP (like in Haskell) with TypeLevel or ZIO.

> it's an evolution of Java

I would say that it's kanda the other way around. Scala is a beacon that almost all languages are converging towards, not just Java.

https://www.lihaoyi.com/post/FromFirstPrinciplesWhyScala.htm...

> complex language with many experimental and interacting features

It doesn't have that many features. Some people even call Scala simple for this reason. But the features that is has are _very_ powerful. Some maybe even too powerful for my taste (implicit conversions anyone?). And they're orthogonal so they can be composed together.

Sadly, such composition can be brittle and non-beginner friendly, especially when it fails -- things like weird type errors or weird unexpected behavior at runtime, or compiletime for that matter, etc. So Scala will give you a lot of rope to hang yourself onto, if you'll be blindly taking it.

But it doesn't have to be that way. You (or a senior developer) have to know what you're doing. Then you can reap significant benefits.

It's good news that Scala 3 significantly improves on this front -- it emphasizes programmer's intent instead of Scala's internal mechanics.

Sure, in some languages, this risk isn't even on the table (Go, etc). But having power also comes with benefits, not only the potential problems I've described above.

Re:I would like a job writing Haskell by grumpyprole on Tuesday February 08, 2022 @06:08PM (#30266170)
I'd be interested to see Scala 3, my comments/opinions apply to Scala 2 only.
Re:I would like a job writing Haskell by Quekid5 on Tuesday February 08, 2022 @05:17AM (#30256742)
Haskell's slogan was "avoid (success at all cost)", so it's hardly surprising that it's been considered niche since its inception.

It's seen adoption among at least a couple of large companies: Standard Chartered, and Facebook uses it to make a DSL for spam filtering. The key point for at least those adopters is that it has a fast turnaround time for quickly changing code and still having it be correct.

Is this objective data? No, certainly not, but it's probably better than pure speculation.

I personally speculate that it has a lot to do with what type of problem you're solving. If you're solving difficult/intricate problems language matters a great deal, but if you're just doing CRUD the language choice probably matters much less. Or if, as above, you're working in a domain where being correct the first time matters a lot.

Re:I would like a job writing Haskell by andi999 on Tuesday February 08, 2022 @06:04AM (#30257066)
I learned that supposedly the Haskell motto "avoid success at all cost" wasnt suppose to mean what people think: https://news.ycombinator.com/item?id=12056169

https://discourse.haskell.org/t/new-blog-post-haskell-doomed...

I honestly think this is/was an idiotic move; especially since the alternative reading 'avoid "success-at-all-cost"' is not thaaat much better, like (from the second link):

"An example is I/O. For literally years Haskell had no I/O to speak of; more precisely, I/O was unreasonably difficult. For practical utility that was pretty inconvenient. But we stuck to purity…"

I mean, would you want to rest your business on such an attitude? (Which is a great attitude, also gave monads, explained in the link, and advanced the language while keeping it pure). I am not saying a language/environment has to be business friendly, but if you want businesses to use it, it better be.

Re:I would like a job writing Haskell by WJW on Tuesday February 08, 2022 @07:31AM (#30257653)
> I mean, would you want to rest your business on such an attitude?

Haskell started as a research language by academics, for academics. Business concerns have not been a large concern in its language evolution. That's fine IMO, it's good to have a place where CS researchers can experiment relatively freely without having Big Corporate Stakeholders demanding absolute backwards compatibility for all time (see Python 2->3 for an example of that).

The best parts of Haskell have slowly been copied by other languages (for example: typeclasses became traits in Rust, list comprehensions are in Python, goroutines look a LOT like Haskell threads, etc), while the experiments that didn't work out as much (lazy I/O for example) just don't get copied.

"It's no good for business" just misses the point of a research language completely IMO. That said, some people want to make it more business-oriented and have been making strides towards that goal. Haskell does not really have a BDFL, so anyone can (try to) move the ecosystem in any direction they wish.

Re:I would like a job writing Haskell by andi999 on Tuesday February 08, 2022 @07:34AM (#30257674)
I agree it is good to have it as a research language; but one shouldnt expect jobs in that field then (which the op seems to do). One can hope though.
Re:I would like a job writing Haskell by pyrale on Tuesday February 08, 2022 @07:23AM (#30257599)
> I mean, would you want to rest your business on such an attitude?

From a business pov, the idea would be to assess whether you're happy with what can be done in userland rather than expect syntactic or semantic changes. I can't think of a company that started doing haskell waiting for future features to be added in the language.

Re:I would like a job writing Haskell by marcosdumay on Tuesday February 08, 2022 @10:53AM (#30259888)
Do you know of any person that made a decision based on the slogan contents? It was an obvious joke. I've seen people claiming to avoid a language that posts a joke on the front page (honestly, appeasing to those people were a sure way to add those costs the slogan is about), but never because of the message.

Anyway, removing the parenthesis makes it clear that the operations are associative. Otherwise the phrase would be wrong, and Haskell developers really dislike that kind of wrong.

Re:I would like a job writing Haskell by Quekid5 on Tuesday February 15, 2022 @08:46PM (#30355412)
I think you took the wrong message from my message.

I was saying that the Haskell people were unapologetic (and obviously tongue-in-cheek)... and that one perhaps shouldn't expect massive commercial success when the people in charge obviously weren't going for that.

Re:I would like a job writing Haskell by q-big on Tuesday February 08, 2022 @05:21AM (#30256761)
> (in an industry where successful solutions always get mimicked).

This is in my opinion not the case.

Just to give one example: WhatsApp managed to get to half a billion users with about 60 employees by using Erlang for their infrastructure.

Nevertheless, Erlang is far from being a mainstream language (even though it is used in industry).

In my opinion, in what kind of infrastructure is used/mimicked, a lot of hype is involved.

Re:I would like a job writing Haskell by omnicognate on Tuesday February 08, 2022 @05:47AM (#30256952)
That's not the industry I'm talking about. I work in finance.
Re:I would like a job writing Haskell by worldsayshi on Tuesday February 08, 2022 @07:01AM (#30257443)
Haskell has been a huge success in how it has inspired the industry. I believe there is more where that came from. I think Haskell Generics could be really powerful if it was made way more usable and intuitive.
Re:I would like a job writing Haskell by deltaonefour on Tuesday February 08, 2022 @03:15PM (#30263972)
I don't think this is a good philosophy to follow. Javascript for example was a terrible language. It's better now because they modified it and most people use typescript... but it was shit starting out and it's initially popularity had nothing to do with how well it worked.

I will say that haskell does solve many of the problems we face in software engineering today including coding ourselves into a corner. The problem is the paradigm is extremely hard and that's what hampers its success.

Re:I would like a job writing Haskell by pyrale on Tuesday February 08, 2022 @07:17AM (#30257561)
> Basically, it's 2022. People have tried it and it hasn't worked out.

It worked well enough for us when we tried it.

I guess the issue is that people and companies really have bad expectations on what "works out" means, and how different languages may need different kinds of environment/investment. If you expect to run a haskell shop the same way you run a java shop, you'll run into trouble as soon as your original team leaves. Likewise, if you run your java shop as you would run a haskell shop, expect trouble.

Re:I would like a job writing Haskell by jodrellblank on Tuesday February 08, 2022 @01:32PM (#30262428)
> "F# has been more successful"

F# was built to be successful rather than pure. The Early History of F# writeup[1] talks about Don Syme wanting to get strongly typed functional programming "delivered in such a way that it could be adopted by large numbers of programmers", and SML.NET which was being developed at the time was not looking like it would do that. He then worked with someone to port Haskell to .NET and got it running, but with input from Simon Peyton-Jones decided on a different direction. Then went towards OCaml and whether it could run on either JVM or .NET and had this exchange:

> "OCaml already shares a platform with C (at least with the native−code compiler), so all the C libraries are already available... Yet it can still be a lot of effort to link with a C library.[...] There's hard work to be done to realise this vision, but in principle a clean interop story sure beats the endless rehashing of other people's code in language X as a library in language Y. Myself and others involved in the Project 7 are working on one approach to achieve this interop, i.e. compiling languages directly to .NET MS−IL, in the style of MLj, often adding extensions to the language in order to improve the interop. We are also working on improving the .NET infrastructure, proposing support for features such as parametric polymorphism in MS−IL..."

That is, Don Syme was not focused on the most pure ideological code first, he wanted something a large number of programmers could use, and adapting the language and tooling for that goal. F# became a thing supported by Microsoft, by Visual Studio, interops with C# libraries, and C# being able to use libraries written in F#, with very low friction as they share the same runtime, garbage collector, basic type library, exception system, etc. Quoting from the PDF again:

> "As an aside, I think it would be an interesting question to say "OK, let's take it for granted that the end purpose of our language is to produce components whose interface is expressed in terms of the Java or .NET type systems, but which retains as many of the features and conceptual simplicity of OCaml and ML as possible." I'm not sure exactly what you'd end up with, but whatever it was it could be the language to take over from C\# and/or Java (if that's what you're interested in...) But without really taking Java/.NET component building seriously right from the start I feel you're always just going to end up with a bit of a hack − an interesting, usable hack perhaps, but not a really good language"

F# is a bit awkward, not perfectly pure, has to cope with .NET nulls and C# being the big force for the direction of.NET and so on. 20 years later, well who knows but in the StackOverflow survey of 2018 F# is 9th "most loved language" and OCaml is 25th.

[1] https://fsharp.org/history/hopl-final/hopl-fsharp.pdf (chapter 6, the decision to create F#, particularly)

[2] https://insights.stackoverflow.com/survey/2018/#technology

Re:I would like a job writing Haskell by tluyben2 on Tuesday February 08, 2022 @05:29AM (#30256817)
> I mean how many people here, currently working in language X, would want to hire someone that is better than they are?

I have always tried to hire better than I am (and ever will be); not to say i'm very good, but a lot of people are very bad. I hired, multiple times in my (30+ year) career people who are much better than I am at pure tech stuff like creating great code. I would love for someone to make me obsolete (I don't think looking stupid is a thing), then I can focus on other stuff. In my first company I was the founder and CTO; I replaced myself with a much better CTO who was so much better that I suddenly had literally nothing to do. So I went on to create + run our research (r&d) group which was a lot more fun than being CTO. Far too many people stay in positions they don't like for pure ego; I don't care what they call me as long as I like the work and I get paid enough, in that order.

I guess when you have a job and this happening it would be less good. Although I would see it as a sign to go do something else.

Re:I would like a job writing Haskell by jodrellblank on Tuesday February 08, 2022 @01:02PM (#30261971)
> "as long as I like the work and I get paid enough, in that order."

If you can deal with not getting paid enough, in what way is it "not enough"?

Re:I would like a job writing Haskell by dagw on Tuesday February 08, 2022 @04:26AM (#30256422)
but emotionally it would seriously piss me off

That is why choices like that should be left to project managers. As someone who is coding less and managing more these days, I have none of that ego left. If I could hire someone twice as good as me I would do so in a heart beat[1] and then go home and celebrate my great luck.

[1] Assuming they aren't an asshole etc. etc.

Re:I would like a job writing Haskell by jen20 on Tuesday February 08, 2022 @06:37AM (#30257270)
> I mean how many people here, currently working in language X, would want to hire someone that is better than they are?

Isn’t the adage “A players hire A players, B players hire C players”?