IRC Networks
Irc Logs Stats
Start date: 2007-09-27 02:48:27
Last update: 2008-10-24 20:19:38
Channels: 41
Logged Lines: 6230436
Size: 1822.19 MB
Powered by
Channel Info
Network: freenodeChannel: #csharp |
Search in www.irclog.org
Log from #csharp at freenode 2006-07-04
[14:56]<zyccus>just the compiler bits, without VS
[14:57]<pfrsdr>that would be good, only seem to have 1.1 on my laptop
[14:57]<mjzymygo>man... I gotta get this db fix done.... *sigh*
[14:57]<rwyfcygs>s/v2.0.50727/v1.1.4322/
[14:58]<pfrsdr>awilkins, yeah, but some stuff I want to compile (ssl related) needs 2.0+
[14:58]<rwyfcygs>Oh well, time to download ~25MB
[14:58]<pfrsdr>not worried about download time, installing it on this crap laptop will take a while :)
[14:59]<rwyfcygs>Ah, luvvery craptops
[14:59]<pfrsdr>wonder if I can copy it across from my main PC
[14:59]<rwyfcygs>Nope, needs all sorts of hinky shit in the registry to work
[15:01]<sdnffdxdlld>I dont suppose anyone has a subscription to sqlmag.com?
[15:01]<afd>yo hippy!
[15:01]<sdnffdxdlld>lo AqD
[15:01]<afd>hi Plasma and awilkins!
[15:02]<pfrsdr>hi
[15:02]<afd>where is liquid??
[15:02]<afd>awww
[15:16]<dnscr>ghm great.. anyone got experience with InstallShield?
[15:27]<snzranwnfks>hi meebey, you can ignore this ;)
[15:27]<snzranwnfks>can i RFC on: using System;
[15:27]<snzranwnfks>bah
[15:27]<snzranwnfks>can i RFC on: http://www.chrishowie.com/2006/07/04/sealed-classes-in-net-but-why/
[15:27]<rwyfcygs>I hate sealed classes
[15:28]<rwyfcygs>But I think the answer is "security"
[15:28]<snzranwnfks>awilkins: you will enjoy this post then
[15:28]<snzranwnfks>awilkins: this post addresses that aspect too
[15:29]<mjzymygo>SerajewelKS: stuff like 'string' is sealed on purpose, because if not then people like me would be turning the concept of immutable strings into mutable ones because thats the sort of person I am
[15:29]<snzranwnfks>Moridin8: i suggest you read the post, then comment. that was addressed.
[15:30]<rwyfcygs>My job entails modelling healthcare records ; the first thing these bastards do when developing standards is redefine the features of first-class datatypes ; being able to inherit from "String" and the like would be sooo much nicer.
[15:31]<rwyfcygs>Because at the moment you're basically implementing your own 1st class types, complete with operators
[15:31]<snzranwnfks>awilkins: if you know someone at MS maybe this post will turn some wheels then, eh?
[15:32]<mjzymygo>M$ sealed stuff like that so they could arbitrarily change the internals of .NET without having to think of other people... so long as the public interface for old methods pretty much stayed together...
[15:33]<snzranwnfks>Moridin8: if the internals remained private, we couldn't see them.. and hence couldn't be bound to them.
[15:33]<rwyfcygs>Oh, f**k me it's Tuesday. WTF did Monday go?
[15:34]<mjzymygo>thats a nice thought, but M$ don't think that way ;)
[15:34]<rwyfcygs>Gah, this is what happens when your offspring wake up at 0400 puking their guts out.
[15:35]<rwyfcygs>Either that, or Dr Kawashimas Brain Training is actually a sinister alphawave sucking antenna called "Dr Kawashimas Brain Draining" and is being used to distribute rendering for Square/Enix's latest title to our pre-frontal cortexes
[15:37]<snzranwnfks>so basically the sealed-ness of string is either (1) M$ playing stupid about immutability, (2) making life easier for them and harder for us, or (3) copying java?
[15:38]<mjzymygo>probably a nice sprinkling of all three
[15:39]<snzranwnfks>hmm, i wonder if mono could un-seal it without breaking compiled applications?
[15:40]<snzranwnfks>although then programs compiled against mono would die on the MS CLR
[15:40]<dnn2nd>SerajewelKS: that application that uses the unsealed string would be incompatible with MS .NET then
[15:40]<snzranwnfks>meebey: damn MS!
[15:40]<dnn2nd>SerajewelKS: beside that, it should work
[15:40]<dza|zdvnz>SerajewelKS: (4) performance reasons
[15:41]<cjmgrug>hey all!
[15:41]<dnn2nd>SerajewelKS: just copy the string class and make your own ;)
[15:41]<snzranwnfks>mac|gyver: which are?
[15:41]<snzranwnfks>meebey: i'm arguing design, not a particular case
[15:41]<dza|zdvnz>the clr optimizes sealed classes..
[15:41]<dnn2nd>afaik is the string class full of internal virtual machines calls anyhow ;)
[15:42]<snzranwnfks>mac|gyver: i would think that a class whose every method is non-virtual could undergo the same optimization, since even if you have a subclass, if it's referenced as a string it would behave like one
[15:42]<snzranwnfks>mac|gyver: i don't profess to be an expert on the topic, but it "makes sense" to my brain
[15:43]<dza|zdvnz>I'm searching
[15:43]<mjzymygo>mac|gyver: no, no specific optimisation is achieved at all
[15:43]<mjzymygo>but it is ngen'd on install.
[15:44]<mjzymygo>but normal sealed classes so not undergo any special treatment
[15:45]<snzranwnfks>at any rate, from a design perspective sealed classes make zero sense to me. it would seem that if you need super heavy optimization, you wouldn't be using .NET or Java, but coding straight C.
[15:46]<dza|zdvnz>true, but that's no reason to forget about optimization
[15:46]<dzdyzzz-wjzc>SerajewelKS you should try objective c.
[15:47]<dza|zdvnz>if that's an argument to forget about it you get opinions like "java is slow" etc
[15:47]<snzranwnfks>mac|gyver: of course not. but sacrificing design and extensibility for the sake of optimization is *bad*
[15:47]<dzdyzzz-wjzc>you can override any method and object you like.
[15:47]<mjzymygo>SerajewelKS: except that the speed differences between JIT'd IL and C/C++ is less than you think
[15:47]<dza|zdvnz>that too
[15:47]<snzranwnfks>damieng-work: i tried a tutorial.. the syntax completely turned me off
[15:47]<rwyfcygs>Hell, I've written VB6 code that was faster than the native libraries
[15:48]<snzranwnfks>Moridin8: i'm aware of that, but i still stand by my point that sacrificing design for speed is dumb in an environment like .NET
[15:48]<dzdyzzz-wjzc>really? There's less syntax changes between C and objC than there is C and C++
[15:48]<snzranwnfks>damieng-work: and i hate C++ too
[15:48]<mjzymygo>awilkins: thats interesting considering VB6 runtime library uses those self same native libaries
[15:48]<dzdyzzz-wjzc>- (int) doSomethingWithInt: (int) i {
[15:48]<dzdyzzz-wjzc> return [self squareRootOfInt:i];
[15:48]<dzdyzzz-wjzc>}
[15:49]<rwyfcygs>Moridin8: The piece in question was a flatfile serializer that could serialize /deserialize classes faster than the native runtime did Get# / Put# on UDTs
[15:49]<snzranwnfks>damieng-work: that reads like hash to me
[15:49]<mjzymygo>awilkins: wow... Vb6 handling strings well? *chokes*
[15:50]<dzdyzzz-wjzc>translated it means int doSomethingWithInt(int i) { return base.squareRootOfInt(i); }
[15:50]<snzranwnfks>damieng-work: yup. i'd like it written like that too ;)
[15:50]<dzdyzzz-wjzc>it's actually quite cool.
[15:50]<snzranwnfks>damieng-work: well not exactly like that, but something less filled with arbitrary operators would be nice
[15:50]<rwyfcygs>Moridin8: I was surprised at how fast it was ; I think the bulk of it's speed advantage was that it was reading records as one byte buffer each, and I suspect Get# reads each field individually.
[15:50]<dzdyzzz-wjzc>the parameter names are part of the method signature.
[15:50]<mjzymygo>damieng: it looks like an anonymous function to me
[15:51]<dzdyzzz-wjzc>- (int) changeColorWithRed: (int) r green: (int) g blue: (int) b
[15:51]<dzdyzzz-wjzc>is called with;
[15:51]<dza|zdvnz>SerajewelKS: sealed classes allow for inlining
[15:51]<dzdyzzz-wjzc>[myColor changeColorWithRed:5 green:2 blue:6];
[15:51]<snzranwnfks>mac|gyver: so do non-virtual methods
[15:51]<rwyfcygs>Moridin8: THe string conversions were done with the standard VBA.Strings library, the other datatypes were all assigned with MemCopy API calls
[15:51]<dza|zdvnz>SerajewelKS: http://blogs.msdn.com/ricom/archive/2004/08/24/219751.aspx
[15:51]<mjzymygo>awilkins: point taken...
[15:51]<snzranwnfks>mac|gyver: there is absolutely nothing that sealed does for optimization aside from mark every method sealed. which you'd do in the case of string anyway.
[15:51]<dza|zdvnz>SerajewelKS: in theory yes..
[15:52]<dza|zdvnz>hm?
[15:52]<snzranwnfks>mac|gyver: the sealed modifier on a class does two distinct tasks
[15:52]<snzranwnfks>mac|gyver: it prevents derivation, and implicitly marks every member sealed
[15:52]<dzdyzzz-wjzc>sealed also stops people who inherit immutable classes making them non-immtable and therefore destroying stuff.
[15:52]<dzdyzzz-wjzc>like string.
[15:53]<snzranwnfks>damieng-work: read the post, then comment







