Linked by Thom Holwerda on Wed 19th Aug 2009 09:21 UTC
Windows Last week we talked about what Linux (well, okay, X) could learn from Windows Vista and Windows 7, focusing on the graphics stack. A short article over at TechWorld lists seven things Windows 7 should learn from the Linux world. Some of them are spot-on, a few are nonsensical, and of course, and I'm sure you have a few to add too.
Thread beginning with comment 379426
To read all comments associated with this story, please click here.
What I find missing in Windows
by ShlomiFish on Wed 19th Aug 2009 14:22 UTC
ShlomiFish
Member since:
2005-10-10

Off the top oh my head:

1. No fork()-like system call. See:

http://en.wikipedia.org/wiki/Fork_%28operating_system%29

Very useful for multi-tasking and security, and not present in Windows. cygwin emulates it using CreateProcess and a lot of hackery, but it's much slower than on Linux and other UNIX systems.

2. KDE has virtual desktops (also known as virtual workspaces). I never saw a Win32-based virtual desktop solution that worked properly. Maybe it's better in Vista and Windows 7, but I'm not sure.

3. KDE and E17 have a different wallpaper per virtual desktop.

4. A sane command line. The CMD.EXE shell sucks. cygwin is slow (but still quite usable, I admit), I don't understand or care to understand PowerShell, and Services-For-UNIX (SFU) has been neglected lately.

5. A sane default console window. CMD.EXE is absolute hate. The open source Console-2 is getting there, but still much more annoying than KDE's Konsole.

6. Fewer signals (The UNIX kill()/signal() system calls) are supported in Windows.

7. Like the author of the original article, I swear by such package management systems as Mandriva's urpmi, Debian's apt-get, and RedHat's yum. They make software installation and maintenance much easier than the Windows Download->Execute->Confirm Exception->Next->Next->Install dance.

8. One can change to a different user or run a command as a different user in UNIX very easily using "su", "sudo", and similar tools. I was told it's very lacking in Windows.

9. The Windows GUI library is awful, and incredibly inconvenient. MFC is not much better. One should note one can use the LGPLed Qt or wxWidgets (or perhaps Gtk+ or Tk) which are better and will also run mostly natively on X-Windows and Mac OS X.

