10 ms·
Solving the Worst Problem in Programming Education: Windows
- dgan 2y agoSomehow tangent: can anyone tell me why WhY i can't just copy the text in any Windows' error windows? It looks like it's all text somehow is a texture which is un-selectable? So i have to retype manually (and translate back to English) the error messages to look them up
- dmz73 2y agoHave you tried? CTRL+C on most dialogs will copy all of the text to clipboard. Of course, there are 3rd party dialogs that are not standard Windows dialogs and they do not implement this functionality.
- magicalhippo 2y agoTo be fair, it's quite a hidden feature. I've used Windows as a daily driver since 3.1 days, and I didn't discover this until late Windows XP or early Windows 7 days.
- oefrha 2y agoNot dialogs, but you certainly can’t copy errors/warnings from Visual Studio inline popups, which is super annoying when I occasionally develop a Windows app in Visual Studio.
- dgan 2y agoSo literally today i tried to install sql server developer edition, and for some reason the downloaded file was corrupted. The error msg wasn't "ctrl-c"-able, so i had to retype whatever nonsense shown on the screen. That was Microsoft's database, from Microsoft's website, to be installed on a Microsoft's OS.
- duncans 2y agoCTRL-C will copy the entire text to the clipboard for standard message boxes.
- hal009 2y agoNo need to retype manually. If you upload a screenshot of the error to ChatGPT, it will transcribe it for you and even give you some hints on how to resolve it.
- BMc2020 2y agoMaddening isn't it? One work around is to install MS Powertoys, then Win Shift T will give you a rectangle to capture text from anywhere on the screen, including an image then it will convert it and put it in the clipboard for you. Not perfect, it tends to confuse Capital O with the number 0, but it's better than nothing. The why part is harder. My theory is Windows is made of many shells of of code, and they older parts of the system will never be refactored. I think someone counted 5 different gui interfaces in Win 11. To be fair, MS is handcuffed by backwards compatibility. So interfaces remain frozen in time because changing anything can break compatibility in ways impossible to predict. Fun Fact: File Explorer can keep changing because they never promised anyone they would keep it compatible with anything. Edit: Just to say I did comment on the linked article, I never dreamed I would ever read the words "use PowerShell to create a nice GUI".
- xnx 2y agohttps://learn.microsoft.com/en-us/windows/powertoys/text-extractor https://learn.microsoft.com/en-us/windows/powertoys/text-ext... will OCR/copy any text in a region of the screen you select
- mattigames 2y agoYeah its maddening, its also an ubiquitous problem, in Android sometimes I need to copy a file name from the Google photos app, surprise surprise: Tapping the file name does nothing, the quick dirty solution its to screenshot it, use Google lens on such screenshot and from there I can select the text.
- djeikyb 2y agoThere's a bunch of different UI frameworks, but WPF is pretty popular, and in WPF, my understanding is the normal control you'd use to just slap text on the screen is TextBlock. And a WPF TextBlock doesn't have any way to make the text selectable. And if text isn't selectable, you don't get the normal affordances of the window manager's copy functions. I've used Avalonia, which is based on WPF. Its TextBlock control works the same way, which means the default way to put text on the screen is inaccessible. But if the programmer is thinking about it, they could use SelectableTextBlock instead, and then the text is available to the user for selecting and copying.
- booleandilemma 2y agoOf all the people in the world to go after, he's going to go after the Notepad++ guy? Really? https://notepad-plus-plus.org/author/ https://notepad-plus-plus.org/author/
- aleph_minus_one 2y agoSee https://en.wikipedia.org/w/index.php?title=Notepad%2B%2B&oldid=1232463952#Political_messaging https://en.wikipedia.org/w/index.php?title=Notepad%2B%2B&old... EDIT: Why the downvote?
- fallingsquirrel 2y agoSo he's just adding a message to the release notes every few years. I don't think that justifies a fear that he'll "erase all my students' computers", as TFA seems to worry.
- mattigames 2y agoYeah, if he was showing some political message the first time you start notepad++ or something like that then it might make sense to worry about future behaviors but every single time it has been the release name or the release notes so its completely unjustified.
- CrimsonRain 2y agoBut that did happen. It auto typed stuff in the editor after start.
- mattigames 2y agoCitation needed, I find no information online about that happening.
- antifa 2y agoWeird, if true, but far from the implied cyberterrorism.
- aleph_minus_one 2y ago> Because even though the world of non-programmers uses Windows, the world of programmers decidedly do not use Windows. I think if you were to analyze what people use in the vast world of startups, corporations, open source projects, and other places you'd find it's inverted with 95% of programmers not using Windows. My personal observation is quite different - this is clearly written by someone who lives in his bubble. Most obviously: most corporations do use Windows. Also for technology startups outside of the "web application operator" type (here it depends a lot on the local culture), many use Windows: often because this is what the customers use, and the software/service of the startup has to be compatible with the ecosystem of the customer.
- marcosdumay 2y ago> most corporations do use Windows Not really. They put it on desktop with packaged software. The software they develop themselves run almost exclusively on Linux.
- epgui 2y agoSpeaking as someone who happily lives in the mac engineering bubble and has very little interest in leaving said bubble… We tend to dramatically under-estimate the market share of Windows in engineering. I have no trouble believing that most companies run Windows and develop on Windows. I just don’t particularly want to work for these companies.
- marcosdumay 2y agoMicrosoft itself doesn't recommend that you deploy software on Windows servers anymore. It's something that is supported, not recommended.
- seanmcdirmid 2y agoA lot of engineers who use windows aren’t programmers. This is because a lot of custom engineering packages that require windows, especially since they were developed 20 years ago when windows was dominate. But programmers have many more choices, and visual studio shops aren’t very common anymore, at least in the developed world, and I would bet countries like Russia and China as well.
- advael 2y agoIn my experience the entire point of windows is to lock everyone involved, including developers, into an emaciated and dependent toolset that they can't even explain to others when something doesn't go as they expect, and on which unexpected behavior could be because of clandestine updates that enforce the whims of one of the world's most user-hostile corporations Lock-in isn't just a strategy or a quirk, it is Microsoft's business model in every context. From monopolist strongarm tactics to lobbying for kafkaesque international copyright laws they have drafted, the goal of Microsoft is to put every human being in their little tinpot dictatorship and prevent them from leaving We should suffer no such tyrant to live, let alone cave to its demands
- card_zero 2y agoI use Win11 and I don't use Visual Studio. What lock-in, specifically?
- advael 2y agoI mean lots of people manage to get around what they want to various degrees. Your use case is in spite of their efforts and wishes, and I guarantee that were you to run into problems, vs people would do everything they could to try to steer you toward it rather than help in any other way (that's even been my experience working in general programming contexts with people in that ecosystem)
- glitchc 2y agoI think the OP means building apps native to that platform. If you're building web or Android apps, you're cross-compiling, in which case the OS doesn't matter.
- card_zero 2y agoI write in C, mostly. For Windows, I mean. Incidentally, is there a good way to build native Android apps on Android, without installing Android Studio? Wait, Android Studio doesn't even support Android.
- askonomm 2y agoWhat an odd take. Pretty sure most programmers actually do use Windows, you just don't see them all over social media telling everybody that they do (like some Linux users).
- mtndew4brkfst 2y agoThis is probably highly correlated to tech stack. A number of popular programming languages do not behave well on Windows and I make no editorialization about who is at fault there. Even if the language is ostensibly compatible, popular and/or crucial packages within its library ecosystem may not be. Elixir and Ruby are two from my personal experiences, though the latter is referring to c. 2005-2015 or so. Developing in a Unix-y environment is definitely the more well paved road in such cases. It varies between "less documented" to "doesn't work correctly at all" to "won't even compile". Social stigma is sometimes a factor too. Rails' early popularity (and Textmate) probably did as much to help sell MacBooks during a given era as Apple did. Even though it has a more positive reputation for being cross-platform-capable, I will also observe that the Rust crates who strive to support Windows equitably seem to pull in quite a lot of platform specific code as conditional dependencies. Whether that is because of rampant Unix-isms or POSIX brain worms or whatever, I don't know, but it certainly seems to pose a maintenance/complexity burden that isn't there otherwise.
- alganet 2y agoHe's talking about education. This is for students, not programmers. Anyone with a Windows machine should be able to become a student.
- Kwpolska 2y agoIf so many developers manage to get stuff done on Windows, students can do it, too. This post feels like it's 10 years old, when there was no Visual Studio Code, Windows Terminal, or WSL.
- alganet 2y ago"Manage to get stuff done" is not the goal of a student. Students need to learn. A simpler environment can make a difference between someone pushing on vs giving up.
- olyjohn 2y agoWhy are programing students having a hard time setting up thier environments? Shouldn't they have taken some OS 101 classes? At least know how to install software? I never went to college, but I assumed they would get you proficient in prerequisites first..
- dmazzoni 2y agoI've never seen an OS 101 course offered. And how would that course work if every one had a aligytly different laptop with different OS versions?
- kalleboo 2y agoMy school did. But that was back when nobody was expected to have a laptop, and the labs were on getting used to the school's Solaris computer environment and the UNIX command line, with assignments on using grep, tail, sed, awk, etc. Probably half the class had only ever used Windows before.
- x0x0 2y agoZed's courses are, afaik, targeted at absolute beginners. The exact folks who have the most problems setting up environments. That said, programming for over 20 years and I still sometimes have problems w/ environments, so... yeah.
- hughesjj 2y agoYou're thinking far too much in traditional colleges, and also I personally didn't have an os 101 course at my college. The only time we talked operating systems was how they worked at the kernel/system level. Schedulers bootloader forking shared memory etc. The author is more for the use case of 'hey I have a full time job and want to change careers to programming, how could I get started?' or 'i couldn't get into college even if I could afford it because that's just not a path my community is set up for, but I'm motivated and want to learn programming anyway'
- ploxiln 2y ago> I never went to college I did ... the thing is, most college students need a lot of help, especially in earlier classes. On a statistical level it's somewhat the opposite of a population of self-taught programmers, who self-select for being into the gritty details of computer systems, and being able to figure stuff out. You know, in most college tracks, there are problems with lots of students needing help, cheating, struggling, it's kinda the regular state of things, now that most people go to college. Some college students switch to something else later; some continue to need lots of help with system setup when they start working professionally; those who are really good were largely self-taught either before or between college courses. College/university is still useful for the self-taught programmer, to cover gaps, and for the advanced courses. I had been installing, configuring, fixing, and re-installing windows and linux for 4+ years before university, and I really loved my systems programming courses. Now that there are millions of programmers out there in the world, working professionally, yeah lots of them are kinda useless ... there's a reason why "average" doesn't have a great connotation.
- 29athrowaway 2y agoWindows is not the root problem. The root problem is people thinking Windows is acceptable.
- anArbitraryOne 2y agoThat's how I feel about macOS
- 29athrowaway 2y agoDon't even get me started on macOS. Develop Linux server software on macOS is the worst idea of all time.
- TheLoafOfBread 2y agoI will find MacOS acceptable when Finder will start treating Enter as Enter and not as rename. And the worst thing is that you can't even change this behavior.
- Jaxan 2y agoI must admit that, when changing to Mac, I had to get used to that. (Btw opening is cmd+arrow down.) Now I’m changing back to windows and have to get used to pressing F2 instead…
- hu3 2y agoF2 is rename on Linux too. At least in VSCode and some file browsers.
- 29athrowaway 2y agoThey should port thunar to macOS. For the moment yazi will suffice.
- taberiand 2y agoI think the article is a little out of date. These days, learning programming on Windows is best done via VS Code (not Visual Studio) and optimally, though optionally, through devcontainers. Also WSL2 is very useful in running Linux on Windows with very little effort.
- nchmy 2y agoIndeed, wsl2 is a dream. This article is either very old, or the author is clueless
- cfiggers 2y agoFirst commit on the linked GitHub is three days ago, so this article is probably not old. I love WSL2.
- pessimizer 2y agowsl2 solves the Windows problem by being Linux.
- watwut 2y agoNot really. It combines the best of the two words. You have good UI and operating system that requires very little maintenance and Linux command line with tools where helpful.
- ekianjo 2y ago> good UI and operating system that requires very little maintenance good UI on Windows? are we talking about the same OS that uses UI paradigms from at least three different eras all in one? and the little maintenance is laughable. force reboots galore on Windows.
- watwut 2y agoYeah, it has better UI then linux. There is nothing controversial about it. And when it comes to maintenance, yup there is less of it. Linux users are constantly dealing with this or that hardware not working, not working after update and what not. Linux is better on the server. But for a user, nope.
- siproprio 2y agodude just https://www.msys2.org/ https://www.msys2.org/
- mzajc 2y agoI was rather shocked when the author implied, on two occasions, that Notepad++ has the potential of wiping your computer. Is there some context I am missing, or is this based entirely on N++'s codenames and release notes?
- SuperNinKenDo 2y agoThere was another project which did something like that to "Russians" after the invasion of Ukraine. I also found the author's conduct shocking, people's memories are fickle and making this implication once was bad enough, but insisting on repeating it? Feels like the author _wants_ people to misremember and erroneously believe that Notepad++ was the software package in question.
- tomohawk 2y agoHe's not doing anything wrong with his release notes, but it is worse: it is a mistake. The notepad++ guy comes across as a dingbat who cares about certain political things more than the software he's producing. This is a risk indicator. It doesn't matter if you agree with his current views or not. What happens when he takes the next step in using the software he's created to further his political ends? The author is right to prepare for this possibility.
- antifa 2y agoI see annoying political messages all the time, there's an ocean sized gap between virtue signaling and cyberterrorism.
- talldayo 2y ago> This is a risk indicator. I'll be sure to pass this valuable message along to vim users that have been :q'ing political messages for the past 15+ years. They're gravely endangered!
- justin66 2y ago> I was rather shocked when the author implied, on two occasions, that Notepad++ has the potential of wiping your computer. Is there some context I am missing, or is this based entirely on N++'s codenames and release notes? I don't honestly remember, but, did none of the author's vicious attacks and bitter diatribes posted online over the years include some slander?
- Darthbuddha 2y agoI really think the worst problem in programming is language. If you don't speak English basically youre doomed.
- eru 2y agoEnglish helps a lot, just like Latin helps in medicine. But there's plenty of material available in eg German to get you started. (German is just the language I have the most familiarity with. I don't know how the programming material available stacks up to other non-English languages.)
- slowmovintarget 2y agoI don't think that's a bug. I think that's a rather nice feature that programmers all over the world can talk to each other. Programs are written for other programmers to read and only incidentally for a computer to execute.
- booleandilemma 2y agoI feel the same way. Modern science standardized around English and I don't mind programming standardizing around English also.
- staunton 2y ago> I don't mind programming standardizing around English also. Will you mind when everything re-standardizes around Chinese?
- booleandilemma 2y agoIf and when that ever happens I'll be dead by then, so no :) But I hope humans of the future can standardize around something. It's better than the alternative.
- justin66 2y agoGiven China's ongoing demographic collapse [0] it is unclear how that could happen, not to mention why. [0] https://www.scientificamerican.com/article/chinas-population-could-shrink-to-half-by-2100/ https://www.scientificamerican.com/article/chinas-population...
- sfblah 2y agoI use windows, mac and linux basically interchangeably for coding. For windows, I install the Git Bash package [https://gitforwindows.org/ https://gitforwindows.org/] and then just use chocolatey as a package manager for stuff like python and node.js. Bash gives me a completely functional commandline with my C drive mounted as `/c`, and I can write code using VSCode. I don't really have issues. With this setup, it operates indistinguishably from the other two platforms. For me, the key really is the commandline. Learning powershell is not something I'm going to do.
- psyklic 2y agoI've taught coding to hundreds of beginning students, with about 50/50 Windows/Mac (some Linux). From my experience, Windows is not worse for beginners, nor is the setup process more laborious. For example with Python, the author can standardize by having all students run the Anaconda Python installer alongside Visual Studio Code. This left us with virtually zero install/setup issues. Alternatively, using wsl2 you could set up any language very similarly to Mac/Linux. In any regard, setup is typically a one-time cost. Once configured, students typically have no additional problems running code. That said, reducing getting-started friction is always welcome, and the author came up with a nice solution for personal computers. (Running `powershell -executionpolicy bypass` may not work on corporate laptops.)
- jauntywundrkind 2y agoSetup may be a one time sunk cost of opaque misery for you, but it's a lifetime of never getting any closer to truth understanding or enlightenment, upon a difficult opaque system that doesn't respect you & won't show you whats happening & has an array of barely supported weird add-on tools to accomplish the most basic software installs & setups. It'll be a one time cost for your setup. Then a one time cost for the next setup as the student tries to do something else. Then another cost for the next effort. And the student will never gain any skill understanding or comprehension for any of these barely related steps. Wsl2 is indeed savings Microsoft's bacon, by being some place where there are clear rules & patterns & behaviors, & where there's some kind of coherent underlying substrate. WSL2 is saving MS's ass. By not being Microsoft and by especially not being Windows. By being something social, with layers of accepted communal tools & platform.
- psyklic 2y agoSetup/config is a necessary evil on any OS. It's part of the game that you must learn to be a productive coder. If the setup portion is a huge issue, students can use a pre-configured web solution such as replit. There, you're guaranteed to become dependent on an opaque third party platform (all just to save some minor setup hassle).
- m463 2y ago
- sweeter 2y agoit is absolutely insane the lengths Windows users have go to complete basic tasks. This is one of the things that drove me away from Windows. I was learning to program and it was so frustrating. The Python PATH issue was one of the first I ran into, the anti-virus nuking my project directories OR causing the Go compiler to choke up and go insanely slow. You have to allow-list dev directories to avoid this kind of issue. On top of that installing packages is a nightmare. Its perfectly fine if you are a web dev... or you develop ONLY for windows, but I think that is a terrible mindset that stunts your growth. The way that VS hides all the "complexity" behind layers and layers of menu's is god awful. I dont want to learn how to speed click through a GUI, I want to learn whats happening on a lower level.
- deleted 2y ago[deleted]
- anArbitraryOne 2y agoIsn't this easily solved by VMs?
- SuperNinKenDo 2y agoThe author's repeated expression of "concern" that the Notepad++ author might erase people's files borders on libellous in my opinion. It suggests that such an event might have happened in the past, and especially in the context of a separate piece of software having done that previously, it's almost like the author _wants_ people to misremember and think it must have been Notepad++. If it were only once I wouldn't have made my opening statement in such strong language, but twice? Ironically the whole thing just damages my trust in the author. People who see other people's forthrightness about their own beliefs as a negative are people who should not be trusted, they are people who view a kind of dishonesty as being a virtue, and honesty with suspicion, consider what that means for somebody's trustworthiness.
- Uehreka 2y agoThis must be at least several years old, I do remember when things were this bad. Windows really used to be a huge impediment to education and made getting started with programming seem like a daunting esoteric task. But these days you can have students download WSL2+Ubuntu, Windows Terminal and VS Code from the Windows Store and then you’re an apt-get away from whatever programming language you want. The situation has massively improved.
- musicale 2y ago> Notepad++ This guy thinks his text editor is a political statement rather than just a damn text editor, Well, there's always emacs and vim.... oh, wait....
- QuiEgo 2y agoIf the goal is to have students have experience that will help in real world jobs, use standardized tool chains they will see there. WSL2, VS Code, git. Or a Linux VM. Having to code for a Linux environment on a non Linux machine is super common in industry, and a well solved problem at this point.
- kkfx 2y agoEhm... So you try to mitigate some Windows problems automated the solution, while we have GNU/Linux who do not have such issues natively...
- SuperNinKenDo 2y agoI mean, the author explains this and it makes perfect sense. Starting a class with "OK guys, wipe your entire OS on your personal device" is a total nonstarter. Yeah WSL exists, but that's adding a whole new layer of complexity and indirection and leaves developers without any ability to program natively for the most popular consumer OS around.
- kkfx 2y agoWell... I'm not a teacher BUT I was a student and I have lectured some courses about IT to different age cohort and well, I exactly told "you need a system with easy replaceable storage, we start with GNU/Linux", I spent the initial time to help anyone set up, providing some iron to some who can't, than start showing the system for simple things. And it worked even if these days most people have no knowledge even to install system software often asking for "web version, it's simpler". Touching the complexity and the sorry state of IT things is VERY good in didactic terms. It teach an important lesson to start changing the mindset.
- SuperNinKenDo 2y agoThat's great and I support that approach too. I can understand why a career teacher might be less inclined to doing that though. Not saying anyone should be, but I can understand why some wouldn't accept "install Linux" as a viable demand.
- kkfx 2y agoI can understand as well: most teachers simply do not want to face a big load of potential issues and have not enough time to train their students enough so instead of teaching for their courses they'll have to replicate "The Missing Semester" (MIT) or even much more basic and time consuming knowledge. But the fact is that IT in our society is our social nervous system and to be Citizen we must know that enough to operate alone, being not so easy tricked by some PR etc. Obviously most citizens have definitively not enough knowledge in that field but desktops today are books and libraries of yesterday. We can't have a modern culture without the modern tools of knowledge. Knowing them is like being able to write with pen and paper before and as we can't progress in schools without knowing how to read and write so we can't in modern world progress without knowing to use a desktop properly. That's is. All the tentative to "lower the barrier" have created more issues than those they try to resolve. It's about time to admit it and correct the aim because as a society we are heading to a disaster fueled by some big tech interests exactly because of the ignorance of most.
- SuperV1234 2y agoYou want MSYS2.
- tryauuum 2y agoCould this issue be solved by having many cheap laptops with preinstalled Ubuntu?
- poulpy123 2y agoI'm using unigetui which allows me to easily install packages from winget, scoop and chocolatey
- superb_dev 2y ago> Notepad++ This guy thinks his text editor is a political statement rather than just a damn text editor, which makes him hard to trust even if I agree with most of his views. I can't have some wannabe activist deciding to erase all my students' computers because they happen to live in the wrong state or country. Has notepad++ erased someone’s computer before? I did some quick googling and didn’t find much. It seems really weird to bring this up if there hasn’t actually been any problems. Especially given the line that follows: > Each of these have caused me weeks, months, or years of support problems because of their stupid decisions. The truth is, programming is an expression and often a very political one (see open source). I’m immediately suspicious of the motives of anyone who says project authors shouldn’t talk about their beliefs
- floam 2y agoAll I think Notepad++ did was criticize Russia’s invasion of Ukraine in its release notes. I guess it rubbed this guy the wrong way.
- owl57 2y agoRanking risks from more to less likely, 1. An expected development of this sort of political message is blocking access to the tool's website to users from some countries, either by the website owners or by the relevant authorities. 2. Wiping people's files as part of open-source-as-political-message is less common, but not unheard of: https://www.bleepingcomputer.com/news/security/big-sabotage-famous-npm-package-deletes-files-to-protest-ukraine-war/ https://www.bleepingcomputer.com/news/security/big-sabotage-... 3. Using or even advertising Notepad++ in Russia is probably not dangerous yet. Don't know about China.
- benhurmarcel 2y agoNo, in the software itself he put political messages. There was a bunch of anti-China ones (for Uyghurs, Taiwan, Hong Kong), for Snowden, and for support to Charlie Hebdo after the terror attack. In some cases it opened a new document with the message for example.
- andai 2y agoWhy does it need admin rights? Is it just because it relies on installers that need admin rights? There's no reason the whole thing couldn't be in userdir (or better, portable) right?
- watwut 2y agoI use VS Code for Javascript, Eclipse and Idea for Java/Kotlin without issues. Before VS Code I used Intellij for Javascript without issues.
- justin66 2y ago> The official Python Installer The guy who works on this is employed by Microsoft so big surprise it refuses to add Python to the PATH. I wonder if Zed knows that Guido van Rossum works at Microsoft now. I wonder if his head will explode when he finds out.
- deleted 2y ago[deleted]
- zogrodea 2y agoI remember my CS course using web tech (Codio) to teach coding, which doesn't seem like a bad option for educators, as far as dealing with cross-platform differences goes.
- AriUgwu 2y ago[VSCode + browser + docker or WSL2 image] = who cares? This article feels about 4 years out of date which is more a commentary on how fast the industry moves and how sometimes not even Google can burst your bubble. It’s the students who suffer.
- amai 2y agoMost programmers these days don’t use Windows. They use the WSL (Windows Subsystem for Linux), which means they are using a VM with Ubuntu.