5 ms·
While I can see this is an excellent strategy for the Windows platform, and will probably make developers on Windows more productive, I for one will never give
by hardwaresofton 10y ago
While I can see this is an excellent strategy for the Windows platform, and will probably make developers on Windows more productive, I for one will never give up natively installed linux distributions for development.
It may be childish, but I resent Windows for every anti-privacy, anti-competitive move they make, despite how much it is within their rights and fitting with their corporate goals. Trying to put linux in windows and pretend that they've been on the side of developers who push F/OSS this whole time is a hard pill to swallow.
I recoil at the possibility that some developer 5 years from now might ask me "Why bother installing your own linux distribution? You can just get Windows Go 15 and run Arch/Ubuntu/SUSE from inside there. Don't forget to disable the ads and tracking that come standard".
- eddiedunn 10y agoI agree with you, but there is a flip side. More people might start asking themselves what the point of Windows is, since everything they need is available on Linux. "Why bother paying the Windows tax? Everything I need runs on Linux natively."
- loudmax 10y agoOn the other hand, we could be entering a phase where an open source developer might say "Why bother porting to Windows? Just target Arch/Ubuntu/SUSE."
- ygra 10y agoNot sure how viable that strategy is, considering that WSL is more a developer tool than something normal end users would install. But many open-source developers already don't care about porting to Windows, so not much changes, I guess.
- supremesaboteur 10y agoI suspect you will be able to write an installer that enables WSL and installs your application as a Linux app on Windows
- hardwaresofton 10y agotl/dr: Simply put, the cross platform distribution problem is solved (in way more ways than one), but I think the combination electron/nw.js + cross-platform-from-the-get-go languages will win, instead of other options like QT. I think it might be a waste of time to target a distribution and hope it gets ported reasonably to Windows, clouding your codebase in the process. While possibly a highly unpopular opinion, this is where I think solutions like Electron/Node Webkit fit perfectly.I think this is actually kind of already solved (just not with the tools that everyone may want). We shouldn't be even aiming for any particular distribution to begin with, at the expense of a larger executable and less-than-native UI performance, you get write once ship just-about-everywhere when you use tools like electron/node webkit. Developers often hate web programming, but it's just about the only easy to pick up, and relatively consistent tool for the job of platforms that "just work" (pretty much) everywhere right now. It even seems like the best way to do it going forward, given that: - Browser companies will work hard towards making browsers faster and efficient, because it's in their best interest (which is the best kind of guarantee). - Cross-platform minded languages like Go or Rust will become more popular for those who want to get away from using JS at all, and JS could basically become an RPC layer for the "real" application - Once WASM really takes to the mainstream, languages will just compile it to it. WASM already has LLVM support, so there's a bunch of languages for free already. So soon, JS won't even be the sticking point in why people dislike distributing cross-platform apps with Electron/NodeJS, then we'll focus on things like executable size and memory usage, and solutions will pop up for those things too. <tl/dr goes here>
- adrianN 10y agoIf I wanted bloated UIs that look the same on every platform but integrate poorly with every platform I'd use Java Swing.
- hardwaresofton 10y agoOh yes, I totally forgot, that option has been around forever as well (I only mentioned QT) -- I've only written one non-trivial app in it and it wasn't the worst experience actually (but then again, it was a greenfield project, albeit close to a decade ago now)
- toyg 10y agoI think there is a distinction to make between developers of applications deployed on servers and deployed on desktops. I know the latter category is a dying breed, but still. With WSL, developers targeting servers do have less of an incentive to port to Windows; but I'd argue that was the trend already, which is why MS is finally coming around. On the other hand, developers targeting desktops now have more of an incentive to target Windows. A lot of early adopters and peers for these people are power users and other developers, who run Linux or Mac on their desktops as much as (if not more than) Windows. If more of these people move back to Windows because of WSL, desktop developers will have to consider Windows a priority again. While a lot of the focus of "New MS" is on selling and promoting their cloud services, they are also interested in stemming the bleed on desktop. WSL helps a lot in that regard, IMHO; and as a side effect, it keeps developers on Windows: familiarity is always useful when it comes to peddle other Windows-based solutions. Win-win (for MS).
- sorenjan 10y agoI think WSL is a result from the work Microsoft did to run Android apps on Windows. If I'm not mistaken, they decided to scrap that because of this issue, if developers can target Android and run on Windows mobile, why would they target Windows? I don't think that will be an issue with GUI programs on computers, but it might for CLI programs.
- cwyers 10y agoThe apps still needed to be recompiled, because Google Play services weren't ported. The iOS bridge is still supported.
- dagw 10y agoThis seems to already be happening with Docker. I can think of a couple of Open Source projects where there official Windows installer just installs Docker, a Docker container and a .bat file that starts up and connects to the docker container.
- Shorel 10y agoI don't resent Windows, in fact I am doing updates now in the Windows OS. But just for performance and workload capacity, I can't give up Ubuntu, when installed in the very same hardware. There's something in Windows that just removes control from the user, and I say this in a very technical way.
- hardwaresofton 10y agoAbsolutely agreed -- I saw a different HN thread about running Windows 10 on ARM and: - thought to myself "why on earth would anyone want that" - looked at the comments, noted people who were working with legacy software that turned out to be dependent on windows, decided to keep my disparaging commentary to myself - felt sympathy with smidgen of condescension (I'm of the opinion that someone should just rewrite those old tools, but being a relatively young developer, I'm naive like that)
- deleted 10y ago[deleted]
- taude 10y agoWhen you're a large company, with literally 100s of 500K+ LOC apps around, you don't get to just rewrite them. That's the reality of a lot of enterprise shops and completely changes the perspective when looking at a codebase with various vintage technologies.
- bluGill 10y agoSure you get to re-write them, and you are a fool not to. However the rewrite needs to be spread out over 30 years. Note that after 10 years your replacement needs to be rewritten as well. The trick is figuring out what this the priority. There is some 40 year old software that mostly work: it runs fast enough; it doesn't have many bugs; it doesn't follow best practices that the software world has discovered since; and it rarely needs new features. This code needs to be rewritten but the value just isn't there. There is other code that at only 5 years old needs to be rewritten: it is full of bugs, new features have been tacked onto an architecture that wasn't designed to support it - this software needs to have a large budget given to fixing it in the long run this will save a lot of money. Most projects are somewhere in between, you should give the team a little extra time/budget so that they can keep the maintenance up to do and it will never get much worse.
- notalaser 10y ago> I recoil at the possibility that some developer 5 years from now might ask me "Why bother installing your own linux distribution? You can just get Windows Go 15 and run Arch/Ubuntu/SUSE from inside there. Don't forget to disable the ads and tracking that come standard". "I mean, the privacy is shit, but you can sort of deal with it. But at least you don't have to dance the Ritual Dance of PulseAudio if you need to do MIDI (or get as much as a hiss out of your speakers), suspending your computer doesn't garble your desktop background or desktop icon labels, you can update Windows Go 16 and it'll work after you reboot..." I don't like Microsoft any more than I like any company of its size, but they're making a compelling case, while the Linux "community" is busy supporting cloud, IVI, and IoT vaporware. Edit: ten years ago I was certain they were going to pry Debian and OpenBSD from my cold, dead hands. But Windows, for all its privacy compromises, is working better and better, whereas Linux desktops are getting worse (and less portable), with a never-fulfilling promise that it's going to get a lot better when they finally get stable, this massive rewrite that we started like six years ago is just about done... Edit edit: I know my comment looks overly negative and I seem grumpy but really, I'm not, I like Linux, I make a living out of writing Linux software and I've used it one way or another for almost twenty years. That being said: 1. Please stop recommending me that I use something more user friendly, like Mint or Ubuntu. "You can update to Windows Go 16 and it'll work after you reboot" was a joke about Ubuntu. 2. This "I got this new machine and it works flawlessly out of the box, Linux is great if you get good hardware" is the wrong mentality if you're not Apple. Every operating system, including TempleOS, runs flawlessly out of the box on some hardware. It's getting it to run flawlessly on hardware other than the developers' machines that's complicated. Go ahead, grab ten high-end laptops at random and see how well plugging and unplugging your monitor works, even on systems that are officially supported. How do you think I ended up knowing xrandr's command line options better than I know tar's? Not being able to care for my Linux box is not my problem, my problem is that I don't want to care for my Linux box. I babysit Linux at least eight hours a day at work. I don't want to have to do it at home, too.
- hardwaresofton 10y agoCould you expand on some ways that linux desktops are getting worse/less portable? I run Arch and I definitely run into a few things from time to time where I need to go on a google hunt to figure out what's wrong (if it's not already obvious), but the distro is pretty user friendly (despite the 'hard core' reputation it has which honestly drew me to it). Ubuntu just about works right out of the box 99% of the time these days. Also what is IVI? this: https://www.ni.com/ivi/what.htm https://www.ni.com/ivi/what.htm ?
- youdontknowtho 10y ago>It may be childish I don't think its childish, but I do think it's more emotional than logical. They aren't trying to pretend that they have been on the side of FOSS developers the whole time. Most MS'ers that I've talked to are very clear about what MS did wrong in the beginning of the Open Source era. Lot's of them went to work there just to work on open source. I'm not trying to get down on you or anything, I just think that maybe you are letting your feelings about the past color your reaction. Also, no one is saying that you should give up anything. This is for people that want to use it to help with their development tasks. You know, I watched a SQL presentation from their Build conference today about SQL Server and containers...the entire thing was on Linux. Completely. They didn't use Windows Server even once.
- yunoe 10y agoI get what you're saying. I don't like part of the direction Microsoft is taking either. Yet, I don't agree with your perspective. What's happening here is that Microsoft, after a number of years of troubles keeping up, are following the market. WSL is presumably not meant to compete with Linux or FOSS as a desktop OS, but with Mac OS and Linux as developer platforms. Companies like Google and Apple figured out that if you just give people their pony e.g. base your things on FOSS, they won't notice when you centralize everything, track everyone and generally behave badly. In many ways Microsoft is doing better here. Their projects aim to be cross platform and are being developed together with the community. Instead of usual the code dump and silent mailing list we've become accustomed to from some companies. Linux have had the chance to do better for awhile now (and in some ways it has). Microsoft have been critized constantly for Windows 8 and now Windows 10. Apple left a huge hole in the "professional" market for years, including after the new Mac Pro and the new MacBook Pro. If some developers move to Windows because of this I think that's fair.
- hardwaresofton 10y ago> What's happening here is that Microsoft, after a number of years of troubles keeping up, are following the market. WSL is presumably not meant to compete with Linux or FOSS as a desktop OS, but with Mac OS and Linux as developer platforms. I understand and agree with that point, I don't believe I remarked on pushing WSL as a Linux or FOSS desktop OS, my point was more that it was way to lure developers to Windows, after Windows has spent time and money making moves that do not benefit developers and hurt competition. Also I already hear the "oh just run it in a VM" argument all the time right now (not saying it has no merit), as reasons for why people don't run linux distributions, and thought this was similar. > Companies like Google and Apple figured out that if you just give people their pony e.g. base your things on FOSS, they won't notice when you centralize everything, track everyone and generally behave badly. In many ways Microsoft is doing better here. Their projects aim to be cross platform and are being developed together with the community. Instead of usual the code dump and silent mailing list we've become accustomed to from some companies. It certainly depends on the product, but "developed together with the community" feels to be to always only be true up to a point (and usually not the point that people end up wanting). Benevolent dictators make sense as the governance model for open source products, but I just don't believe in Microsoft as my benevolent dictator anymore than I would in Google. Also, I'm totally fine with code dump and silent mailing list, it's not the company's job to give you the fruits of their internal labor for free. I don't expect that from any big tech company. I can't see that Microsoft is doing "better", they're just trying to get in the same game that the other companies are already in. Maybe I just haven't interfaced with enough companies running F/OSS projects to know the difference, if it's that stark. > Linux have had the chance to do better for awhile now (and in some ways it has). Microsoft have been critized constantly for Windows 8 and now Windows 10. Apple left a huge hole in the "professional" market for years, including after the new Mac Pro and the new MacBook Pro. If some developers move to Windows because of this I think that's fair. I assume your rationale behind developers moving to Windows being "fair" is that it will encourage competition (and cause the linux community to get off their laurels)? Based on that assumption, while I agree that more competition is good, it's that very competition that microsoft (and most other companies) has seeked to crush at times. The linux community is fundamentally different. Redhat is not (I think) fundamentally different than Microsoft, but the linux community certainly is, because the structure, principles, and philosophy are just not the same. The linux community is not just a competing OS, it's a way of thinking. Shoe-horning a different way of thinking into your own without actually changing your own (and in fact sometimes making philosophical movements in the opposite direction) looks like nothing more than a ploy to entrap people into thinking "microsoft gets me" when they (in my opinion) would be better off committing to an actual group of like-minded people. Also, I'm not 100% sure what exactly you disagreed with in my comment... To sum up: - Microsoft is different partnering closely with the community - Linux needs more competition (?)
- devwastaken 10y agoI've had more problems with linux subsystem than just booting up a vm. FUSE filesystem isn't even mountable on linux subsystem, along with thousands of others various problems you'll probably come across building automation scripts.