Because you would have people starting to write:
private class Car {
public const int MAXSPEED = 150;
private int year;
public int getYear() {
return year;
}
public void setYear(int newYear) {
year = newYear;
}
public void validateInput(string input) {
if (input.Equals("GoodValue") {
}
}
}
instead of the C# style;
class Car
{
public const int MaxSpeed = 150;
public Year { get; set; }
public void ValidateInput(string input)
{
if (input == "GoodValue")
{
}
}
}
And then next thing you know, you'll have people arranging their files on the file system to look laid out like the way the classes would be laid out within the namespace hierarchy.
And even worse, people get into the Java way of thinking, and they start calling IIS hosts "JVMs" and whenever they are having performance problems with their code, they call you up asking "Can't you just tweak the garbage collection algorithm used for my JVM?" or "Can't you just pass in a different memory setting for my JVM to give it more memory?"
It's like saying that C and C++ have the same language basics. Why not just write C++ code like C code? Although it's true that most C code will compile in a C++ program, there are idiomatic writing style differences and programming approach style differences.