5 ms·
Just another reason to stay away from Windows as a platform. Windows 10 is a moving target if you are trying to work with it.
by godzillabrennus 10y ago
Just another reason to stay away from Windows as a platform. Windows 10 is a moving target if you are trying to work with it.
- poizan42 10y agoHow is that any different from Linux distributions camping their default shell? Like back when debian changed their default shell to dash I don't remember anyone saying you should stay away from debian, even though it broke a lot of existing scripts.
- shostack 10y agoDid you have a choice to upgrade? Could you reinstall the old version of you wanted? Windows has stripped that power from users.
- viraptor 10y agoThat's a bit different. The change only exposed that some scripts were already broken and worked by accident. Specifying that your script should be run with #!/bin/sh and then using bash syntax is what broke them. It's a bit like naming your files something.c, writing the code in C++ and compiling with `cc` just because `cc` happened to be linked to `c++` on your system. It will work for you, but don't be surprised when you distribute the source and people have problems using it. Scripts that used #!/bin/bash still worked, scripts that actually used only sh syntax and #!/bin/sh still worked.
- ygra 10y agoSo there is actually no difference at all on Windows, then. Batch files have .cmd or .bat extensions and will continue to be run by cmd.
- viraptor 10y agoThat's the difference - the extensions continue to work, but the gui link to the application changes. Essentially now people will open powershell instead of cmd without necessarily realising.
- noja 10y agoDebian didn't make a major change within a release.
- dfcowell 10y agoPowerShell is fully backwards compatible with cmd. Try again.
- kabdib 10y agoNo, it's not. PowerShell has aliases like 'dir' and so forth, but it's definitely not compatible. This will break a bunch of legacy stuff. That stuff probably deserves to be broken; the cmd.exe syntax has always been pretty disgusting.
- ygra 10y agoIt's not compatible at the syntax level, but it will also not break anything either. Batch files written for CMD will still be executed by CMD, not PowerShell. Unless you have an application that prompts the user to open a command prompt and then send keystrokes there to run commands, nothing will be broken here.
- kabdib 10y ago"Compatible because we run the other program" isn't really compatibility, it's running the other program. Let's be clear: The syntax and idiosyncrasies and just plain stupidity of cmd.exe are very, very difficult to be compatible with. There's stuff in cmd.exe that beggars the words "awful and random". Deprecating the terrible thing that is cmd is a good move, it should have been done 20 years ago. As I understand it, cmd.exe largely stagnated for a couple of decades because a senior dev at Microsoft "owned" the code and took any attempt to improve as a personal affront. It couldn't be changed without bad political fallout. (Frankly I don't care how smart or politically powerful you are: If you're doing damage to customers, you should be told not to, and lose your job if you keep doing it). So Microsoft is finally getting it. I just wish that PowerShell wasn't their answer, because it's got significant problems of its own.
- tdsamardzhiev 10y agoYeah, to hell with legacy stuff. Legacy stuff is why we can't have nice things.
- Goronmon 10y agoIf you're not a fan of change, I feel like software development probably isn't the right career choice.
- 72deluxe 10y agoI am a fan of change. Likely similar to the parent of your comment, I am a fan of change when I can control when those changes happen. With Windows 10 I am sadly realising that I have very little control over when things change and even less knowledge of what those changes will be. For software, this is a nightmare. As a maintainer, I will never know what changes are going to affect my software if I am not informed. As a user, I no longer know when a feature of my computer that I use daily will disappear. If I used cmd yesterday, will it disappear tomorrow? Who wants to be the passenger let alone the driver of a car if it steers and accelerates randomly despite your best efforts to steer it and drive it? Would you get in a car that removed the gearstick without warning? Would you really want to be in a car that accelerated and steered at whim? This is what Windows 10 feels like, particularly compared to my 20 years of using Windows prior to it (Win3.11, 95, 98, Me for a day, XP, Vista for as little as possible, 7 for a lengthy time). With each of those releases, updates were applied by me in a timely manner, with the crucial point being that I could apply updates when I found it applicable for my own personal machine. I could read up on the release notes for each update and service pack to see what was changed. With Windows 10, I get updates applied in a phantom fashion and do not know what they contain. It's like Apple's vague "fixed an issue" release notes. EDIT: I must state that the removal of features is not unique to Microsoft, given that sweeping changes affected my Mac after every release since Snow Leopard. However, the key difference is that with Windows 10 you will never have control over when things are installed (unless you use some of the finer controls for updates available with GPOs in an enterprise; still what's the point of having an AD when you don't have full control over the endpoint systems?)
- gwbas1c 10y agoIn technology, there's points where certain things stabilize and change infrequently. You can only build great things when your foundation isn't changing all the time. I'm not really a heavy shell programmer. I mostly use it for git and simple scripts. IMO, nothing's really "sold" me on powershell. It's always come across as some tool that some people like, but I've never really seen a reason to use it. (As I don't do a lot of complicated things in the shell.) Hopefully this is something that's easy to get used to.
- MyNameIsFred 10y agoYour .bat files still work, and you can use the legacy terminal if you I insist. All they did was change the default terminal from the archaic one to newer one they first introduced as a the non-default option only a mere decade ago. There is no reason to be dramatic.
- adolfojp 10y agoPowerShell is 10 years old.
- int_19h 10y agoYou say that; and yet [32-bit] Windows 10 can still run 16-bit GUI applications originally compiled for Windows 1.0 back in 1985, more than 30 years ago. We aren't even talking about a recompile here, but straight up binary compatibility. How many other OS/DE combos do you know that can boast anything similar?