4 ms·
Windows in general is not developer-friendly environment. While it provides great experience for usual user, it seriously lacks the inner beauty of any *nix sys
by xvilka 9y ago
Windows in general is not developer-friendly environment. While it provides great experience for usual user, it seriously lacks the inner beauty of any *nix system, which is itself a developer environment as a whole.
- jwdunne 9y agoI found this. I use a Mac at work but I've got a laptop with Windows on it. My first instinct was to partition and whack on a Linux distribution. But I chose to just leave it alone. I don't want to enamour my Mrs with a bootloader again. Despite the simplicity, the typical UI for a bootloader intimidates non-techies. So I tried writing some code on Windows, using PowerShell as a terminal. How hard could it be? I've done it before. Well, PowerShell is a big leap over CMD. But it just wasn't unix. I remember one specific example. I wanted to pipe a list of URLs to a program. Easy enough in a unix shell. In power shell it's something like Get-Contents <path> | <program> That's a trivial example but when you're doing real work how burdensome does that base verbosity become? I know there's this Linux in Windows stuff and Cygwin but really, for real work, I'll just use a *nix.
- steveklabnik 9y agoTab complete is a thing. I haven’t found it to be as significant as I expected.
- deleted 9y ago[deleted]
- pjmlp 9y agoThe meaning of real work is very subjective. My real work doesn't have much to do with running shell commands, rather using graphical tools and making use of REPLs for scripting.
- AnIdiotOnTheNet 9y agoPowershell makes liberal use of aliasing[0] for when you'rehacking at the commandline as opposed to writing a script (where the verbosity is actually a good idea). Also, it has tab complete for cmdlets, variables, and even switches. For example, "Get-Content" is aliased to "cat", and "type", which is the old DOS equivalent of cat, and "gc". And of course you can add your own aliases. But you're right, it isn't the core-utils you're used to from UNIX, it's better. So much goddamned better. It aught to be, it was developed with 30+ years of hindsight. [0]http://ilovepowershell.com/2011/11/03/list-of-top-powershell-alias/ http://ilovepowershell.com/2011/11/03/list-of-top-powershell...
- jwdunne 9y agoPoint taken. I'll have a look at the list you've linked to and try again. Thank you for clearing up my ignorance :)
- steveklabnik 9y agoI’m a lifelong Mac/Unix user. It’s completely fine. I find that most people who say this just expect it to be a UNIX, and don’t take it on its own merits. Besides, 99% of my tooling is cross platform anyway. The only thing materially different is PowerShell, and they’ve added bash aliases. The hardest part of transitioning has been using -Fo instead of -f, as -f is ambiguous. git, vim, rustc/cargo, and Firefox are all identical. Oh, so the pain here: the pain happens because most instructions “cheat” and use elf binaries for the kernel. So your “cross compile to my kernel” is “compile for the host”, since the host and target are the same. Windows means you actually have to cross compile. The situation would be the exact same if Windows formats were the defaults, but most hobby OS devs seem to work on UNIX, so culturally it just isn’t there. So this isn’t a direct flaw of Windows itself, but more of a social issue.
- whatyoucantsay 9y agothank you
- pjmlp 9y agoWindows has been developer friendly to anyone that embraces Xerox PARC vision what computers are supposed to look like. Being a developer is not a synonym for UNIX-like experience.
- convolvatron 9y agoI'm confused and intrigued by this comment. I complete agree that Unix is not at all axiomatic, but also think that Windows is a pain to develop for. clarify?
- pjmlp 9y agoWindows is only a pain to develop for when approaching it with UNIX expectations. Developing on Windows is similar to Xerox PARC workflows, made mainstream by MacOS, Atari, Amiga, Oberon, and naturally Windows. For any developer using Java, .NET, Delphi, C++ (VC++ / C++ Builder), Windows is pretty good developer workstation.
- AnIdiotOnTheNet 9y agoIn my experience anyone claiming this is just a UNIX developer so used to UNIX's problems that they not only don't even see them anymore, they think they're actually features. Which isn't to say the Windows development environment is great, but it at best isn't any worse.
- madhadron 9y ago> it seriously lacks the inner beauty of any *nix system When I had to dig into the structure of Windows for a project, I came away with the opposite conclusion. The Windows core APIs are beautiful. They're entirely different from those in Unix, and come from a parallel tradition. The Windows environment was frustrating, but that was mostly because I've got decades of Unix experience (read: reflexes for working around Unix frustrations). Fortunately I had lots of ex-Microsoft colleagues around me and they were able to quickly unblock me.
- bjourne 9y agoWhat about the Windows API do you think is beautiful? Because the insane types (LPCTSTR & LPDWORD), inconsistent handling of strings and function suffixes (A vs W) is enough for me to think it is ugly. And that's just scratching the surface...
- madhadron 9y agoThat is just scratching the surface. The system of kernel object handles is lovely.