Confessions of a Used Programming Language Salesman (2007)
dl.acm.org
dl.acm.org
EDIT: Guess I was thinking of this: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3...
> we have shown that lazy languages, even when implemented using a framework well-suited for parallelism, can generate only small amount of parallelism. [..] this result, when combined with the result concerning the low parallelism for really lazy programs, can also be interpreted as saying that there is not much hope for lazy languages as far as parallelism is concerned: in effect, they are saying that we can hope to obtain parallelism from programs written in a lazy language only when the programs do not need to be written in a lazy language!
That's a really old paper though (1995), if there are more recent relevant studies or results, I'd be interested..
True but irrelevant (particularly given that idiomatic Haskell involves a lot of constructions that would take infinite time under strict evaluation). If x < a, y < b, z < c and a + b = c, that doesn't give you any useful relationship between x, y and z.
take 10 (map (+1) [1..])There's a very real difference between what a simplified model of time complexity says should happen, and what actually happens when the layer of abstraction underlying the ivory tower start to spring a leak.
Ah, the period where it was attempted to integrate XML as first-class type/literal into programming languages. I guess the conclusion can only be that what SGML/XML is designed to represent (namely, semistructured text documents with regular content models) was fundamentally misunderstood by folks wanting to represent (relatively benign) business records-like structures for service-oriented apps. The complexity results for statically type-checking programming languages having XML as literals were disappointing, and the whole thing got out of fashion. Then, shortly after Mozilla dropped E4X (XML literals in JavaScript), JSX and React happened. I honestly don't know what conclusion should be drawn here :)
"We use cookies to ensure that we give you the best experience on our website. It seems your browser doesn't support them and this affects the site functionality."
Yes indeed, no cookies = no article, displaying text apparently being 'functionality'.
Anwyay, going from your quoted extract, I agree XML schemas are one of the most revoltingly complex and awful things I've ever seen, and badly at that, but to claim DTDs as being "a perfectly fine solution" is just ridiculous. DTDs give an overall structure, not any kind of typing that XSDs give. DTDs are a crude start, not an endpoint.
Lord how I got to hate XSDs and XSLT. XML by itself is fine (in the right place) and I like it but it seemed to become the core of a everyone-lost-your-sanity frenzy. It was mad, very wasteful and I'm glad it's all over.
Edit: only XSLT could be so godawful as to require a new mechanism to pass parameters. https://www.xml.com/pub/a/2004/03/24/tr.html
Haskell will always remain niche since it is not coupled to a successful platform. But compared to the thousands of other "second tier" languages it is doing pretty well.
I think, then, that FP is great for certain kinds of problems, and not so good for others. If you've got an FP problem, reach for an FP language. If you don't, don't.
What's an FP problem? Someone here (I wish I remembered who, I'd give credit where due) said "if you can think of your program as a pipe", then FP is appropriate. If the nature of your problem has a lot of state, FP probably isn't the answer. (Note well: problems themselves can have a lot of state. It isn't always just the implementation - the problem itself may demand it.)
What about numpy (+ its ecosystem, scipy/pandas/etc)? I get the impression that's contributed a lot to Python's growth over the years.
as i typed that i thought: python is the excel of programming languages.
it also has very solid web frameworks (Django, Flask, etc.).
You may not switch the world into your favorite language, but if it is really much better, the world will somehow put the advantages into some other language and that other language will win.
The world is currently working very hard into making Frankenstein monsters out of parts taken from Haskell. At some point one of them will get things right.
Perhaps, but they will almost invariably be working for them.