10 ms·
I've always been strangely fascinated by this project. I don't understand it. I appreciate the technical skill involved, and the amount of effort expended. But,
by SwellJoe 11y ago
I've always been strangely fascinated by this project. I don't understand it. I appreciate the technical skill involved, and the amount of effort expended. But, I can't imagine working on it.
From my perspective, Windows is an inferior system to any UNIX-based system on almost every front. It has a very strong application ecosystem, but technically it's unpleasant to work on (for me). So, given that, if there's something I want an OS to do that Linux can't do, I would be motivated to work on making Linux able to do that thing so I could do that thing on an Open Source OS I enjoy using, rather than work on replicating Windows so I could do that thing on an open source OS I don't enjoy using.
But, it seems there are people who genuinely enjoy Windows more than Linux (or BSD), and are willing to work for 17 years in pursuit of being able to run an Open Source Windows version. I admire them for it, but still can't understand it.
- userbinator 11y agoIMHO the nixes have a far superior CLI, but Windows' GUI is (at least pre-Metro, i.e. Win32 desktop) superior to the many disjoint alternatives that the Linux/BSD/OS X/Solaris/etc. world has. Instead of Qt, Gtk, and all the others, Windows just has Win32 and all apps have basically identical look-and-feel (except for those that go out of their way to reinvent the standard GUI elements, but in my experience this is much rarer on Windows) and it's relatively easy for them to interact. (I've been writing Win32 apps for over a decade, so maybe I'm biased that way, but I definitely prefer (ba)sh over command.com/cmd.exe. My ideal environment would be a pre-Metro Windows GUI with a UNIX-based filesystem and command prompt...)
- sho_hn 11y ago> Instead of Qt, Gtk, and all the others, Windows just has Win32 No, Windows has Qt, Gtk and all the others, too. Virtually any regular user Windows install has 2-5 Qt apps on it. And Windows has been infamous for apps reinventing standard UI elements with skinned monstrosities.
- donatj 11y agoIt's been about 5 years since I was a regular Windows user, but I can't think of a single Qt app I used on a regular basis. Care to name some examples?
- JonathonW 11y agoI am a regular Windows user (split between OSX and Windows, actually, but Windows gets used on a daily basis) and I can't think of a single Qt app I use on a regular basis now. Actually, with my current workflow, I can't think of a Qt or GTK app that I use on a regular basis on either platform. I guess Wireshark's Qt and it gets used occasionally. But most of the cross-platform Qt and GTK stuff I used to install (Pidgin and GIMP immediately come to mind) I haven't even installed on a machine in ages. I've moved to native alternatives for a lot of the stuff I run, and what cross-platform applications I do run (Chrome, Sublime, etc.) tend to implement UIs with the native toolkit, since that's a much better experience on non-Linux platforms.
- laumars 11y agoChrome uses Aura (http://dev.chromium.org/developers/design-documents/aura http://dev.chromium.org/developers/design-documents/aura) I'd also argue that Qt applications are still "native" in that they run as a native EXE (or ELF on nix). Granted they don't use Win32 APIs, but then calling them non-native because of that is a little like calling Windows OpenGL games non-native because they don't use Direct3D. But that's an aside point. On the whole, I don't think it makes sense to categorise Windows desktop applications by what toolkit they use. MS Office 2003 didn't use Win32 toolbars. Office 2007 then introduced the ribbon bar, which changed in appearance in every subsequent release of MS Office. And even within MS Office, Microsoft doesn't always follow the same design patterns (Office 2007 used ribbon in Word and Excel but not in Outlook). Even outside of MS Office, some Windows applications in WinXP used different menu bars to the ones provided by the Win32 APIs (you can see by looking at whether menu items go 3D or just highlight when you hover over them). One example was the difference between Windows Explorer and Notepad. Plus often older Windows utilities go completely unaltered for years, eg the add font dialog box in XP was still using Windows 3.1 APIs: http://apagreekkeys.org/images/addFont1.jpg http://apagreekkeys.org/images/addFont1.jpg ....and this is all without discussing the disruption Metro has caused. I will grant you that in spite of these criticisms, Windows still fairs better than Linux in terms of uniformity. But it's certainly not consistent enough to define anything that doesn't use Win32 widgets as non-native.
- pjmlp 11y agoOnly if you ignore Powershell. You can orchestrate scripts in FP style, similar to the REPLs in Xerox PARC workstations, access any .NET, DLL or COM API as if it was part of Powershell, manipulate data without parsing it all the time, interact with running applications via Windows APIs....
- pjc50 11y agoI've tried to adopt powershell, and here are the obstacles I encountered: 1) You can't write or run scripts "out of the box", you need to do a security incantation first. A oneoff hurdle, but right at the start of the learning curve. 2) Perhaps because of (1), it's not very dogfooded: on a UNIX system, there are lots of already-existing shell scripts sitting around as parts of the OS. PS is not so rich in examples. 3) If you do actually want to parse data, it's not very good at this. 4) I've not worked out how to save intermediate stages in a pipeline to persistent storage. 5) Hasn't yet developed much of a "user culture", although I think that will come eventually.
- pjmlp 11y agoRegarding 1), at least it avoids the curl | sh => send $HOME to the world of current UNIX users.
- nailer 11y agoYou can't run scripts out of the box on nix either: you either need to manually mark the script as executable or invoke the interpreter and pass it as a parameter. Not saying that's a bad thing, just that we (as Unix folks) do things intuitively that we forgot we once not intuitive. Totally agreed on 2 though 5 though.
- noselasd 11y agoWhat comes to mind by 4), is "tee", which powershell also has - but that's perhaps not what you want/mean ?
- pjc50 11y ago
- kybernetyk 11y ago>but Windows' GUI is [...] superior to [...] OS X Hmm ...
- z3t4 11y agoI use windows for the GUI. Win8 is very battery friendly, heck it uses less battery then Linux in console mode.
- Zardoz84 11y agoIf you think that an NOT USER CUSTOMIZABLE GUI is superior...
- cm2187 11y agoTo me the superiority of the windows GUI isn't really beauty or consistency (which with Windows 10 is basically gone, you have three styles in the same OS - Win 8, Win 7 and Win XP). And Windows has many other rough GUI edges. To me the real superiority of the windows GUI is that almost all of the settings are accessible with a GUI. In Linux or MacOX you very quickly end up having to write some command lines or editing a text file. That's great for already experienced users or administrators running batches. But to the common user, discoverability and intuitiveness is crucial and you are not helping them with an OS they can't understand or control. One should be able to visually see the state of the system. If CLI had auto-complete/intellisense features, the gap would be smaller.
- recursive 11y agoSome people (like me) have invested a lot of effort learning how to use Windows. Some of those aren't particularly interested in technical superiority. The just want to use a computer in the sufficiently good way that they already know. Personally, I find Linux difficult to approach, because of the overhead involved in just getting back to my current level of proficiency. If I needed to learn it for a job, I would. I might even do it independently, eventually. It's similar to the dominance of QWERTY. But even I would much sooner learn how to use linux, than embark on a crazy project like this.
- beagle3 11y agoCould you give your opinion on Win8/8.1/Metro/Modern ? How would you rate its effect on your proficiency?
- codedinosaur 11y agoMy situation is almost identical to recursive. I upgraded to Windows 8, right when it came out. Hated the jarring dual interface. But the only thing I had to do was install Classic Shell[0]. And I was back to the familiar Windows. Practically nothing else changed from the UI perspective. The same with Windows 10 as well. I'm addicted to the Win32 based Start menu and the ability to right click files and folders from search results. So I installed Classic Shell over the new Metro based Start Menu and everything is back to normal again. Plus, I don't miss out on the speed and security improvements. [0] http://classicshell.net/ http://classicshell.net/
- beagle3 11y agoThanks. Does it totally kill metro? Everytime I work on a Win8 computer, I manage to do something that brings metro up (e.g, press the network icon in the notification area on the right, or press the "Windows" key on the keyboard), and start cursing ....
- tracker1 11y agoI'd say upgrade to 10, not as nice as 7, but way better than 8/8.1 ... just disable the two bing search options (they're annoying). Also used ClassicShell on Win8.. if you lauch a metro app it will go metro mode.. but that's the only case.
- skissane 11y ago> From my perspective, Windows is an inferior system to any UNIX-based system on almost every front. The core architecture of Windows NT is actually pretty nice. Its chief architect, Dave Cutler, was one of the lead developers of VMS. I think Windows NT and VMS do IO much better than Unix/Linux - making the basic primitives asynchronous, and layering synchronous IO on top, instead of asynchronous IO being a fragile afterthought. However, Microsoft has (no doubt forced by backward compatibility) layered a lot of less than pleasant legacy cruft on top of this nice core.
- aangjie 11y agoThat's an interesting point you make. I've not digged into NT, but is there some fork of linux that provides the same. I can think of GNU Mach, being a case of taking that to the extreme end (i.e: micro services making together a kernel).
- skissane 11y agoI don't think GNU Mach in itself provides any IO facilities, as opposed to other layers on top (e.g. GNU Hurd). (And neither is a fork of Linux.) I'm not particularly familiar with Hurd, but I had a quick look at the Hurd Reference Manual, and it looks to me like the primary IO primitives are synchronous, and there are a couple of additional calls which provide some asynch support. This is different from the NT/VMS approach, in which the primitives are asynch, and synch is implemented by combining an asynch IO call with a wait for completion.
- alok-g 11y agoBelow are the issues I face with Linux: - Windows has better accessibility support. (Windows 10 has messed some of it up.) - When there are issues, it is easy to find help with Windows than for Linux. Unless it is about a BSOD which are rare now. - While there are many claims that Linux does not need a firewall, I do not agree. Setting up a firewall on Linux is a lot more challenging (newbie here) than on Windows. For example, on Windows, I can easily control which application can access the Internet using some paid firewall product. - Finding replacement for Windows applications on Linux is a troublesome, especially given that most of them would have minor unadvertized issues like accessibility or some counter-intuitive thing with zero documentation.
- SwellJoe 11y agoAccessibility is an excellent reason to choose Windows, probably sufficient even on its own, if you need an accessible system. Accessibility is hard, and requires a ton of resources to do well...Microsoft has been willing and able to expend those resources. I do know users who require assistive technologies to work who use Linux, but it's rare and they're extremely technically savvy themselves (usually software developers). As for finding help, I usually find it's the opposite, or at least the kind of help I find for Windows is often very cargo cultish. e.g. "I did these fifteen mysterious steps, and my problem when away. I think that's what fixed it." I feel much more in command of the system with Linux. This is, admittedly, at least as much my own depth of knowledge. I've been building products for Linux for two decades, including kernel development, patching system libraries and services, etc. I actually understand Linux systems on a pretty deep level; I don't understand Windows systems, beyond the GUI. Firewall? Meh. The default firewall on a Fedora system is fine. There are tons of free tools for managing the iptables firewall (and firewalld simplifies management at the expense of flexibility). I never use a UI, though, as it's pretty easy to use once you understand the basic concepts. But, a firewall isn't really the most important part of securing a system. Application replacements could definitely be an issue, with regard to accessibility. I am more comfortable with Linux options because of familiarity. I'm less productive with the "leading" applications than I am with their Open Source competition in almost every instance. Inkscape is easier for me than Illustrator, Gimp easier than Photoshop, but again it is due to extreme familiarity. Over a decade of use vs. occasional forays into the Adobe products because a designer I'd hired wanted to go back and forth on designs and was using Adobe products. Sometimes ease of use is just another way of saying "What I'm used to". I'm just much more used to Linux. I used Windows full time for a little under a year after switching from Amiga in 1995, then switched to Linux, and have been using Linux almost exclusively ever since...I have a Windows partition for games and audio recording. Of course, I've been using it almost exclusively all that time because I strongly prefer it and always have, even when it was really rough around the edges and patching and compiling kernels was just a normal part of being a Linux user. I don't miss those days, but the strength of UNIX/Linux over Windows (to me) stood out even then and even with all of the warts.
- fsloth 11y ago"From my perspective, Windows is an inferior system to any UNIX-based system on almost every front. It has a very strong application ecosystem, but technically it's unpleasant to work on" I suppose this depends on the workflow. Powershell is just as powerfull for me as bash (I can't help to learn the syntax for either of them - I just google the expression for iterating a command over files and whatnot) I start applications with a shortcut - on windows this is windows key + plus a few starting letters of the application name. That's about all I need from the OS. "if there's something I want an OS to do that Linux can't do, I would be motivated to work on making Linux able to do that thing so I could do that thing on an Open Source OS I enjoy using," This might be the main difference- for me the OS is just an underlying substrate to support my programs I want to run and develop. For third party apps - once I'm in the application the OS pretty much fades into the background unless there is a problem - and quite a lot of the code I write is pretty much platform agnostic. The main point of the OS for me then is, how much of it works unobtrusively out of the box. And since windows comes in the box for off the shelf hardware it's the easiest for me. I did do dual boots in the past but now I don't see the point anymore for desktop use. For some document batch runs I've not yet found equivalent for windows world for so for those I see the value for a virtual machine. My NAS box runs linux and it's pretty sweet. So are there anything that actually locks me on windows? Visual studio is really, really nice for C++ development and that alone would be a sufficient reason for me to run windows. And then comes the sweet, sweet surface pro with its fantastic pen - basically, that combined with Manga Studio takes me to a place of digital art bliss (no, I'm not a paid advertisement - I've used digitizers for two decades and drawn all my life I know what I like - even if just for a hobby). That said, I don't trust proprietary stuff for anything of value - i.e. data and programs which I would like to be able to run always - but the windows platform offers currently the best platform for the creative activities - coding and art - that I do at home.
- krylon 11y agoPersonally, I strongly prefer Unixoid systems, too. But in my day job, I am a Windows admin (and helpdesk monkey). If there was a system that is both free software and binary compatible with Windows, that would be pretty nice, if only to give Microsoft some competition. And on the corporate desktop, Windows totally and utterly dominates. Replacing it is next to impossible, because most of the applications (at least in our case) are not available for other systems. So a free software-alternative that maintains compatibility would be really nice. (Of course, ReactOS is aiming for XP-compatibility, so even if they reach 100% compatibility, they still have a long way to go...)
- ArkyBeagle 11y agoI barely notice the difference between Linux and Windows these days. A lot of that has to do with having a common scripting language between the two.
- Joeboy 11y agoIs there a common scripting language that they both speak natively?
- ArkyBeagle 11y agoI am not sure what "natively" means. I use Tcl because it's a conservative choice; very nearly any of the usual suspects will run on both. There are of course many small and irritating differences.
- ikurei 11y ago> if there's something I want an OS to do that Linux can't do, I would be motivated to work on making Linux able to do that thing so I could do that thing on an Open Source OS I enjoy using, rather than work on replicating Windows so I could do that thing on an open source OS I don't enjoy using. That's a great ethos, but it's not that Windows can do something Linux can't. If you want to play a game/use a CAD made only for windows, are you going to pour years into cloning it? Yeah, Linux has, at least, competent applications for almost every need, but sometimes what you want just isn't available. ReactOS is shooting for the moon, but if it took off and got to an almost 100% windows-compatible state, I'd be glad to have an Open Source Windows.
- eloisant 11y agoIf you want to run Windows applications on an Open Source OS, the Wine approach is much more realistic. It's also nicer because for everything that Linux can already do, you don't have to mimic Windows. Anyway, desktop applications are not that relevant today, and most of those that are (like web browsers, developer tools) are cross-platform anyway.
- Nullabillity 11y agoIIRC, ReactOS is based on Wine anyway.
- snvzz 11y agoReactOS shares a lot of code with Wine. Mostly DLLs. Code flows both ways. Even if you're never going to use ReactOS, it still helps make wine better.
- redblacktree 11y ago> Anyway, desktop applications are not that relevant today, and most of those that are (like web browsers, developer tools) are cross-platform anyway. Yes, but PC games are very relevant. They are the entire reason I have a Windows machine at all.
- rogeryu 11y agoExactly. I have some apps that don't run on Linux, like Photoshop and at work the printer driver. It seems that ReactOS is much faster than XP running in Virtualbox, and if Photoshop and that printer driver work in ReactOS, then I'm all for it. I hope this does provide a better user experience than Wine, because I've tried that, and after a while Photoshop breaks down somehow. Elements on the page disappear, file operations don't work and in the end it all stops. I want something that is stable, and I hope this works better than Wine, even if both share much code.
- pjmlp 11y ago- Written for thread based applications, not processes - Asynchronous IO architecture only matched by Solaris - Object based architecture - OO ABI (more so with WinRT), besides the C one - Allows C++ in kernel space - Components as interoperability between applications - User space driver model, specially nice for graphics drivers - Pursues the mainframe ideas of safer languages for system and application's programming - Powershell is closer to Xerox PARC REPLs than any UNIX shell, except for Mac OS X. And what brought me back, after 10 years mostly in UNIX land, culture of using graphic based tools instead of a PDP-11 experience and desire to try new approaches to OS architecture.
- sspiff 11y ago> Powershell is closer to Xerox PARC REPLs than any UNIX shell, except for Mac OS X. Which shell do you mean on OS X? I thought they just shipped with zsh or bash?
- pjmlp 11y agoI had Apple Script and Swift Playgrounds on my mind as I typed it.
- chris_wot 11y agoTo see the overall architecture, the following block diagram I created for Wikipedia some time ago might be helpful: https://commons.m.wikimedia.org/wiki/File:Windows_2000_architecture.svg https://commons.m.wikimedia.org/wiki/File:Windows_2000_archi... Incidentally, it annoys the living snott out of me that I took the time to put a PNG version of this together, someone redoes the diagram as an SVG then someone loads it to commons and I don't get any credit! Update: I speak too soon. The image viewer doesn't show it, but the main page does.
- pjmlp 11y agoQuite nice. Have you though about adding the new WinRT changes?
- tracker1 11y agoWindows can run an executable with a GUI interface compiled for 32-bit Windows over 20 years ago... Though it's far from perfect, Windows has a better binary compatibility record than ANY other OS for far longer periods of time. There is something to be said for that. It's only recently (for 64-bit windows) that DOS support (ntvdm) has been unavailable.
- SXX 11y ago> Windows can run an executable with a GUI interface compiled for 32-bit Windows over 20 years ago... Linux can also run really old code that is 16-17+ years old: Loki Software games ports from 1998-1999. Though there just no need for average user to run anything that old so it's usually not available out of box.
- dTal 11y agoAt the user experience level, you're certainly correct. However, as a sibling comment notes, Linux has also preserved binary compatibility (at the kernel level) for a similar amount of time (of course as long as neither of them break compatibility then Windows will have the numerical edge as it's slightly older). So the question becomes, why is compatibility so apparently good on Windows and so apparently bad on Linux? I feel it's to do with a culture of dynamic linking and compiling your own software. A statically linked X11 application from 15 years ago will, as far as I can tell, run fine on Linux - it's just that such things are rare. You're far more likely to come across either a dynamically linked binary, or a source tree. This seems to be reflected in source code compatibility, which is better in Linux.
- tracker1 11y agoBut the core libraries used in Windows aren't statically compiled... they're dynamically linked, and work across windows versions for decades. I regularly have several applications I need to re-install, or correct configurations for after doing maintenance updates in Linux. In windows, usually only system utilities (A/V) are broken between major version upgrades. There really isn't a comparison, but it does have value to a lot of people. I don't mind so much, but there's enough people that do. I've helped many people over the years switch away from windows, and half of those switched back to windows within a year. Don't get me wrong, I really like Linux... but stability for the standard atypical end user isn't very good at all.