Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
whooleytoo said:
Doesn't this thread just validate the original poster's point - that a lot of work/expertise is required to keep a network of Windows workstations virus/malware free; while on the Mac side it's trivial.
Maintaining a network, on any scale, on any platform, is not supposed to be trivial. Keep updates running, keeping the perimiter secure ... it's work. That's why it's called administration.

Some platforms simplify and automate -- but it's still work. It still requires a fundamental understanding of the technologies involved to be well-executed. I know plenty of DIYers who have a wide-open and completely vulnerable network (or a machine plugged into a cable modem w/ no firewall in place), even if they're running OS X, because they simply don't know any better.
 
Earendil said:
[...] I was just countering a few other peoples "blatantly generalized observation" that all CS majors SHOULD know Windows, on pain of being laughed at on these forums.
Try this, then: As an active member of academia and someone who will be fighting tooth and nail for a job in the "real world" in a few years, you need to take this opportunity to learn as much as possible before your ignorance (to Windows, especially) becomes detrimental to your marketability.

The desktop world, in general, runs on Windows. The server world runs on whatever is "best" from one application to another (Linux, UNIX, BSD, OS X, Windows NT, Windows 2000, Windows 2003 ... the list goes on and on ...) and they all have fundamental and philosophical differences.

Think about that for a second. When you step boldy into the "real world" for one of those lucrative and evasive high-paying jobs, you won't have much choice as to which platform you work on. That will, more often than not, be dictated to you and, like it not, it's usually going to be Windows. Get used to it. Telling a hiring manager, "I neither know nor like [the operating system your project is running on]" won't put you in a very favorable position compared to the kid down the hall with a Powerbook, a Windows machine, and a Linux fileserver.

If you want to be a successful CS grad (rather than landing back in grad school immedately after graduation), you need to learn not only design patterns, data structures, and programming languages, but as many operating systems as possible -- including Windows, Linux, and OS X -- and how to troubleshoot/repair them.
 
ChrisBrightwell said:
Try this, then: As an active member of academia and someone who will be fighting tooth and nail for a job in the "real world" in a few years, you need to take this opportunity to learn as much as possible before your ignorance (to Windows, especially) becomes detrimental to your marketability.

The desktop world, in general, runs on Windows. The server world runs on whatever is "best" from one application to another (Linux, UNIX, BSD, OS X, Windows NT, Windows 2000, Windows 2003 ... the list goes on and on ...) and they all have fundamental and philosophical differences.

Think about that for a second. When you step boldy into the "real world" for one of those lucrative and evasive high-paying jobs, you won't have much choice as to which platform you work on. That will, more often than not, be dictated to you and, like it not, it's usually going to be Windows. Get used to it. Telling a hiring manager, "I neither know nor like [the operating system your project is running on]" won't put you in a very favorable position compared to the kid down the hall with a Powerbook, a Windows machine, and a Linux fileserver.

If you want to be a successful CS grad (rather than landing back in grad school immedately after graduation), you need to learn not only design patterns, data structures, and programming languages, but as many operating systems as possible -- including Windows, Linux, and OS X -- and how to troubleshoot/repair them.

I hope you weren't trying to counter my point, and are just trying to be a swell guy and give me some advice. Because if you were countering a point of mine, well, you missed it ;)

Thanks for the advice though. It is that very fact, marketability, and the simple fact that I will probably be required to program for windows computers, that forces me to explore the "dark side". I have applied for our schools Help Desk, so that I may be there and taught how to trouble shoot windows problems (as well as add some BASIC Mac knowledge to an ignorant set of people). I also do attempt to help others with Windows problems, as well as catch as much as I can from my CS classes and fellow students about the Windows OS.

I still stand by the fact that that, while a particular CS task may require working knowledge of an operating system, the point and purpose of many CS tasks has nothing to do with knowing an operating systems.

~Tyler
~Earendil
 
Earendil said:
I hope you weren't trying to counter my point, and are just trying to be a swell guy and give me some advice. [...]
It was the latter much moreso than the former.

