Mac or PC ?

Are you a Mac person or a PC person?

  • PC !!

    Votes: 114 70.8%
  • Mac !!

    Votes: 33 20.5%
  • Erm....they're both just as good

    Votes: 14 8.7%

  • Total voters
    161
Sure, but think about what you're saying. Classic MacOS and Windows 3.1 were incredibly tiny...it's not hard to be cohesive when all you do is draw a couple boxes on the screen and pretend its a fully functional OS.
I agree. :) Complexity is always going to wreck stuff. That's no excuse for the horrible mess that Vista seems to me (and Mac OS X is certainly heading towards; there's signs that Leopard will at least make Apple get its act together but that's no general guarantee). This is certainly developers' fault rather than the Vista team's. But even Vista developers in Microsoft don't seem to care about UI cohesiveness so why should anyone bother to make the effort? It's an attitude which seems horribly pervasive in the Windows world that it's alright to invent a new GUI, with little inspiration from the system, for every application.

Patently false. GCC is open course and multiplatform. I've used it reliably on MacOS X, Solaris, AIX, Windows 98, Windows 2000, Windows XP, Windows 2003, Windows Vista, and umpteen Linux distributions. There is nothing inherently inferior about it, or any substantive differences.
But on Windows you still need either MinGW (to provide a Win32 bridge (incorrect terminology, I'm sure)) or Cygwin (to implement the libraries more seperately) and neither of those are the same as developing on a 'real' *NIX system, if only terms of 'niceness'. Hey, Mac OS X isn't always 'nice' because everyone tends to build stuff around Linux and even *BSDs aren't exactly the same as Mac OS X (so sometimes includes break etc. unless their intelligently considered.

Please don't spread lies if you do not understand what you are talking about.

First: 16-bit memory allocation changed in Windows 2003 -- not Vista.
Second: Win32 API is deprecated in Vista. Obsolete. Use is discouraged. Which makes it a pretty amusing statement to say that if you don't use Win32 API all you can allocate is 32MB. Clearly that's patently absurd, wouldn't you agree?
Third: This was reported a while ago by some tool using a 5-year old version of GCC. He is using protected-mode DOS, something that was hacked into Windows NT (2000/XP/2003) in the first place, and was no longer officially supported as of 2001. If you use 64-bit versions of Windows, this wouldn't work at all -- nevermind the 32MB allocation limit. There is no reason, at all, to be using this today. This is FUD.
Apologies, I really should have looked into it further instead of spouting off. Seriously.
Minor aside: Win32's use may be discouraged, but I think that it's wrong to call it obsolete. Hence Office 12, presumably. I'm actually quite ignorant of the state of things are regards this. I'm aware that WPF is the aim for a transition but beyond that... I can barely be sure what Apple wants with Carbon & Cocoa... ;)

Filesystems -- a great example.

/etc/hx93491/5902.cfg and /bin/cp are far more logical than, say,
\Users\Dave\Documents
What? I believe those to be perfectively logical, albeit not immediately intuitive. What I don't find intuitive is that under Vista, in Explorer:
'Dave' == 'Desktop\Dave' == 'C:\Users\Dave' == 'Users\Dave'. I presume that the former two are dependent on being logged on as Dave and the second as having your Home folder having an icon representation on your desktop. But that icon representation isn't a shortcut. I presume that whether it's there or not has nothing to do with the filesystem, despite being part of the filesystem. I'm guessing it's hidden somewhere in the registry. And that just jars. I'm also left in the dark as how much of this is actually truly represented at the filesystem level and how much is invented by Explorer.

As for the registry, it's not supposed to be read by humans. That's the entire point of it -- it's an internal system registry, not a human-readable configuration editor.
Given how often all computers go wrong, it's helpful to have something at least translatable into a human-editable form. Besides which, that 'OMG IT'S A USER. HIDE EVERYTHING' attitude was something that, quite rightly, classic Mac OS was criticized for.
 
I agree. :) Complexity is always going to wreck stuff. That's no excuse for the horrible mess that Vista seems to me (and Mac OS X is certainly heading towards; there's signs that Leopard will at least make Apple get its act together but that's no general guarantee). This is certainly developers' fault rather than the Vista team's. But even Vista developers in Microsoft don't seem to care about UI cohesiveness so why should anyone bother to make the effort? It's an attitude which seems horribly pervasive in the Windows world that it's alright to invent a new GUI, with little inspiration from the system, for every application.
Could you provide an example from the Vista UI that is inconsistent with another part of the Vista UI?

