Mailing List Archive
tlug.jp Mailing List tlug archive tlug Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tlug] "Go Considered Harmful"
- Date: Mon, 31 Aug 2020 19:30:11 +0900
- From: "Curt J. Sampson" <firstname.lastname@example.org>
- Subject: Re: [tlug] "Go Considered Harmful"
- References: <email@example.com> <CADR0rnf86TcHyrFsTwfPPy-NN_Ucnm4zEasNxkOSH0E_7YxbqQ@mail.gmail.com> <firstname.lastname@example.org> <CADR0rnfWogNnEtuHTmRFLTfMasjT+mXZ1LabKUd6YDOAkM+a8A@mail.gmail.com>
- User-agent: NeoMutt/20170113 (1.7.2)
On 2020-08-31 17:44 +0900 (Mon), Benjamin Kowarsch wrote: > On Mon, 31 Aug 2020 at 15:32, Curt J. Sampson <email@example.com> wrote: > > > Not off-hand. But given a choice between the two, algebraic data types are > > more useful to most programmers, I believe. > > Well, I did not pick this example, you did. I only commented on your > example. Actually, I mis-stated the example. The real parameter is either "no compression" or a compression level. So if you were using algebraic data types and had subranges, you might express this as: Compression = None | Int from (0..9) At any rate, I'm not clear what point you're trying to make related to sub-range types. > Go is certainly improving upon C, sure. But it is also a language for a > different purpose. The purpose of C is system implementation, Go is more > of a scripting language, certainly not a system implementation language. Well, it certainly doesn't look like that to me, and I suspect that most Go programmers would disagree with you as well. Go certainly feels a _lot_ more like C than like Perl or Python, much less Bourne shell. In particular, Go very much focuses on data structures as binary data in memory, as opposed to "objects" (in the Lisp sense, not the OO sense). > > My complaint is not about lack of type safety, but the lack of > > expressiveness in Go's type system that prevents you from using type safety > > in many common situations. > > I was only commenting on how you framed the example you chose. Well, now you know that you were looking at the wrong things about that example. > The Dykstra/Hoare/Wirth school is about correctness but type safety is > an important tool to achieve that goal and they promoted that, too. Sure, _as a tool_. In the same way they promoted WHILE loops as a tool. But, as should be clear from the quotes I gave, the tools were secondary to the higher-level concepts they were trying to get across. > When I mention Dykstra, Hoare and Wirth, I am absolutely not thinking of > this GOTO "controversy" at all. It is a sad thing when their school of > thought is reduced to that. Fortunately, I was not reducing them to that. I was giving an example of misinterpretation. Feel free to re-read what I posted in that light, knowing that you can substitute any number of similar cases you happen to find that have nothing to do with GOTO. > I agree, but my point was not so much about faulting Thorvalds, it was > about the fact that the people who young developers are looking up to as > role models in our time are not like the earlier generations from > McCarthy, Naur, Rutishauser to Dykstra, Hoare and Wirth who were role > models that had more sensible things to say back then. I don't think most young developers in that time were looking up to Dykstra, Hoare and Wirth, or similar folks, either. Otherwise we wouldn't have been programming in BASIC and C in the 1980s. > Of course we cannot fault them for not having successors who do not have > as much clout in the (meanwhile much larger) industry and who are not as > influential. Well, I'd say that the people filling their roles today have considerably more clout in terms of raw numbers of programmers they influence. Is the influence of the current crop of "here are much better languages and ways of programming" folks more or less as a percentage of the industry? I don't know, but I don't see any obvious evidence that it's definitively less. It's not as if most industry programmers were following Dykstra, Worth, Hoare, et al. back in the day. Regarding the rest of your message, it really comes across as "things were better in the good old days." I'm not seeing any real evidence of that, though, and I think you're probably looking at the past through rose-tinted glasses, and looking at a past heavily affected by survivorship bias. cjs -- Curt J. Sampson <firstname.lastname@example.org> +81 90 7737 2974 To iterate is human, to recurse divine. - L Peter Deutsch