On Saturday, 6 September 2014 at 02:24:35 UTC, Mike Parker wrote:
On 9/6/2014 12:32 AM, Chris wrote:
"I don't find it restrictive at all (I actually enjoy it; I
also enjoy
C). As long as you work within its boundaries and use it as
it's meant
to be used, it works perfectly well."
Isn't this statement a bit contradictory :) It's not
restrictive as long
as you stay within its boundaries. In D you can stretch the
boundaries a
bit.
Not contradictory, no. Every language has boundaries and you
can stretch them in any language. My point is that when you do
so you are then in the wild frontier and are more likely to be
frustrated in your efforts.
But in D you have to walk quite a bit to reach the boundaries. In
Java they're around every corner. It's like a lunatic asylum
where you're allowed to do anything you want, except for going
out into the real world.
The most frustrating thing is that programmers have to wait for
years to get this or that feature. Then there are weird things
like auto-boxing etc. that are down to OOP ideology. If people
increasingly use static methods to work around OO, well, then why
not get rid of the rigid OOP regime altogether? OO is a pattern
that helps to deal with certain problems, not a cure for
everything. It should never have become a religion, a belief one
would base a whole language on. The hello world program shows how
absurd this is, and one absurdity begets another one ...
public class MyClass {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
1. Write a class
2. Use a static method to work around OO.
3. Hm. WTF?
---
This email is free from viruses and malware because avast!
Antivirus protection is active.
http://www.avast.com