But on Windows you still need either MinGW (to provide a Win32 bridge (incorrect terminology, I'm sure)) or Cygwin (to implement the libraries more seperately) and neither of those are the same as developing on a 'real' *NIX system, if only terms of 'niceness'. Hey, Mac OS X isn't always 'nice' because everyone tends to build stuff around Linux and even *BSDs aren't exactly the same as Mac OS X (so sometimes includes break etc. unless their intelligently considered.
I'm confused why this is an issue. gcc is a second-rate compiler, largely for hobby and academic use. It compiles just the same on Windows as it does on any other platform.

Minor aside: Win32's use may be discouraged, but I think that it's wrong to call it obsolete. Hence Office 12, presumably. I'm actually quite ignorant of the state of things are regards this. I'm aware that WPF is the aim for a transition but beyond that... I can barely be sure what Apple wants with Carbon & Cocoa... ;)
WPF isn't the replacement of Win32...WPF is the replacement of GDI+ in Windows XP. The replacement for Win32 was called WinFX at one point -- it's .NET 3.0 now. And it is obsolete and deprecated. That doesn't mean it's not still used and not still usable, it's just not the official API of Windows Vista and comes with no guarantees anymore. It's completely different from Win32 -- that is, not compatible -- so it's not surprising at all that the vast majority of code is still Win32.

The consulting company I work for today makes a fortune on developing .NET 3.0 applications right now. Most people just do Win32, which has some limitations (to be nice), so there's lots of money in knowing .NET 3.0 well today. It's the future.

What? I believe those to be perfectively logical, albeit not immediately intuitive. What I don't find intuitive is that under Vista, in Explorer:
'Dave' == 'Desktop\Dave' == 'C:\Users\Dave' == 'Users\Dave'. I presume that the former two are dependent on being logged on as Dave and the second as having your Home folder having an icon representation on your desktop. But that icon representation isn't a shortcut.
Yes it is. Why is it not? It's an icon that provides a shortcut to your User folder.

As for intuitiveness, why is that not intuitive in any way? I didn't even know Desktop\Dave redirected there in the first place. That seems like a really handy shortcut for people who refer to their whole computer as the "Desktop", isn't it? That seems intuitive to me. It's also not something forced, why do you have to use it?

No, I think you're missing the point of this. It's not intuitive to store configuration files in a folder called "etc". It is intuitive to store configuration files in a folder called Documents and Settings. Agreed?

Given how often all computers go wrong, it's helpful to have something at least translatable into a human-editable form. Besides which, that 'OMG IT'S A USER. HIDE EVERYTHING' attitude was something that, quite rightly, classic Mac OS was criticized for.
Why? The user should NOT touch the registry unless they know what they're doing. That'll screw a lot of stuff up very easily...

And if they know what they're doing, the organization makes sense.
 
Could you provide an example from the Vista UI that is inconsistent with another part of the Vista UI?
Goto Start Menu > Documents (assuming that you haven't configured that away; otherwise getting to your Documents folder a different way). Look at the sidebar, Folders, I believe but I might be misreading that heading. That control implies 'Desktop/UserName/Documents'. Look at the address bar: ' > UserName > Documents >', implies '/UserName/Documents'. Click in the address bar, see it change to 'C:/Users/UserName/Documents' (what it should be). Click on the left-most arrow in the address bar: implies 'Desktop/UserName/Documents'. This window is determined to be inconsistent even in the information it's providing!

I'm confused why this is an issue. gcc is a second-rate compiler, largely for hobby and academic use. It compiles just the same on Windows as it does on any other platform.
Yes, but what I was more interested in was a GNU/ development environment so that pre-existing libs and apps can be compiled relatively easily. Largely for hobby and academic use? Mac OS X is compiled using GCC, as are GNU/Linux distributions, as are most (all?) Symbian apps. (It's not as efficient as compilers intended for specific architectures but the vast majority of the codebase of the vast majority of apps on any platform don't benefit massively from small increases in compiler efficiency.)
WPF isn't the replacement of Win32...WPF is the replacement of GDI+ in Windows XP. The replacement for Win32 was called WinFX at one point -- it's .NET 3.0 now. And it is obsolete and deprecated. That doesn't mean it's not still used and not still usable, it's just not the official API of Windows Vista and comes with no guarantees anymore. It's completely different from Win32 -- that is, not compatible -- so it's not surprising at all that the vast majority of code is still Win32.
But everything aside from the GDI+ part of Win32 has still been added to and extended in Vista! The SDKs still talk about developing in .NET and Win32. I'd really love to know the actual situation with .NET vs. Win32, because I can't actually find any primary sources on this. Obviously C# as a whole isn't suitable for lots of things and I presume that anything involving .NET is run using the CLR VM. Indeed low-level hardware access must be limited, right?

The consulting company I work for today makes a fortune on developing .NET 3.0 applications right now. Most people just do Win32, which has some limitations (to be nice), so there's lots of money in knowing .NET 3.0 well today. It's the future.
Mono, maybe... ;)


Yes it is. Why is it not? It's an icon that provides a shortcut to your User folder.
Yes, it acts like a shortcut, some of the time, but isn't a shortcut. Why?

As for intuitiveness, why is that not intuitive in any way? I didn't even know Desktop\Dave redirected there in the first place. That seems like a really handy shortcut for people who refer to their whole computer as the "Desktop", isn't it? That seems intuitive to me. It's also not something forced, why do you have to use it?
Because sometimes Vista chooses to describe it as this location and sometimes as another location and another and so forth. It's not nice.

No, I think you're missing the point of this. It's not intuitive to store configuration files in a folder called "etc". It is intuitive to store configuration files in a folder called Documents and Settings. Agreed?
Your comparing two different things. /etc is more equivalent to system sections of the registry.

Why? The user should NOT touch the registry unless they know what they're doing. That'll screw a lot of stuff up very easily...
It screws itself up too easily for people not to have to touch it. See drive letter changes and user profiles.

And if they know what they're doing, the organization makes sense.
Maybe it simply comes down to habituation, but I just can't see it ever appearing elegant or even deliberately designed and thought out.
 
Goto Start Menu > Documents (assuming that you haven't configured that away; otherwise getting to your Documents folder a different way). Look at the sidebar, Folders, I believe but I might be misreading that heading. That control implies 'Desktop/UserName/Documents'. Look at the address bar: ' > UserName > Documents >', implies '/UserName/Documents'. Click in the address bar, see it change to 'C:/Users/UserName/Documents' (what it should be). Click on the left-most arrow in the address bar: implies 'Desktop/UserName/Documents'. This window is determined to be inconsistent even in the information it's providing!
By your logic, desktop shortcuts are also an example of inconsistency, then?

BTW, it does not imply "Desktop/Username/Documents" at all. Such an assumption is actually a great example -- in Windows, there is consistency in such hierarchies. They are either represented as text as "Blah\Sub\Sub2", or in a graphical tree where "Blah" is left-most, "Sub" is below and indented, "Sub2" is below and indented more, etc. In this case, "Desktop" is isolated at the top in its own little box as a shortcut, not as the parent of the hierarchy. There is no inconsistency here...

Yes, but what I was more interested in was a GNU/ development environment so that pre-existing libs and apps can be compiled relatively easily.
What is the point? It's not very easy to compile Windows software relatively easily on Linux and MacOS X, just like it's not very easy to compile GNU software on Windows. They are different environments...this is a puzzling point?

Largely for hobby and academic use? Mac OS X is compiled using GCC
...actually, it's GCC compatible but the retail binaries are produced with the Intel compiler.

Similarly, back in the PowerPC days, OS X was compiled with IBM XL C/C++. I know this for a fact because in '04 I worked at IBM in the compiler group and I had to deal with Apple-related compiler defects specific to OS X code.

(It's not as efficient as compilers intended for specific architectures but the vast majority of the codebase of the vast majority of apps on any platform don't benefit massively from small increases in compiler efficiency.)
This is why it's a 2nd-rate compiler. The code it accepts as valid is very "loose" -- it accepts awful, awful code. It's getting better and more strict, but there's still that gongshow quality of gcc code...that and the defects. There are enormous amounts of gcc defects that you don't see in most hobby/academic programs. Large organizations who actively use gcc for their own purposes employ people full-time to bugfix gcc. gcc is a simplistic compiler that generates mediocre code that runs at mediocre speeds but on a wide range of systems. Compilers such as Visual C++, XL C/C++, Intel C++, etc. are all much more professional in nature and pioneer compiler technologies that trickle down to gcc 5-10 years later. Then again, XL C/C++ costs thousands of dollars to use...but it's a 1st class compiler as opposed to gcc.

But everything aside from the GDI+ part of Win32 has still been added to and extended in Vista!
This isn't true. WinFX/NET 3.0 is in no way a superset of Win32.

.NET 3.0 is to replace Win32 in the long run. Win32 and .NET 3.0 both run natively (note: in 32-bit windows) on Windows today, but it will not always be like that in the future, and new development is moving to .NET 3.0 rather than Win32.

The SDKs still talk about developing in .NET and Win32.
That's because there's a massive amount of Win32 code that still needs to be updated and supported in Vista.

Obviously C# as a whole isn't suitable for lots of things and I presume that anything involving .NET is run using the CLR VM. Indeed low-level hardware access must be limited, right?
C# is far from the only .NET language. Ada, APL, VB, C, C++, COBOL, Fortran, Haskell, Java, LISP, Perl, Pascal, PHP, Python, Ruby, Scheme, Smalltalk, and a lot of others can all be used in .NET. C# is the "flagship" language (and honestly, the best language) for .NET, though. You also don't need to run everything in .NET 3.0 through the CLR VM -- the name is a bit of misnomer. Marketing droids did it...WinFX was better.

.NET 3.0 is actually just .NET 2.0 with the new Windows APIs (WPF, WCF, WWF, WCS)

Mono, maybe... ;)
Mono? Heh. If gcc is a 2nd-rate compiler, Mono is an INF-rate compiler. It's support is abysmal and nowhere near complete. It's decent as a .NET 1.0 interpreter and compiler, but that's it -- and a tiny portion of what .NET 3.0 is.

Yes, it acts like a shortcut, some of the time, but isn't a shortcut. Why?

Because sometimes Vista chooses to describe it as this location and sometimes as another location and another and so forth. It's not nice.
Don't see what the problem is. It is a location, where it is physically stored on the file system is abstracted away because it's really not relevant. When WinFS is (eventually) released, this is going to become more exacerbated. One of the changes in Vista is to try to reduce reliance on archaic filesystem paths to store and retrieve data. You think this is "inconsistent" or somehow confusing, while to people who don't think of everything in terms of strict filepaths (which is not surprising given your *nix usage), makes far more sense. Why does my Grandma need to know exactly the physical filesystem location for her documents? Does it not suffice that she can see the word "Documents" on her start menu, on her desktop, on her file chooser, etc. and know it's where she puts her documents?

This is one of the usability divides between the Windows/Mac and Linux worlds. Linux users tend to lack practical empathy in how users use and think about their computers, which drastically hurts real desktop users in Linux.

Your comparing two different things. /etc is more equivalent to system sections of the registry.
Is it? There's no way. Where does Apache store httpd.conf? In Windows, it sure doesn't use the registry...

It screws itself up too easily for people not to have to touch it. See drive letter changes and user profiles.
Huh? I've not touched my registry in years, am I doing something wrong?

Can you give an example of "Drive letter changes" and "user profiles"? Because I can modify these extensively and easily from the GUI...

Maybe it simply comes down to habituation, but I just can't see it ever appearing elegant or even deliberately designed and thought out.
You don't? Look at the root keys and their names. The registry is used for setting internal system settings with different scopes. Each parent key describes the scope of the children...
 
PCs are fine until you don't install Windows on them! :)
Really, Macs are very nice, but I satill prefer a PC with Ubuntu so that I still have the freedom to mess with my hardware
 
PCs are fine until you don't install Windows on them! :)
Really, Macs are very nice, but I satill prefer a PC with Ubuntu so that I still have the freedom to mess with my hardware

Yeah, Ubuntu is cool. I have it on an external hard drive. Sadly, though I was really glad to get my Broadcom 4318 AirForce One Wireless Card working (at last), my graphics card isn't supported properly, and I can't do anything needing 3D capabilities or fast 2D capabilities :(. Makes it a little more less useful. However, if your graphics card actually works properly, Ubuntu (and any other Linux distro) can run Civ4 Vanilla using Wine!! Wine is kinda like a Windows emulator. Ubuntu, considering it's free, is an excellent OS.
 
I would use a Mac but PCs are cheaper and you can play games on them.

and that is why Pc's win :D

buying a computer you cant change the parts on is such a scam. You have to buy a whole new computer to upgrade anything.
 
i love the pc, but not just the windows side of it, that why i dual boot windows and ubuntu. if you want try out ubuntu, try out wubi.
 
By your logic, desktop shortcuts are also an example of inconsistency, then?
If they don't identify themselves as shortcuts, yes. There's nothing wrong with what is effectively a symbolic link, but by and large those should be hidden from the day-to-day user's GUI.
BTW, it does not imply "Desktop/Username/Documents" at all. Such an assumption is actually a great example -- in Windows, there is consistency in such hierarchies. They are either represented as text as "Blah\Sub\Sub2", or in a graphical tree where "Blah" is left-most, "Sub" is below and indented, "Sub2" is below and indented more, etc. In this case, "Desktop" is isolated at the top in its own little box as a shortcut, not as the parent of the hierarchy. There is no inconsistency here...
? In Explorer, the 'Folders' section appears like this:

|Desktop
|---Username
|-----Contacts
|-----Documents
|---------Folder 1
|---------Folder 2
|-----Downloads

and so forth.

What is the point? It's not very easy to compile Windows software relatively easily on Linux and MacOS X, just like it's not very easy to compile GNU software on Windows. They are different environments...this is a puzzling point?
It is indeed puzzling if you don't like knowing that you have a decent GNU environment available to you. For me, compatibility with Linux and BSDs is an important point for Mac OS X.

...actually, it's GCC compatible but the retail binaries are produced with the Intel compiler.

Similarly, back in the PowerPC days, OS X was compiled with IBM XL C/C++. I know this for a fact because in '04 I worked at IBM in the compiler group and I had to deal with Apple-related compiler defects specific to OS X code.
Cool. I knew that Apple uses the Intel compiler for large parts of it but I wasn't aware of the use of the IBM XL compiler. Learn something every day. :)
But large parts do use GCC. I know that for sure that Panther/10.3 was at least primarily compiled on GCC3.3 and indeed Apple made a relatively big deal over it (partly to assuage complaints that GCC wasn't good enough, I'm sure. ;)). QuickTime, I'm vaguely aware was always compiled using IBM compilers. Checking through old news stories and stuff, it looks like Apple might have switched for Tiger (and presumably Leopard) but you're more likely to be able to tell me. :)

