473,396 Members | 1,940 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

What do Microsoft's hypocritical developers have in common with dog sh!t?

Every single time neophytes or converts ask about naming and style
conventions what are they told by the majority consensus? The answer is "do
what you prefer but do so consistently" right? Yes, that's right, that's
exactly what is said. People joining a team of developers are also
encouraged to cooperate with their peers and adopt what has already been
established right? Yes, that's exactly what is encouraged.

Teamwork and cooperation is a good thing. The guys on the blue team wear
blue jerseys and the guys on the red team wear red jerseys. Neophytes and
converts alike look to their team for guidance and leadership; Microsoft and
accomplished peers/colleagues.

JavaScript and C# are exactly the same syntactically and if syntax and style
are best used CONSISTENTLY and in COOPERATION with what has been established
as the CONVENTION we have to consider the following hyopcritical
contradiction in terms....

By convention, Microsoft has established the syntax for C#, C++, J# and
JScript... to be written using symmetrical code blocks which I think it
correct to conclude most developers agree to be the most readable, usable,
most reusable, most efficient etc...

// Microsoft's C#, C++, J# and JScript...
symmetrical code block
{
....
}

Just like untrained puppies, leave them alone for a minute and Microsoft's
hypocrital developers will sh!t on your new carpet...

// Microsoft's Atlas...
asymmetrical code block{
....
}

"A double minded man is unstable in all his ways."
-- James 1:8

<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://www.metromilwaukee.com/clintongallagher/

Aug 5 '06 #1
8 1981
clintonG wrote:
[Microsoft disobeying their own guidelines]
So what else is new? Every time the guidelines tell us the current
thing to do with regard to user interfaces, the next Office or
Internet Explorer breaks them all in order to look revolutionary and
trendy. Marketing always trumps common sense.

Eq.
Aug 5 '06 #2
"Paul E Collins" <fi******************@CL4.orgwrote in message
news:9I********************@bt.com...
clintonG wrote:
>[Microsoft disobeying their own guidelines]

So what else is new? Every time the guidelines tell us the current thing
to do with regard to user interfaces, the next Office or Internet Explorer
breaks them all in order to look revolutionary and trendy. Marketing
always trumps common sense.
LOL! Remember only a very few years ago, Stan Leszynski's naming conventions
(based on Hungarian notation) were akin to having found Jesus' diaries...

Dim strVariable As String

Lovely! We can tell its a string variable just by looking at it, so we know
we need quotes around whatever we plug into it, etc.

Dim bytMonth as Byte

Even better! We know it's a byte, so we won't even try to assign a value
greater than 256 to it.

Etc.

Then .NET came along and suddenly all that was stupid, pointless, too much
code, harder to read, took longer to write, harder to understand etc. IIRC
correctly, the school of thought in the environs of Seattle was that
IntelliSense was *so good* in .NET that you it nearly worked
telepathically - you only had to start thinking about moving the mouse
towards a variable and you knew every single thing there was to know about
it.

Here's an example of a well-respected company jumping on the Microsoft
bandwagon: http://www.fmsinc.com/dotnet/Analyze.../Hungarian.htm

I just love reason number 4 - "Eliminating Hungarian Notation makes code
easier to manage, especially when you decide that you need to change a
variable's type (for example, if you decide to use a double instead of a
long)."

What total and utter garbage!

All those users of Visual Studio who have discovered the Find and Replace
functionality please take one step forward... :-)
Aug 5 '06 #3
Jesus, I hate to get into what's going to turn into a flame war...

but here goes anyway...

The "majority consensus" you refer to is no more a consensus than the
opinion of any other group of programmers, a large proportion of whom are
notoriously difficult to convince of anything they don't already believe.
Ask ten people on this newsgroup where the curly braces should be, and
you'll get ten different opinions, and each one of them will insist at the
top of his lungs that his is the ONLY RIGHT WAY to do it.

Nonsense. There's no such thing as an only right way to do anything. At a
minimum, for anything you can name, there are probably at least three only
right ways to do it.

