--- Log opened Mon Mar 09 00:00:31 2015 |
00:20 | | AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has quit [Ping timeout: 121 seconds] |
00:47 | | Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has quit [Ping timeout: 121 seconds] |
01:43 | | Xires is now known as ^Xires |
01:45 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
01:45 | | mode/#code [+o Checkmate] by ChanServ |
01:51 | | Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
01:51 | | mode/#code [+o Red_Queen] by ChanServ |
01:53 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
03:17 | | macdjord|Dance is now known as macdjord |
03:29 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
03:41 | | Derakon is now known as Derakon[AFK] |
03:53 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [[NS] Quit: Quit] |
05:36 | | Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
05:49 | | Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has quit [Ping timeout: 121 seconds] |
06:07 | | Alek [omegaboot@Nightstar-03ja8q.il.comcast.net] has joined #code |
06:07 | | mode/#code [+o Alek] by ChanServ |
07:07 | | Turaiel is now known as Turaiel[Offline] |
07:12 | | celticminstrel [celticminst@Nightstar-gmujup.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
07:50 | | Kindamoody[zZz] is now known as Kindamoody |
07:53 | | AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has joined #code |
08:32 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [[NS] Quit: Tekeli-li! Tekeli-li!] |
--- Log closed Mon Mar 09 08:39:40 2015 |
--- Log opened Mon Mar 09 08:39:45 2015 |
08:39 | | TheWatcher [chris@Nightstar-ksqup0.co.uk] has joined #code |
08:39 | | Irssi: #code: Total of 38 nicks [15 ops, 0 halfops, 0 voices, 23 normal] |
08:39 | | mode/#code [+o TheWatcher] by ChanServ |
08:40 | | Irssi: Join to #code was synced in 33 secs |
08:45 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has joined #code |
08:45 | | mode/#code [+o macdjord] by ChanServ |
08:54 | | AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has quit [Ping timeout: 121 seconds] |
09:17 | | Kindamoody is now known as Kindamoody|afk |
09:25 | < abudhabi> | Java. Can I make a copy of an array with just: String foo[] |
09:25 | < abudhabi> | String foo[] = bar; |
09:25 | < abudhabi> | ? |
09:28 | <&McMartin> | No. That's an alias. |
09:28 | <&McMartin> | (arrays are objects) |
09:30 | < abudhabi> | Oh. (Actually, nevermind. I found a better way to do what I wanted.) |
09:47 | < Tarinaky_> | iirc Java has .clone() on most objects |
09:49 | <&McMartin> | There's an arrayCopy method either in Arrays or System, too. |
11:53 | | abudhabi [abudhabi@Nightstar-7nkq9k.de] has quit [Ping timeout: 121 seconds] |
11:53 | | abudhabi [abudhabi@Nightstar-7nkq9k.de] has joined #code |
11:53 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
11:53 | | mode/#code [+o Checkmate] by ChanServ |
11:55 | | Orthia [orthianz@Nightstar-j73.cvj.184.203.IP] has quit [Ping timeout: 121 seconds] |
11:59 | | Orthia [orthianz@Nightstar-424.h9n.160.203.IP] has joined #code |
12:00 | | mode/#code [+o Orthia] by ChanServ |
12:17 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
12:53 | < Tarinaky_> | Eugh, no good threads on reddit's /r/programming today. |
12:54 | < Tarinaky_> | Just crazy people geing insane with OO. |
12:54 | < Tarinaky_> | *being |
12:55 | < Tarinaky_> | One article saying getters/setters were evil... And then went to describe a solution where they'd just renamed the getter/setter give and take. |
12:55 | | Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has joined #code |
12:55 | | mode/#code [+o Checkmate] by ChanServ |
12:55 | < [R]> | asdfan;fda |
12:55 | < Tarinaky_> | Thus removing any ability for a new programmer to grok the code without the manual. |
12:56 | < [R]> | Yeah, that's dumb. |
12:56 | < [R]> | Most get/set setups are moronic though |
12:56 | < Tarinaky_> | They made a valid point about extra mutability being introduced by the Builder pattern... |
12:56 | < Tarinaky_> | But frankly the alternative they proposed is to have an insane constructor where you have to memorise a ton of positionals. |
13:01 | <@Shiz> | what you want is a language with properties |
13:01 | <@Shiz> | :) |
13:04 | < Tarinaky_> | Properties? |
13:07 | < Tarinaky_> | There was also another complaining that matrix multiplication is tech and how the author finds C = A * B in code obtuse and how everything would be better if C = A * B was just unrolled into a giant for-loop. |
13:07 | < RchrdB> | Tarinaky_: "memorize a ton of positionals" isn't so bad if you work in a lang with proper keyword args and defaulting. |
13:08 | < Tarinaky_> | RchrdB: Keyword args aren't positionals. |
13:08 | < RchrdB> | It's also not *so* bad if, uh, you lean on a static type system a bit, and have an IDE that does that, and every single parameter has a distinct type. |
13:08 | < Tarinaky_> | And yes, passing in an initialiser map of key-value pairs is a good alternative to the builder pattern... Assuming your language supports this in a sensible way. |
13:09 | < Tarinaky_> | I wouldn't want to do this in C++. |
13:09 | < RchrdB> | Yeah. I assume they were proposing something for Java specifically, since that's the biggest source of not-supporting-trivial-features-like-kwargs in common use these days? |
13:10 | < Tarinaky_> | RchrdB: I am disinclined to rely on an IDE feature to make the code useable because then you're beholden to your IDE vendor. |
13:11 | < RchrdB> | Eh. Showing the types of all foo()'s positional parameters in a tiny hovering pop-up near the cursor whenever I have my cursor anywhere near the string "foo(" isn't, uh, something I'm going to be beholden to any *one* IDE vendor for. |
13:11 | < RchrdB> | I should really find out how to get Emacs to do that. |
13:11 | < Tarinaky_> | The builder pattern with a massive @notice letters 10ft high that says not to use these setters for anything other than a poor man's kwargs is acceptable to me. |
13:12 | <@TheWatcher> | RchrdB: eldoc-mode? |
13:12 | < Tarinaky_> | I mean, it's a hack... but at least it's a conventional hack. |
13:12 | < RchrdB> | Does the Builder pattern usually imply a .finalize() method? |
13:13 | < Tarinaky_> | Not usually. |
13:13 | < Tarinaky_> | I think some languages take finalize to mean destructor. |
13:14 | < RchrdB> | like, foofactory.name("bob").friend("alice").friend("charlie").likes("salmon").create( ) instead of ânew Foo(name="bob", friends=["alice", "charlie"], likes=["salmon"])â |
13:15 | < RchrdB> | shitty substitute but hey Ma, no accidentally-mutable objects. |
13:15 | < Tarinaky_> | Confession: I never got my head around Factories. |
13:16 | < RchrdB> | They're a long-winded name for "use this function or object as if it were a constructor". |
13:16 | < Tarinaky_> | I... think I can implement them... Or at least solve whatever problem it is that they're supposed to solve. |
13:16 | < Tarinaky_> | I just don't understand what a factory is in any rigorous sense. |
13:17 | < RchrdB> | The entire pattern is "instead of writing ânew Foo()â, get a FooFactory (from somewhere) and call foo_factory.newFoo()" |
13:17 | < RchrdB> | If you write Python, the 'factory' pattern is trivial, and type objects are factories. |
13:17 | < Tarinaky_> | Yeah. |
13:19 | <@Shiz> | Tarinaky_: properties are transparent getters/setters |
13:19 | <@Shiz> | e.g. in python |
13:19 | <@Shiz> | class A: |
13:19 | <@Shiz> | @property |
13:19 | <@Shiz> | def b(self): return 42 |
13:20 | <@Shiz> | @b.setter |
13:20 | <@Shiz> | def b(self, val): if val != 42: raise ValueError('no') |
13:20 | <@Shiz> | and instations can just do a.b and a.b = 42 |
13:20 | <@Shiz> | etc |
13:23 | < Tarinaky_> | Oh, right. |
14:29 | | ^Xires is now known as Xires |
16:22 | | RchrdB [RichardB@Nightstar-v5j366.understood.systems] has quit [[NS] Quit: brb] |
16:22 | | RchrdB [RichardB@Nightstar-v5j366.understood.systems] has joined #code |
17:36 | <@iospace> | I love the compare tool in NP++ |
17:37 | <@Alek> | o/ |
17:38 | <@Shiz> | diff? |
17:42 | <@Alek> | something like that, I think. |
17:48 | <&ToxicFrog> | I've gotten really happy with Meld lately. |
18:19 | | Turaiel[Offline] is now known as Turaiel |
18:38 | | celticminstrel [celticminst@Nightstar-gmujup.dsl.bell.ca] has joined #code |
18:38 | | mode/#code [+o celticminstrel] by ChanServ |
19:08 | | * gnolam slow claps http://i.imgur.com/xOz2jQR.jpg |
19:08 | <@gnolam> | Yes, Google. Please go into a restaurant and ask for an arrangement of data in rows and columns for two and see what happens. |
19:09 | <&ToxicFrog> | Heee |
19:29 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code |
19:29 | | mode/#code [+o Vash] by ChanServ |
20:24 | | Kindamoody|afk is now known as Kindamoody |
20:38 | <@froztbyte> | gnolam: what's the correct form? |
20:39 | <@froztbyte> | closer to germanic or something? |
20:39 | <@froztbyte> | "tafel" is afrikaans, and I've noticed a lot of that kind of thing in swedish |
20:40 | <@gnolam> | "bord" |
20:41 | <@froztbyte> | curious |
20:41 | <@froztbyte> | that's "plate" or "board" |
20:41 | <@froztbyte> | :D |
20:41 | <@froztbyte> | I love the little differences in these things |
20:42 | <@gnolam> | "Taffel" does exist as a word, and did mean table once upon a time, but the surviving uses wouldn't get you a table at a restaurant. |
21:33 | | RchrdB [RichardB@Nightstar-v5j366.understood.systems] has quit [[NS] Quit: WeeChat 1.0.1] |
21:34 | | RchrdB [RichardB@Nightstar-v5j366.understood.systems] has joined #code |
21:55 | | Kindamoody is now known as Kindamoody[zZz] |
22:06 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
22:06 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:13 | <&McMartin> | Ah, IOCCC entries. https://www.youtube.com/watch?v=QMYfkOtYYlg |
22:16 | <~Vornicus> | ....what the shit that's amazeballs |
22:27 | <@TheWatcher> | Aahah |
22:27 | <@TheWatcher> | That's pretty awesome |
22:29 | <&jeroud> | It is indeed. |
22:36 | | * TheWatcher eyes the initial code, tries to work it out |
22:45 | <&McMartin> | Notice that it apparently requires some constants to be defined by the compiler command line |
23:25 | | thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code |
23:25 | | mode/#code [+o thalass] by ChanServ |
23:49 | | Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has quit [Ping timeout: 121 seconds] |
23:51 | | thalass is now known as Thalass|afk |
--- Log closed Tue Mar 10 00:00:47 2015 |