Keep in mind that the NeXT computers came out in 1988 and 1990, 7 to 5 years ahead of Win95. They were powered by Motorola 68030/40 CPU's, which were competitors to the Intel 80386/486, and they included 8-32MB of RAM. When Win95 came out a lot of machines only had 4MB still. They also had a 'megapixel' display with 1120 × 832 resolution. Most PC's were shipping with 640x480 VGA graphics at the time.
Price-wise, a NeXT machine had a base price of $4,995 and you could get a Win95 capable PC for $995. But this of course was years later.
But Windows 95 was away ahead from other UNIXes in terms of IDE and GUI development experience. Most had nothing more besides Motif + C to offer.
To this day Mac OS X is the only UNIX with SDK tools that can rival the likes of VB and Delphi in native development offered already in Windows 3.x.
If the Gnome foundation would focus on Gtk+Vala+Glade it could have been a fantastic development platform. I don't know much about the state of Vala today though, too bad because it's blazing fast and can use any Gobject library. Unfortunately the docs are just bad compared to Apple or MSDN, the need to find a better way to organise the information on their site or move to a new CMS...
Picking Gnome as example, not only do you have what you have mentions, but you also have Anjuta and Builder.
Although Ubuntu now kind of has an SDK based on top of Qt/C++.
However none of them close to the developer experience that Delphi and C++ Builder used to have. Or nowadays the .NET and UWP stack have.
cough Lazarus cough.
https://diglib.eg.org/bitstream/handle/10.2312/EGGH.EGGH97.0...
I'd have loved to have cheaper and cheaper versions of NUMAlink in my desktop with stuff like their FPGA boards and graphics pipes. NUMAlink cards instead of PCI cards. Microsecond latency with almost 80GB/s speeds. Cellular IRIX-style splitting of system along multiple boards for max reliability and efficiency. Nice, alternate reality. :)
(BTW, I'd have been quite happy with an SGI Indy laptop, y'know .. like the one we saw in the movies, a year or so before Steve did the tiBook..)
Also unless you are speaking about Windows 3.x, your statement about prempemptive multitasking and memory protection is wrong.
I develop software for Windows since the 3.0 version.
It mattered just as much as it matters now, and it will always continue to matter. People didn't know that it mattered because people didn't know anything better. After all, for the vast majority of people crappy DOS-based Windows from Microsoft was the only thing they could afford to use (in every sense of the word, not just financial sense).
> Also unless you are speaking about Windows 3.x, your statement about prempemptive multitasking and memory protection is wrong.
No. 16-bit software was cooperatively scheduled, and there was a lot of 16-bit software in the Windows 95 era. Even significant components of the first version of Windows 95 were 16-bit. Hell, lots of drivers were real-mode drivers!
Software used virtual memory, but there was zero, nada, nil memory protection. In fact it was pretty standard for programs to stomp over each other's memory as a "feature".
> I develop software for Windows since the 3.0 version.
Who cares.
Whoa. This breaks the HN guidelines. Please edit personal nastiness out of your comments here.
Your comment would be so much better without that last bit.
As for who cares, the customers that value my detailed knowledge of how the Windows stack works, since I don't mix technology with OS religion.
Looks like someone hit a nerve there. Downvoted.
NeXTstep is interesting, but it was largely an integration of existing systems in a greenfield landscape. For example, CUPS remains a useful design today. Back in the days of NeXTstep, it required a high end printer. Windows 95 would [for practical purposes] print to any device or from any application that DOS or Windows 3.x would.
Which is to say that "advanced" depends on whether being able to use an existing impact printer with a new operating system is advanced or if not being able to is.
Hmm...CUPS came way after NeXTStep, way after the NeXT's acquisition of Apple acquisition in fact (wikipedia says 1999). NeXT itself just used lpr/lpd, that was it.
Of course, being Unix, you could hook into the lpd system and add your own filters. NeXT itself did this, using the on-board DPS to RIP for the NeXT Laser Printer (a Canon laser engine) and the NeXT Color Printer (a branded version of the Canon 360 dpi bubblejet). There was a quite a bit of trickiness involved, contacting the WindowServer from a background process and using high-resolution/high-bit-depth rasterising, but it was doable.
Third parties could also do this, for example I made drivers for anything from low-end Epson, HP and Canon ink jet printers (including a more advanced driver for the NCP) all the way to high end proof printers, film recorders and color laser copiers ( $50-90K items at the time). Others hooked up phototypesetters. So you definitely could print to anything as well, and everything would then come out in beautiful Postscript Level 2, with amazing WYSIWYG fidelity.
While the straightforward approach of doing this did require a printer with a raster interface, most low-end printers had that and when there was a print-head, a line of buffering was sufficient. It was more the mid-level laser printers that were a problem, because lasers required a full-page buffer and some just didn't have that much memory.
One time there was a Mission Critical Custom App (MCCA) deployment at a large pharmaceutical company that was in peril because they had several hundred (or thousand? I don't remember) IBM laser printers that did not have enough memory for a raster bitmap...and no-one had thought of that beforehand. Oops. No worries, I created a driver that extracted the text (they were only interested in the text) and precise positioning information and then sent commands in the printer's command language (not PCL or anything else that was well-known) to position/output that text.
Of course, Adobe didn't like all of that printing, and so they continued to tighten the license agreement and hike the fees for print-use of DPS.
Anyway where I was going is that as a user, I don't give a shit about API's and the quality of their design. I care about working software. The agile manifesto didn't invent the idea. Just pointed it out in order to change a world where "there are two types of people: programmers and their victims."
But as Faulkner might say, the past isn't even past.
[1]: It gets its own Win2k VM since it has some 16k code for backward compatibility. The VM doesn't connect to the internet because the world has changed.
Slightly off topic, but this made me look at the efforts to preserve video game history in a whole new light.
Somebody has to become the historians of the early era of video games before it all bit rots away.
As a platform to use and develop for, basically.
The big problem was that Windows 95 was such a crippled platform. In a lot of cases you'd want to do your real development and debugging on an NT machine and simply target Windows 95. (it was not in any way, as someone else stated, a "DOS shell" but it was still pretty bad)
From a user point of view, well, a lot of people thought the NeXT environment was pretty great. Windows 95 was easy to use but it was just MSFT's first step out of the primordial ooze. I'm not sure how much difference it truly made if you spent your whole day in Photoshop or PageMaker or Mathematica or whatever, except you'd expect the Windows 95 machine to crash a lot more often.
I honestly remember the later Windows 98 experience as being almost crash-free, and since the architecture was basically the same a lot of that probably has to do with higher quality hardware (and better drivers, of course). That was the golden time of the Intel 440lx and 440bx and ECC RAM support on desktop motherboards, when just about every blue screen could be attributed to those newfangled AGP graphics accelerators...
This bit us at VMware, since it was common to want to run old Win95-only software in a VM on fast machines. We ended up having the VMM (Virtual Machine Monitor) patch up the bug when it did binary translation.
That's interesting. What's the threshold there?
http://virtuallyfun.superglobalmegacorp.com/2011/01/10/windo...
And given what Jobs said about his experience leaving Apple, I don't think a lot of NeXT would have even been made at the time had he stayed. The focus probably would have stayed on Mac and Mac OS. And unless Jobs was somehow able to dramatically change the outcome of that platform, that would have actually resulted in Microsoft being ahead, as Apple wouldn't have OS X, but Microsoft would have Windows NT, which could have ended up being the most sophisticated mainstream desktop OS.
We might have been living in a world where something resembling Vista and Windows Mobile 6 dominated the market...
Other than hardware compatibility, the OS and Objective-C + InterfaceBuilder development environment was far ahead of the mainstream.
They were still aiming for high quality, when there should have been an emphasis on quantity.
All told, a NS system would cost around 3x the cost of a Windows system.
It was a decade after the '95 release before optimization and hardware advancement had a NeXTStep-derived OS running 'snappily' on consumer desktops.
The object oriented API alone seems to me like a huge step ahead. Imagine if Steve Jobs never left Apple and got to ship these things under the better-known Mac brand, possibly stealing a lot of Microsoft's thunder.
EDIT: It's also interesting, and maybe ironic, that the legendary Doom which went on to make PC/DOS a relevant force in gaming, was developed on NeXTSTEP, with some parts coded in Objective-C. [1]
[1] https://en.wikipedia.org/wiki/Development_of_Doom#Programmin...