Antes de nada os preguntaréis cuál lenguaje es ese tal F# o F Sharp, como podéis ver en al Wikipedia, se trata de un lenguaje nacido al abrigo de la plataforma .NET de Microsoft, cuyo diseño está basado en lenguajes como C#, Haskell y Caml. Como podéis ver en el ranking de Tiobe, es un lenguaje poco popular (está en el tramos de lenguajes sin clasificar por encima del puesto 50).
¿Por qué hablamos hoy de él? Porque Microsoft ha decidido liberarlo bajo una licencia Apache y está disponible dentro de Codeplex (el repositorio de la empresa de Redmond para proyectos de código abierto) el código del compilador y las librerías básicas del lenguaje.
¿Por qué comento esto? Porque de un tiempo para acá, estoy comprobando que Microsoft se está portando con la Comunidad mejor que otras empresas que en otros tiempos eran más aliadas del código libre como Oracle y Apple.
Estoy bastante asustado por el futuro de Java, MySQL y OpenOffice; pero noticias como ésta, aunque sean granos de arena en el desierto, son positivas.
Un par de ejemplos de F# antes de terminar:
(* Esto es un comentario *) (* Ejemplo de típico ¡Hola Mundo! *) printfn "Hello World!"
Y una recursividad básica para calcular el factorial:
let rec factorial n = match n with | 0 -> 1 | _ -> n * factorial (n - 1)
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Nunca he usando un lenguaje que use ese tipo de sintaxis...
Según los ejemplos que vi en la Wikipedia, F# tiene un parentesco muy grande con OCaml. Al ser un lenguaje de .Net no lo pienso usar por la sencilla razón de que también usa CLI, al fin y al cabo no hay una demostración que nos haga convencer de que es mejor que Python, Perl o Ruby.
Después de 7 años sigues pensando igual?
Gobi estas un poco perdido..siendo ruby mi lenguaje favorito, comparar ruby con f# es algo ilogico, para empezar f# es compilado y estatico, lo que lo hace muchisimo mas rapido que los lenguajes interpretados que mencionas, incluso en algunos casos (cuando se manejan grandes cantidades de datos) es superior a c#....
Por otro lado es un lenguaje funcional, o al menos es su paradigma principal, a diferencia de los orientados a objetos, es una filosofia totalmente diferente, mucho mas dificil de aprender en un comienzo, pero que despues te trae enormes beneficios, no solo permite escribir codigo mas limpio y claro que incluso ruby y python (f# no tanto pero los lenguajes de la familia lisp como clojure una vez que los entiendes son realmente simples de entender incluso con metaprogramacion...algo que complica a muchos rubistas) sino que además trae la posibilidad de escribir codigo sin efectos colaterales (side effect..no le encontre mejor traduccion) lo que significa que puedes escribir codigo que corra en varios cpu's e incluso varias maquinas, sin dolores de cabeza, algo que ni ruby, python y mucho menos perl permite...lo cual es un gran paso para la programacion del futuro, ya que ver maquinas con un solo cpu es algo raro....
No digo que sea mejor o peor que ruby, sino que es una manera diferente de programar y pensar, algo positivo si eres un programador serio...
Otra cosa...que otros lenguajes .NET son open-source??....
mil gracias...
IronPython, IronRuby me parece que tambien existe un IronLisp pero no estoy muy seguro
los amo hola angel