Sunday, 17 February 2008

Vote for FCM! is currently running a poll on closures, to get a feel for the strength of support for each proposal. Obviously, this poll has no power, but it is useful to see at a high level what the communities opinion is.

Personally, I'm really pleased with the level of support FCM has had in the vote so far, on this blog and privately. Now I'd like to encourage you, if you so desire, to vote and support FCM. Thanks!

Update: If you want to compare the three proposals, please take a look at my previous comparison articles - one method callbacks, control structures and type inference.


  1. I'd like to encourage you to vote for the option you prefer!

  2. i think only hyper-active developers are following the closures discussions. it is sad that people are voting for BCGA tough without really knowing what it is (syntax is killing my eyes.)

  3. I think it is sad that people discount votes that disagree with their personal opinion.

  4. I have a question about the FCM proposal, does it allow "real" _First Class_ methods?
    Meaning, can I create a .java file named "foo" in a package and add:
    #foo(Integer(String bar)) {
    return bar.hashCode();
    in it, and then in another class do import;
    and call:
    foo.invoke("a string");

    I couldn't directly find an answer in the proposal.

  5. Nicolás Lichtmaier17 February 2008 at 23:25

    Syntax is a mater of taste, and taste is a matter of getting used to something. Let's go for the full closures proposal (BGGA) and keep Java compoetitive.

  6. Stephen Colebourne17 February 2008 at 23:42

    Neal and all: I hope it is obvious that you should only vote for FCM if you support it!

    Nicolas: although CICE, FCM and BGGA have different syntax, that isn't the most important difference. The real focus should be on how the *semantics* of the three proposals differ.

    MLeo: I'm not completely clear about what you are asking - certainly your example code is not valid in FCM.

    I can say that FCM is not about allowing methods as a construct outside a class. FCM simply allows you to access methods within a class completely and fully in a typesafe manner.

  7. I amazed how ugly BGGA syntax is. It's this totally foreign notation to Java that looks very much like kiddie scripting. I don't want it to be voted into Java 7 just to make Gosling's "approval" come true. Why did those with PHDs have to come up with the worst syntax?

  8. Its funny, I like BGGA's syntax, and FCM's semantics. Guess thats why I'm so unpopular in these discussions...

    afsina: If they were not following the closures debate, how would they even know to vote for the cryptic sounding name BGGA? It does have an advantage in that it has gotten the most publicity out of the three, but I don't think you can argue that it is being chosen by people who have no idea what it is.

  9. @Stephen Colebourne: My comment was about the name of the proposal, to me, it sounds like it would support that.
    Thanks for clarifying.

    @Nicolas: To me, it seems like the FCM has more features (for example: method literals without the use of reflection), with better semantics (for the (below) average Java programmer).


Please be aware that by commenting you provide consent to associate your selected profile with your comment.