I still stand by the fact that that, while a particular CS task may require working knowledge of an operating system, the point and purpose of many CS tasks has nothing to do with knowing an operating systems.
I stronly disagree. There are a *lot* of things that are specific to each OS which allow you to make your CS solutions more or less elegant and effective than others.

If you look aruond at some F/OSS projects, I'm sure you'll find dozens of examples where a lot of time (and, in the commercial sector, money) was saved by *knowing* how the OS works and how to interact with it as effectively as possible.

Take a crash-course in inter-process communication on each of the major OS flavors. You might be surprised.
 
ChrisBrightwell said:
It was the latter much moreso than the former.


I stronly disagree. There are a *lot* of things that are specific to each OS which allow you to make your CS solutions more or less elegant and effective than others.

If you look aruond at some F/OSS projects, I'm sure you'll find dozens of examples where a lot of time (and, in the commercial sector, money) was saved by *knowing* how the OS works and how to interact with it as effectively as possible.

Take a crash-course in inter-process communication on each of the major OS flavors. You might be surprised.

Perhaps you are referring to the programming side of CS? Truly, there are very practical reasons for knowing an operating system. I'd take you example a step farther and say that many tasks don't lose time or money, but in fact can NOT be done without a working knowledge of an operating system.

BUT, that is the practical part of CS, the job market part of CS. The Science of Computers doesn't care what operating system you are on. When a Prof teaches some one how to be a good programmer of computers, it doesn't matter what operating system you are on (as long as you know it well). The concepts, ideas, and operations of computers are more or less the same no matter the OS. Programming for each OS could be drastically different, but that's not what Computer Science is ABOUT, though it is something you learn.

~Tyler
~Earendil


Edit: Typo
 
It's nice to see there are more people who somewhat share my view about the Windows <> CS thing, but I think the argument that Operating Systems don't matter in CS is false.

The Operating Systems subject I had was very interesting, but it focusses on the theoretical side. We used a Tanenbaum book that more frequently referred to UNIX, VMS and archaic systems (note me not mentioning VMS as being archaic) than Windows when explaining OS basics. There was a chapter introduced in a recent edition that specifically adressed Windows/x86' ways of doing IPC, threading, paging etc. etc.

The Windows NT branch is a very advanced and modern OS that compares very well to any other OS, and there is no excuse for not being informed about the OS'es internals when programming for Windows just because it sucks.

However, dealing with Windows has become a lot of things that CS people (or anyone for that matter) shouldn't have to deal with, like viruses and spy ware. These issues are considered to be natural by a lot of people. Obligatory virus scanners and the XP service pack 2 security enhancements are not natural at all. They are because of Microsoft's lack of good programming, and I have to deal with that. THAT's what frustrates me.
 
Yeah, I agree with MacNexT (and I think I remember the same Tanenbaum book...)

It's not so much that "it doesn't matter" as much as "you're stuck with what they use to teach you"... again harking back to my days in systems engineering, for example, where they taught us everything you ever wanted to know about the basic structure of an Intel x86 computer, with x86 assembly language, little-endian data encoding, the silly 64K-segments memory mapping, etc.

I remember spending a lot of time with this one board which was basically an 8086 on a board with an 8-digit LED display and a numeric keypad, and we had to program the thing in machine language. Great fun, I actually really enjoyed that. I TA'd for that course a few years later, and loved it.

Useless to you if you prefer to work with a big-Endian, Motorola architecture, but hey, it's not the specifics that count, it's the concepts.

When we learned about OS's and IPC's, forks, semaphores etc, it was a Unix variant that we learned on. (edit: there may also have been a DOS-based set of C files that provided simplified API's to help us learn...)

I don't remember learning any of the specifics of Windows administration from any courses, but we had to hold our own operating the lab computers running NT and Linux. After I graduated I felt I had a confident skillset in both those platforms (though my experience with Macs was still stuck at OS 8 levels; my first experience with OS X wasn't until 2003!)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.