This is why it's a 2nd-rate compiler. The code it accepts as valid is very "loose" -- it accepts awful, awful code. It's getting better and more strict, but there's still that gongshow quality of gcc code...that and the defects. There are enormous amounts of gcc defects that you don't see in most hobby/academic programs. Large organizations who actively use gcc for their own purposes employ people full-time to bugfix gcc. gcc is a simplistic compiler that generates mediocre code that runs at mediocre speeds but on a wide range of systems. Compilers such as Visual C++, XL C/C++, Intel C++, etc. are all much more professional in nature and pioneer compiler technologies that trickle down to gcc 5-10 years later. Then again, XL C/C++ costs thousands of dollars to use...but it's a 1st class compiler as opposed to gcc.
I guess it really depends on how you need something better than gcc.

This isn't true. WinFX/NET 3.0 is in no way a superset of Win32.

.NET 3.0 is to replace Win32 in the long run. Win32 and .NET 3.0 both run natively (note: in 32-bit windows) on Windows today, but it will not always be like that in the future, and new development is moving to .NET 3.0 rather than Win32.
I wasn't claiming that .NET 3.0 was a superset of Win32. I was saying that from XP to Vista, the Win32 API has continued to see massive development.

C# is far from the only .NET language. Ada, APL, VB, C, C++, COBOL, Fortran, Haskell, Java, LISP, Perl, Pascal, PHP, Python, Ruby, Scheme, Smalltalk, and a lot of others can all be used in .NET. C# is the "flagship" language (and honestly, the best language) for .NET, though.
Yeah, yeah, Common Language Infrastructure, blah, blah.

