Rendered at 09:07:14 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
jmaker 9 minutes ago [-]
I still love Haskell, had dedicated several years to it while at the university. Was impossible to land a job with Haskell. Did some Scala but it’s in demise. F# and OCaml are extremely niche. Ever fewer opportunities and engineering management is convinced it’s impossible to hire functional programmers.
In this new AI-driven world, is there still place for such a luxury as functional programming?
I mean few people still code by hand, few read the generated code, models aren’t trained on functional languages, it’s inefficient token wise to use functional languages - while a lot become self-proclaimed software engineers overnight by just prompting LLMs.
internet_points 2 minutes ago [-]
there are a lot of strong claims here, but to just pick one:
> inefficient token wise to use functional languages
where does that idea come from?
mugul 2 hours ago [-]
Looks like a pretty cool community building great tools with care. Using a functional language for data transforms sounds like a sane idea, haven't played around with it yet but it's definitely on my list now.
However they claim using Haskell for data science is "fast", which doesn't really mean anything until you have numbers to show. A little benchmark with pandas and polars wouldn't hurt I guess.
That's not what I see reported, they say Haskell tends to have bad memory layout generally and takes a 5x or so hit to performance.
shakna 2 hours ago [-]
Depends what you're doing, but it really can have C-comparable speed. [0]
Unoptimised/naive Haskell might be that slow. But that's true of a lot of languages and isn't particularly interesting to me. Java is slow if you do everything the naive way, too.
Java ain't slow even if you do really stupid stuff. Hell, I would even argue that java is the most resistant to stupid code. Some way over-abstracted everything linked data structure will be faster in java than it is in C.
shakna 34 minutes ago [-]
Haskell's most badly optimised type, is the String.
Java's most badly optimised type, is the String.
Both of them need a string-builder pattern, the default operators don't work around things to do the right thing for you. They expect you to understand how data works.
Quothling 5 hours ago [-]
I'd personally rather see Haskell become part of the options for https://arrow.apache.org/, but this is still a cool project.
pandinus 7 hours ago [-]
[flagged]
kccqzy 6 hours ago [-]
Funny how you mention it is a functional programming torture course, but the Parquet writer introduced in this article is written in a highly imperative style. I have not seen this much IORefs and MutableByteArrays in recent memory.
okasaki 3 hours ago [-]
That's just what you have to do to get any kind of performance in Haskell because functional programming is pointless.
internet_points 6 minutes ago [-]
not the okasaki of Purely Functional Data Structures fame I guess?
In this new AI-driven world, is there still place for such a luxury as functional programming?
I mean few people still code by hand, few read the generated code, models aren’t trained on functional languages, it’s inefficient token wise to use functional languages - while a lot become self-proclaimed software engineers overnight by just prompting LLMs.
> inefficient token wise to use functional languages
where does that idea come from?
However they claim using Haskell for data science is "fast", which doesn't really mean anything until you have numbers to show. A little benchmark with pandas and polars wouldn't hurt I guess.
Unoptimised/naive Haskell might be that slow. But that's true of a lot of languages and isn't particularly interesting to me. Java is slow if you do everything the naive way, too.
[0] https://entropicthoughts.com/on-competing-with-c-using-haske...
Java's most badly optimised type, is the String.
Both of them need a string-builder pattern, the default operators don't work around things to do the right thing for you. They expect you to understand how data works.
Should be mandatory