Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Is Windows Special?

DZone's Guide to

Is Windows Special?

Windows tools are uniquely awful. Or, perhaps, ''special.'' Windows is so ''special'' that the IDE concept appears to have evolved as a solution to the awfulness.

· Web Dev Zone
Free Resource

Learn how to build modern digital experience apps with Crafter CMS. Download this eBook now. Brought to you in partnership with Crafter Software

Here's the quote:

It is amazing how Windows is “special.” Back when ..., special things had to be done for Windows. Python continues the tradition with an entire section in its doco titled, "3. Using Python on Windows."

I wasn't sure what to make of this.

It appeared that they wanted Windows to be the norm and Linux/Mac OS/POSIX to be treated as an exception.

I find that baffling. POSIX is a standard. Mac OS X is POSIX-compliant. Linux distros are generally POSIX-compliant. Here's a nice list.

Windows is not POSIX-compliant. It seems to me that non-standard == special shouldn't be "amazing." It should be "tiresome" or "annoying."

Windows tools are uniquely awful. Or, perhaps, "special". Windows is so "special" that the IDE concept appears to have evolved as a solution to the awfulness. Using a Windows IDE (like Visual Studio) insulated one from the vagaries of Windows. It appears this is particularly important when trying to create a binary that will work in multiple incarnations of Windows.

In Linux (and POSIX-compliant OS's in general) the OS is the IDE. Start here. This seems so much simpler and more rational. Perhaps I'm just biased because I've used so many OSs that aren't Windows.

This is worth considering.

When asked about IDE's for Python, I tell people that I've used a number of text editors to write Python code:

  • vi.
  • BBEdit.
  • Atom.
  • Komodo Edit.
  • Notepad++.
  • PyCharm.
  • IDLE.
  • Jupyter Notebook.

They all work nicely. It's difficult to recommend one because they all have distinct features. I always wind up with a lot of command-line interaction. The "run-a-command-from-the-IDE" has complex dialog boxes and sometimes confusing limitations. It's easier to simply write a script than discern the nuances of the IDE configuration rules.

These are (mostly) platform-independent. They can minimize a few of the Windows "features." They don't eliminate all of the Windows issues.

In all cases (except using IDLE) I also have a Python `>>>` prompt open in a terminal window. 

I strongly encourage everyone to work this way. The terminal window interaction can be copied and pasted into doctest strings. You've written a unit test without really trying. It's extremely productive. It gets away from IDE wrappers. It does expose some Windows-isms, but as long as you can limit the number of times you find Windows "amazing," that's not a problem.

Crafter is a modern CMS platform for building modern websites and content-rich digital experiences. Download this eBook now. Brought to you in partnership with Crafter Software.

Topics:
windows ,web dev ,ide

Published at DZone with permission of Steven Lott, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}