I stopped printing on Linux when it switched from the old printcap based tools (which while hard to configure, mostly worked) to CUPS. I was an experienced sysadmin, but no amount of configuration could make CUPS print anything but the text of postscript files to my laser printer.
I'm sure it's gotten much better, but CUPS is pretty opaque, and when you're doing 3D printing, controlling the conversion pipeline from model to print code is typically done manually with a great attention to detail.
I'm kind of surprised to hear that CUPS gives some people so much trouble. I've been using OS X and Linux since around 2001 and neither have given me any mentionable trouble with printing. It's always been install drivers -> flawless printing. In the case of my newest printer, I didn't even need to install drivers since it's AirPrint compliant. CUPS has been great for me.
This mirrors my experience. When I was in college I was always able to plug some random person's printer in via USB and it "just worked". I'm also able to autodiscover and print to all of the laser printers at work. (this is on Linux)
Have you tried debugging things when cups doesn't "just work"? printcap was much simpler, which made it easier to understand and diagnose problems.
In general I think there's a positive correlation between the precentage of cases where software "just works" with no manual intervention and the effort required to diagnose the cases where it doesn't.
Yes, I spent plenty of time debugging CUPS in the old days. But I haven't, in ages. printcap may have been simpler, but shortly before CUPS was released, the linux implementation had matured significantly and could do many basic conversion operations. Distros supported this and handled things like ghostscript conversion.
These days, I print in a number of ways that work fine, including Mac OS X (a version of CUPS which has already been debugged and polished for many printers I use), Windows (my preferred printing system since it supports the largest number of printers), and Google Cloud Print (for the set of printers I use that have that as their access protocol).
Old Laser printers were brutally poor at modeswitching. You have to send the set of escapes for language selection in exactly the right state in the state machine for it to take effect. If you've left a bit of an old job in a buffer somewhere -- oops, that's 50 pages of raw postscript.
Modern printers that ditched plain-ASCII printing are far more reliable.
I disagree about the old laser printers. I had printcap files that would take dvi2ps postscript just fine. This was CUPS just catting ps output of ghostscript at the printer without setting control codes no matter how it was configured.
My first thought on reading the headline was: hadn't they better get printing working first? I just assumed it still doesn't because after five years or so of not being able to print anything but postscript files to a postscript printer I completely gave up on printing on linux, because like you, no amount of messing with configuration stuff would make it work (I could on rare occasions get CUPS configured on a single machine with one printer, but it was always an incredibly fragile and delicate arrangement that fell to bits when anyone looked at it sideways.)
I started printing on Linux when it switched from the old printcap based tools (which were hard to configure and mostly didn't work) to CUPS. I was an experienced sysadmin, but no amount of configuration could make the old printcap based tools print anything but the text of postscript files to my laser printer.
I believe the OS X implementation of CUPS is rather different from the standard open-source version used on Linux. In particular, if I recall correctly it uses PDF as its internal working format rather than Postscript and a completely different set of printer drivers to the Linux version.
No - it is standard CUPS with some extensions to interact with the MacOS GUI. It runs the same drivers as Linux which is great for old printers or those without MacOS support.
The main change when Apple purchased the project was a license change to allow proprietary drivers when running on OS X.
I suspect you're getting confused with the change from NeXTSTEP to MacOS X where Display PostScript was replaced with a PDF-like system for copyright/licensing reasons.
I'm sure it's gotten much better, but CUPS is pretty opaque, and when you're doing 3D printing, controlling the conversion pipeline from model to print code is typically done manually with a great attention to detail.