![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 28/09/2012 03:21 PM, scott wrote:
>> OK, so most companies don't seem to be interested in Java any more. Most
>> of them are asking for something.net, and the most popular one is C#,
>> unsurprisingly. So I'm sitting hear reading some C# books.
>
> I assume you've downloaded and installed MS Visual C# Express already?
Twice, in fact.
First I downloaded the full install. Apparently the only way to do that
is to download an ISO image. Which means you have to burn it to a CD
before you can access it. [Unless you use Unix. :-P ] Unfortunately,
when I tried to install, I got a CRC32 error, and it died half way
through the installation.
So then I had to try again. I've now got it to the point where VS opens.
I don't know if it actually works yet, or whether I need to completely
reinstall Windows to fix it...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Fri, 28 Sep 2012 15:51:34 +0100, Orchid Win7 v1 wrote:
> Apparently the only way to do that is to download an ISO image. Which
> means you have to burn it to a CD before you can access it. [Unless you
> use Unix. :-P ]
Daemon Tools.
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 28/09/2012 03:13 PM, Orchid Win7 v1 wrote:
> So I'm sitting hear reading some C# books.
Heh. It amuses me that run-time polymorphism via inheritance is /the/
central contribution of the OO movement, and here I am reading a book
warning me not to use inheritance under any circumstances unless
absolutely unavoidable...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> On 28/09/2012 03:21 PM, scott wrote:
>>> OK, so most companies don't seem to be interested in Java any more. Most
>>> of them are asking for something.net, and the most popular one is C#,
>>> unsurprisingly. So I'm sitting hear reading some C# books.
>>
>> I assume you've downloaded and installed MS Visual C# Express already?
>
> Twice, in fact.
>
> First I downloaded the full install. Apparently the only way to do that
> is to download an ISO image. Which means you have to burn it to a CD
> before you can access it. [Unless you use Unix. :-P ]
You can mount ISOs as a file system under Windows. Microsoft has an
utility for it, but in only works up to Vista. For Windows 7 or 8, you
need Virtual Clonedrive ( http://www.slysoft.com/en/download.html )
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> On 28/09/2012 03:13 PM, Orchid Win7 v1 wrote:
>> So I'm sitting hear reading some C# books.
>
> Heh. It amuses me that run-time polymorphism via inheritance is /the/
> central contribution of the OO movement, and here I am reading a book
> warning me not to use inheritance under any circumstances unless
> absolutely unavoidable...
So, what's their solution? You have to reinvent the wheel all the time?
So if you need a linked list of widgets and a linked list of gizmos, you
have to have two complete sets of add(), remove() and iterate() methods?
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid Win7 v1 <voi### [at] dev null> wrote:
> On 28/09/2012 03:13 PM, Orchid Win7 v1 wrote:
> > So I'm sitting hear reading some C# books.
>
> Heh. It amuses me that run-time polymorphism via inheritance is /the/
> central contribution of the OO movement, and here I am reading a book
> warning me not to use inheritance under any circumstances unless
> absolutely unavoidable...
forget all those silly concepts from olde ages. Apps today are just a
multi-tiered assemblage of multiple layers of API calls to multiple frameworks.
The language you use is irrelevant, which is why .net allows you to use your
favorite language syntax to call the APIs.
it's all dynamic and marshaled in real-time wrapped in zipped xml sent
asynchronously via http. bwahahahaha
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid Win7 v1 <voi### [at] dev null> wrote:
> Heh. It amuses me that run-time polymorphism via inheritance is /the/
> central contribution of the OO movement, and here I am reading a book
> warning me not to use inheritance under any circumstances unless
> absolutely unavoidable...
Does it explain why?
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid Win7 v1 <voi### [at] dev null> wrote:
> Like anything else, there are some good things, and not so good things.
> The one that really tickles me is the author insisting that because
> assemblies are loaded dynamically, and because CIL takes up less space
> than machine code and is JIT-compiled, you can "drastically reduce the
> working set of your application".
I don't even understand what that means.
I have seen several arguments in the past (but I think they have mostly
died alongside the prejudice against C++ and templates) that C++ templates
are bad because they increase code size, thus increasing memory usage.
That's one of the stupidest arguments ever. The reason is that the
alternative proposed by these critics is to use runtime polymorphism.
Yes, rather than have the same function repeated for each used type you
will have one single function that handles all the types. However, if all
your objects are dynamically allocated and dynamically bound (which is
necessary for runtime polymorphism) they will end up taking enormously
more memory than duplicating that function a few times (optimized to handle
each type statically).
In other words, their solution to the "huge" "problem" of increased code
size is to increase memory usage ten-fold in order to make the executable
binary slightly smaller. Great job.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 28/09/2012 09:32 PM, Warp wrote:
> Orchid Win7 v1<voi### [at] dev null> wrote:
>> Like anything else, there are some good things, and not so good things.
>> The one that really tickles me is the author insisting that because
>> assemblies are loaded dynamically, and because CIL takes up less space
>> than machine code and is JIT-compiled, you can "drastically reduce the
>> working set of your application".
>
> I don't even understand what that means.
C# is compiled to CIL, which is then JIT-compiled to machine code. The
author claims (and I am highly sceptical) that CIL is much smaller than
machine code. The author also says that since only the parts of your
code which actually /run/ get compiled to machine code, the running
machine code is smaller, giving your application a smaller "working set".
This, it is claimed, can reduce page faults, improve cache performance,
and so forth.
Yes, that's right. Your application is using 250MB of heap space, but
the executable binary is 4KB smaller, and that's the important thing, right?
> I have seen several arguments in the past that C++ templates
> are bad because they increase code size, thus increasing memory usage.
> In other words, their solution to the "huge" "problem" of increased code
> size is to increase memory usage ten-fold in order to make the executable
> binary slightly smaller. Great job.
Yeah, that's about the size of it.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Heh. It amuses me that run-time polymorphism via inheritance is /the/
>> central contribution of the OO movement, and here I am reading a book
>> warning me not to use inheritance under any circumstances unless
>> absolutely unavoidable...
>
> So, what's their solution? You have to reinvent the wheel all the time?
Use interfaces instead.
> So if you need a linked list of widgets and a linked list of gizmos, you
> have to have two complete sets of add(), remove() and iterate() methods?
That is better handled with generics than any kind of inheritance. A
better example might be a single-linked list and a double-linked list.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |