Mostrando entradas con la etiqueta F#. Mostrar todas las entradas
Mostrando entradas con la etiqueta F#. Mostrar todas las entradas

lunes, 8 de agosto de 2011

LangDay 2012: planeando una conferencia sobre lenguajes

imageEl grupo ErlAr, que reune a usuarios de Erlang en Argentina, está intentando organizar para el año próximo una conferencia sobre lenguajes de programación, con foco principal en los lenguajes “no principales”. Esto quiere decir concentrarse en aquellos que no son los más populares en la industria local, como C/C++, Java, C# o Visual Basic, sino en los lenguajes que tienen pequeñas pero pujantes comunidades de seguidores, como Python, Ruby, Erlang (claro) y otros menos conocidos, algunos experimentales, incluso.

Esta idea no puede ser menos atractiva para mi, que soy un apasionado del tema, y para quienes disfruten de la serie “raros lenguajes nuevos” que mantengo en este blog.

El proyecto, que por ahora se llama Lang Day 2012, tiene las siguientes características, según el sitio borrador:

Objetivo

Brindar un evento de uno o dos días que permita a los asistentes obtener una idea sobre lenguajes de programación emergentes la cual le permita comparar:

  • Paradigma dominante del lenguaje
  • Tipado
  • Características principales
  • Fortalezas/Debilidades
  • Filosofía
  • Estado actual/Planes futuros
  • Estado de documentación/comunidad
  • Casos de éxito
  • etc. (agregar otros de ser necesario)

Formato

El evento intentara organizar las charlas de manera que los asistentes puedan asistir a las charlas introductorias de todos los lenguajes y luego decidan en cuales quieren profundizar.

Por esto el track de introducción será en una sola sala donde las charlas introductorias se realizaran una tras otra con una duración de 45 minutos.

Luego el track avanzado se realizará en 2 salas por lo cual el asistente deberá decidir en cuales lenguajes desea profundizar.

Por ultimo se realizará antes de la charla de cierre una serie de lightning talks con duración de 15 minutos que permita presentar de una manera mas superficial lenguajes menos conocidos o no tan maduros

Lenguajes Principales

Estos lenguajes son los que se desea presentar en profundidad en charla introductoria y avanzada de encontrarse presentadores:

  • Python
  • Ruby
  • Erlang
  • Scala
  • F#
  • Go
  • Haskell