You also don't need to run everything in .NET 3.0 through the CLR VM -- the name is a bit of misnomer. Marketing droids did it...WinFX was better.
What I mean to clarify is something along the lines of:
Could you write a device driver using the .NET APIs? My impression is that the nature of the point of the CLR is that such a suggestion doesn't make sense but you seem to be saying that isn't the case.

Mono? Heh. If gcc is a 2nd-rate compiler, Mono is an INF-rate compiler. It's support is abysmal and nowhere near complete. It's decent as a .NET 1.0 interpreter and compiler, but that's it -- and a tiny portion of what .NET 3.0 is.
It's an okay way to write cross-platform software. .NET 2.0 is meant to be implemented by the end of the year.


Don't see what the problem is. It is a location, where it is physically stored on the file system is abstracted away because it's really not relevant. When WinFS is (eventually) released, this is going to become more exacerbated. One of the changes in Vista is to try to reduce reliance on archaic filesystem paths to store and retrieve data. You think this is "inconsistent" or somehow confusing, while to people who don't think of everything in terms of strict filepaths (which is not surprising given your *nix usage), makes far more sense. Why does my Grandma need to know exactly the physical filesystem location for her documents? Does it not suffice that she can see the word "Documents" on her start menu, on her desktop, on her file chooser, etc. and know it's where she puts her documents?
WHY WON'T THEY JUST MAKE IT A . .. .. .. .ING SHORTCUT AND HAVE LITTLE ARROW ON IT?:( It would please both of us. :)

