Linked by David Adams on Fri 17th Dec 2004 18:20 UTC, submitted by jeanmarc
Editorial The real heart of open source lies in its potential to be greater than the sum of its parts, the capacity to leverage the talent and abilities of an entire community of developers and users who are striving towards a common goal, according to an editorial at Linux Insider.
Permalink for comment
To read all comments associated with this story, please click here.
by neocephas on Sat 18th Dec 2004 11:53 UTC

.NET is good engineering. I've never had a problem upgrading solutions/projects from older versions of VS to newer version. Of course it would be interesting to see if say Whidbey knows about say VC++ 4.0 projects, but Microsoft has always been good about backward compatibility. Microsoft never depecrates apis.

From what I've seen, I think .NET seems pretty decent. The main problems my class was having was that in VS.NET 2002, the documentation was all for .NET Forms which was to replace the old MFC/Win32 api stuff for GUIs. However, .NET Forms itself is suppose to be replaced in two years (at least that is what I've read... Avalon or something). Anyway, the version of VS didn't allow us to make GUIs with C++, only with C# and VB. Being a C++ class, this was obviously a problem and different groups had to resort to wxWidgets or QT, or just bite the bullet and use Win32 blindly (pretty much blindly). I think VS 2003 resolved this, but 2002 pretty much turned me off it.

That's why you use Cygwin or native versions of unix utilities.

Or you install NetBSD or Arch Linux, which is what I did.

You don't learn how a compiler works just because you use it on the command line. The only thing you learn on the command line are the various compiler switches...In any case there's no difference from typing make and pressing a build button, except that you have to write Makefiles, which is nothing special and Make isn't a great build tool to begin with.

True, but at least you understand that a compiler and a linker is involved and the process your files go through. Albeit, this isn't important if all you are doing is cranking out code, but it is if you are learning. I also find using the command line keeps you better organized. With IDEs, you usually have project files, but these files do not necessarily match up with whats actually on the filesystem. I also found using Makefiles and a commandline compiler simpler and easier than IDE for adding external libraries. For the life of me I could not get VS to link wxWidgets, but with gcc it was a simple command line switch. The only things I liked from VS were intellisense and the integrated debugger, but other than that, a shell + vim + Makefile is a lot easier.

I'll agree that some tools are prohibitively expensive for students, but I don't know what that has to do with linux or windows. There's lot of free tools out there for windows. Maybe not the code, but it's free as in beer.

Well I think this goes back to what the article is actually about: the community. With Linux, there is an open community of developers and users who share their work. It is easier for me, as a student, to learn and contribute to this community. This is manifested in all the software that is available. For instance, I could have used Microsoft's Speech SDK for my robot, but I couldn't really customize it (which I needed to for my particular application) so I used CMU Sphinx. Most of the software on Linux is open source and it is usually freely (as in beer) available. In particular there are a lot of free libraries which you can use in your applications, where as on Windows, you usually have to pay for them. There is open source stuff for windows, which is good, but it's just easier for me to do it on Linux.

Each developer has their own unique way of developing and their preferred tools. One size doesn't fit all. Yes, to each his own.

Word. Linux isn't perfect, but neither is Windows. Not by a long shot.

PS If you are a fan of scheme, Chicken Scheme is pretty sweet too. It can produce stand-alone executables and runs on Windows and Linux.