Discussion in 'Programming & Software Development' started by Hamulus, Nov 8, 2006.
So what machine did you friend endup purchasing?
In the highend corporate environment there is more to buying computers then a price point... For a start big companies will only purchase from the big boys even if you can do it for 1/10th of the price they will not buy some put together system.
There are to many associated support and supply issues to look at a system like the one your talking about. Can you supply 50 machines in 2 weeks? If 5 die can you replace them the next day? etc etc etc.
Also another big issue is software certification, these big companies will only buy machines that have been certified by the software vendor for support reasons.
Also the price they get stuff is far different from what you see advertised on the web.
Windows' taskbar sucks. Period. Stacked windows, shitty shrinking icons, inability to distinguish one instance from another -- no thanks. Expose trumps the taskbar every time. Spotlight is a bit more personal. I know how to organise my files too. I don't think that was ever the issue. Dealing with very large hierarchical directory tress however is. Just because I know that the file I want lives at /Users/xsive/docs/2005/books/technical/gof.pdf doesn't mean I want to get RSI by constantly clicking to travese locations. Also, spotlight's ability to index on metadata means I can go search for some tidbit of information I stored in a document years ago during some 3am frenzy and find it right away instead of trying to remember which of the several related things it could be in.
You're dismissing excellent tools because you've created workarounds to do without them and now you prefer to keep doing what you've been doing instead of taking a step back and looking at what else is out there to help ease your monotonous activities.
Windows' wireless support relies on third party providers and custom software put together as an afterthought by some Taiwanese manufacturer who should stick to making hardware and not be allowed near anything that will involve users. The drivers for my Netgear and D-link wireless NICs are woeful. Just creating an ad-hoc network is terrible. Nevermind the nuisance of finding the right network when you travel between locations even though you've connected to the same set of wireless networks hundreds of times before. OSX does all this for me. Reliably. First time, every time.
I never said Windows didn't have all that. I was pointing out that managing and configuring these services is a disjointed activity involving different configuration snap-ins scattered all over the the OS. No thanks. Under OSX I go to one place tick a few boxes and have everything I want up and running quickly. No hassles, no problems, no need to remember which obscure thing I need to load to manage some particular aspect of the OS.
Sweet. Go Windows. It only took it 20 years to catch up. Besides which, it's a Vista thing and I'm not in the habbit of discussing the merits of unreleased software.
No, it's not irrelevant at all. Cygwin is a hacky workaround to get similar functionality bolted onto an OS that was never intended to work in the way developers want it to.
I'm well aware of the VS express editions. Lets see, I only need to download 3 different variants of the same tool depending on whether I want to code in C++, C# or VB. Each at 600MB a pop. Hmm. No. I won't even tell you what I think of the mess VS makes of GUI generation.. or the fact that I have to work with a convoluted API that's over a decade old and just won't die. Take a look at Cocoa and take a look at the UI creation tools that Xcode affords. Have a look at how nicely you can link control elements to functionality. In some respects, Xcode is truly ahead of the game. But that's not the point. I don't want to fight over which IDE is better because I don't care enough.
I do want to point out that OSX caters to the developer far better than Windows. Most of your responses have revolved around using third-party software and workarounds to achieve the same kinds of workflows that I can on my mac with minimal effort. I don't care what I can download and install to get Windows to jump through some hoop it was never intended to. I care about what I can actually do with my locked-down corporate workhorse box. At the moment, developing on WindowsXP is like trying to perform surgery with rusty tools... on myself.
No, the taskbar's fine. If you're using even remotely recent software you should generally have no more than one or two instances of most applications open (tabbed interfaces anyone?). But that's a purely personal matter; Expose, like I said, is a workaround for MacOS's terrible multitasking handling. Without it multitasking on MacOS is abysmal.
Like I said, Spotlight's not useful to me, not that it's not useful at all. No desktop searching is, because I keep my files in relatively flat structures, and tend to not open many overly old documents.
Fair enough. I primarily use wired networking, so my experiences with wireless are somewhat limited. That said, I've not have the sort of problems you've experienced.
Once again, it's a matter of preference. Personally, I find Windows' grouping of Firewall configuration with network settings to be entirely logical. You're just criticising the placement of icons.
20 years to catch up? Windows NT hasn't even existed that long. The prior DOS-based Windows line was a very different product to Unix with quite different design goals. Never mind that MacOS X itself is only 5 years old. Would you like me to compare the command-line capabilities of MacOS 9 with NT 4, and point out how long it took MacOS to even get a command line?
As for Powershell being a Vista thing, no, it isn't; it's a released product for any platform that .net 2.0 runs on (ie, 2k upwards). I'm using it right now on my XP Workstation.
Which developers? Most of the windows developers I know are perfectly happy with software development on the platform, with or without a unix command line. Windows development has always been driven by graphical tools as opposed to command line functionality. You may feel hamstrung without a unix command line, but then your views as a Mac developer are a fair deviation from the majority of software developers (need I produce market share info to back this up?). Never mind that you're completely ignoring the existence of Services for Unix, which is far from a new product. The "hackiness" of Cygwin I'll address below.
.net's a decade old? Have you looked at where Windows development's been headed for the last several years, or seen VS.net? Times are a-changing friend. Yes, Win32's a bit of a mess, but then it's no longer the preferred API for Windows application development, and hasn't been for quite some time. It's primarily of use still because there's a great many legacy applications written in it, and because of the need to develop games in a non-managed environment. Even then games are primarily interacting with DirectX as opposed to Win32 itself.
Have you ever used the C# and VB.net UI designer? It's functionally identical to the XCode UI designer, except that it also support web-development tasks in ASP.net. Things get linked differently, but they're definitely no more difficult to link, and that's to be expected with different programming languages and APIs.
As for the size difference, with the sort of internet capacity one can affordably get these days, your argument is little more than a petty excuse that has nothing to do with the quality of the software in question.
The one third-party tool I've suggested is Cygwin, assuming someone absolutely can't do without a Unix command-line. Most Windows developers can, and do.
As for developing on a "locked-down" corporate workhorse, that's seldom the case with actual development boxes. Every single developer at my work, and indeed most other windows development houses I've encountered, has full local Administrator access to their system and is free to install whatever software they deem necessary. The reality of the Windows World is that we're more than willing to add extra components to our system to provide extra capabilities if we so desire them. What comes with the system and what's installed separate to it really doesn't mean much.
"Jumping through hoops it was never intended to". Can you be any more cliche? Windows is a software platform; a very extensible platform with support for dozens of development environments, APIs, languages, and the like. By your definition, running Java Applications on Windows is the same as running Cygwin, given that they're both providing APIs and tools that aren't provided by Microsoft, and which the system wasn't designed to specifically support. .net itself is implemented on top of Win32/64, in a manner similar to Cygwin or Java. Does that make it a clunky hack?
On that note, Windows is actually designed to implement multiple subsystems on top of the kernel. Take a look at the environment subsystems box to the top right of the below diagram. Services for Unix fits in the "POSIX" subsystem slot. Win16 and DOS support are similarly supported by different subsystems. On 64-bit systems, Win32 is implemented as a separate subsystem that translates system calls to the default Win64 subsystem.
We're really not getting anywhere with this. One day I might take a snapshot of my screen at work and you may begin to understand why I'm frustrated.
If only. I'm criticising the disjointed workflow required to manage a windows box. There's no sense or coherency, for example, between managing windows shares or sharing via http even though if I'm likely to need one, I'll probably want another. That's just one example.
I'm talking about Windows, as an operating system, which has existed in various guises since, what 1985?.
But OSX is built on BSD which is itself quite old and based on even older AT&T Unix. The nice developer facilities have been around for ages; it just took this long for Microsoft to notice that anyone cares.
Most developers I know don't know any better.
No, but Win32 is. Microsoft just keeps building layers of abstraction over this monstrosity instead of retiring it like they should have a long time ago.
My experience is quite different. Most large organisations (especially in the public service where I work) are paranoid and lock down their developers almost as much as the other cubicle drones. You can see why I'm not digging the whole Windows experience I hope. If it's not there by default, I'm not very likely to be using it. Linux/OSX are so much better for the developer in such circumstances. Everything is there ready to go. Windows requires tweaking, installing, and generally getting a whole lot of RSI while you click a thousand different things just to get the box working correctly.
I won't even go into what a horrible mess most boxes that aren't locked down become because Windows doesn't have a nice way of managing software. Then there's the increased costs associated with supporting all these third party utilities across the entire environment because any libraries the developer is using are going to need to be shipped to client PCs.
Anyway, you're not convincing me much. Windows development is and probably always will be, a series of hacks to get around the limitations of the platform you're working on. It's slowly getting better but I'm not going to hold my breath while Microsoft slowly re-invents Unix.
Once again, it come down to a different way of thinking. Windows differentiates file sharing and HTTP serving as totally different tasks. File sharing is managed from the place you manage files, and HTTP serving is managed from the place you manage Windows Services. HTTP serving is far more than just the simple act of sharing files.
Except Windows NT isn't even remotely similar to Windows 3.0 in pretty much every single way. Windows XP and Vista are almost as far advanced again from Windows NT 3.1. MacOS, as an operating system has existed in one form or another for just as long, but I'm not going to criticise MacOS X for the failings of System 2.0.
Except MacOS X is no different; it's ultimately just extra layers piled on top of BSD and the POSIX API, itself a 30-year-old OS. Win32 itself isn't that bad anyway; as a C API to the Windows system it's pretty decent. And if you don't like Win32, there's always the COM+ APIs and now .net. Ultimately it's just personal preference; personally I much prefer to develop in Java, C# or C++/COM+ to Objective-C and Cocoa. Java and C#'s APIs are far more widely supported than Cocoa's, and both they and COM+ have far more robust enterprise object models than Cocoa will likely ever have.
Yeah, the public sector is a whole different kettle of fish. I'm just glad I don't work in it .
I can understand why you don't like using Windows; that's fine. My problem is that you're taking a Mac/Unix-centric attitude of "everything provided by the system", applying that to a system that's always had a very third-party centric take on things, and then saying that the Mac way is better because how Windows does things doesn't fit with your expectations. Neither Windows or Linux or MacOS or BSD or any other operating system is in general better than any other; they simply do different things in different ways.
This is exactly the attitude I'm talking about. The Linux/Mac way isn't better, it's different. I and many others have no problem installing and using third party utilities to do our work on a Windows desktop. I likewise have no problem using Slackware's package system on my firewall/router, or BSD ports on my BSD development system. Once again, different operating systems do things in different ways.
My point isn't to convince you; it was to provide an alternative viewpoint to your MacOS fanboy attitudes for any others who may be reading, and to correct some of the blatant inaccuracies you've posted in several of your replies.
Just when I thought we were getting somewhere
I've posted no blatant inaccuracies merely my experience with Windows and why I dislike working with it as opposed to some of the alternatives available. My intention wasn't to spread mac propaganda because I just don't give a damn. I develop across many platforms, including Windows, Linux and OSX and I find the former leaves a sour taste in my mouth.
It's not all bad. There are some things I really like about working with Windows, like the excellent support for web service development, deployment and management. The Microsoft Enterprise Library has also made my life alot easier and some of the other stuff coming out of the patterns and practices group is very, very cool. My problem however is with the heavy dependence on third party tools just to drive a system which was not written with power users as the primary audience at any level. There's simply not enough stuff there out of the box.
Sorry, but that's how your posts came across. With statements like "OSX is simply more productive, more usable and more efficient than any other competitor", can you really blame me for getting that impression? As for the inaccuracies, I'm talking about stuff like "Besides which, it's a Vista thing" for software that's available for everything from 2k upwards, "Cygwin is a hacky workaround", or mischaracterisations like "It only took it 20 years to catch up" and your comparison of MacOS's modern API (Cocoa) versus Windows' legacy API (Win32) as opposed to its modern API (.net).
You'll get no argument from me on that; Microsoft's enterprise support is exceptional, compared to the lackluster capabilities of most other systems, bar J2EE or the the higher end services from IBM (such as CICS) and various other vendors.
I guess I could argue that power users should have no problem doing things the hard way or getting their own tools, but that'd be pretty pointless . Ultimately, the Windows world has evolved to one of many products provided by many vendors, allowing competition and choice between competing products, rather than simply all-inclusive solutions from the OS vendor. I and many others much prefer that to the Apple-dominated software situation on MacOS. Once again, it comes down to preference.
You guys postings have absolutely nothing to do with what the OP is asking for.
Should he get a mac for graphic designing purposes?
A lot of pros and cons on either side but the general consensus is Yes.
Technically speaking, Mac OS X is a complete overhaul relative to previous versions.
Indeed it is, but you've cut off the entire point of the comment, and taken it out of context of the string of comments in which it was made:
Which was a reiteration of a previous comment made by myself, which stated what you've just posted:
This was in response to a comment initially made by xsive that Windows "only took it 20 years to catch up", with regards to my describing of Microsoft PowerShell. Basically, I described something neat that windows had, he replied with a comment that it had taken Windows long enough to get such a feature, and I responded by pointing out that MacOS itself didn't even have a command line until 5 years ago.
Apple Mac Pro : The Best Windows Workstation Available
Right. Sorry. I'm not up on recent Windows software like .net 2.0. All I'd heard about PowerShell was in the context of Vista. My workplace is the only time I have to deal with Windows anymore and we're still using .net 1.1. It is very new also whereas the unix tools I discussed have been around for decades. As I said, Microsoft has been playing catchup with Unix for a long time and very slowly they're re-inventing more and more. They just don't want to admit it.
Also, I do think Cygwin is kinda hacky. Not in and of itself but from the point of view that someone somewhere had to go to all the trouble of porting GNU tools to Windows because the stuff it ships with is so woefully underpowered.
Right. I think the argument boils down to this: Windows is a base, OSX is a platform. Both are capable of achieving similar things but only one integrates the necessary tools and utilities that allow you to extend the default operating system without the use of third-party helper apps. If you like working that way, great. Personally, I like to know I have at least a basic toolset constantly available regardless of the machine I'm working on instead of having to customise every box I come across before I can be productive.
I'm not dismissing Windows entirely -- I'm actively promoting continued .net development despite the stupidly inappropriate "lets port everything to Java" tide that's sweeping my workplace currently -- but I am glad I don't need to deal with it constantly.
Im sure at those sort of specs it would do fair well, but we're talking about for a uni student aren't we?
Haha, I'm still waiting to hear which mac the OP decided to get
Well from reading the previous OP's posts he seems dead set on a pc.. but we never know. As i've posted before, being a design student at uni, i'm quite certain I know what level of computing power and programs are needed. Mac being the mainstream in design, but as was mentioned later in the thread, final cut pro would be used, now, he's really got no option, as FCP is a mac only application.
Also, i'm curious as to what course he is doing to how FCP is used in design.. I'm sure it may be used in a film path, but nothing to do with print or multimedia design.
I actually don't think he will be using FCP now at all, but said he would be because he wanted a Mac all along. Either way, it matters not as I have advised him to get a Mac and he is keen to do so. From the responses I have recieved, it is undoubtably his best course of action!
I on the other hand am not a graphic designer, so all of my objections to buying a Mac were really irrelevant to this thread! I will say it again, I look for bang for my buck when I buy hardware, and I don't think Apple offer that, so personally, they are not for me.
Thank you kabab and proffesso, yes I understand those arguments on Apple's behalf, and agree with them wholeheartedly. But I own a PERSONAL computer, and do not use it proffessionally at all, so my money is worth a little more than my time. Hence the custom PC + OC every last drop of performance for the least outlay. I sometimes think I spend more time tweaking than I do actually using it!