The subject says it all. Static methods is a core part of most popular OO languages. What is needed is a new method modifier like this:
someMethod():String static;
Then this can be invoked like this:
value := SomeClass.someMethod();
or on an instance:
value := instanceOfSomeClass.someMethod();
We can already do something similar with class constants. The method would need to prevent access to member properties on the class (similar to how conditions limit what can be accessed), but we should be able to access global variables like app.
Workarounds for the lack of static methods tend to be nasty. Creating transient instances of the class is one approach, but that doesn't work if the class is abstract and it's not very efficient.
What will it take for this staple OO feature to make it's way into the JADE language? Come on guys!