R
raylopez99
What is the state of C#? Somebody in a Linux advocacy newsgroup
implied it has saturated (leveled off in growth). Note the 'hard
code' pre-Wizards coding wizard Charles Petzold does C# only now.
RL
http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html
Does Visual Studio Rot the Mind?
Ruminations on the Psychology and Aesthetics of Coding
By Charles Petzold
A Talk Delivered at the NYC .NET Developer’s Group,
October 20, 2005
Twenty years ago, in November 1985, Windows 1.0 debuted with
approximately 400 documented function calls.5 Ten years later, Windows
95 had well over a thousand.6
Today we are ready for the official release of the .NET Framework 2.0.
Tabulating only MSCORLIB.DLL and those assemblies that begin with word
System, we have over 5,000 public classes that include over 45,000
public methods and 15,000 public properties, not counting those
methods and properties that are inherited and not overridden. A book
that simply listed the names, return values, and arguments of these
methods and properties, one per line, would be about a thousand pages
long.
If you wrote each of those 60,000 properties and methods on a 3-by-5
index card with a little description of what it did, you’d have a
stack that totaled 40 feet.7 These 60,000 cards, laid out end to end —
the five inch end, not the three inch end — can encircle Central Park
(almost), and I hear this will actually be a public art project next
summer.
Can any one programmer master 60,000 methods and properties? I think
not. One solution, of course, is specialization. I myself have
specialized. This evening I hope no one will ask me questions about
web forms or ASP .NET or SQL Server because those aren’t my specialty.
I do Windows Forms, and my language is C#.
IntelliSense
Visual Studio has attempted to alleviate the problem of class, method,
and property proliferation with a feature called IntelliSense.
IntelliSense indeed puts information at our fingertips, if you think
of your fingertips figuratively as that place on the screen where the
keyboard caret is.
Like other addictive technologies, I have a love/hate relationship
with IntelliSense, and the more I despise it, the more I use it, and
the more I use it, the more disgusted I am at how addicted I’ve
gotten, and the more addicted I get, the more I wish it had never been
invented.
Just in case you’ve been out of the trenches for awhile, IntelliSense
is a culmination of some past attempts at code completion
technologies. If you type an object name and a period, for example,
you’ll get a little scrollable dropdown menu with a list of all the
public methods, properties, and events for that class, and when you
choose a method name and type a left parenthesis, you’ll get the
various overloads with arguments, and a little tooltip describing what
the method does.
IntelliSense is considered by some to be the most important
programming innovation since caffeine. It works especially well
with .NET because Visual Studio can use reflection to obtain all the
information it needs from the actual DLLs you’ve specified as
references.
In fact, IntelliSense has become the first warning sign that you
haven’t properly included a DLL reference or a using directive at the
top of your code. You start typing and IntelliSense comes up with
nothing. You know immediately something is wrong.
And yet, IntelliSense is also dictating the way we program.
implied it has saturated (leveled off in growth). Note the 'hard
code' pre-Wizards coding wizard Charles Petzold does C# only now.
RL
http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html
Does Visual Studio Rot the Mind?
Ruminations on the Psychology and Aesthetics of Coding
By Charles Petzold
A Talk Delivered at the NYC .NET Developer’s Group,
October 20, 2005
Twenty years ago, in November 1985, Windows 1.0 debuted with
approximately 400 documented function calls.5 Ten years later, Windows
95 had well over a thousand.6
Today we are ready for the official release of the .NET Framework 2.0.
Tabulating only MSCORLIB.DLL and those assemblies that begin with word
System, we have over 5,000 public classes that include over 45,000
public methods and 15,000 public properties, not counting those
methods and properties that are inherited and not overridden. A book
that simply listed the names, return values, and arguments of these
methods and properties, one per line, would be about a thousand pages
long.
If you wrote each of those 60,000 properties and methods on a 3-by-5
index card with a little description of what it did, you’d have a
stack that totaled 40 feet.7 These 60,000 cards, laid out end to end —
the five inch end, not the three inch end — can encircle Central Park
(almost), and I hear this will actually be a public art project next
summer.
Can any one programmer master 60,000 methods and properties? I think
not. One solution, of course, is specialization. I myself have
specialized. This evening I hope no one will ask me questions about
web forms or ASP .NET or SQL Server because those aren’t my specialty.
I do Windows Forms, and my language is C#.
IntelliSense
Visual Studio has attempted to alleviate the problem of class, method,
and property proliferation with a feature called IntelliSense.
IntelliSense indeed puts information at our fingertips, if you think
of your fingertips figuratively as that place on the screen where the
keyboard caret is.
Like other addictive technologies, I have a love/hate relationship
with IntelliSense, and the more I despise it, the more I use it, and
the more I use it, the more disgusted I am at how addicted I’ve
gotten, and the more addicted I get, the more I wish it had never been
invented.
Just in case you’ve been out of the trenches for awhile, IntelliSense
is a culmination of some past attempts at code completion
technologies. If you type an object name and a period, for example,
you’ll get a little scrollable dropdown menu with a list of all the
public methods, properties, and events for that class, and when you
choose a method name and type a left parenthesis, you’ll get the
various overloads with arguments, and a little tooltip describing what
the method does.
IntelliSense is considered by some to be the most important
programming innovation since caffeine. It works especially well
with .NET because Visual Studio can use reflection to obtain all the
information it needs from the actual DLLs you’ve specified as
references.
In fact, IntelliSense has become the first warning sign that you
haven’t properly included a DLL reference or a using directive at the
top of your code. You start typing and IntelliSense comes up with
nothing. You know immediately something is wrong.
And yet, IntelliSense is also dictating the way we program.