Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Luc Newsgroups: comp.lang.tcl Subject: My hang-up about OOP (snit) Date: Tue, 25 Jun 2024 18:09:28 -0300 Organization: A noiseless patient Spider Lines: 27 Message-ID: <20240625180928.43fcc5c1@lud1.home> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Tue, 25 Jun 2024 23:09:29 +0200 (CEST) Injection-Info: dont-email.me; posting-host="91916e09b13d8e03225c6dec34468415"; logging-data="1828133"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+sa1gi/AuQqQxCn+wE4JkVB0lp5wKNUwk=" Cancel-Lock: sha1:8O4rAUBQcsaGvlXKFEddUBUJh4k= Bytes: 1369 It's hard for me to accept OOP because as hard as I try I really can't not think that OOP is the Emperor's new clothes. Example from snit: snit::type dog { method {tail wag} {} {return "Wag, wag"} method {tail droop} {} {return "Droop, droop"} } dog spot puts [spot tail wag] puts [spot tail droop] Why exactly is that any better than this: proc dog {args} { if {$args == "tail wag"} {return "Wag, wag"} if {$args == "tail droop"} {return "Droop, droop"} } puts [dog tail wag] puts [dog tail droop] -- Luc >>