First Class Methods in Java

Thomas Darimont

Erfahrenes Mitglied
Hallo,

First Class Methods ist ein Versuch Closures ( http://de.wikipedia.org/wiki/Closure ) in die Java Sprache einzubringen.

Hier mal ein Beispiel zum First Class Method javac Compiler Prototyp. Mehr zu First Class Methods findet man hier:
http://www.jroller.com/scolebourne/entry/fcm_prototype_available
https://kijaro.dev.java.net/servlets/ProjectDocumentList?folderID=8804
http://docs.google.com/View?docid=ddhp95vd_0f7mcns
http://docs.google.com/View?docid=ddhp95vd_6hg3qhc

Java:
public interface Operation {
    Object execute(Object arg);
}

Java:
/**
 * @author Thomas.Darimont
 *
 */
public class FirstClassMethodsExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Operation operation = new Operation(){
            @Override
            public Object execute(Object arg) {
                return arg.toString().toUpperCase();
            }
        };
        
        
        System.out.println(operation.execute("aaaa"));
        
        Operation antoheroperation = #(Object arg){
            return arg.toString()+" "+arg.toString();
        };
        
        System.out.println(antoheroperation.execute("xxxx"));
    }
    


}

Ausgabe:
Java:
D:\stuff\java\FCM-2008-02-25\bin>.\javac FirstClassMethodsExample.java

D:\stuff\java\FCM-2008-02-25\bin>java FirstClassMethodsExample
AAAA
xxxx xxxx

Gruß Tom
 
Spart zwei Zeilen und vermindert die Lesbarkeit. Ich weiss nicht wohin uns das bringen soll. Mit modernen IDEs ist es ja nicht so das Problem etwas zu implementieren....
 
Hallo,

schau dir erst noch die anderen Beispiele in den Links an bevor du von meinem Popelbeispiel die Mächtigkeit dieses Proposals verniedlichst ;-)

Gruß Tom
 
Naja, ganz hübsch ...

aber ich bin wohl was Java betrifft "zu old school" um das wirklich toll zu finden ! :)

Mit jeder Version die da auf einen zurollt, erweitert man zwar irgendwie die Funktionalität
aber nicht wirklich die Möglichkeiten.

Was nützt es einem wenn man ein und das selbe Ziel über drei bis vier Wege erreicht,
gut der kürzeste mag schnell sein, der alte ausgetrettene Pfad aber gewohnter und ja nicht falsch !

Gut viele Neuerungen mögen Performancevorteile bringen, anderes sieht aber nur im Quellcode vermeindlich
kurz und chic aus und die VM arbeitet sich nen Wolf !

Wenn hier z.B. so mancher für das finden eines chars in einem String, gleich mit Reg-Ex
loslegt weil es geht, ist das toll das es so geht, deshalb aber noch lange nicht sinnvoll !
Aber ich schweife aus ...

Ich wünsch mir sicher nicht das Java 1.1 zurück (auch wenn es sehr übersichtlich war :) ),
aber jeden Mist der in anderen Sprachen möglich ist möchte ich in Java auch nicht haben.

In diesem Sinne

The JAdix
 
Zurück