But it happens that a lot of opinion leaders in this industry do believe
that it's better to be using some kind of guidelines than none, and that
there's no single right way to do anything. They also believe that Microsoft
is not the last word - the tablets come down from the mountain in the arms
of Moses - on the issue of coding guidelines.

Look at the mess that Microsoft made of Hungarian notation, prior to .Net.
The originator's original intent for Hungarian notation was to tag variables
NOT with their data types, but with a simple encoding of semantics that
relate to the application domain that you're developing in (you can look it
up). The Microsoft C++ team and the Windows OS team changed that excellent
idea and turned it into a horribly torturous encoding of primitive data
types, and practically forced it on us with all the code they gave us in,
for instance, the ghastly MFC. Thank God they finally came to their senses
and threw Hungarian overboard.

"Do what you prefer but do it consistently?" Sure. Look at other people's
code, look at the Microsoft samples, talk to other programmers whose
opinions you respect, and ask them WHY they choose to do particular things.
Then think about whether it makes sense to you, and try it out. If it works
for you, add it to your own evolving sense of programming style. If you a
very junior programmer, with no style that you've already developed, start
with Microsoft's and see how well it works.

If you're working at a company that has a large body of existing code that
uses a particular style of coding, use that style while you're programming
for them. If you don't like it much, talk to the senior programmers there -
particularly the ones who have been there a long time - and ask them why
they do it that way. Maybe they don't like it either, and maybe with them
you can move things in a better direction. If you code in a radically
different style, you'll later on be forcing other programmers who take over
your code to learn your style just to be able to read the code YOU wrote,
when all the rest of the code at the company reads a different way. They
won't appreciate that.

