00:00:00 --- log: started forth/06.03.21 00:15:15 JasonWoof, ah, cool, thanks :) 01:01:47 --- join: asymptote (n=weldon@pool-68-239-72-78.res.east.verizon.net) joined #forth 01:10:05 --- quit: neceve (Read error: 110 (Connection timed out)) 01:59:15 no problem 01:59:25 * JasonWoof pretends he's sleeping 02:10:05 --- quit: JasonWoof ("off to bed") 02:13:46 --- quit: asymptote ("Leaving") 03:08:09 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 03:34:40 --- join: rehges (n=segher@blueice3n1.de.ibm.com) joined #forth 04:49:09 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 04:50:53 --- join: Cheery (i=Henri@a81-197-45-47.elisa-laajakaista.fi) joined #forth 04:59:46 --- join: amca (n=plump@as-bri-2-24.ozonline.com.au) joined #forth 05:00:28 --- join: PoppaVic (n=pete@0-1pool47-44.nas30.chicago4.il.us.da.qwest.net) joined #forth 05:09:12 * amca is away: preoccupied 05:09:16 * amca is back (gone 00:00:01) 05:13:18 :) 05:58:13 --- join: apgo_ (n=apgo@34.79.79.83.cust.bluewin.ch) joined #forth 06:14:15 --- quit: apgo (Read error: 110 (Connection timed out)) 06:26:51 --- quit: warpzero (Read error: 104 (Connection reset by peer)) 06:27:29 --- join: warpzero (n=warpzero@wza.us) joined #forth 06:42:26 --- quit: tathi ("leaving") 06:55:18 --- quit: amca ("d34d") 07:01:31 hmm 07:02:31 Speak to me, guys.. Tell me where we differ on vtables, wordlists, funcptr-arrays and associative-lists. 07:03:31 I'm beginning to think it's a combo of key, value, and linkage. 07:26:28 --- quit: PoppaVic ("Pulls the pin...") 07:28:27 --- join: PoppaVic (n=pete@0-2pool236-228.nas22.chicago4.il.us.da.qwest.net) joined #forth 07:54:00 hmmmpf.. "millicode" 08:12:03 --- quit: rehges (Read error: 104 (Connection reset by peer)) 08:19:35 --- join: rehges (n=segher@blueice2n1.de.ibm.com) joined #forth 08:41:10 --- join: Teratogen (i=leontopo@intertwingled.net) joined #forth 08:45:35 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 08:45:54 hi 08:46:23 --- join: StelK (i=lopopop@host-84-222-153-78.cust-adsl.tiscali.it) joined #forth 08:47:09 hi, virl 08:49:48 --- quit: StelK (Nick collision from services.) 09:12:12 --- quit: PoppaVic ("Pulls the pin...") 10:19:20 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 11:17:34 --- join: JasonWoof (n=jason@pdpc/supporter/student/Herkamire) joined #forth 11:17:34 --- mode: ChanServ set +o JasonWoof 11:27:45 hi JasonWoof 11:28:01 what do you think about todays simula OOP model? 11:32:09 "todays simula OOP model"? 11:32:34 --- quit: rehges () 11:32:58 can you explain what you mean by that? 11:38:52 well, C++ has the OOP model of simula and Java is a 'cleaner' version of C++ and C# is another version of Java, so simulas object model was bequeathed 11:40:12 oh 11:41:01 I think OOP can be a very useful mindset sometimes 11:41:12 but that it is mostly used where it is not the most useful pradigm 11:41:30 mostly I think it is used because it is there, or because the programmers only know how to think that way 11:42:07 I don't know much about "good" OOP. 11:42:13 yes, that's true. that's my main critic of OOP 11:42:16 I've only really been exposed to the simula model 11:42:34 which AFAICT everybody who knows what they're talking about thinks is utter crap. 11:42:59 I'm really interested if there is another way of thinking OOP without thinking in the simula way 11:43:57 what I don't like is when someone wants to make something (say an irc client) and the first thing they do is start dreaming up thousands of classes 11:44:32 instead of thinking about overall design 11:44:39 and how to interact with the user 11:44:44 and where the data comes from and goes 11:44:57 and then what exactly is done with the data 11:45:03 and from that decide how the data should be stored 11:45:16 and classes can be only useful when there is some sharing happening. for example writing a class only for one usage in the program is stupid. 11:45:39 I feel like the the C++ object is a very specific way of getting some strong abstraction 11:45:50 and abstraction is absolutely essential when you need it 11:46:11 but abstracting something that does not need to be abstracted is a huge mistake 11:46:19 yes, but also forth abstraction is a strong abstraction I think 11:46:46 abstraction isn't quite the word I want here 11:46:52 inderection perhaps 11:47:59 I mean where the source says one thing in one place and depending on xxx it does this or that 11:48:11 depending on which object, or what your forth word is defered to etc 11:49:51 --- join: Lars_G (n=lars@unaffiliated/lars-g/x-000001) joined #forth 11:52:28 well, I hate it that I'm not a native speaker, fuck when I would understand that elaboration. 11:53:17 virl: you know what I mean by "indirection"? 11:54:18 ehm, no. 11:54:51 it means instead of accessing something directly 11:54:56 (variable, function, etc) 11:55:17 you access it indirectly? 11:55:36 generally, OOP is where instead of think about data in terms of what operations it supports, rather than its concrete implementation 11:55:36 so not direct? 11:55:37 you still access it by name, but the result (which memory address you get the value from or what actual function gets called) can be different 11:55:45 s/instead of/you/ 11:56:14 so the same piece of code can operate on two objects which support the same operations, even if the objects are implemented differently 11:56:27 for example, console i/o and file i/o can both be viewed as stream objects with certain operations 11:56:29 direct example: variable foo 11:57:32 indirect example: variable foo1 variable foo2 variable whichfoo : foo->1 foo1 whichfoo ! ; : foo->2 foo2 whichfoo ! ; : foo whichfoo @ ; 11:57:48 JasonWoof: would you agree with my definition of OOP? 11:59:11 slava: yeah, I think so 12:24:31 iirc, another definition of OOP was packing data and code together 12:25:37 in fact that's almost the same as mine -- you consider data and the operations it supports as one thing 12:28:29 but how it's implemented is important, in fact there is the need of coexistence of 'normal' programming with object oriented programming. 12:29:17 practically it's unpracticable that everything is comb over OOP 12:30:14 normal being procedural, or...? 12:30:42 a big failing of many OOP languages is that they don't consider a piece of code itself to be an object 12:31:01 so you end up writing classes with no instance vars and just one method, to be able to simulate a closure 12:31:55 --- part: Lars_G left #forth 12:32:06 now I'm getting a headache 12:33:46 I think grouping data and functions is not really OOP unless you can also access those functions without knowing the data type 12:35:27 now you are speaking of something what I named interrupts, because of the same behavior 12:40:59 --- join: Lars_G (n=lars@unaffiliated/lars-g/x-000001) joined #forth 12:47:28 --- part: Lars_G left #forth 12:49:57 missed that conversation 12:50:15 I just mean how you can say foo.display 12:50:20 without knowing exactly what type foo is 12:57:40 you missed that conversation? 12:58:33 well, you need to know which type foo is, if not you couldn't do that 12:59:12 you can't do foo.foo 12:59:57 it only gives you a hierarchically structure of type and operation. 13:00:48 like you can't rotate a door, when it only supports open and closing. 13:01:31 so you have the type 'door' and when you don't know it, you can't work with it. 13:01:48 --- join: Lars_G (n=lars@unaffiliated/lars-g/x-000001) joined #forth 13:02:21 for that there are features like intellisense which try to solve this new layer of learning. 13:07:19 --- part: Lars_G left #forth 13:08:33 from that point it's like building new layers of theoretically 'if ... then' constructs, for example if it's a door then it has the methods open and close. but when it's a plant then it has the method pouring, so quite complex. 13:10:40 --- join: Lars_G (n=lars@unaffiliated/lars-g/x-000001) joined #forth 13:26:30 --- quit: Cheery ("Leaving") 13:33:52 --- quit: neceve ("Bye people, I'm leaving") 13:40:55 --- join: warp0x00 (n=warpzero@wza.us) joined #forth 13:43:10 --- quit: warpzero (Read error: 104 (Connection reset by peer)) 13:43:10 --- quit: warp0x00 (Remote closed the connection) 13:44:46 --- join: warpzero (n=warpzero@wza.us) joined #forth 14:44:58 --- part: Lars_G left #forth 15:09:34 --- quit: uiuiuiu (Remote closed the connection) 15:09:38 --- join: uiuiuiu (i=ian@dslb-084-056-224-207.pools.arcor-ip.net) joined #forth 15:47:33 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-160-230.pools.arcor-ip.net) joined #forth 15:55:17 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 15:55:41 --- nick: snoopy_1711 -> Snoopy42 16:05:42 --- quit: tathi ("leaving") 17:19:15 --- quit: uiuiuiu (Read error: 110 (Connection timed out)) 17:25:58 --- join: uiuiuiu (i=ian@dslb-084-056-231-003.pools.arcor-ip.net) joined #forth 19:58:59 --- quit: virl ("Verlassend") 20:20:11 --- join: LOOP-HOG (n=chatzill@sub22-119.member.dsl-only.net) joined #forth 20:40:34 --- quit: LOOP-HOG ("ChatZilla 0.9.61 [Mozilla rv:1.7.5/20041217]") 21:08:23 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #forth 23:56:49 --- join: Brie (i=bre@ringbreak.dnd.utwente.nl) joined #forth 23:59:43 good morning :) 23:59:59 --- log: ended forth/06.03.21