This Issue Sponsored By
This email newsletter comes to you free and is supported by the following advertisers, who offer products and services that might interest you. Please take a moment to visit these advertisers' Web sites and show your support for Scripting Central.
SPI Dynamics
https://download.spidynamics.com/1/ad/web.asp?Campaign_ID=70130000000C9eU
If you use Active Directory - this survey's for you!
http://www.zoomerang.com/survey.zgi?p=WEB2254YC464FM
1. Developer .NET Perspectives
We All Need to Speak a Common Tongue
2. Events and Resources
SQL Server Magazine Connections, April 2-5, 2006
HA Solutions for Windows, SQL, and Exchange Servers
Take the SQL Server 2005 Pop Quiz
Learn How to Secure Your Email Server
3. Featured White Paper
Automatic Exchange Deployment
4. Announcements
SQL Server Magazine Article Library--Access Available
Exclusive March Offer
Sponsor: SPI Dynamics
ALERT: How A Hacker Launches A Web Application Attack
Learn how to defend against Web Application Attacks with real-world
examples of recent hacking methods such as: SQL Injection, Cross Site
Scripting and Parameter Manipulation. Step-by-step vulnerability testing for
your own Web Applications and guidelines for establishing best administration
and coding practices.
https://download.spidynamics.com/1/ad/web.asp?Campaign_ID=70130000000C9eU
1. Developer .NET Perspectives
by Bill Sheldon, bills@interknowlogy.com
We All Need to Speak a Common Tongue
This week I'm going to focus a bit more on opinion than instruction.
(Translation: I'm going to complain about something, but I hope to be
constructive in the process.) I recently accepted an offer to become a Visual
Basic (VB) instructor for a local university extension. When I got the course
curriculum used by my predecessor, I immediately noticed a couple of
problems. The first problem was that the topics were outdated for Visual
Studio 2005. The second, more important problem was how much time was spent
comparing the differences between Visual Basic .NET and VB 6.0 instead of
addressing how to migrate from VB 6.0 to Visual Basic .NET. This constant
comparison has, in my opinion, slowed Visual Basic .NET adoption and in some
cases caused VB developers to transition to Visual C# for .NET development.
The VB community as a whole has tended to focus too much on where VB has
been instead of on where it's going. For example, about a year ago, many VB
6.0 developers staged an uprising regarding .NET adoption and the phasing out
of VB 6.0 support. Some of the people who participated in this uprising were
the same people who had influenced decisions on the way Visual Basic .NET was
developed. In some cases, particularly with regard to object keywords, this
influence has been detrimental to the VB language.
One basic concept of .NET is that it's an object-oriented (OO)
environment. VB, Visual C#, Visual C++, and Visual J# follow an OO paradigm.
Most Visual C#, Visual C++, and Visual J# developers are familiar with
object-oriented programming (OOP) terms such as "abstract," "constructors,"
"overriding," "overloading," and "static." However, .NET developers who learn
just VB use only two of those key terms: "overriding" and "overloading." The
result is that VB developers are left without knowing some key terms that
other developers use everyday in community discussions, job interviews,
generic programming classes, and other venues.
Having disparate terms isn't just a minor inconvenience. It can cause
problems with unfortunate consequences. For example, at InterKnowlogy, I
conduct job interviews and have seen how some VB developers need prompting
when asked about something like the purpose of an abstract class. It doesn't
bother me, but the hardcore Visual C# developers who are conducting the
interview with me always seem concerned about the interviewee's technical
abilities--an unfair judgment, but one that occurs.
So, as part of my back-to-basics coverage in this newsletter, I want to
talk about object keywords. Let's start with the term "abstract." This
keyword is common across most OO languages. You can find an excellent
definition, which I'm going to quote one sentence from, in the Visual C#
documentation at http://msdn2.microsoft.com/en-us/library/ms173150.aspx.
The first line in the definition says it all: "The abstract keyword
enables you to create classes and class members solely for the purpose of
inheritance." As those with OO experience know, this means that you can't
create an instance of an abstract class. You must create your own class
definition and inherit from the abstract class to get the class's limited
implementation.
So what did the Microsoft VB team choose to use instead of the common
"abstract" keyword? They chose "MustInherit." On the surface, "MustInherit"
seems like a very clear keyword until you look at the VB documentation at
http://msdn2.microsoft.com/en-us/library/aee8f02w.aspx. In the first line of
the documentation's Remarks section, you'll find the sentence, "The purpose
of a base class (also known as an abstract class) is to define functionality
that is common to all the classes derived from it." (Before you write me, I
know that technically this sentence is in error because it makes it sound
like all base classes are abstract/MustInherit classes.)
The first problem is that VB's definition for MustInherit doesn't match
Visual C#'s definition for "abstract." This problem is made worse by the fact
that Visual C# uses the "abstract" keyword at both the class and method
levels, whereas VB uses a second new keyword--"MustOverride"--at the method
level. The second problem is that VB documentation associates the
"MustInherit" keyword with the traditional "abstract" keyword to attempt to
explain its use. So why did the keyword have to change?
Ideally, all .NET developers should be able to speak a common tongue. In
reality, however, .NET developers need to learn both sets of object
keywords--the VB keywords and the keywords used by most other OOP languages--
regardless of which language they specialize in. There was a great deal of
concern about moving VB developers to OO development, but in this case,
hindsight seems to suggest that the Microsoft VB team should have stayed with
the commonly used OO terms--it would have benefited VB developers.
So, what can be done to get all .NET developers to speak a common tongue?
I think that the VB team should align many of the OO keywords in a future VB
release, even if only optionally for VB development. That way, VB developers
could start to use and migrate to the commonly used terms. Unfortunately,
aligning the keywords won't work in every case. For example, the
"constructor" keyword in Visual C# is equivalent to the "New" keyword in VB,
but the "new" keyword in Visual C# is "Shadows" in VB. However, the
new/Shadows keyword is one of the least-used object keyword in OO
development. If everything else were aligned, it would be much less of a
distraction when discussing OO concepts across .NET.
Sponsor: iAnywhere
If you use Active Directory - this survey's for you! Just 5 quick
questions will enter you to win one of 8- $25 Best Buy Gift Certificates.
Fill it out today!
http://www.zoomerang.com/survey.zgi?p=WEB2254YC464FM
2. Events and Resources
(brought to you by SQL Server Magazine)
SQL Server Magazine Connections, April 2-5, 2006
Now in its sixth year, SQL Server Magazine Connections returns to the
Hyatt Grand Cypress Resort. We've scheduled more than 150 sessions with
Microsoft and industry experts. Don't miss your chance to win a Harley
Davidson motorcycle! 800-438-6720 or 203-268-3204.
http://www.sqlconnections.com
HA Solutions for Windows, SQL, and Exchange Servers
When disaster strikes your servers, whether they are dedicated to Windows,
SQL, or Exchange, you need answers. Make sure that if an emergency occurs,
you're prepared. Get the full eBook and get started on your recovery plan
today!
http://www.windowsitpro.com/go/ebooks/neverfail/hasolutions/?code=0315emailannc
Take the SQL Server 2005 Pop Quiz
Test your SQL Server 2005 knowledge and win an iPod! Take the SQL Server
2005 Pop Quiz now.
http://popquiz.sqlmag.com/neverfail
Learn How to Secure Your Email Server
Make sure your email server is secure. Learn everything from basic
techniques to defense-in-depth strategies, including network-level access
control lists, Web authentication, firewall protocol inspection, and
perimeter filtering. Live Web seminar Thursday, March 23
http://www.windowsitpro.com/go/seminars/corrent/secureemail/?partnerref=0315emailannc
3. Featured White Paper
Automatic Exchange Deployment
Use scripted deployments to ensure that all your Exchange servers are
configured and deployed with exactly the same options and to maintain a
record of your installation configurations. Learn how today!
http://www.windowsitpro.com/go/whitepapers/hp/autodeploy/?code=0315featwp
2006 Watch
Learn VS and SQL 2005 -- Buy 1 Get 1 FREE Training!
Become a more efficient, effective developer with award-winning training
from AppDev. For a limited time, buy any Visual Studio 2005 or SQL Server
2005 course or suite, get a second course or suite FREE! Click the link below
for Buy 1, Get 1 FREE training!
http://www.appdev.com/promo/RN00316
4. Announcements
(brought to you by SQL Server Magazine)
SQL Server Magazine Article Library--Access Available
Sign up for a Monthly Online Pass and get INSTANT access to all articles,
tools, and helpful resources published on SQLMag.com, including exclusive
subscriber-only content. You'll get 24/7 access to the full SQL Server article
library (which includes more than 2,300 focused articles) and the latest
digital issue of SQL Server Magazine delivered right to your inbox. Sign up
now:
https://store.pentontech.com/index.cfm?s=9&promocode=eu2163um
Exclusive March Offer
SAVE 50% off the SQL Server Magazine Master CD! Subscribe today and get
portable, high-speed access to the entire SQL Server article database on
CD--a searchable library that includes every SQL Server Magazine article
written since March 1999. The newest issue also includes BONUS SQL Server
2005 tips. This is a special, one-time-only offer that will not be repeated.
Order now:
https://store.pentontech.com/index.cfm?s=9&promocode=eu2863uc
Hot Spot
Microsoft Day at SQL Server Magazine Connections
Orlando, FL, April 2-5, 2006. Dive inside SQL Server 2005 with the
Microsoft SQL Server Product Team. Learn directly from the source about
Integration Services, SQLCMD, CacheSync, attend the three-part Project REAL
series, and more. Register online or call 203-268-3204 or 800-899-5325 for
more info.
http://www.devconnections.com
Contact Us
About Developer .NET Perspectives -- bills@interknowlogy.com
About technical questions -- http://www.sqlmag.com/forums
About product news -- products@sqlmag.com
About your subscription -- Developer_dot_NET_update@sqlmag.com
About sponsoring an UPDATE -- contact Richard Resnick, rresnick@sqlmag.com, or Lisa Kling, lkling@sqlmag.com
Developer .NET UPDATE is brought to you by SQL Server Magazine, the only magazine devoted to helping developers and DBAs master new and emerging SQL Server technologies and issues. Subscribe today.
https://store.pentontech.com/index.cfm?s=9&promocode=eu215xdb
View the SQL Server Magazine Privacy Policy
http://www.winnetmag.com/aboutus/index.cfm?action=privacy
SQL Server Magazine is a division of Penton Media, Inc. 221 East 29th Street, Loveland, CO 80538, Attention: Customer Service Department
Copyright 2006, Penton Media, Inc. All Rights Reserved.
End of Article