code logs -> 2016 -> Tue, 31 May 2016< code.20160530.log - code.20160601.log >
--- Log opened Tue May 31 00:00:21 2016
--- Day changed Tue May 31 2016
00:00 catadroid` is now known as catadroid
00:55 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed]
00:58 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
00:58 mode/#code [+ao VirusJTG VirusJTG] by ChanServ
01:02 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed]
01:04 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
01:04 mode/#code [+ao VirusJTG VirusJTG] by ChanServ
01:06 gnolam_ [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code
01:08 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [Ping timeout: 121 seconds]
01:30
<&McMartin>
On the plus side, I actually have things worth saying about inheritance now
01:31
<~Vornicus>
hooray
01:48
<@Reiv>
hooray?
03:17
<~Vornicus>
hooray, mcm making progress with things to say in his blog posts, which are always fun
03:48 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
04:25
<@Reiv>
ah!
04:56 Derakon is now known as Derakon[AFK]
05:14 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code
05:14 mode/#code [+o gnolam] by ChanServ
05:14 gnolam_ [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [Ping timeout: 121 seconds]
05:28 celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:01
<&McMartin>
Okay. I think I have an outline.
06:01
<&McMartin>
https://hkn.eecs.berkeley.edu/~mcmartin/retro/polymorph_0.html
06:02 Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds]
06:26 catadroid` [catadroid@Nightstar-nh29h8.dab.02.net] has joined #code
06:26 Kindamoody[zZz] is now known as Kindamoody
06:28 catadroid [catadroid@Nightstar-81pmmg.dab.02.net] has quit [Ping timeout: 121 seconds]
06:55 Reiv [NSwebIRC@Nightstar-m7rd21.xtra.co.nz] has joined #code
06:55 mode/#code [+o Reiv] by ChanServ
06:55 Kindamoody is now known as Kindamoody|afk
07:10 Reiv [NSwebIRC@Nightstar-m7rd21.xtra.co.nz] has quit [Ping timeout: 121 seconds]
07:16 ErikMesoy [Erik@Nightstar-hq72t5.customer.cdi.no] has joined #code
07:16 mode/#code [+o ErikMesoy] by ChanServ
07:33 catadroid` [catadroid@Nightstar-nh29h8.dab.02.net] has quit [[NS] Quit: Bye]
07:44 Reiv [NSwebIRC@Nightstar-3a4.on2.251.116.IP] has joined #code
07:44 mode/#code [+o Reiv] by ChanServ
08:06
<~Vornicus>
McM: I seem to recall someone had written a book about C++ that started in C and showed how many of the C++ structures could be made in C, but then you'd hit a wall and there were things you basically needed C++ to do. I think it might have been you that described this book to me, or it might have been Chalain
08:08
<&McMartin>
You may be thinking of the book "The Design and Evolution of C++" by Stroustrup himself
08:09
<&McMartin>
Since C++ in fact originally started as a C emitter
08:09
<&McMartin>
Things You Can't Do in my article, incidentally, that you can do in C++: multiple implementation inheritance
08:10
<&McMartin>
This simply cannot be done in a sensible way without compiler support, because reinterpretation requires altering the pointer values
08:10
<&McMartin>
There's no way to do that in a sane or idiomatic way when writing stuff by hand - use traits instead, suffer less
08:10
<~Vornicus>
Aha
08:14
<~Vornicus>
(speaking of, are you going to write a book)
09:03
<&McMartin>
I probably should docbook up what I have written so far, yes~
09:04
<&McMartin>
I mean, Programming With Ophis *is* a book.
09:05
<&McMartin>
https://github.com/michaelcmartin/Ophis/blob/master/doc/ophismanual.pdf?raw=true
10:32
<~Vornicus>
heh
10:59
<@himi>
That draft is an interesting start
11:00
<@himi>
More a novella in the making than an a normal blog post, though ;-)
11:10 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Leaving]
11:10 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
11:10 mode/#code [+ao VirusJTG VirusJTG] by ChanServ
11:21
<@abudhabi>
What are the advantages and drawbacks of Python versus other high-level languages?
11:32
<@TheWatcher>
Y'know, in other, less civilised channels, a question like that would have me looking for something substantial to hide behind~
11:34
< pjdelport>
Python's probably best in class for dynamic languages, IMHO.
11:35
<~Vornicus>
I learned to program with Python.
11:36
< pjdelport>
Advantages: Easy to learn, regular syntax, high maintainability, rich ecosystem, very straightforward interaction with C libraries and systems.
11:36
< pjdelport>
This combinations makes it particularly great for non-dedicated programmers, which is why it gets used so much for scientific computing.
11:36
< pjdelport>
Lots of heavy scientific libraries and systems are glued together with Python code.
11:37
< pjdelport>
And interfaces.
11:37
<~Vornicus>
disadvantage: you do in fact have to install it. you are guaranteed nowadays to have a javascript interpreter already ready to go.
11:38 Reiv [NSwebIRC@Nightstar-3a4.on2.251.116.IP] has quit [Ping timeout: 121 seconds]
11:38
< pjdelport>
The disadvantages have more to do with the whole class that Python represents. For example, a good functional language (like Haskell :) may be a much better fit for many things.
11:38
<@TheWatcher>
Advantage: it's not Ruby~
11:39
< pjdelport>
But Python's not a slouch either: PEP 484 is bringing pretty good optional static typing to Python now.
11:39
<~Vornicus>
I still need to learn me a haskell but I have so many other things I'm in the middle of that it's not on my plate
11:39
< pjdelport>
(I've only experimented with it, but I've translated a bunch of non-trivial Haskell types to PEP 484 types.)
11:39
< pjdelport>
TheWatcher: Indeed :)
11:40
<@TheWatcher>
Vornicus: on the other hand, with javascript you have Array(16).join("wat" - 1) + "Batman!";~
11:41
<~Vornicus>
it's true. you do have to be somewhat less blase than the language permits in js for it to make actual sense
11:43
<~Vornicus>
Which is something you don't really say about python, but can be certainly said about ruby php and perl
11:45
<~Vornicus>
That's a big advantage. with Python if your code is something crazy, it looks like it's doing something crazy.
11:45
<~Vornicus>
whereas with ruby and perl it often looks like you're doing something crazy and you're actually being boring, and with php it looks boring but it's actually crazy.
11:46
<@TheWatcher>
That said, just using php is crazy~
11:46
<~Vornicus>
It's true.
11:47
<~Vornicus>
basically the only reason you want to use php nowadays is because wordpress is written in php.
11:47
<@TheWatcher>
Not that you're biased or anything
11:47
<@TheWatcher>
(Mediawiki for me)
11:48
<@TheWatcher>
(If I'm doing any php wrangling, it's because I'm up to my armpits in th emediawiki code or a plugin for it.)
11:49
<@TheWatcher>
(That said, mediawiki is still drastically less shit than pretty much every other wiki software out there, so needs must as the devil drives)
11:49
<@abudhabi>
What ARE the "other high-level languages", anyway?
11:50
<@abudhabi>
Ruby and Haskell were mentioned.
11:51
<~Vornicus>
Ruby, PHP, Perl, and Javascript often fill the niche that Python is in.
11:52
<@abudhabi>
I wouldn't even consider PHP, because it's just for webpages (unless I'm mistaken). I know JS well enough to know how awful it is.
11:52
<~Vornicus>
Ruby's a frightening display and I have no idea why anyone would use it.
11:53
<@TheWatcher>
abudhabi: php is, terrifyingly, not just used for web
11:53
<@abudhabi>
"frightening display"?
11:53
<@abudhabi>
TheWatcher: O RLY?
11:53
<@TheWatcher>
Yep.
11:53
<@abudhabi>
TIL.
11:53
<~Vornicus>
php is running on inertia in a lot of ways but it's somehow managed to start to get slightly saner. This does not make it sane.
11:54
<~Vornicus>
perl I have heard very little about over the past few years.
11:54
<~Vornicus>
javascript is javascript; you use it for web client shit and if you're a moron you use it for node.js
11:57 * TheWatcher eyes this student
11:57
<@abudhabi>
I know only a little Perl, enough to hack together ircbots using a library that requires me to type out precisely that it's awful and unsupported every time I want to install it.
11:57
<@TheWatcher>
+1 for using valgrind, -1 for being apparently unable to read its output
11:58
<@abudhabi>
And what I know of Perl seems to confirm that compiled and uncompiled code is indistinguishable. <_<
11:58
<~Vornicus>
You haven't seen TW's perl
11:58
<~Vornicus>
(TW is basically the only person I would trust with perl)
12:00
<@abudhabi>
I haven't seen TheWatcher's perl.
12:01
<~Vornicus>
Ruby is -- okay so there's a "20 minute introduction" to ruby on the site, and one of the things it shows you how to do is modify existing classes
12:01
<~Vornicus>
That this is a thing that is considered a good idea should tell you all you need to know about ruby.
12:01
<~Vornicus>
-- and not merely a good idea, but a thing that you should be trying, knowing all of 20 minutes worth of programming in ruby.
12:02
<@abudhabi>
"modify existing classes"? Like, stdlib stuff?
12:02
<~Vornicus>
Yes.
12:02
<@abudhabi>
As opposed to implementing child classes?
12:02
<~Vornicus>
Or just making your types quack, yes.
12:02
<@abudhabi>
Or supporting bare words, right? :V
12:02
<~Vornicus>
yes.
12:03
<~Vornicus>
The other thing is that the ruby community very much feels, uh
12:03
<~Vornicus>
Insanely Great
12:05
<@abudhabi>
I'm still not quite sure what you're trying to tell me.
12:07
<~Vornicus>
You know how Mac users often are?
12:08
<~Vornicus>
Very much "people who use something other than mac are knowlessmen and plebes"?
12:08
<@TheWatcher>
Woe betide you if you go into a ruby forum and suggest something may be less than awesome incarnate~
12:11
<~Vornicus>
Meanwhile if I bitch and moan about something I dislike about Python in #python the response is more often than not "yeah, that is kind of annoying"
12:13
< pjdelport>
Most Python users I know gripe about Python a bit.
12:13
< pjdelport>
(but still use it :)
12:13
< pjdelport>
It's intentionally a boring language.
12:14
< pjdelport>
In the way that a good hammer or a screwdriver is boring.
12:14
<~Vornicus>
I think my biggest issue is I want a standard templating solution.
12:14
< pjdelport>
When you're trying to tame computers, boring is good.
12:14
< pjdelport>
Vornicus: format strings?
12:14 * pjdelport ducks
12:16
<~Vornicus>
If it had a loopenizer and an ifenizer
12:20
<~Vornicus>
and maybe an escapenizer though that's a big ask because of all the formats you might want to escape.
12:21
< pjdelport>
Templating is probably far to variable to really standardise, though.
12:21
< pjdelport>
Jinja is close enough to a de facto standard.
12:21
< pjdelport>
But the range is still large.
12:22 * TheWatcher notes that you don't really want your template engine to be turing complete, otherwise you risk becoming PHP~
12:26
<~Vornicus>
Well no.
12:27
< pjdelport>
PHP's design problems don't really have anything to do with Turing completeness.
12:27
<@TheWatcher>
True; they are more down to incompetence and bugfuck insanity
12:29
<@simon_>
PHP is down to lol.
12:29
<@simon_>
https://www.reddit.com/r/lolphp :D
12:33
<@simon_>
has anyone here played with Ethereum contracts?
12:39 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
12:39 mode/#code [+o Crossfire] by ChanServ
12:55
<@abudhabi>
"Software and cathedrals are much the same â first we build them, then we pray."
12:55
<@abudhabi>
I *wish* this were a joke.
12:58
<@TheWatcher>
abudhabi: I quote from another time in another channel: <jerith> Software is terrible. <jerith> So is hardware. <Mango> Other than that, there aren't any problems.
13:00
< pjdelport>
simon_: I have.
13:00
< pjdelport>
There's a budding Ethereum community here in CT.
13:00
< pjdelport>
There's a Slack, if you want an invite :)
13:01
<@simon_>
pjdelport, what's CT?
13:01
< pjdelport>
Cape Town :)
13:02
<@simon_>
cool
13:02
<@simon_>
I'm not really into slack.
13:02
<~Vornicus>
...dammit
13:02 * Vornicus is in a somewhat different CT
13:02
<@simon_>
which one?
13:02
<~Vornicus>
Connecticut
13:03
< pjdelport>
Ah, okay.
13:04
< pjdelport>
I forgot it's not as South African here, probably.
13:04 * simon_ is from Denmark.
13:04
<~Vornicus>
got five countries represented in the last 10 minutes of talking then
13:08 Emmy [NSkiwiirc@Nightstar-v1pu8a.static.chello.nl] has joined #code
13:08 mode/#code [+o Emmy] by ChanServ
13:16 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection reset by peer]
13:36 * abudhabi creates a nested-ajax monster.
14:24
<@Emmy>
0.o Oh huh, since when am i an op here? 0.o
14:24 * Emmy baps abudhabi on the head.
14:24
<@Emmy>
just as long as you don't do recursion!
14:31 * VirusJTG infects Emmy, replaces all iterative thought patters with recursive ones.
14:31
<@gnolam>
I've handled CT DICOM files, can I join the CT club?~
14:52
<&[R]>
Emmy: because you're part of an exclusive club: the majority.
14:52
<&[R]>
Derp, I misread "since when" as "why" for some reason...
14:54
<@Emmy>
hehehehe
14:55
<@Emmy>
also, wtf. vba's code for for moving in a recordset is fucking inconsistent.
14:55
<@Emmy>
moving to the next record in a filtered form works.
14:55
<@Emmy>
moving to the next record in a filtered recordset? shit outta luck
14:56
<@Emmy>
which is weird, considered that the first is simply a special case of the latter, applied directly to a form...
14:57 ion [Owner@Nightstar-6grqph.vs.shawcable.net] has quit [Ping timeout: 121 seconds]
14:59 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
14:59 ion [Owner@Nightstar-6grqph.vs.shawcable.net] has joined #code
14:59 mode/#code [+o ion] by ChanServ
15:00
<@Emmy>
well, you could of course just use .findnext (where) instead of .movenext, but that point you might as well just forget the filter.
15:00
<@Emmy>
gone are any perf. gains that half-decent coding skills might've gotten me. :S
15:03
<@Emmy>
nevermind the fact that that to move a form forwards or backwards in the table you have to use "DoCmd.GoToRecord , , acNext" instead of Recordset.MoveNext just like anything else.
15:05
<@Emmy>
Rant.Close
15:06
<@Emmy>
Call Sage_Advice
15:09
<@Emmy>
'Aforementioned called sub needs dependency Infinite_Wisdom. Please make sure it's compiled in current unholy project.
15:44
<&VirusJTG>
vba (not vba.net) should be dead by now for many many such instances of inconsistent assery.
15:44 * gnolam points to the VB5 codebase he still has to go in and modify every now and then, coughs.
15:45
<&[R]>
I'm sorry that you have to maintain SSDS.
15:46
<&[R]>
http://www.telusplanet.net/public/stonedan/source.txt <-- Source for those wondering
15:48
<@TheWatcher>
... what in the name of Yog-Sothoth's unholy flip-flops am I looking at?
15:49
<&[R]>
SpectateSwamp's Desktop Search.
15:49
<&[R]>
If you actually want to run it, you need VB5 (VB6 won't work). It will crash the first run.
15:51
<@TheWatcher>
That's... that's someone trolling us, right?
15:51
<&[R]>
Somepeople suspected it was a giant troll, yes.
15:52 Emmy [NSkiwiirc@Nightstar-v1pu8a.static.chello.nl] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
15:52
<@TheWatcher>
The other people just rocked back and forth in a corner while muttering things about "The angles were all wrong" and "HE COMES", I expect.
16:10
<@ErikMesoy>
And some people were blissfully ignorant of VD and said "I don't see the problem?"
16:10
<@ErikMesoy>
err, VB
16:12
<&[R]>
VD and VB are pretty much the same thing anyways.
16:12
<&VirusJTG>
lol
16:27 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
16:27 mode/#code [+o Crossfire] by ChanServ
17:32 celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has joined #code
17:32 mode/#code [+o celticminstrel] by ChanServ
17:42 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [Connection closed]
17:48 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code
17:48 mode/#code [+o gnolam] by ChanServ
18:29 mac [macdjord@Nightstar-pk7ki5.cable.rogers.com] has joined #code
18:29 mode/#code [+o mac] by ChanServ
18:31 macdjord [macdjord@Nightstar-pk7ki5.cable.rogers.com] has quit [Ping timeout: 121 seconds]
18:36 celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
18:37 celticminstrel [celticminst@Nightstar-80kfip.dsl.bell.ca] has joined #code
18:37 mode/#code [+o celticminstrel] by ChanServ
18:44 Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has joined #code
18:44 mode/#code [+o Emmy] by ChanServ
19:25 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
19:25 mode/#code [+qo Vornicus Vornicus] by ChanServ
20:27 catadroid [catadroid@Nightstar-huiopn.dab.02.net] has joined #code
20:47
<&jerith>
VB is terrible.
20:48
<&jerith>
VB.NET is slightly less terrible in that it's built around a sensible runtime, at least.
20:50
<&McMartin>
VB.NET is a syntax wrapper around C#, for people allergic to actually decent languages
20:59
<&jerith>
C# is a pretty mediocre language, but it beats Java along most axes.
21:00
<&McMartin>
I'd say it's easily best-in-class at the moment in the space where it is competing with Java
21:00
<&McMartin>
... and probably Ada
21:02
<&jerith>
Sure.
21:04
<&jerith>
Still takes way too many pages of code to write a program.
21:04
<&McMartin>
It's not a scripting language, no
21:05
<&jerith>
Neither are F# and clojure.~
21:05
<&McMartin>
Clojure tries to be one
21:05
<&McMartin>
It's... not as good an idea as they seem to think it is, though
21:06
<&McMartin>
I haven't poked too had at F# but I would estimate its verbosity to be at similar levels to C#
21:06
<&jerith>
What do you mean by "scripting language" here?
21:06
<&McMartin>
Unless you are specifically frothing about a lack of global functions
21:06
<&jerith>
F# is much more ML than C#.
21:06
<&McMartin>
The thing I'm used to people Mad About Java getting mad about are the fact that you have to set up your file and class structures identically, and that everything lives in a class
21:07
<&jerith>
Nah, I don't get frothy about that.
21:07
<&McMartin>
C# breaks the former, and also lets you split class implementation across files
21:08
<&jerith>
C# is basically "Java but nicer", and it really is nicer.
21:08
<&McMartin>
Well, yes
21:08
<&McMartin>
It's MS's answer to Java after its first answer to Java turned out to be answering the wrong question.
21:09
<&McMartin>
And they went and hired the guys who did Delphi, who were Borland's best originally.
21:09
<&McMartin>
I'm merely noting that Java took over the world for reasons that have nothing to do with monopoly power or programmer laziness
21:10
<&jerith>
But I still find myself writing a lot more code in C# (on the rare occasions I write it) than I do for equivalent functionality in Python or F#.
21:11
<&McMartin>
What's paying the cost?
21:11
<&jerith>
I don't understand the question.
21:12
<&jerith>
I think a lot of the extra code is just syntax.
21:13
<&jerith>
C# is significantly less dense than the languages I usually write.
21:13
<&McMartin>
Right
21:13
<&McMartin>
Which bits take up more space, is the question
21:13
<&McMartin>
And, I mean, if we're talking *vertical* space
21:13
<&McMartin>
Is this because you're rolling with BSD indentation
21:15
<&McMartin>
And then there's selective import and class boilerplate
21:16
<&McMartin>
But if class boilerplate is what's eating all the space that *is* basically the "I have to define everything inside a class" objection
21:17
<&jerith>
A lot of it is closing braces on their own line all over the place.
21:18
<~Vornicus>
so this is the "it isn't python" objection
21:18
<&McMartin>
It might actually be "whitespace isn't significant"
21:18
<&jerith>
Also a cultural predilection for VeryLongDescriptiveVariableNames.
21:19
<&jerith>
Vornicus: It's more the "it's a C family language" objection.
21:20
<&jerith>
The main reason I'm not very comfortable in it is that I don't find it very expressive.
21:20
<&jerith>
But that's not something I'm able to easily articulate.
21:24
<&jerith>
Oh, right. C# also has a pretty poor type system.
21:25
<&jerith>
Better than most C family languages, but still.
21:25
<&McMartin>
"Isn't Hindley-Milner"
21:25 * Vornicus looked at the C++11 stuff and saw "auto" and said "holy shit that's what I always wanted"
21:26
<&McMartin>
auto does in fact make std::map<std::string, std::vector<std::string> >::const_iterator less obnoxious.
21:26
<&jerith>
I like Hindley-Milner, but I'm also okay with dynamic.
21:26
<&jerith>
C# has decent generics, at least.
21:27 * jerith has Significant Issues with Java's type erasure.
21:32
< catadroid>
I find C# very pleasant to write
21:32
< catadroid>
It has a number of features I wish C++ for
21:32
< catadroid>
Did*
21:33
< catadroid>
Java is awful and actively encourages you to write more loc
21:33
<&jerith>
Sure.
21:33
<&jerith>
C# isn't a bad language. It's just not a very good one.
21:34
< catadroid>
Disclaimer: I largely use C# for GUI apps - it's wonderful for interface glue
21:34
< catadroid>
(with WPF)
21:34
<&jerith>
I don't consider C++ to be a very good language outside its niche.
21:34
<&jerith>
(It's very powerful, but also very dangerous.)
21:40
< catadroid>
Agreed
21:41
< catadroid>
It's got impressively poor defaults
21:41
< catadroid>
It's the one widely used language that I think gets scope correct through
21:41
< catadroid>
Though*
21:41
<&jerith>
How does Java get it wrong?
21:41
< catadroid>
I would like to use something like Rust professionally
21:42
< catadroid>
It doesn't have destructors
21:42
<&jerith>
Destructors aren't reliable when you have GC.
21:42
< catadroid>
C++ has declarative scoping through stack based object lifetimes
21:43
< catadroid>
Yeah, I think the way managed languages use gc is the systemic problem with them and how they make use of resources
21:43
<&jerith>
C# has that things whose name I've forgotten, but the relevant keyword is "using".
21:43
< catadroid>
Yeah, but it's still explicit in each circumstance
21:43
<&jerith>
-s
21:43
<&jerith>
Python has context managers.
21:44
< catadroid>
(I make use of using a lot, but it's a pain akin to writing header files)
21:44
<&jerith>
I'm still waiting for Rust to grow up a bit.
21:45
< catadroid>
I would like it to
21:45
< catadroid>
I like what I've seen of it
21:46
<&jerith>
It seems to be on the right track.
21:46
<&jerith>
It seems to also be moving at a sensible pace.
21:46
<&jerith>
Which is incredibly rare for something in software these days.
21:49
< catadroid>
Mm
21:50 * jerith is currently waging an extended campaign against several "exciting new technologies".
21:50
<&McMartin>
?
21:50
<@TheWatcher>
Ohgods
21:50
<@TheWatcher>
That's never a good phrase
21:52
<&jerith>
McMartin: I am building a container orchestration system suitable for deploying a wide variety of applications for NGOs working in the health sector and other areas with interesting restrictions on where the data lives.
21:54
<&jerith>
This means I get to use tools that didn't exist two years ago and are several years away from maturity.
21:55
<&jerith>
Quite a lot of them written in Go.
21:55
<&jerith>
Which is a truly terrible language.
21:55
<&jerith>
It manages to have a type system worse than Java's.
21:58
<@ErikMesoy>
Now I'm curious how much design space remains: how much worse than Go can a type system get before it spills over into "malicious"?
22:00
<&jerith>
The real tragedy isn't so much that it's terrible as that it's unnecessarily terrible.
22:00
<&jerith>
Deliberately terrible, even.
22:05
<&McMartin>
Go is what you get when you realize that OO is not all it's touted to be, but didn't actually pay attention to the intervening 35 years of language design because you are Rob Fucking Pike and you do what you want
22:06
<&McMartin>
ErikMesoy: Malbolge holds the record
22:06
<&jerith>
Go doesn't have exceptions, but it has panics which are exceptions but with much worse syntax.
22:07
<&jerith>
It doesn't have void*, but it has interface{} which is void* with a different spelling.
22:07
<&jerith>
etc. etc. etc.
22:07
<&McMartin>
Rust also doesn't have exceptions but it's extending its true panics into something more like exceptions
22:08
<&McMartin>
But you still don't *use* them because you actually have Result<>.
22:08
<@ErikMesoy>
McMartin: I thought Malbolge was malicious?
22:08
<&jerith>
I am particularly fond of the way its module system allows one to import arbitrary code from the public internet with no version management.
22:08
<&McMartin>
Oh, right, *before* it spills over into malicious
22:10
<&jerith>
Does PHP's type system count?
22:10
<&McMartin>
Is PHP's worse than JS?
22:10
<&jerith>
(With its byzantine conversions all over the place.)
22:10
<&McMartin>
q.v. Wat
22:10
<&jerith>
Yes.
22:11
<&jerith>
Also, JS is actively improving.
22:12
<&jerith>
I have a friend who spent some time implementing PHP in RPython.
22:13
<&jerith>
He has a long list of war stories.
22:15
<&jerith>
Including some perfectly reasonable PHP code to compare MD5s that manages to get it wrong in enough situations that it's noticeably unreliable.
22:24 Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds]
22:35 Netsplit Kakrafoon.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @PinkFreud
22:35 Netsplit over, joins: @PinkFreud
22:36 mode/#code [+o Kindamoody|afk] by ChanServ
22:50
<~Vornicus>
php's is worse than js.
23:15
<&[R]>
JS' type system is significantly more consistent, yeah
23:17
<&[R]>
Fun-fact: initial versions of PHP used strlen as the hashing function for the function table.
23:17
<@Tamber>
...what.
23:17
<&[R]>
Which partially explains why the function names were initially so fucked up.
23:18
<&[R]>
http://news.php.net/php.internals/70691
23:23 Kindamoody|afk is now known as Kindamoody
23:29 Derakon[AFK] is now known as Derakon
23:31 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
--- Log closed Wed Jun 01 00:00:40 2016
code logs -> 2016 -> Tue, 31 May 2016< code.20160530.log - code.20160601.log >

[ Latest log file ]