9 ms·
Hard to believe this does not mention Haskell or functional programming ... but then again that was a Pycon talk from 2003.
by greg7mdp 7y ago
Hard to believe this does not mention Haskell or functional programming ... but then again that was a Pycon talk from 2003.
- coolsunglasses 7y agoHe didn't and probably still doesn't know Haskell.
- chrisseaton 7y ago> that was a Pycon talk from 2003 Haskell's from 1990 - it's older than Python.
- 6thaccount2 7y agoYea, but Haskell didn't really become mainstream to those in the niche programming community until much later (~2012? certainly not 2003).
- Dunedan 7y agoWe had to use Haskell as part of our CS studies in university in 2006 and I believe it was already used there for some years. From my perception Haskell isn't more mainstream now than it was back then.
- bobbyi_settv 7y agoI was getting my Master's in 2003 and Haskell was very hot amongst all the professors and students who were into functional programming. I learned it because of group projects where we could pick the implementation language and that's what our group wanted. At that time, Simon Peyton Jones was employed by Microsoft and, at least as I perceived it, was allowed to work on ghc full time because of the goodwill it generated amongst programmers for Microsoft to be the patron of Haskell.
- p_l 7y agoHaskell was strongly localized, and with heavy university bias. There were users outside, but not many, and I think it was around 2003-2005 that it became more common to use (also I suspect GHC to be significant in causing that). Also, Microsoft is quite open in its support for more heterogenous programming than typical Unix environment, with significant use of "niche" programming languages in various places (including things as atypical as putting custom Prolog implementation into Windows network configuration tools, just to run a prolog program that handled said configuration)
- 6thaccount2 7y agoThat might be a niche within a niche. With the advent of Learn You a Haskell, Real World Haskell, Haskell Book...etc, I really feel it is a lot more popular now, but I don't have your experience to draw upon so maybe it is just cognitive dissonance on my part. I doubt Paul Graham was into the theoretical programming scene in that era. He might have been aware of it, but I doubt it was as production worthy as Common Lisp and thus probably not worthy of his time.
- deleted 7y ago[deleted]
- knackers 7y agoHe mentioned lisp.
- nostrademons 7y agoI went and learned Haskell because PG's "Blub Paradox" essay said that when people look up the power continuum at languages they don't understand, they merely think them "weird languages", and then he went and called Haskell a weird language in a comp.lang.lisp post.
- goto11 7y agoHe dismisses type-theory research as irrelevant because he doesn't think strong typing plays well with macros. This could probably be considered a jab at Haskell and similar languages.
- chongli 7y agoI'm slowly getting to the point where I consider macros to be an admission of defeat on the part of the language designer. They are a Pandora's box leading to impenetrable, bespoke domain-specific languages. They also don't compose the way functions do, yet they usually masquerade as functions by using the same syntax. By giving you more control over evaluation order, Haskell goes a long way toward giving you functions powerful enough to replace the macros you would've written in Lisp. That seems like the right approach to me.
- nextos 7y agoThat's a good reflection. I used to think the same. However, I am now truly convinced DSLs are the future of programming. Alan Perlis said "Beware of the Turing tar pit in which everything is possible but nothing of interest is easy". With Turing completeness, proving things (formal methods) is really hard. If you have custom DSLs with restricted and well-understood semantics, formal methods become tractable and practical. That's the opposite of the Turing tar pit Perlis warned us about. I imagine in the future we will have languages similar to Racket, which allow creating DSLs, and lots of mature tooling to prove things on code written using said DSLs.
- chongli 7y agoI suppose my comment came off as anti-DSL. That was not my intention. I am pro-DSL, I just don't think macros are the right way to build them. Functions are the universal building block of computing, why not use them?
- nextos 7y agoAs I see them. well-designed macros are just functions whose input and output is an AST of code. What is the difference then? Macros should not be abused, but having macros is a huge leap forward in terms of expressiveness.
- phkahler 7y agoAny language that forces a particular programming paradigm is IMHO never going to be all that great. Java forced OOP on people in ways it shouldn't have. Functional languages force immutability in ways they shouldn't.
- abc_lisper 7y agoNot all functional languages enforce immutability. Infact, most dont
- augusto-moura 7y agoAny language forcing concepts or not, will never be all that great. Just look at PERL and C++, in my opnion they have a much more bad language design than Java and Haskell Not be that great is in the very nature of anything that can be "quality measurable" by humans. If "quality measurable" was or will be ever a thing