4 ms·
I disagree with the point of the article. I think This is more of a platform gripe ("I hate it that this stuff is unfamiliar to me!") than an actually valid arg
by gm 15y ago
I disagree with the point of the article. I think This is more of a platform gripe ("I hate it that this stuff is unfamiliar to me!") than an actually valid argument.
The same could be said for someone learning Linux for the first time, writing about how difficult it is to get X project compiling, or starting a project from scratch. Vi, Emacs, no IDE, dependencies, make, cross platform incompatibilities, etc are all gripes that could be said of any OSS project of decent size. All with an equally good sob story about just how hard things are to do.
It boils down to the fact that learning new stuff is hard and inconvenient because in the environment you have just spent X years developing on it's so easy.
Which is a fair enough point, just don't mislabel or misattribute it.
EDIT: Also the headline makes no sense. Platforms don't beget open source. People and open source licenses do. If it does not exist, create it and share it. Is that not the whole point of OSS?
- MartinCron 15y agoThere is an odd dynamic here, where having a non-cross platform tool (such as NuGet) seems inferior to not having that tool at all. I do a lot of .NET development and haven't played around with Mono at all yet. This article makes me want to try and see how many of my assumptions (nUnit, TeamCity, Visual Studio) don't translate.
- gm 15y agoHmm, you sure NuGet is not cross platform? It's open source, btw, so people have a chance to fix if they do not like. But the NuGet FAQ (http://docs.nuget.org/docs/start-here/nuget-faq http://docs.nuget.org/docs/start-here/nuget-faq) says this: >Does NuGet support Mono? >The command-line application (nuget.exe) builds and runs >under Mono and allows you to create packages in Mono.
- MartinCron 15y agoYou're probably right, the author of the original post seemed to rule out NuGet because it didn't work for him.
- kermitthehermit 15y agoActually, if it's too complicated to do something like just setting up that build and maintaining it for two platforms (development and, possibly, deployment), it's also very likely a lot of people will stick to something which requires less effort.
- rbanffy 15y ago> I think This is more of a platform gripe ("I hate it that this stuff is unfamiliar to me!") than an actually valid argument It actually went to great lengths to demonstrate how hard it is to do cross-platform development with .NET. The article describes the problems of having IDEs that rewrite makefiles in incompatible ways. > The same could be said for someone learning Linux for the first time Makefiles usually work. You may need to install some library through your package manager or build it yourself, but, then, you are a programmer, not an icon-dragger. > It boils down to the fact that learning new stuff is hard and inconvenient While learning new stuff can be hard or inconvenient, it has nothing to do with the problem the article describe. The article describe the problem of not having a clean cross-platform workflow programmers running Visual Studio and Mono Develop can use to seamlessly collaborate on the same codebase, something that's really easy for just about anything else.
- recoiledsnake 15y ago>It actually went to great lengths to demonstrate how hard it is to do cross-platform development with .NET. Being cross-platform has nothing to do with being open source. They are totally orthogonal. The article conflates both of them.
- Herring 15y agoOpen source stuff is often ported to other architectures because it's open source. The point here is using microsoft tools makes that difficult... though I'm not sure why anyone would find that surprising.
- gm 15y agoAnd my point is, again, that the same can be said for platforms in the OSS world. Portability is a bitch. It's only gotten easier lately because there are less platforms to support (or how many of us code stuff so it compiles and runs seamlessly in Solaris as well?) So if the point is to have stuff run both in Windows and Linux, then yeah, portability is a bitch. As to makefiles usually work, they do indeed, but after potentially a lot of debugging. I've been through that myself. But the point is, .NET project files, they usually work too. About your last paragraph, I'll just repeat what I said before: The post could have been a how-to, had it been written in the spirit of open source. It was not, though, and so it was more of a complain post. It's all good, though. Someone will find the article and the how-to part out, which overall is a good thing.
- billpatrianakos 15y agoThe argument is very sound. The idea that licenses and people are what drive open source but that's just one aspect of it. The ability to pick up the code and get to work with minimal hassle can make or break an open source project. If I have to rewrite half the code just to get things working on my system and begin building on the original source then why don't I just start from scratch anyway? Obviously everyone's mileage may vary and there's bound to be a few issues with any project but when they're so common and similar to what the author describes then his point is validated. I've always known Windows to be notorious for making me jump through hoops to get simple, common development tools working. The author mentions Ruby, Python, Perl, and Node (I'd also add Apache, Nginx and PHP) as examples that more or less "just work" on any platform... But not Windows. You have to jump through hoops and use alternative software or (very different) methods to get these things working and it's a huge pain and doesn't help promote open source as the frustration of getting something to work is enough for someone to give up. I'm not a Windows hater and I don't want to start a whole Win v. Linux v. Mac argument. The reasons for things being like this on Windows (please excuse me if I'm stating the obvious) is that, first, Windows has a very different heritage from every alternative OS. Secondly, Microsoft has a long history of trying to keep users and developers hooked on their platform. As a programmer if you learned on Windows then switching to another OS for development can be a challenge. Depending on the programmer that challenge may be enough to keep you on Windows as its the path of least resistance to you. I can't completely blame them however. If in an alternate universe Windows had a Unix heritage along with other popular OSes and Linux was the odd man out then we'd be saying the same things about Linux distros that we say about Windows now. I prefer every OS but Windows for a lot of reasons one of which is the same as the reason why my hypothetical programmer chooses Windows over other platforms. On any Linux or OS X machine I have a development environment up and running smoothly in a short time with minimal glitches but Windows makes things very hard for me. So while they're trying to keep current devs locked in they also make non-Win devs locked out.
- CurtHagenlocher 15y ago<quote>The author mentions Ruby, Python, Perl, and Node (I'd also add Apache, Nginx and PHP) as examples that more or less "just work" on any platform... But not Windows. You have to jump through hoops and use alternative software or (very different) methods to get these things working</quote> This is a very 21st-century perspective, in that all of these non-Windows platforms are basically Unix. If you look at the platforms that existed in the early 90s -- things like MVS, VMS, TOPS-20, OS/400 -- these were even less Unix-like than Windows was. Windows is an anomaly only because it's the last non-Unix OS standing.