This is one of the usability divides between the Windows/Mac and Linux worlds. Linux users tend to lack practical empathy in how users use and think about their computers, which drastically hurts real desktop users in Linux.
Well, personally, I think of myself as Mac user . I recognise that the reason why Linux's desktop environments suck is because they have been built by programmers

Is it? There's no way. Where does Apache store httpd.conf? In Windows, it sure doesn't use the registry...
That's because Apache doesn't conform very strongly to Windows' design. Which isn't surprising.

Huh? I've not touched my registry in years, am I doing something wrong?

Can you give an example of "Drive letter changes" and "user profiles"? Because I can modify these extensively and easily from the GUI...
I have a Vista install. I mangle the VBR and/or MBR. I'm not entirely sure what I did to which boot sectors, and I don't care. All I know is that Vista will not boot, . .. .. .. .. .es at about a missing file when there is a file in the right place on the hard drive. What do I do now? (Penalty points for suggesting the use of Repair function on the install DVD or any of the tools supplied intended to repair boot sectors or BCD.)


You don't? Look at the root keys and their names. The registry is used for setting internal system settings with different scopes. Each parent key describes the scope of the children...
They root keys don't seem entirely obvious to me at all. I can vaguely guess but I don't see the fundamental separation between "Classes Root", "Local Machine" and "Current Config" or maybe it's "Current User" and "Current Config" which don't quite seem obvious.
 