Maybe Avalon ( http://en.wikipedia.org/wiki/Windows_Presentation_Foundation ) is better, but I was told it is very complex.

10. I do wish the default Windows distribution was a bit more featured. Recent Windowses ship on DVDs and I'm getting more functionality from a single Linux CD. You can install a lot of high-quality open-source software on Windows (or not open-source software), but it's still time-consuming, as there are no pre-installable decent Windows distributions like there are for Linux and I still wonder what is MS wasting all the space on.

11. The open-source nature of GNU/Linux, and other open-source UNIXes (such as the BSDs, the OpenSolaris) allows me to adapt the programs to my needs, fix bugs or pay someone to fix them, study the programs, and redistribute my changes. Recently, I fixed a bug in PySolFC by editing its Python source code, and it's something I'm legally allowed to do.

---------------------------------

I'm not saying Linux is perfect or that Windows does not have any advantages over it. But I still find working and developing on Linux a better experience than I do on Microsoft Windows.

Regards,

-- Shlomi Fish.

Reply Score: 2

phoenix Member since:
2005-07-11

Off the top oh my head:

4. A sane command line. The CMD.EXE shell sucks. cygwin is slow (but still quite usable, I admit), I don't understand or care to understand PowerShell, and Services-For-UNIX (SFU) has been neglected lately.


It's too bad that 4nt.exe never got purchased by MS and integrated as a cmd.exe replacement. 4dos.exe and 4nt.exe were excellent shell programs for Windows 9x and NT/2K/XP. Used to use 4dos on all my Win9x computers, and 4nt on some of my 2K boxes.

5. A sane default console window. CMD.EXE is absolute hate. The open source Console-2 is getting there, but still much more annoying than KDE's Konsole.


Yes, a proper console window would be nice. Along with proper command-line utilities, and a built-in SSH server. Would make remote administration so much simpler.

8. One can change to a different user or run a command as a different user in UNIX very easily using "su", "sudo", and similar tools. I was told it's very lacking in Windows.


There's the Run As... context menu item for all executables. And a command-line runas.exe app. Would be nice if there was a separate GUI for it like kdesudo/gksu, but it's certainly usable.

9. The Windows GUI library is awful, and incredibly inconvenient. MFC is not much better. One should note one can use the LGPLed Qt or wxWidgets (or perhaps Gtk+ or Tk) which are better and will also run mostly natively on X-Windows and Mac OS X.


It'd be nice if MS would just go through everything included on the Windows disc, and update *everything* to use the same widget set. Just standardise on one already, and *use it*. Win7 is better, but there's still too many little apps and GUIs sprinkled throughout that use ancient widget sets and just stick out.

Reply Parent Score: 4

StephenBeDoper Member since:
2005-07-06

It's too bad that 4nt.exe never got purchased by MS and integrated as a cmd.exe replacement. 4dos.exe and 4nt.exe were excellent shell programs for Windows 9x and NT/2K/XP. Used to use 4dos on all my Win9x computers, and 4nt on some of my 2K boxes.


Amen. Still have an old copy of 4NT on my XP machine, it - combined with the unxutils package - is about the only way I can stand using the command line in Windows.

And a command-line runas.exe app.


While runas.exe does exist, its command syntax makes my brain hurt. E.g.

sudo app filename
compared to...
runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

Reply Parent Score: 2

BluenoseJake Member since:
2005-08-11

I stopped reading when I reached this statement:

"I don't understand or care to understand PowerShell"

How in hell can you possibly know it's level of usability or "saneness" if you refuse to lean it or try it?

It just killed any credibility you had.

Reply Parent Score: 2

ShlomiFish Member since:
2005-10-10

Hi!

I'm sorry for mis-speaking about PowerShell. This entry started from some stuff I said on IRC, and which I extended before I posted it here, but forgot to remove this part.

PowerShell looks interesting, but I was told it tends to be verbose (and so not very effective as a shell), depends on the .NET run-time, and has not been ported to non-Windows platforms. It was also supposed to be part of Vista, but eventually was excluded (along with Avalon, XAML, and most other promising stuff).

A usable shell is not too critical for me as I tend to use it only for interactive use, in which case cygwin should be good enough, and if it becomes overly complex, I tend to convert it to Perl. You may choose Python, Ruby, or whatever instead naturally.

In any case, my criticism of PowerShell does not detract from the rest of my comment, which contains other faults I find in Windows, unrelated to it. So please take the time to read it.

Reply Parent Score: 1

waid0004 Member since:
2009-06-19

I agree with items 1-9, with the addition of my own.

10. Do not treat users as criminals. The only people that activation stops are normal users, the determined will always find a way around protection (ask Apple about Hackintoshes).

11. If item 10 is not reasonable, at least provide security updates to the non-activated. This would make the Internet better for everyone. Upgrading IE 6 to 7 should also be included

12. Actually implement POSIX correctly, fully and without fanfare.

13. Allow the user to configure the gui to allow any window to stay on top (other than Task Manager). Most window managers allow this.

14. Like others have said, move to a case sensitive file system. While you're at it, make it not fragment.

15. Create or sponsor some sort of online repository for trusted .NET apps. This doesn't necessarily have to be run by Microsoft or be a store.

15. Depreciate all of Win32 for modern APIs (like .NET) until no major application uses it, then remove it. Painful, but Win32 needs to die.

16. Put Midori on the fast track to be what replaces windows 7.

-----------------------

Not everyone that uses Linux uses it because they're raving GNU zealots. Some base their decisions on technical merit as their first priority.

Reply Parent Score: 3