

F# enters Tiobe top 20 index for the first time - brs
http://www.tiobe.com/index.php/paperinfo/tpci/F_.html

======
shawndumas
Some F# to ponder:

    
    
        type LogicGate =
            | ON
            | OFF
            | NAND of LogicGate * LogicGate
            | NOT  of LogicGate
            | AND  of LogicGate * LogicGate
            | OR   of LogicGate * LogicGate
            | NOR  of LogicGate * LogicGate
            | XOR  of LogicGate * LogicGate
            | XNOR of LogicGate * LogicGate
    
        let rec evaluate input =
            match input with
            | ON         -> true
            | OFF        -> false
            | NAND(a, b) -> not ((evaluate a) && (evaluate b))
            | NOT(a)     -> (evaluate (NAND(a, a)))
            | AND(a, b)  -> (evaluate (NOT(NAND(a, b))))
            | OR(a, b)   -> (evaluate (NAND(NOT(a), NOT(b))))
            | NOR(a, b)  -> (evaluate (NOT(OR(a, b))))
            | XOR(a, b)  -> (evaluate (AND(NAND(a, b), OR(a, b))))
            | XNOR(a, b) -> (evaluate (NOT(XOR(a, b))))
    
        [
            NAND(OFF, OFF);
            NAND(OFF, ON);
            NAND(ON,  OFF);
            NAND(ON,  ON)
        ] |> List.map (fun x -> printfn (evaluate x))

~~~
technomancy
Curious: is this also valid ocaml?

~~~
aplusbi
Almost, |> isn't an operator in OCaml (although I think Batteries has
something like |- that does the same thing) and printfn isn't in OCaml.
Printf.printf is, but wouldn't work in this case (you'd need a format string).
Also, List.map returns a new list, in OCaml you would probably want to do
List.iter.

~~~
hamidpalo
the |> operator is very very simple. ocaml implementation would look something
like:

    
    
      let (|>) a b = b a ;;

------
lt
From the full article:

 _The confidence of the SuperCollider programming language has been set to
80%. The reason for this is quite funny. In order to prove that the TIOBE
index can be manipulated easily, Adam Kennedy created an empty Perl library
called Acme-SuperCollider-Programming. This was to boost the unknown
programming language SuperCollider by adding it to Perl's popular library
archive CPAN. Now 20% of all +"SuperCollider programming" come from this
artificial library._

Yes, quite funny indeed, but not for the reasons they think. Just to show that
Tiobe methodology is a joke. I don't understand how people take this
seriously.

~~~
gaius
Who has a better methodology? Is there even a good one?

~~~
larsberg
If that was a serious question, places that do developer tools and programming
languages for a living (at least MSFT, I assume others as well) pay ridiculous
amounts of money to independent third-party companies that specialize in
gathering this kind of data. The raw data was then kept fairly private
(marketing + upper mgmt only), but the rank and file would see some of it
occasionally when things such as trends on the number of VBA or VB5 or VC++
programmers appeared in slide decks talking about the direction for upcoming
versions of the product.

Having working with the raw data, it was pretty fantastic. Segemented by
industry/business size, handled issues with multiple programming languages or
companies where one section used one language and another used other ones,
etc. We even knew which tools and add-ons were used for which languages and
which compiler on each platform (i.e. how many commercial shops using C++
targeting linux are using gcc vs. icc?).

But that data was also stunningly expensive. My marketing friends tell me that
accurate market data always is.

~~~
gaius
Interesting. It's a tautology but the Internet sees only the Internet -
there's a huge swathe of programming work that just isn't advertised online,
so is invisible to TIOBE.

------
T-zex
Go was a winner of 2009, RPG (OS/400) is more popular than Haskell or Erlang.
Sure this is a joke.

~~~
brs
Actually the award Go won was "the highest rise in ratings in a year". That
said, I do agree their methodology is pretty suspect. The thing is, a lot of
developers look to Tiobe to decide what language to learn next, so it's
interesting to follow even if the data is flawed.

------
brs
The full article is at
[http://www.tiobe.com/index.php/content/paperinfo/tpci/index....](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)

I couldn't put it in the submission because of HN's dupe detection.

------
davidf18
I also look at the number of people in related Meetup and Linkedin groups. I'm
in NYC and there are a lot of local people in various groups.

------
mahmud
Scala ate their lunch.