Not all programming styles are good. There are some very bad things you can
do, that improve your chances of making errors in your coding. Those you
need to weed out of your own style (if you have one). Where do you find out
what's generally considered badness in coding style? The earliest source
books on guidelines in the C programming family (C, C++, C#, Java) are, for
example, "C Programming Guidelines" by Tom Plum, and "C++ Programming
Guidelines" by Plum and Dan Saks. They're dated in many respects, but one
thing they do well is identify the basic bad techniques, such as having
variables that differ from each other only in the case of one letter and so
on.

For more modern guidelines, I like the Microsoft .Net guidelines, but I
don't swallow them whole either. I've largely adopted them when I program in
the .Net languages, but my own style still contains some techniques that
differ from Microsoft's. These are things that work well for me and that I
see no need to change. At the company where I presently work, I largely use
the style of the existing code, just so that when someone else at the
company looks at it, or when I leave the code behind for someone else, it
will look familiar and easy to read for whoever takes it over.

Regards,
Tom Dacon
Dacon Software Consulting

"clintonG" <cs*********@REMOVETHISTEXTmetromilwaukee.comwro te in message
news:up**************@TK2MSFTNGP06.phx.gbl...
Every single time neophytes or converts ask about naming and style
conventions what are they told by the majority consensus? The answer is
"do what you prefer but do so consistently" right? Yes, that's right,
that's exactly what is said. People joining a team of developers are also
encouraged to cooperate with their peers and adopt what has already been
established right? Yes, that's exactly what is encouraged.

Teamwork and cooperation is a good thing. The guys on the blue team wear
blue jerseys and the guys on the red team wear red jerseys. Neophytes and
converts alike look to their team for guidance and leadership; Microsoft
and accomplished peers/colleagues.

JavaScript and C# are exactly the same syntactically and if syntax and
style are best used CONSISTENTLY and in COOPERATION with what has been
established as the CONVENTION we have to consider the following
hyopcritical contradiction in terms....

By convention, Microsoft has established the syntax for C#, C++, J# and
JScript... to be written using symmetrical code blocks which I think it
correct to conclude most developers agree to be the most readable, usable,
most reusable, most efficient etc...

// Microsoft's C#, C++, J# and JScript...
symmetrical code block
{
...
}

Just like untrained puppies, leave them alone for a minute and Microsoft's
hypocrital developers will sh!t on your new carpet...

// Microsoft's Atlas...
asymmetrical code block{
...
}

"A double minded man is unstable in all his ways."
-- James 1:8

<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://www.metromilwaukee.com/clintongallagher/

Aug 5 '06 #4

clintonG wrote:
By convention, Microsoft has established the syntax for C#, C++, J# and
JScript... to be written using symmetrical code blocks which I think it
correct to conclude most developers agree to be the most readable, usable,
most reusable, most efficient etc...

// Microsoft's C#, C++, J# and JScript...
symmetrical code block
{
...
}

Just like untrained puppies, leave them alone for a minute and Microsoft's
hypocrital developers will sh!t on your new carpet...

// Microsoft's Atlas...
asymmetrical code block{
...
}
OK... let me get this straight.

A massive software company, based in Redmond but in fact spread all
over the world, establishes an internal standard. Or, rather, it tries
to. Give a moment's thought to hard it must be to establish and police
a standard in a company the size of MS. I'm betting that it's a
management nightmare.

Then, in a new offering they mess up and... use a different curly brace
convention.

And you go ballistic, going so far as comparing them to stinking canine
crap.

Man, I think it's time you tripped down to Target and bought the next
size larger underwear. Evidently yours are causing you some serious
discomfort.

Aug 5 '06 #5

"Bruce Wood" <br*******@canada.comwrote in message
news:11*********************@i42g2000cwa.googlegro ups.com...
|
| clintonG wrote:
| By convention, Microsoft has established the syntax for C#, C++, J# and
| JScript... to be written using symmetrical code blocks which I think it
| correct to conclude most developers agree to be the most readable,
usable,
| most reusable, most efficient etc...
| >
| // Microsoft's C#, C++, J# and JScript...
| symmetrical code block
| {
| ...
| }
| >
| Just like untrained puppies, leave them alone for a minute and
Microsoft's
| hypocrital developers will sh!t on your new carpet...
| >
| // Microsoft's Atlas...
| asymmetrical code block{
| ...
| }
|
| OK... let me get this straight.
|
| A massive software company, based in Redmond but in fact spread all
| over the world, establishes an internal standard. Or, rather, it tries
| to. Give a moment's thought to hard it must be to establish and police
| a standard in a company the size of MS. I'm betting that it's a
| management nightmare.
|
| Then, in a new offering they mess up and... use a different curly brace
| convention.
|
| And you go ballistic, going so far as comparing them to stinking canine
| crap.
|
| Man, I think it's time you tripped down to Target and bought the next
| size larger underwear. Evidently yours are causing you some serious
| discomfort.
|

LOL.

Willy.
Aug 5 '06 #6
Clinton,
I don't know why you got off on this subject in a bad mood or whatever, but
I really have to disagree.
If you read "Framework Design Guidelines" ( and you don't even need to buy
the book, because most of it can be found in whitepapers on MSDN by the
authors)
it makes all this pretty clear. There are some areas where they don't
actually state "DO" or "DON'T", sometimes they say "CONSIDER" -- but the
message to me is quite clear and unambiguous. Here's a review I did if that
will help:

http://www.eggheadcafe.com/articles/20060520.asp

Peter

--
Co-founder, Eggheadcafe.com developer portal:
http://www.eggheadcafe.com
UnBlog:
http://petesbloggerama.blogspot.com


"clintonG" wrote:
Every single time neophytes or converts ask about naming and style
conventions what are they told by the majority consensus? The answer is "do
what you prefer but do so consistently" right? Yes, that's right, that's
exactly what is said. People joining a team of developers are also
encouraged to cooperate with their peers and adopt what has already been
established right? Yes, that's exactly what is encouraged.

Teamwork and cooperation is a good thing. The guys on the blue team wear
blue jerseys and the guys on the red team wear red jerseys. Neophytes and
converts alike look to their team for guidance and leadership; Microsoft and
accomplished peers/colleagues.

JavaScript and C# are exactly the same syntactically and if syntax and style
are best used CONSISTENTLY and in COOPERATION with what has been established
as the CONVENTION we have to consider the following hyopcritical
contradiction in terms....

By convention, Microsoft has established the syntax for C#, C++, J# and
JScript... to be written using symmetrical code blocks which I think it
correct to conclude most developers agree to be the most readable, usable,
most reusable, most efficient etc...

// Microsoft's C#, C++, J# and JScript...
symmetrical code block
{
....
}

Just like untrained puppies, leave them alone for a minute and Microsoft's
hypocrital developers will sh!t on your new carpet...

// Microsoft's Atlas...
asymmetrical code block{
....
}

"A double minded man is unstable in all his ways."
-- James 1:8

<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://www.metromilwaukee.com/clintongallagher/

Aug 6 '06 #7
Paul E Collins wrote:
clintonG wrote:
[Microsoft disobeying their own guidelines]

So what else is new? Every time the guidelines tell us the current
thing to do with regard to user interfaces, the next Office or
Internet Explorer breaks them all in order to look revolutionary and
trendy. Marketing always trumps common sense.
"Marketing always trumps common sense."

That makes an excellent bumper-sticker! :D

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
Aug 6 '06 #8
Thus wrote clintonG,
Every single time neophytes or converts ask about naming and style
conventions what are they told by the majority consensus? The answer
is "do what you prefer but do so consistently" right? Yes, that's
right, that's exactly what is said. People joining a team of
developers are also encouraged to cooperate with their peers and adopt
what has already been established right? Yes, that's exactly what is
encouraged.

Teamwork and cooperation is a good thing. The guys on the blue team
wear blue jerseys and the guys on the red team wear red jerseys.
Neophytes and converts alike look to their team for guidance and
leadership; Microsoft and accomplished peers/colleagues.

JavaScript and C# are exactly the same syntactically and if syntax and
style are best used CONSISTENTLY and in COOPERATION with what has been
established as the CONVENTION we have to consider the following
hyopcritical contradiction in terms....

By convention, Microsoft has established the syntax for C#, C++, J#
and JScript... to be written using symmetrical code blocks which I
think it correct to conclude most developers agree to be the most
readable, usable, most reusable, most efficient etc...

// Microsoft's C#, C++, J# and JScript...
symmetrical code block
{
...
}
Just like untrained puppies, leave them alone for a minute and
Microsoft's hypocrital developers will sh!t on your new carpet...

// Microsoft's Atlas...
asymmetrical code block{
...
}
"A double minded man is unstable in all his ways."
There is no such thing as a Microsoft standard for curly braces.

And BTW, the coding standard described in "Framework Design Guidelines" uses
asymmetrical blocks.

Cheers,
--
Joerg Jooss
ne********@joergjooss.de
Aug 7 '06 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

125
by: Sarah Tanembaum | last post by:
Beside its an opensource and supported by community, what's the fundamental differences between PostgreSQL and those high-price commercial database (and some are bloated such as Oracle) from...
7
by: tada991 | last post by:
Hello Everyone, I just purchased Visual Studio .Net Architect 2003 and want to know what's a good book for begginers to start with. I know nothing about programming whatsoever, but I do have a...
46
by: Keith K | last post by:
Having developed with VB since 1992, I am now VERY interested in C#. I've written several applications with C# and I do enjoy the language. What C# Needs: There are a few things that I do...
20
by: yaron | last post by:
Hi, 1. I am familiar with .NET 1.1 and not with .NET 2.0 . if i should start a new networking project should i write it with .net 2.0 beta or write it with .net 1.1 ? 2. What are the...
17
by: Mike Hofer | last post by:
While I'd toyed with C, C++, and Java over the last 20 years or so, my principal language has been BASIC, QBASIC, then Visual Basic, and finally Visual Basic .NET. But lately, I've been using C#...
6
by: suresh_C# | last post by:
What is a CLR? Is it's a DLL or EXE? And where it is located?
170
by: I_AM_DON_AND_YOU? | last post by:
Whether we can upload the projects (in .zip format) in these newsgroups? I am asking this because earlier there are more than 50 posts (in one thread) about this query and they are contradicting...
132
by: Frederick Gotham | last post by:
If we look at a programming language such as C++: When an updated Standard comes out, everyone adopts it and abandons the previous one. It seems though that things aren't so clear-cut in the C...
0
by: fiona | last post by:
Reading, Berkshire, UK 05 June 2007 - Crainiate Software make details available of the release of Objecto Framework 2.0, an upgrade to their enterprise business component framework, designed to...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.