Java 1.5 vs C#
Here's the list of enhancements to the Java Language:
- Generics (C# 2.0 already supports this)
- Enhanced For-Loop (the foreach construct in C# 1.0, duh!)
- Autoboxing/Unboxing (C# 1.0 already has this, everything is an object, even the primitives - not really, but they do it so well...)
- Typesafe Enums (again C# 1.0 already implemented this, but I think they've added a little bit more twist in Java, that its actually a better implementation)
- Varargs (C# 1.0's params construct, ellipsis construct in C++)
- Static Import (I don't know if C# 1.0 has this, or C#2.0, but C# has a construct for aliasing your imports - which is way cooler. Static Import, actually promotes bad coding habits IMHO)
- Metadata/Annotations (this is C# 1.0's Attributes, Sun's upturned noses just gave it a fancier name - also, C#'s implementation is better and more intuitive)
They've beefed up the API some, and integrated several packages with the regular JSDK that used to be a part of a separate package or installation ---in my NSHO, the Java API has become bloated...
At this point (even before Whidbey) the deciding factor (as always) for Enterprise work, when choosing a language platform, should be the support it has behind it, in terms of IDE, tools, api, and longevity of the vendor pushing it (forget the OpenSource crap argument, those guys are too in love with Perl, Python, and Ruby - Java could become the child nobody wants to talk about if Sun dies) - right now that's C# and the .NET Framework ---
If you ask Paul Graham though, both language would be utter crap and fit only for idiots :) http://www.paulgraham.com/gh.html [I'm exaggerating, so hold off on those flames.]
This program has performed an illegal operation and will be shut down. If the problem persists, contact your program vendor.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
It might be a good step if Java becomes open source; then it's on a different playing field than C# because it seems that the authors of Java realized that C# is superior in many ways.
The playing field they would enter, however, already belongs to Mono.
So, who will survive?
I guess Java has started a revolution without an "exit strategy."
Who mediates your information?
So...who cares if java is better/worse than C#?
.NET, it's better than what you're using because we say so, we provide you a nice language likce C#, BUT YOU CAN USE WHATEVER LANGUAGE you want". Which is, to my eyes, looks much better.
.NET platform, the APIs, etc isn't but...) with a open implementation (mono) which is good for people suffering from GPLitis and similar diseases. We can use C# in linux witout using the rest of the .NET platform (same goes for Java, but the sun's java VM license is so weird some distros can't even distribute it without pain...)
What Suns try to sell is Java and the Java platform. Sun tells you "Here you have Java, it's better than what you're using because we say so, and you should use it".
Instead, Microsoft sells you a *real* platform. Microsoft tells you "Here you have
Yes, I know, you can use other languages in java. But that's *not* what Sun wants to do, and it's *not* what it's really happening, and because Java is *not* a real standard (it's controlled by some weird committe) the picture doesn't seems like it's going to change. C# is a real open standard (the rest of the
Plus, Microsoft has the power to say "here you have this lenguage, use it". Sun can try to say the same, but very few people will listen them.
In fact, they've been doing it for 10 years and still everybody uses C++ for things like browsers, AIM clients... (don't tell me Java wasn't targetted to do that, if I can't write normal programs in Java - not because you can't but because Java sucks for that - why I would want to use it in first place?!?)
If you think the language is too OO, use another. If you don't have that luxury, the blame doesn't lie on OO zealots but on the reality of your work environment.
The reality is that Java is becomming the New Cobol: you cannot escape it for most cubicle jobs. Also, with W's economy, there are not a lot of choices these days. For example, one may be forced to chose between a good language and a lousy boss, or a good boss and a lousy language.
Table-ized A.I.
Recently I switched to C# (new job) and I have to tell you, the language is pretty neat with some of the tricks you can do. Nothing ground breaking though.
.net shits all over everything else for pure developer productivity.
Nothing groundbreaking? What about DataGrid1.DataBind() or built-in viewstate management? I love it to bits when I think back at how horrible stuff like that was in PHP.
What's really missing is the platform for release, and release management.
SourceSafe is free with VS and will be even better integrated in Whidbey.
What the fuck is up with IIS (oh yeah, it's crap)??
I don't know what your IIS issues are but on my win2003 servers we've not had a single problem.
Where is any sort of replicated server side session management (no, long ass hidden fields are *not* sessions - and a M$SQLServer *only* solution doesn't count).
Why does SQL Server not count? It's cheap and works well for server-side state/session management. You can also use the ASPNET State Server service, or if you are so inclined you can write your own with minimal effort (50 lines of code or so).
When you code C# you have memory allocation routines available, thereby making possible malloc errors as MS programmers are want to do. The recent MS jpeg buffer overflow is another example of sloppy C routines! Java classes, on the otherhand are based on the premise that the buffers are a not needed, and the browser should will prevent buffer leaks. The essential difference between the MS way of doing things and the real world is understanding the need for memory security. Sun has always understood this, Microsoft has perverted the interenet with .net stupidity! C# is another attempt by Microsoft to pervert the internet to the extent that only locked down so called "trusted software" will sell. The planned obsolesence scheme created by Gates and Co. is obvious. Too bad so many people do not even realise this bullshit is what MS is all about.
The beta is free but they have said that they will charge money for the final product.
The Internet is full. Go Away!!!
There are people still arguing against OOP? How quaint. Why not argue against managed memory while you're at it.
Managed memory reduces code size by letting the compiler/interpreter take care of stuff for you. I don't see how OO reduces code size (except in narrow limited situations). Most examples that claim to illustrate such are rigged in my observation. You are welcome to try also.
Table-ized A.I.
hm ... I allready posted, so it makes no sense to use my mod points here, can someone please correct teh TROLL rating on parent?
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.