If they don't identify themselves as shortcuts, yes. There's nothing wrong with what is effectively a symbolic link, but by and large those should be hidden from the day-to-day user's GUI.
I disagree that we should make life more difficult for users in the name of not putting symbolic links infront of users.

? In Explorer, the 'Folders' section appears like this:

|Desktop
|---Username
|-----Contacts
|-----Documents
|---------Folder 1
|---------Folder 2
|-----Downloads

and so forth.
Ooo, you're right. There is some slight inconsistency here, "Desktop" is not the root (but isolated in its own box) when you ckick the leftmost ">" in the crumb bar in explorer.

It is indeed puzzling if you don't like knowing that you have a decent GNU environment available to you. For me, compatibility with Linux and BSDs is an important point for Mac OS X.
I groan each time I'm forced to use a GNU environment, so it's somewhat reassuring that I'm always a bit farther away than touching them..

Out of curiosity, can you provide an example of what you need a GNU environment for that you can't accomplish in Cygwin?

But large parts do use GCC. I know that for sure that Panther/10.3 was at least primarily compiled on GCC3.3 and indeed Apple made a relatively big deal over it (partly to assuage complaints that GCC wasn't good enough, I'm sure. ;)). QuickTime, I'm vaguely aware was always compiled using IBM compilers. Checking through old news stories and stuff, it looks like Apple might have switched for Tiger (and presumably Leopard) but you're more likely to be able to tell me. :)
OS X code is guaranteed to work with both gcc 4.0 (Tiger and probably 4.2 in Leopard) and Intel C/C++. This is because Apple's build system builds it on both each night, gcc for compatibility and Intel for performance.

I wasn't claiming that .NET 3.0 was a superset of Win32. I was saying that from XP to Vista, the Win32 API has continued to see massive development.
It has? What Win32 API features were added in Vista?

Yeah, yeah, Common Language Infrastructure, blah, blah.


What I mean to clarify is something along the lines of:
Could you write a device driver using the .NET APIs? My impression is that the nature of the point of the CLR is that such a suggestion doesn't make sense but you seem to be saying that isn't the case.
Yes, you can write device drivers using the .NET APIs. No, device drivers do not run through the CLR, they are compiled down like Win32 drivers.

.NET is not all about the CLR. It's a nice feature, but it's not required. Have you ever used Paint.NET? During the install there's a screen where it says it's "Optimizing Paint.NET for your system". This is actually just-in-time compiling (JIT) the entire program with optimizations specific to your system (for example, a Core 2 Duo system would compile with SSE, SSE2, SSE3, SSSE3). Other implementations just JIT certain functions or as they're first called.

It's an okay way to write cross-platform software. .NET 2.0 is meant to be implemented by the end of the year.

WHY WON'T THEY JUST MAKE IT A . .. .. .. .ING SHORTCUT AND HAVE LITTLE ARROW ON IT?:( It would please both of us. :)
That's the first thing I remove in Windows, the shortcut overlay. ;)

I have a Vista install. I mangle the VBR and/or MBR. I'm not entirely sure what I did to which boot sectors, and I don't care. All I know is that Vista will not boot, . .. .. .. .. .es at about a missing file when there is a file in the right place on the hard drive. What do I do now? (Penalty points for suggesting the use of Repair function on the install DVD or any of the tools supplied intended to repair boot sectors or BCD.)
This is a great example.

Choices:
- You use System Restore. No registry modifying needed.
- You use the boot rescue disc to repair the boot sector. No registry modifying needed.
- You use the "Repair windows" functionality of the boot disc. No registry modifying needed.

They root keys don't seem entirely obvious to me at all. I can vaguely guess but I don't see the fundamental separation between "Classes Root", "Local Machine" and "Current Config" or maybe it's "Current User" and "Current Config" which don't quite seem obvious.
HKEY_CLASSES_ROOT: This is legacy, specifically for COM class configuration and options (which are objects not specific to one program/user/system/etc).
HKEY_CURRENT_USER: User-scoped configuration for the user currently logged in (note: this is essentially a shortcut to an HKEY_USERS entry)
HKEY_LOCAL_MACHINE: System-scoped configuration.
HKEY_USERS: User profiles.
HKEY_CURRENT_CONFIG: Like HKEY_CURRENT_USER, this is a shortcut to the directory in HKEY_LOCAL_MACHINE that stores information about the current hardware configuration.
 
I ordered a MacBook Pro last night. But I've no intention of running MacOS X or Linux. ;)

Wow, you gave in! :lol: Even though I'm running windows...:mischief: Anyway, you'll like Mac OS X and running Windows on a mac. Despite your attacks before I can assure you of that. :D
 
