There is definitely not a perfect language out there, but I refuse to use things like
is just as clear! And cleaner!
Large systems cannot be so verbose that they are unreadable. When I see things like
system.console I think.. no kidding, we know the computer is a system, we know it has a console.. so why beat a dead horse?
I'm sure you (the readers) know about "fine balances". Somewhere "in between".
That is pretty darn obvious...
That again is pretty darn obvious.
But this below:
Give it a rest! That is absolutely ludicrous and ridiculous. It does not help large projects become any cleaner, or easier to maintain.
C# and Java are what I'm talking about, if you haven't got the message yet.
C++ is too terse.. Pascal is a bit too verbose. Unix commands are a bit too terse.
MD is not maintainable... but MakeDir or MkDir is maintainable..
CP is not maintainable.. but COPY is maintainable.
But back to C Sharp. It is more verbose than Pascal, and has gotten out of hand. Worse yet, C# manages to be more verbose than Pascal, while still containing ugly symbol infested and obfuscated syntax from the C++ language.
Let me ask you - how can a language be so verbose, and so obfuscated at the same time? Is this even possible in real life? C# some how managed to accomplish the great task of being super-verbose and super-obfuscated at the same time.
I'd prefer being on a bit of the verbose side than being on the terse side.
Perl is horrible...
But C# is horrible too.
Okay, so some of us will argue that the system console is not the only place to send text to. But it is the major place. The major place we send text to should be easy to send text to. If we want to implement:
Then fine! implement it. But the majority of the time, we are using:
So since the majority of the time we are using the console, we should be able to go:
Now, I do agree that this is a little bit terse:
Because cout sounds like some word you've never heard of. What is a cout? pout? doubt? what's it mean? It rhymes with other words, and is borderline of being cryptic. Most people know it means command line out, but it is still borderline of being cryptic.
Is shorter and cleaner. Sure, in some cases, you may have some serial ports or usb ports that implement a out() function, but the majority of the time, web programmers and systems programmers are not dealing with serial ports. So shouldn't we web developers have easy access to standard out?
If I was a serial port programmer day and night, I may prefer to have out() hooked up to the serial port instead of the command line. And I would! I'd set it up that way! My language should allow that.
So please - STOP this Object.System.Oriented.Console dot notation nonsense. Objects piss people off if you abuse them like that. There's nothing wrong with a bit of object orientation in good taste, understand. C# just doesn't have it!
But what can you do? You are a slave to Microsoft. Some of us hate C# syntax so much that we have to reinvent C# in other tools with much better syntax and a different style of thinking. Or maybe the other way around - maybe C# is just taking ideas from existing technologies and making it more obfuscated and verbose at the same time. Example: Python, Ruby, Pascal Server Pages. These are all nice alternatives to C# which do similar things.
So please understand - I am not bashing the power of C# libraries. C# may be powerful. But its syntax, is smelly brown poo.
Anders Heljsberg, you've gotten too old. You used to write un-commented assembly code (turbo pascal compiler) which was extremely naive - but you did it. Now you've taken C# and turned it into a laughable language that Microsoftee's will love, even if it is a laughable language - because those microsoftee's have no where else to go. Bow down to the leader.
Visual Basic Dies, Delphi and Modern Pascal lack market share, Python and Ruby lack marketshare. So here comes C#. We hope you like it. I don't.