Live data from Hacker News

The Rise of Worse Is Better (1991)

dreamsongs.com

111–120 of 351 posts

Re: The Rise of Worse Is Better (1991)

#111
post #106

Earlier quoted context omitted.

I think following what's written in Wikipedia ( https://en.wikipedia.org/wiki/Homoiconicity#Implementation_m... ) and only using the adjective for stuff like Lisp, Tcl, Rebol is better than diluting its meaning to the point where it applies to any language with tree-sitter bindings and a parser.

Prolog, Dylan, Julia, and R are stuff like Lisp, Tcl, and Rebol. I don't know about Erlang, and I don't know what pjmlp means by "Lisp-2", which I normally interpret as meaning a Lisp with different namespaces for functions and variables, following Steele's terminology.

> ... I don't know what pjmlp means by "Lisp-2", which I normally interpret as meaning a Lisp with different namespaces for functions and variables ...

There indeed was a language named LISP 2: https://dl.acm.org/doi/pdf/10.1145/1464291.1464362

I posted it on HN two weeks ago but it didn't get much traction: https://news.ycombinator.com/item?id=41640147

Re: The Rise of Worse Is Better (1991)

#112

I'll never understand the obsession with LISP. My guess is it just appeals to a certain type of person, sort of academic in my view. I'm not convinced that LISP was ever the-right-thing. The author didn't express anything about LISP vs C except to assert that C was a 50% solution and LISP was better. I agree though that for practical purposes, practical solutions are just going to be more successful.

It's not really about lisp or even about vague reverse-snobbish ideas of "practicality" but about very specific categories of design compromises.

Re: The Rise of Worse Is Better (1991)

#113
These look to be the interesting threads on Gabriel's worse-is-better essays:

Lisp: Good News, Bad News, How to Win Big (1990) [pdf] - https://news.ycombinator.com/item?id=30045836 - Jan 2022 (32 comments)

Worse Is Better (2001) - https://news.ycombinator.com/item?id=27916370 - July 2021 (43 comments)

Lisp: Good News, Bad News, How to Win Big (1991) - https://news.ycombinator.com/item?id=22585733 - March 2020 (21 comments)

The Rise of Worse Is Better (1991) - https://news.ycombinator.com/item?id=21405780 - Oct 2019 (37 comments)

The Rise of Worse Is Better (1991) - https://news.ycombinator.com/item?id=16716275 - March 2018 (44 comments)

Worse is Better - https://news.ycombinator.com/item?id=16339932 - Feb 2018 (1 comment)

The Rise of Worse is Better - https://news.ycombinator.com/item?id=7202728 - Feb 2014 (21 comments)

The Rise of "Worse is Better" - https://news.ycombinator.com/item?id=2725100 - July 2011 (32 comments)

Lisp: Good News, Bad News, How to Win Big [1991] - https://news.ycombinator.com/item?id=2628170 - June 2011 (2 comments)

Worse is Better - https://news.ycombinator.com/item?id=2019328 - Dec 2010 (3 comments)

Worse Is Better - https://news.ycombinator.com/item?id=1905081 - Nov 2010 (1 comment)

Worse is better - https://news.ycombinator.com/item?id=1265510 - April 2010 (3 comments)

Worse Is Better - https://news.ycombinator.com/item?id=1112379 - Feb 2010 (5 comments)

Lisp: Worse is Better, Originally published in 1991 - https://news.ycombinator.com/item?id=1110539 - Feb 2010 (1 comment)

Lisp: Good News, Bad News, How to Win Big - https://news.ycombinator.com/item?id=552497 - April 2009 (2 comments)

Re: The Rise of Worse Is Better (1991)

#114
post #113

These look to be the interesting threads on Gabriel's worse-is-better essays: Lisp: Good News, Bad News, How to Win Big (1990) [pdf] - https://news.ycombinator.com/item?id=30045836 - Jan 2022 (32 comments) Worse Is Better (2001) - https://news.ycombinator.com/item?id=27916370 - July 2021 (43 comments) Lisp: Good News, Bad News, How to Win Big (1991) - https://news.ycombinator.com/item?id=22585733 - March 2020 (21 com…

... and these are the some of the threads discussing it or aspects of it. Others welcome!

Worse Is Better - https://news.ycombinator.com/item?id=36024819 - May 2023 (1 comment)

My story on “worse is better” (2018) - https://news.ycombinator.com/item?id=31339826 - May 2022 (100 comments)

When Worse Is Better (2011) - https://news.ycombinator.com/item?id=20606065 - Aug 2019 (13 comments)

EINTR and PC Loser-Ing: The “Worse Is Better” Case Study (2011) - https://news.ycombinator.com/item?id=20218924 - June 2019 (72 comments)

Worse is worse - https://news.ycombinator.com/item?id=17491066 - July 2018 (1 comment)

“Worse is Better” philosophy - https://news.ycombinator.com/item?id=17307940 - June 2018 (1 comment)

What “Worse is Better vs. The Right Thing” is really about (2012) - https://news.ycombinator.com/item?id=11097710 - Feb 2016 (35 comments)

The problematic culture of “Worse is Better” - https://news.ycombinator.com/item?id=8449680 - Oct 2014 (116 comments)

"Worse is Better" in the Google Play Store - https://news.ycombinator.com/item?id=6922127 - Dec 2013 (10 comments)

