Greetings, fellow n00b.
1) No - .NET is managed code. Managed code is code with all the funky
..NET trickery like garbage collection wher you don't have to worry
about checking your boundaries and accidentally writing data into the
middle of your operating system. .NET is managed, old-skool C++ Win32
code is unmanaged.
see
http://en.wikipedia.org/wiki/Managed_code
2) I'm not entirely sure what you mean by always... and in fact I think
I'm going to drop the numbering because the remaining questions all
fall into the same concept category.
Namespaces in .Net
Namespaces provide a neat way of organising your classes into discrete
blocks of related functionality. Additionally, they provide a way of
disambiguating class names.
For example: you have Class Foo residing under namespace CyberPine, and
you purchase a new Foo component from AcmeComponents. Your class is
CyberPine.Foo and theirs is AcmeComponents.Foo, and that obviously
makes life less confusing.
If your classes are in namespace CyberPine.CommonUtilities (for
example) you can use them from other code by importing them, just as
you import namespaces from System.
If you want to use an existing compiled DLL in your ASP.Net project
(bear with me, I've not used VS in quite a while) then you have to
right-click in the pane to the right (references? I forget) and add a
reference to that DLL, and the classes contained in that dll will then
display.
To keep things sane, I usually use
CompanyName.ProjectName.DiscreteBlock as my namespace for classes where
DiscreteBlock might be Pages, or Data, or BusinessClasses, or Core. If
I were to share those dlls, any .Net developer could import my DLL and
do (pardon any errors in my VB):
Imports CompanyName.ProjectName.Core
namespace OtherCompanyName.OtherProjectName.Pages
Public class MyPage inherits System.Web.UI.Page
and have access to my core utilities and helpers within that page
class. Does that make a little more sense?
If you want to keep things cheap and simple, I recommend getting a bug
tracking db (we use FogBugz at our shop) and installing Subversion and
TortoiseSVN, but then I'm not much of a fan of the MS dev tools.