Arquivo da tag: F#

Conhecendo o F#

Como você sabe, existem algumas linguagens OOP por aí. Você provavelmente conhece VB.Net, C# e Java, mas eu vou falar de uma relativamente nova.

Gostaria de falar um pouco sobre F#.

Similar ao C# e ao VB.Net, o F# também é direcionado para o Framework .Net e também é orientado a objeto.

A principal diferença no F# não é sua sintaxe única, mas sim o novo ponto de vista e o estado de espírito que traz para a programação orientada a objeto.

O F# usa inferência de tipos – o que significa que o programador não precisa se preocupar com a declaração de tipo e pode apenas utilizar a palavra reservada “let” (que é similar a “var”). A declaração do tipo de dados será deduzida pelo compilador durante a compilação (o F# também permite a declaração explícita de tipos de dados).

Depois dessa pequena introdução ao F# (bem pequena), gostaria de começar a parte prática. E este artigo será sobre Listas no F#.

Vamos fazer um pequeno experimento:

Crie uma lista de ints no C#

List<int> newList = new List<int>();

Adicione os seguintes valores a essa lista:

newList.Add(5);
newList.Add(2);
newList.Add(-3);
newList.Add(1);

Agora por favor tente classificá-la usando valor absoluto.

Você provavelmente descobrirá que se você tentou fazer isso, você usou a funcionalidade da programação.

No F#, é quase o mesmo, e fica o mais fácil possível, uma vez que você chega neste ponto:

[5; 2; -3; 1] |> List.sortBy(fun intElem -> abs intElem)

Vamos testar nossas habilidades no C# mais uma vez mapeando a lista de ints (cada número será aumentado em 3).

Mais uma vez, a maioria de vocês que se saiu bem usando LINQ ou outra programação funcional que o C# permite, é assim que funcional no F#:

[5; 2; -3; 1] |> List.map(fun x-> x * x * x)

Outro teste para o poder do nosso C# (ou Java) será tentar filtrar essa lista para ints que retornam 0 quando divididas por 2. No F#, é fácil assim:

[5; 2; -3; 1] |> List.filter(fun x -> x % 2 = 0)

Esses foram apenas alguns exemplos sobre o F# e sua usabilidade. Espero que ajude você a compreender a sintaxe, e mais importante – que ajude você a pensar em programação funcional.

Falando nisso, como podemos esquecer o imortal primeiro programa: “Hello World!” ?

printfn "Hello World!"

Texto original disponível em http://www.devaffair.com/2011/01/first-steps-in-f-sharp.html

Fonte: IMasters

Conhecendo o F#

Como você sabe, existem algumas linguagens OOP por aí. Você provavelmente conhece VB.Net, C# e Java, mas eu vou falar de uma relativamente nova.

Gostaria de falar um pouco sobre F#.

Similar ao C# e ao VB.Net, o F# também é direcionado para o Framework .Net e também é orientado a objeto.

A principal diferença no F# não é sua sintaxe única, mas sim o novo ponto de vista e o estado de espírito que traz para a programação orientada a objeto.

O F# usa inferência de tipos – o que significa que o programador não precisa se preocupar com a declaração de tipo e pode apenas utilizar a palavra reservada “let” (que é similar a “var”). A declaração do tipo de dados será deduzida pelo compilador durante a compilação (o F# também permite a declaração explícita de tipos de dados).

Depois dessa pequena introdução ao F# (bem pequena), gostaria de começar a parte prática. E este artigo será sobre Listas no F#.

Vamos fazer um pequeno experimento:

Crie uma lista de ints no C#

List<int> newList = new List<int>();

Adicione os seguintes valores a essa lista:

newList.Add(5);
newList.Add(2);
newList.Add(-3);
newList.Add(1);

Agora por favor tente classificá-la usando valor absoluto.

Você provavelmente descobrirá que se você tentou fazer isso, você usou a funcionalidade da programação.

No F#, é quase o mesmo, e fica o mais fácil possível, uma vez que você chega neste ponto:

[5; 2; -3; 1] |> List.sortBy(fun intElem -> abs intElem)

Vamos testar nossas habilidades no C# mais uma vez mapeando a lista de ints (cada número será aumentado em 3).

Mais uma vez, a maioria de vocês que se saiu bem usando LINQ ou outra programação funcional que o C# permite, é assim que funcional no F#:

[5; 2; -3; 1] |> List.map(fun x-> x * x * x)

Outro teste para o poder do nosso C# (ou Java) será tentar filtrar essa lista para ints que retornam 0 quando divididas por 2. No F#, é fácil assim:

[5; 2; -3; 1] |> List.filter(fun x -> x % 2 = 0)

Esses foram apenas alguns exemplos sobre o F# e sua usabilidade. Espero que ajude você a compreender a sintaxe, e mais importante – que ajude você a pensar em programação funcional.

Falando nisso, como podemos esquecer o imortal primeiro programa: “Hello World!” ?

printfn "Hello World!"

Texto original disponível em http://www.devaffair.com/2011/01/first-steps-in-f-sharp.html

Fonte: IMasters