TANSTAAFL is Virtually Untrue
Robert wrote:
> As someone points out, this is super depressing that an
experienced
> C++ developer can't afford a copy of VS.net.
> May be, your company or your friends have a trial copy of VS.net
> already since M$ mail them out to developers like there is no
> tomorrow.
> C++ developer can't afford a copy of VS.net.
> May be, your company or your friends have a trial copy of VS.net
> already since M$ mail them out to developers like there is no
> tomorrow.
Before everyone jumps on Microsoft for not making
VisualStudio.NET Enterprise Architect free, let's all
remind each other that the .NET Framework SDK
is free.
See
and
Context: we are discussing the needs of
someone who wants to learn .NET programming.
While Visual Studio.NET may make development easier, by
writing a lot of code behind the scenes and by integrating
lots of useful features into the IDE, it is
not necessary. You have everything you
need to write and debug perfectly workable .NET code right
there in the SDK. You can use Notepad, Vim, Emacs, or any
other editor to write the code. In fact, I strongly
recommend learning to write .NET code
without using Visual Studio.NET so you
really learn what's going on. Sometimes
tools do too much for you, particularly when you're
learning. After you learn, you can better appreciate the
value of the tool. After you learn, you are silly not to
*use* the tool.
If I had my way, you would only get your scientific
calculator after you learned to do a square
root and at least one Taylor Series expansion by hand! Once
you know what you are really calculating and what's
underneath the calculations, you would probably be horribly
inefficient not to use the calculator (or computer). The
“probably” leaves some room for special cases like Turing.
I'm pointing to the difference between a cookbook
engineer and one that knows where and why the formulas
work and where and why they don't. If you just want to
be a drag-and-drop programmer, you can ignore all of
this. If you want to be able to do deep debugging and
to code for .NET intelligently, then you may gain some
value from this suggested approach.
Warning! When you are behind on a
project with a hard deadline, forget all of this
nonsense and make your company buy Visual Studio.NET for
you.
You can even write make files and build scripts to package
your code. See the .NET Framework SDK samples for plenty
of examples. You get nmake.exe free with the SDK.
If you want to learn and play with and develop on ASP.NET,
then just go to
http://www.asp.net/ and
download the free WebMatrix IDE (http://www.asp.net/webmatrix/default.aspx?tabIndex=4&tabId=46).
If you are an advanced C++ developer, you can certainly
learn Managed C++ for the .NET Framework using cl.exe,
the free command-line compiler that comes with the .NET
Framework SDK. Please see
http://winprog.org/tutorial/msvc.html for details. Also, see your equivalent of the
C:\Program Files\Microsoft Visual Studio
.NET\FrameworkSDK\Samples\Technologies\CrossDevLanguage\Readme.htm
example in your .NET Framework SDK for a cross-language
sample using both Managed C++ and C#. Visual Studio.NET
is not required.
With this information, you should be too busy programming
to complain about the fact that Microsoft charges for
Visual Studio.NET.
Key takeaways:
1. Thank you, Microsoft, for the .NET Framework SDK and
all of the free-as-in-beer tools and documentation you
have provided!
2. Thank you, .NET Community for so many other wonderful
free tools, including Mono, various language
implementations, a plethora of code editors, IDE's,
utilities, sample code, and everything else!
-----
P.S. Here is a link to the thread that motivated this
article. The thread also includes a lot of response and
discussion around it. My original message was Number 9 in
the thread.
I have edited this article based on some of the feedback
and may edit it further if the discussion continues.