Wow, you gave in! :lol: Even though I'm running windows...:mischief: Anyway, you'll like Mac OS X and running Windows on a mac. Despite your attacks before I can assure you of that. :D

I think the earlier attacks were on the operating system, not the hardware. I think Macs have great specs, and if I had the money, I might be tempted to get a MacBook Pro for running Vista. I couldn't switch to OSX though...
 
I disagree that we should make life more difficult for users in the name of not putting symbolic links infront of users.
Okay, feel free. :)

I groan each time I'm forced to use a GNU environment, so it's somewhat reassuring that I'm always a bit farther away than touching them..

Out of curiosity, can you provide an example of what you need a GNU environment for that you can't accomplish in Cygwin?
Some level of consistency. Windows and *NIX-like environments are just too different for me to feel comfortable trying to mix the two.

OS X code is guaranteed to work with both gcc 4.0 (Tiger and probably 4.2 in Leopard) and Intel C/C++. This is because Apple's build system builds it on both each night, gcc for compatibility and Intel for performance.
Nevertheless, I am sure the claim was made that retail 10.3 was GCC-compiled, at the very least in large parts.

It has? What Win32 API features were added in Vista?
Lots of things, across the board from hardware to product (i.e. what the OS currently is) information. http://msdn2.microsoft.com/en-us/library/aa383874.aspx

Yes, you can write device drivers using the .NET APIs. No, device drivers do not run through the CLR, they are compiled down like Win32 drivers.
Okay. This must mean however, that there is fundamental difference between how code is treated between different parts of the greater .NET API. Some parts must be usually handled via the CLR (even if they can then be 'fully' compiled) while other bits must be compiled to machine code if they're to act as device drivers.

.NET is not all about the CLR. It's a nice feature, but it's not required. Have you ever used Paint.NET? During the install there's a screen where it says it's "Optimizing Paint.NET for your system". This is actually just-in-time compiling (JIT) the entire program with optimizations specific to your system (for example, a Core 2 Duo system would compile with SSE, SSE2, SSE3, SSSE3). Other implementations just JIT certain functions or as they're first called.
Yeah, I've used Paint.NET and presumed that something similar to this happening. (Sorry, I assume that don't mean "JIT-ing the entire program"; surely, you mean pre-compiling the program, since you're not JIT-ing functions and then caching them as they're called in that case.)

That's the first thing I remove in Windows, the shortcut overlay. ;)
Well. Then it's obviously a matter of taste. :rolleyes: ;)

This is a great example.

Choices:
- You use System Restore. No registry modifying needed.
- You use the boot rescue disc to repair the boot sector. No registry modifying needed.
- You use the "Repair windows" functionality of the boot disc. No registry modifying needed.
System Restore? Good idea, but the boot sector's mangled. Nothing will accept that it's a System disk and therefore find System Restore points on it.
Boot Rescue Disc will not repair the boot sector. None of the command-line tools work on the volume, since the volume is not respected as a real system volume. Even the force options will complain and fail.
Repair Windows will tell that for some reason related to the disk, it cannot repair the installation.

I admit that I mangled the boot sector up something good, but none of this would be a problem if tools just did what they were damn well told.

Keep guessing if you want. :)

HKEY_CLASSES_ROOT: This is legacy, specifically for COM class configuration and options (which are objects not specific to one program/user/system/etc).
HKEY_CURRENT_USER: User-scoped configuration for the user currently logged in (note: this is essentially a shortcut to an HKEY_USERS entry)
HKEY_LOCAL_MACHINE: System-scoped configuration.
HKEY_USERS: User profiles.
HKEY_CURRENT_CONFIG: Like HKEY_CURRENT_USER, this is a shortcut to the directory in HKEY_LOCAL_MACHINE that stores information about the current hardware configuration.
Urgh. Spurious, hidden shortcuts again.


I'm still not convinced I'm sure what the state of Win32 actually is. All the Microsoft docs refer to Win32 as 'native' and .NET as 'managed' which doesn't really help. Is there a statement on obsolesence somewhere.
 
Okay, feel free. :)
System Restore? Good idea, but the boot sector's mangled. Nothing will accept that it's a System disk and therefore find System Restore points on it.
Boot Rescue Disc will not repair the boot sector. None of the command-line tools work on the volume, since the volume is not respected as a real system volume. Even the force options will complain and fail.
Repair Windows will tell that for some reason related to the disk, it cannot repair the installation.
I've never heard of anyone running into this kind of problem before. Even with an unavailable boot sector, this can be repaired via fixmbr in the recovery console. Rebooting with this fixed MBR and you can see the Windows installs and fix them.

I'm a bit confused what this has to do with the registry.

