13

What features is Windows missing that can improve the productivity of a programmer. I know a lot of people would want some features from Linux and OSX ported or being created for Windows as well. What is missing for you ?

An example would be the option to have multiple workspaces. When not having the possibility to use dual monitors that can come in handy.

ChrisF
  • 38,948
  • 11
  • 127
  • 168
Ygrec
  • 139
  • 2

12 Answers12

14

A compiler and a useful shell.


Clarification based on the comments:

I was unclear, I should have written C/C++ compiler. Compilers for C# or Fortran doesn't count, as much of the tools and libraries you need requires a C or C++ compiler. It used to be really bad, where you could not build C extensions for Python with another compiler than Microsofts, because that's what Python was compiled with, I think MinGW has solved this and you can do it with MinGW now, but that's a good reason why a standard C/C++ compiler should have been included or made available for free 20 years ago. Microsoft is only lately starting to understand the power of having an army of hobby programmers available.

I haven't used powershell, maybe it is good. But the usefulness of bash for me is not in the shell language. The *sh family of languages are horrid beasts anyway. I even prefer batch files. ;) It's things like the command history recall and search which relatively basic in Windows, and having pipelines and such that I'm talking about (and I see powershell has pipelines, so that's good).

There are things that are good in Windows too, but that's another topic. ;)

10
  • The ability to write and run programs in various languages (C, C++, Python, Perl, Ruby ...) without having to install anything extra.
  • Having at least one text editor with syntax highlighting installed by default.
  • A package manager so that you can easily install extra libraries, version control systems, IDEs etc.
  • A powerful command line interface.
  • The ability to tweak the GUI for maximum efficiency (keyboard shortcuts, hot corners etc.)
  • manpages
  • Having the source code of the operating system and software packages easily available and licensed permissively so that you can reuse it.
  • Good performance on modest hardware.
david4dev
  • 638
4

I might drop "required" from the title as I've developed for Windows happily for almost 20 years. Of course, I've developed quite a good toolbox of utilities and tools. See Scott Hanselmann's list for starters. It's top notch and look back all the way to 2003.

BTW, Windows 7 includes PowerShell which helps with the "decent shell" comments.

That said, It's always good to have better tools built in. Take any of the tools in Scott's list.

Realisitically, MS could certainly improve the UI of many built-in tools such as regedit, task mgr (cf. Process Monitor) and the event perf viewer tools. It would be good to have built-in support for multiple clipboards. From OSX, I'd like expose and their multi-desktop support is good. It would be nice if Windows natively (aka more easily) supported dragging text from text boxes.

XCode really sucks IMO so I would not want that on Windows. VS is much better but not built-in so maybe build-in VS Expess with an ability to upgrade. Of course, the OS footprint grows with this (like OSX's does) so there's a downside too.

distributed gcc is very good so that would be very welcome as a built-in framework for any compiler to use (see Incredibuild for a VS solution).

It would be nice if it were easier to get and use a Checked Build of the OS to find issues. Using debug cables is a bit extreme for the good info you get out of the Checked Build. VMs may do this easily -- if so someone please comment with a link.

jschroedl
  • 321
  • 1
  • 6
4

BASH, sed, grep, awk, find and ssh

D E
  • 57
  • 1
2
  • Copy/paste for multiple objects
  • Paste format-free (without font/size info)
2

The ability to change UI to different level based users knowledge.

For example as developer/administrator you may need expert level on UI.

Amir Rezaei
  • 11,068
1

The Unix file processing tools (wc, sort, uniq, awk, cat, grep, find, et cetera), including-- as others have mentioned-- a good shell (e.g., bash).

In order to be productive in Windows, when I'm working with anything text related, eventually I'll need to go into the Unix command toolbox. Fortunately, Cygwin is an excellent resource just for that purpose.

That said, you do need to "tame" Cygwin to work nicely with the Windows file system; unless you override some default settings, you can get files with nasty permissions that are difficult to delete. Anything too far above the basic needs and you're better off with a VM or dual booting, but for my purposes I'm quite satisfied with Cygwin.

Macneil
  • 8,243
0

I agree with the other posts so to add:

I miss ssh with x forwarding vs windows remote desktop. For those that don't know you can run a desktop program across the network but it acts like a local window.

0

Support for longer command line arguments. You'll quickly run into issues when building complex java solutions that doesn't use Microsofts build systems.

Morten
  • 556
0

valgrind and gcov ?

I use PowerShell when developping on windows (as a hobby) and I have installed the GnuWin32 tools (sed, awk, grep, etc...) and Python to get some easy scripting, so no issue there.

But I find myself hitting a wall whenever I want to inspect my program... Sure I can use the debugger (a bit) but:

  • how does one spot a memory leak ?
  • how does one identifies the memory hogs ?
  • how does one identifies the hot spots ?
  • how does one identifies unused / untested parts of the code ?

I have seen some tools here and there and there was a good question on StackOverflow and the number of tools listed is pretty frightening... and their limitations too.

Linux has been made by developers for developers, so it got a lot more developers' friendly tools :)

Matthieu M.
  • 15,214
0

Copy/paste with history function.

Luckily ClipX offers a solution:

ClipX

PS I am not affiliated with ClipX ;)

Arcturus
  • 1,597
-1

A decent shell, plus a compiler would be a good start as far as "default" features are concerned.

NPE
  • 302