quizas:

  • Clojure

    Lenguajes Secundarios

    Estos lenguajes son los que pueden presentarse en una lightning talk:

    • efene
    • LayerD
    • coffescript + node.js
    • etc

    Calendario

    • Charla de apertura (de 30 a 60 minutos)
    • Charlas introductorias (sala única, 45 a 60 minutos)
    • Charlas avanzadas (salas múltiples, 45 a 60 minutos)
    • Lightning Talks (sala única) (entre 15 y 20 minutos cada una)
    • Charla de Cierre (entre 15 y 30 minutos)

    Charla de apertura

    La charla de apertura además de dar información sobre el evento debería informar sobre la utilidad de aprender nuevos lenguajes, y presentar una breve introducción a conceptos básicos que puedan ser utilizados durante las charlas como:

    • Tipado Estático, Dinámico, Progresivo, de pato, Fuerte vs Débil
    • Paradigma funcional, orientado a objetos y estructurado
    • Side effects, Single Assignment

      Para estar al tanto del avance del evento, pueden seguir la cuenta de Twitter @LangDayAr, y los interesados pueden completar esta encuesta sobre detalles que les gustaría como asistentes, o anotarse en este otro formulario si tienen interés en presentar sobre alguno de los temas.

      martes, 1 de marzo de 2011

      Mono 2.10 y las últimas novedades de la monada

      Mono

      Por si alguno de los lectores de este blog aún no lo sabe, Mono es la implementación abierta de .NET para Unix, Mac OS X y Windows.

      El increíble equipo de Mono nunca se detiene, siempre acompañado por su líder Miguel de Icaza.

      La última versión liberada es la 2.10 (en realidad la 2.10.1) mientras continúa el rumbo hacia el próximo gran lanzamiento, que será Mono 3.0.

      Pero esta versión ya tiene grandes avances, como:

      • Soporte para el Google Native Client
        Esta es una tecnología que permite ejecutar código nativo dentro del browser de manera segura, y que ahora incluye no sólo la posibilidad de ejecutar código compilado previamente, sino también realizar compilación a demanda (JIT), lo que permite que Mono soporte Reflection.Emit o los lenguajes dinámicos, por ejemplo.
      • Nuevo motor de Profiling
        Este nuevo motor está optimizado para trabajar en entornos de múltiples hilos y es muy eficiente en todo sentido.
      • Implementación mejorada de Sockets
      • Mejoras en el Parallel Framework y en SGen, el nuevo recolector de basura (una increíble pieza de ingeniería)
      • Se unificó el runtime de soporte para MonoTouch y MonoDroid (versiones de Mono para IOs y Android respectivamente)
      • Cecil/Light es una versión mejorada de Cecil, la librería que permite generación e inspección de código en tiempo de ejecución, y que muchos utilizan incluso en .NET, donde no tiene un equivalente directo.
      • Nuevo mecanismo del compilador de C# y enormes mejoras en el shell interactivo
        Mientras Microsoft lleva más de dos años preparando su compilador como servicio, Mono lo tiene disponible desde entonces, incluyendo una consola que ahora permite no sólo la ejecución de expresiones sino de programas completos. El servicio de compilación además dejó de ser estático, con lo que se pueden crear diferentes instancias del compilador con contextos separados.
      • Compilador de VB que permite compilar a los perfiles de VB 2.0 al 4.0
      • Soporte completo para ASP.NET MVC 3 incluyendo Razor y WebPages. Mono 2.10.1 agregó algunos detalles que permiten ejecutar el CMS de código abierto Orchard de Microsoft, que de esta manera puede ejecutarse también en Linux.
      • Implementación de WebMatrix.Data, una librería de Microsoft que permite acceso a datos aprovechando los nuevos tipos dinámicos.
      • Muchísimas optimizaciones para Mono en OS X, que aprovechan más los servicios particulares del sistema operativo de Apple.
      • Compilador de F# e intérpretes de IronPython y IronRuby completamente integrados en los paquetes para Linux y Mac.
      • Gendarme 2.10, el analizador estático de Mono, también es mucho más rápido y tiene 33 reglas nuevas.

      Como ven, nadie puede decir que Mono no avanza.

      Para más detalles, se pueden ver las notas de los releases 2.10 y 2.10.1 en el sitio de Mono.

      O pueden ir directamente a la página de descarga, donde encontrarán paquetes de instalación para Virtual PC, VMWare, LiveCD, openSUSE, SLES/SLED, Windows, Mac OS, CentOS, Solaris u otras distros de Linux.

      miércoles, 10 de noviembre de 2010

      VIDEOS - Code & Beyond Talk: Programación Funcional

      La audiencia del evento

      El pasado jueves 4 de noviembre realizamos el primer evento en vivo de Code & Beyond, en una serie de "Talks" que esperamos realizar con cierta frecuencia, en diferentes lugares.

      Este primer evento lo hicimos en el auditorio de Southworks, donde trabajo la mayor parte de mi tiempo, y donde seguramente haremos otros, aunque también esperamos recorrer auditorios y salones de otras organizaciones.

      El tema principal del evento fue Programación Funcional, y lo dividimos en cuatro partes que registramos además en videos, y compartimos con ustedes aquí abajo:

      Introducción a Programación Funcional (Martín Salías)

      El Maestro Angel 'Java' López

      Lisp y Clojure (Angel "Java" López)

      Martin Salias

      F# (Martín Salías)

      Rodo Finochietti

      C# Funcional (Rodo Finochietti)

      Las fotos son obra de Julian Scopinaro.

      lunes, 8 de noviembre de 2010

      Novedades acerca de F#

      Visual F#

      La última ha sido una semana excitante para la pequeña pero vibrante comunidad F#.

      Este nuevo lenguaje funcional generado por Microsoft e incorporado en la última versión de Visual Studio junto a los tradicionales C# y VB, es una implementación actualizada de OCaml, con una sintáxis alternativa más ligera y corriendo sobre el Commom Language Runtime, lo que significa que puede interoperar con cualquier otro lenguaje que ejecute sobre .NET (o Mono) y utilizar todas las librerías disponibles por parte de Microsoft o terceras partes, incluyendo abundantes ofertas de código abierto.

      Las novedades principales tienen que ver con el F# in Education Workshop llevado a cabo en Cambridge, estado de Massachusetts, USA, en el Centro de R&D de Microsoft Research de esa ciudad.

      En este evento académico, además de discutirse el uso del lenguaje en diferentes programas educativos, hubo un par de anuncios muy interesantes:

      El primero es el anuncio de que el último drop del código fuente del compilador y las librerías de F# se han publicado bajo la licencia Apache 2.0, dentro del proyecto F# PowerPack en CodePlex. Esto significa que el lenguaje completo, que ya estaba de código abierto, pero cuya licencia permitía un reuso académico, permite ahora cualquier tipo de uso comercial, sin restricciones. El anuncio oficial puede ser leído en este post del mismo Don Syme.

      El otro es el avance del proyecto FsXplat en CodePlex, que está orientado a facilitar el uso de F# en diversas plataformas como Unix y Mac OS, basándose en Mono, e incluyendo además de unas cuantas demos de interoperabilidad, soporte para editores populares como Emacs (disponible) y próximamenteMonoDevelop (el binder está pendiente de algunos detalles, aunque los valientes pueden acceder al código fuente e intentar construirlo para probar un poco).