Urgh. Spurious, hidden shortcuts again.
Again, this is a GOOD thing. Without the automatic aliasing, when programs write to the user's preference, they'd have to have a whole bunch of logic to determine which user is logged in and which registry tree they belong to. With HKEY_CURRENT_USER, all they need to do is write to that key and it updates the appropriate subkey in HKEY_USERS.

This is a good thing, not a bad thing. It's an example of why develop for Windows is so much easier than other systems, because little things like this do exist to aid the developer.

I'm still not convinced I'm sure what the state of Win32 actually is. All the Microsoft docs refer to Win32 as 'native' and .NET as 'managed' which doesn't really help. Is there a statement on obsolesence somewhere.
.NET is not necessarily managed code. C++ in .NET is not the same as Managed C++ in .NET.

There are a variety of .NET programs. There are .NET programs that run in the .NET CLR (these are "managed"). There are .NET programs that run natively. There are .NET drivers that run natively. All fall under the umbrella of .NET, but they don't function the same way.

.NET CLR -based programs are akin to Java.
.NET native apps are akin to gcj-compiled native applications.
And .NET drivers are akin to Win32 drivers, but with a new API with more options (eg, video card drivers run in protected mode, not kernel mode).

As for it being obsolete: How many Vista Win32 books do you know of?

grep this list: http://www.microsoft.com/mspress/findabook/list/title.aspx

See any Win32? See any .NET?
 
I've never heard of anyone running into this kind of problem before. Even with an unavailable boot sector, this can be repaired via fixmbr in the recovery console. Rebooting with this fixed MBR and you can see the Windows installs and fix them.
That's certainly what the docs told me. Problem is that it didn't work. I had to install Vista onto a different partition and that then recognise and fixed up access to the pre-existing install (but in the process messed around with drive letters).

I'm a bit confused what this has to do with the registry.
It has to do with the registry, because when I finally did fix it, the weird use of paths involving drive letters to determine user profiles and such like required the use of the registry


Again, this is a GOOD thing. Without the automatic aliasing, when programs write to the user's preference, they'd have to have a whole bunch of logic to determine which user is logged in and which registry tree they belong to. With HKEY_CURRENT_USER, all they need to do is write to that key and it updates the appropriate subkey in HKEY_USERS.
But why doesn't regedit make it obvious that it's an alias?

This is a good thing, not a bad thing. It's an example of why develop for Windows is so much easier than other systems, because little things like this do exist to aid the developer.
I sincerely hope this a joke designed to bait me. This is hardly a startling innovation or insight.

.NET is not necessarily managed code. C++ in .NET is not the same as Managed C++ in .NET.

There are a variety of .NET programs. There are .NET programs that run in the .NET CLR (these are "managed"). There are .NET programs that run natively. There are .NET drivers that run natively. All fall under the umbrella of .NET, but they don't function the same way.
I'm just quoting the frontpage of the Microsoft Developer's Vista minisite:
Developers can create Windows applications using both native (Win32) and managed (.NET Framework) technologies that will help to leverage the platform; build high-quality user experiences; and ensure programs are consistent with common Windows interfaces as well as other Windows-based applications.
http://msdn2.microsoft.com/en-us/windowsvista/default.aspx
As for it being obsolete: How many Vista Win32 books do you know of?

grep this list: http://www.microsoft.com/mspress/findabook/list/title.aspx

See any Win32? See any .NET?
To be fair, that's because any book title refers to it as "Programming Windows" or at most "WinAPI". Besides which, it's not really like anyone had to write another one after '98 or at most '02.

Win32 should be considered obsolete. But it's not. Not even by teams developing within Microsoft.
 
Here we go again.

My speccy's better then your C64, My Amiga is better then your Atari St and now the My PC's better then your Mac.

I work with both. And I must say that these days its more a case of what feels better to use then the machines themselves.

But here are the facts.

PC's are built by many different companies which keeps their costs down, with this in mind Mac only built by Apple, have always tended to be a little more expensive, and have never featured the latest technology, this to some degree is changing, but the latest spec PC will almost always outspec the latest Mac.

Now on to OS. Windows has been written with the idea of plug anything into my box and it will work. This attitude has tended to leave the PC with the reputation that it is more flakey, this is due to Windows historically having to work with more configurations. On the flip side its only recent macs that have had to deal with a wide range of plug-ins. So on this score OSX should work better then windows. Let us not forget Linux, Linux tends to be more stable then Windows, but not all kit is Linux compatible and to some degree has the same outlook to life as the Mac.

Though my work experience I find in a production environment (print artwork/ web design) Macs and PC's tend to fall over as much as each other.

Which platform would I want to play civ on? To me it wouldn't matter as long as Civ ran nicely. If it was down to cash, then run Civ on a PC using windows or Linux, your experience will be the same, just a little cheaper then on a Mac.
 
Back
Top Bottom