6 ms·
It is about time that Windows got a better console. As someone who regularly jumps between macOS, Linux, and Windows, the current console is a uniquely poor exp
by knd775 7y ago
It is about time that Windows got a better console. As someone who regularly jumps between macOS, Linux, and Windows, the current console is a uniquely poor experience
- segfaultbuserr 7y agoI've heard stdout and stderr are extremely slow on Windows console. If you port Unix-like programs to Windows, lots of fprintf() can even come to be a bottleneck, especially in debugging. Meanwhile macOS and Linux/BSD console can output thousands lines in the blink of an eye. Don't know if the new console is gonna solve that.
- mixmastamyk 7y agoIt draws to a VGA style character grid, like it was a DOS/VGA machine from the 80's. Oddly enough, Unix is older than that, and got it right (abstracted from hardware).
- oblio 7y agoIt's a mix of things. Some of them are legacy CP/M / MS-DOS carry-overs, some are strategic decisions. Windows was supposed to be user-friendly and everything would be done through the GUI. This not only de-emphasized CLIs, it was actively hostile to them. I believe that for a time trying to improve CLIs was frowned upon (I haven't worked at Microsoft, it's just based on a million blogs I read from Microsoft employees). Now that the cloud is the way to go, they're looking at this in a more holistic way, it seems.
- mixmastamyk 7y agoI like to call this the "Ballmer factor."
- int_19h 7y agoIt started a while ago, it just took off slowly. Powershell shipped in 2006, for example, and from there all products gradually started integrating with it for admin tasks. Windows Server 2012 already had a command-line-only mode.
- segfaultbuserr 7y ago> Oddly enough, Unix is older than that, and got it right. Perhaps it has something to do with Unix tty. Unix systems are mainframes or servers, the tty subsystem only cares about transmitting the text and control sequences, the actual rendering is done by a CRT terminal at a remote location. Meanwhile, the DOS family was designed for microcomputers and PCs, the text output is tightly-coupled with the system and hardware, including how to draw them. The Windows XP console can even switch to the genuine VGA textmode as used by DOS by pressing Control+Enter. I guess the Unix tty allowed flexibility. It doesn't matter if someone reimplemented it using VGA textmode, or 2D accelerated framebuffer (modern Linux kernel), fancy 3D OpenGL stack (kmscon, but sadly the project is dead), or a cairo-based graphical interface. Meanwhile, Microsoft haven't continue to develop and modernize the console subsystem in a long time (clarify: at least in 8 years of Windows XP era, until recently).
- zadjii 7y ago> Meanwhile, Microsoft haven't continue to develop and modernize the console subsystem in a long time. That's just provably false. We've been hard at work on the console for the last 4 years, culminating in today's Terminal announcement. See https://devblogs.microsoft.com/commandline/ https://devblogs.microsoft.com/commandline/ for a few examples of things we've been doing for the last few years. One in particular: Last year we added support for a pty-like interface in Windows with [ConPty](https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/ https://devblogs.microsoft.com/commandline/windows-command-l...)
- mixmastamyk 7y agoWhen you stop work for ~20 years, then get crackin' for a few it understandably takes a while for the news to get out. May not be obvious if you're 25.
- naikrovek 7y agoIt's not a secret. People need to do a minimum amount of homework before they spout off online.
- fulafel 7y agoWindows did come with a vt100 terminal too fairly early on. Possibly apps could have used it by registering a serial driver? https://guidebookgallery.org/pics/gui/applications/networking/terminal/win31.png https://guidebookgallery.org/pics/gui/applications/networkin...
- segfaultbuserr 7y agoCool. I should try it some day...
- zadjii 7y agoWe used to have ANSI.SYS, though that was removed long before I started at the company. We do however have a pretty solid VT100+ implementation nowadays. Case in point, it'd be pretty hard to run anything in the Windows Subsystem for Linux without a complete VT implementation.
- zadjii 7y agoThe new Terminal actually does _crazy_ well. The vintage console on windows, conhost.exe, uses GDI to draw to the window. Unfortunately, GDI is CPU-bound, so drawing the screen actually slows down our processing of the text. With the Windows Terminal, we've switched to a DX/DWrite based renderer, which no longer uses the CPU to draw text, and moves it to the GPU. Our preliminary testing has a insane perf improvement for applications writing lots of text, something like 10x faster :)
- segfaultbuserr 7y agoExcellent, well done! Developers never need to worry about running cat for a big file or using print() for lots of text again.
- bloopernova 7y agoIs there a place to download the new Terminal to try it out? (Thank you for responding to so many comments on this thread!)
- zadjii 7y agoNot quite yet - when the first preview builds are available, they'll be in the Microsoft Store. Also stay tuned for Rajesh Jha's keynote later today, with our official announcement. It'll have some other relevant information I don't think any of the articles have mentioned quite yet :P
- Schlaefer 7y agoCan you link the session, please?
- zadjii 7y agoI believe this https://mybuild.techcommunity.microsoft.com/home#top-anchor https://mybuild.techcommunity.microsoft.com/home#top-anchor is the link, but I honestly don't know. It's live now, and I think Windows is up soon, though I don't know where in the keynote we are.
- gdulli 7y agoMy take is that Windows is the best experience because the unsuitability of the built-in option for every day use drove me to a real solution. (In my case, SecureCRT.) One of the things I hate is when the default option is "good enough" so you have the danger of living with mediocrity. Or, worse, the platform doesn't spawn a rich ecosystem of competition. For example, when I was on OSX I couldn't find a music player I liked. iTunes was bad, but the fact that everyone uses it means there aren't as many alternatives as on Windows.
- knolax 7y agoIt's so bad it's good?
- majkinetor 7y agoGood music players on any platform: vlc, smplayer, clementine.... You can have everything now on all 3, everything important. I almost never use non-cross platform tools.
- AgentME 7y agoClementine is ridiculously laggy for me and uses a lot of CPU, even when idle. Maybe I have too big of a music collection for it? I'm baffled. I've never had performance issues from a music player before. SMPlayer's homepage says it's only on Windows and Linux. I only ever used VLC for playing one-off files. I never knew about VLC having media collection features, might have to look into that. Rhythmbox on Ubuntu has been great for me. I just want Rhythmbox on other platforms. I've been using Google Play Music instead. (It lets you upload your music collection into the cloud, which is super useful as I can now use it from devices it's not synced to, though it's not open source or an application I can run offline, and it's pretty limited in how it can sort and display songs. I can't sort songs by date added, etc.)
- majkinetor 7y agoCLementine can be faster if you disable everything that you dont use since it comes with bunch of plugins that are all loaded by default. If you want non-laggy, VLC is the best (both video and audio) but its interface sucks a lot although it is probably tolerable on the long run. SMplayer could probably be ported in a week or so on OS X given it uses mplayer or mpv which are both available on OSX (its just a fronted to those tools + open sub). I also used MPD with Cantata in x-platform manner its quite nice and fast.
- briffle 7y agoJust making copy/paste work the way it does in EVERY other ms application would exponentially increase the usability of the current command prompt.
- oblio 7y agoCopy/paste works: https://www.laptopmag.com/articles/how-to-windows-10-command-prompt-copy https://www.laptopmag.com/articles/how-to-windows-10-command...
- zadjii 7y agoThis is a hard problem for commandline applications unfortunately. Think about pasting text with Ctrl+V. Lots of existing commandline applications bind particular actions to Ctrl+V - should the terminal application always eat the Ctrl+V keypress to handle pasting? This is why we added support to optionally set Ctrl+Shift+V as the paste keybinding in conhost. Fortunately, the Windows Terminal doesn't have a lot of the legacy to maintain like conhost does, so it'll support setting paste to whatever keybinging you like :)
- amyjess 7y agoI don't even care about Ctrl+V. I just want the ability to right-click on selected text and bring up a menu with 'Copy', 'Paste', and maybe a few other operations on it. No Windows terminal I've ever seen has the ability to do this. Edit: Note that I haven't used the new terminal yet, so if it supports an actual right-click menu, than bravo!
- sixothree 7y agoI find the current Windows 10 terminal vastly superior to anything default on Mac or Linux... Take resizing the window for instance, Windows adjusts the content text, whereas Mac does not seem to handle this well. EDIT: It is possible you are on an outdated version of Windows, or have upgraded and still retain your old settings. Be sure QuickEdit Mode is enabled, as well as Ctrl key shortcuts.
- pfranz 7y agoDo you have a specific example on Mac? Reflowing of text always seems to be way better on Mac than Linux. I use Windows least often, but always felt the experience was significantly worse than the other two.
- ozim 7y agoBut article points out it will support emojis as main point... I need proper built in history, proper copy-paste as in linux and macOS, proper resizing so I can have longer lines without changing font as in windows. I just hope it will be there.
- joemi 7y agoIt's a techcruch article, not exactly quality reporting. I'm not really sure why so many people link to them when there's usually a better source for most stories (unless the story is merely rumor).
- zadjii 7y agoProper resizing has existed in the console as long as Windows 10 has been out, and we've been aggressivly improving our copy-paste story. Ctrl+C/V to copy in cmd has been around since Windows 10, and Ctrl+Shift+V to paste in WSL was added just last year.