What “Worse is Better vs The Right Thing” is really about - https://news.ycombinator.com/item?id=4372301 - Aug 2012 (46 comments)

Worse is worse - https://news.ycombinator.com/item?id=437966 - Jan 2009 (3 comments)

Re: The Rise of Worse Is Better (1991)

#115
post #78
post #49

Earlier quoted context omitted.

Oh, there's an entirely different feature-length article to be written/found about how packet switching beat circuit switching and the "Internet approach" beat the telco approach. The great innovation of being able to deploy devices at the edges without needing clearance from the center. I don't think very many people even remember X25. The one survivor from all the X standards seems to be X509?

The OSI stack was also designed using the packet-switching approach. Rob Graham's "OSI Deprogrammer" is a book -length article about how TCP/IP beat OSI, and how the OSI model is entirely worthless: https://docs.google.com/document/d/1iL0fYmMmariFoSvLd9U5nPVH... I'm not sure he's right, but I do think his point of view is important to understand.

OSI was was two network stacks fighting with each other, the circuit-switched telco X.25 successor and the packet-switched DEC / Xerox anti-Internet.

See also https://computer.rip/2021-03-27-the-actual-osi-model.html and https://dotat.at/@/2024-03-26-iso-osi-usw.html

Re: The Rise of Worse Is Better (1991)

#116

Isn't "Worse is better" just a restatement of "Perfect is the enemy of Good", only slanted to make better\Perfect sound more enticing? >The right thing takes forever to design, but it is quite small at every point along the way. To implement it to run fast is either impossible or beyond the capabilities of most implementors. A deer is only 80% of a unicorn, but waiting for unicorns to exist is folly.

[deleted]

Re: The Rise of Worse Is Better (1991)

#117
post #106

Earlier quoted context omitted.

I think following what's written in Wikipedia ( https://en.wikipedia.org/wiki/Homoiconicity#Implementation_m... ) and only using the adjective for stuff like Lisp, Tcl, Rebol is better than diluting its meaning to the point where it applies to any language with tree-sitter bindings and a parser.

Prolog, Dylan, Julia, and R are stuff like Lisp, Tcl, and Rebol. I don't know about Erlang, and I don't know what pjmlp means by "Lisp-2", which I normally interpret as meaning a Lisp with different namespaces for functions and variables, following Steele's terminology.

[deleted]

Re: The Rise of Worse Is Better (1991)

#118
post #108
post #90

Earlier quoted context omitted.

VMS also supported Pascal and BASIC dialects for systems programming, in equal footing to BLISS. People choose free beer, it always goes even if warm.

VAX Pascal is viable for systems programming (though standard Pascal wasn't). I only ever used VAX BASIC a tiny bit; was it interpreted like microcomputer BASICs? That made BASIC a nonstarter for "serious software" in the 80s. Not having records, local variables, or subroutine parameters was also a pretty big problem, but maybe VAX BASIC fixed that. I wasn't paying for access to VMS either; it just didn't hold a cand…

No one really uses standard C for systems programming, yet that always applies to other languages.

There is always Assembly, compiler extensions, or OS specific APIs, as part of the deliverable.

Funny how UNIX folks always have these two weights approach.

I beg to differ in wax quality for candles, but if we get to do juice with bitter lemons, so be it.

At least is refreshing during Summer.

Re: The Rise of Worse Is Better (1991)

#119
post #49

I remember when I had a lesson about OSI layers, where the teacher has carefully described all the layers in detail and then said something like "most of this is not important, these layers don't really exist, TCP/IP got popular first because it's just much simpler than OSI was"

Oh, there's an entirely different feature-length article to be written/found about how packet switching beat circuit switching and the "Internet approach" beat the telco approach. The great innovation of being able to deploy devices at the edges without needing clearance from the center. I don't think very many people even remember X25. The one survivor from all the X standards seems to be X509?

LDAP is “lightweight” compared to the X.500 directory access protocol. LDAP DNs are basically the same as X.500 DNs.

SNMP is “simple” compared to X.711 CMIP. But SNMP also uses ASN.1 and X.660 OIDs.

Re: The Rise of Worse Is Better (1991)

#120
post #106

Earlier quoted context omitted.

I think following what's written in Wikipedia ( https://en.wikipedia.org/wiki/Homoiconicity#Implementation_m... ) and only using the adjective for stuff like Lisp, Tcl, Rebol is better than diluting its meaning to the point where it applies to any language with tree-sitter bindings and a parser.

Prolog, Dylan, Julia, and R are stuff like Lisp, Tcl, and Rebol. I don't know about Erlang, and I don't know what pjmlp means by "Lisp-2", which I normally interpret as meaning a Lisp with different namespaces for functions and variables, following Steele's terminology.

Looking at https://docs.julialang.org/en/v1/manual/metaprogramming/, I have a hard time considering it "fully" homoiconic, as the parsed data structure Expr(:call, :+, :a, Expr(:call, :*, :b, :c), 1) isn't the same representation as the code itself, even having some new elements like :call.

How it this different from tree-sitter, except that you can feed the modified code back to the language to evaluate?

I mean, don't get me wrong, Julia metaprogramming seems lovely, but it just seems to me that the word loses meaning if it can applied to all languages with AST macros, no matter how gnarly the AST data structure is (is Rust homoiconic because of proc_macro?).

Post reply on HN