He escrito bastante de Haskell, porque me parece importante; y esto por que? Porque es un lenguaje funcional puro que gano terreno gracias a la innovación, Scala por ejemplo toma muchos conceptos de Haskell. Que sea un lenguaje funcional puro trae consigo muchas ventajas. Por ejemplo no lidiar con estados.
Haskell es lazy. En castellano perezoso lo que significa que el espera que necesites un valor para ejecutar código. Esto en ciertos casos es más eficiente. En Haskell lo que se guarda una variable por ejemplo, son funciones no valores, y cuando necesitamos valores se ejecuta la función.
Haskell es de tipado estático, aunque no necesitemos especificar el tipo. El lo infiere y luego trabaja siempre con ese tipo. Esto es muy útil para minimizar errores.
Haskell es conciso y elegante. Dado que es un lenguaje de programación declarativo, se puede hacer mucho con muy poco código.
Haskell fue creado por un grupo de investigación. El proyecto de crear Haskell comenzó en 1987 cuando un comité de investigadores se pusieron de acuerdo para diseñar un lenguaje revolucionario. En el 2003 el informe Haskell fue publicado, definiendo así una versión estable del lenguaje.
Translate
viernes, 8 de noviembre de 2013
lunes, 4 de noviembre de 2013
Libro sobre go!
No recuerdo si ya compartí este link; igual el publico se renueva, un excelente libro sobre Go totalmente gratuito.
Dejo link:
http://www.golang-book.com/
Conferencia Regional de Software Libre 2013
Quiero compartir esta invitación con ustedes.
Invitación a la Conferencia Regional de Software Libre 2013
Ésta edición de la Conferencia Regional de Software Libre (CRSL) - Edición 2013 reunirá a las figuras más destacadas del Software Libre en la región y en el país. Se presentarán ponencias referidas al uso y/o desarrollo de tecnologías libres y se mostrarán sus aplicaciones en distintos ámbitos de la sociedad. Además se dictarán paneles de debate que vincularán a las entidades más relevantes (gobiernos, universidades, empresas y comunidad) que utilizan, capacitan o desarrollan con herramientas libres.
Objetivo
El objetivo es crear un espacio propicio de encuentro entre todos los actores interesados y/o involucrados en la temática del Software Libre que posibilite la discusión y el intercambio de ideas y opiniones de interés tanto en ambientes públicos como privados.
Lugar
Centro Cultural y de Convenciones de Entre Ríos "La Vieja Usina". Gregoria Matorras de San Martín 861. Paraná, Entre Ríos, Argentina.
Fecha
Jueves 7 de Noviembre de 2013.
Organiza
El Laboratorio de Investigación Gugler - Secretaria de Extensión - Facultad de Ciencia y Tecnología - Universidad Autónoma de Entre Ríos.
Certificación
Se entregarán certificados de asistencia avalado por el Laboratorio de Investigación Gugler. Todas los participantes que desean recibir el certificado, deberán registrarse en el formulario online y posteriormente acreditarse en la mesa de entrada el día del evento.
Costo
El evento es totalmente gratuito.
Enlaces
Sitio Institucional
http://crsl.gugler.com.ar
Inscripciones
http://crsl.gugler.com.ar/index.php/inscribite
Invitación a la Conferencia Regional de Software Libre 2013
Ésta edición de la Conferencia Regional de Software Libre (CRSL) - Edición 2013 reunirá a las figuras más destacadas del Software Libre en la región y en el país. Se presentarán ponencias referidas al uso y/o desarrollo de tecnologías libres y se mostrarán sus aplicaciones en distintos ámbitos de la sociedad. Además se dictarán paneles de debate que vincularán a las entidades más relevantes (gobiernos, universidades, empresas y comunidad) que utilizan, capacitan o desarrollan con herramientas libres.
Objetivo
El objetivo es crear un espacio propicio de encuentro entre todos los actores interesados y/o involucrados en la temática del Software Libre que posibilite la discusión y el intercambio de ideas y opiniones de interés tanto en ambientes públicos como privados.
Lugar
Centro Cultural y de Convenciones de Entre Ríos "La Vieja Usina". Gregoria Matorras de San Martín 861. Paraná, Entre Ríos, Argentina.
Fecha
Jueves 7 de Noviembre de 2013.
Organiza
El Laboratorio de Investigación Gugler - Secretaria de Extensión - Facultad de Ciencia y Tecnología - Universidad Autónoma de Entre Ríos.
Certificación
Se entregarán certificados de asistencia avalado por el Laboratorio de Investigación Gugler. Todas los participantes que desean recibir el certificado, deberán registrarse en el formulario online y posteriormente acreditarse en la mesa de entrada el día del evento.
Costo
El evento es totalmente gratuito.
Enlaces
Sitio Institucional
http://crsl.gugler.com.ar
Inscripciones
http://crsl.gugler.com.ar/index.php/inscribite
jueves, 31 de octubre de 2013
Dreamspark
La gente de Microsoft abrió una nueva pagina, para incentivar el estudio de sus tecnologías; este es uno de sus numerosos intentos. Me gusta que una empresa invierta en conocimiento y capacitación pero creo que microsoft esta invirtiendo demasiado en esto porque la gente del software libre comparte de forma gratuita. Y existen muchísimos manuales de uso de software libre.
A mi parecer Microsoft debería tomar otro camino, dar más importancia a las comunidades e invertir en tecnología libre. Si duda un jefe prefiere invertir en tener una arquitectura toda armada. Pero un desarrollador no, a los desarrolladores nos gusta el código y configurar solo lo que usamos. Por eso me gusta tanto el software open source y Java. Tener verdadera soberanía de la tecnología que usamos es más trabajo. Pero el trabajo es nuestro, es decir hacemos una inversión en nuestra gente.
Dejo link:
https://www.dreamspark.com/
A mi parecer Microsoft debería tomar otro camino, dar más importancia a las comunidades e invertir en tecnología libre. Si duda un jefe prefiere invertir en tener una arquitectura toda armada. Pero un desarrollador no, a los desarrolladores nos gusta el código y configurar solo lo que usamos. Por eso me gusta tanto el software open source y Java. Tener verdadera soberanía de la tecnología que usamos es más trabajo. Pero el trabajo es nuestro, es decir hacemos una inversión en nuestra gente.
Dejo link:
https://www.dreamspark.com/
miércoles, 30 de octubre de 2013
Probando Ubuntu 13.10 Saucy Salamander
La verdad es que mi prueba fue como usuario, no como técnico, no tengo la capacidad de decir si xmir es mejor o peor que tal o cual producto aun que 13.10 no lo use todavía. Opino como usuario, y la verdad estoy muy contento.
El sistema se instalo muy bien con 0 problemas con drivers o otras cosas. Luego apareció la interfaz típica de Unity, con pocas modificaciones a mi entender pero suficientes.
El sistema es estable, pero por alguna razón que tengo que ver se pone lento. (lo reviso y les digo)
Muy aconsejable, si no probaste linux esta podría ser una buena distro para empezar.
Dejo link y fotos:
http://www.ubuntu.com/
El sistema se instalo muy bien con 0 problemas con drivers o otras cosas. Luego apareció la interfaz típica de Unity, con pocas modificaciones a mi entender pero suficientes.
El sistema es estable, pero por alguna razón que tengo que ver se pone lento. (lo reviso y les digo)
Muy aconsejable, si no probaste linux esta podría ser una buena distro para empezar.
Dejo link y fotos:
http://www.ubuntu.com/
Execute LISP Program Online (GNU CLISP 2.49)
Queres probar Lisp y no tenes ganas de instalar cosas? Este sitio es para vos! Nos permite ejecutar lisp de forma online. Probalo y me contas!!
Y no tenes solo Lisp si no otros lenguajes...
Dejo link:
http://www.compileonline.com/execute_lisp_online.php
http://www.compileonline.com/
domingo, 27 de octubre de 2013
60 cursos universitarios, online y gratuitos que inician en Noviembre
Quiero compartir este link que me fue muy útil, muy buenos cursos en ingles y castellano.
Dejo link:
http://wwwhatsnew.com/2013/10/27/60-cursos-universitarios-online-y-gratuitos-que-inician-en-noviembre/
Dejo link:
http://wwwhatsnew.com/2013/10/27/60-cursos-universitarios-online-y-gratuitos-que-inician-en-noviembre/
sábado, 26 de octubre de 2013
7 días para Principles of Reactive Programming
El martes 23 de agosto, postee sobre el nuevo curso que dicta Martin Odersky, por medio de la pagina Coursera; ahora solo faltan 7 días así que si no te inscribiste; estas a tiempo!!
Dejo link:
https://www.coursera.org/course/reactive
Dejo link:
https://www.coursera.org/course/reactive
jueves, 24 de octubre de 2013
The Functional Database
El amigo Rich Hickey (creador de Clojure) creo una base de datos funcional llamada datomic. Pero que es una base de datos funcional? Lo que nos promete la programación funcional es mayor orden; mejor consistencia y facilidades en el mantenimiento.
Datomic es una base de datos ACID flexible y adaptable; que se integra de forma natural con Clojure; se puede buscar de forma funcional; por ejemplo una query tiene la siguiente forma:
{:find [variables...] :where [clauses...]}
Si bien tiene una versión de pago; podemos bajarnos su versión gratuita.
Dejo link:
http://www.datomic.com/
http://www.infoq.com/presentations/datomic-functional-database?utm_source=infoq&utm_medium=popular_links_homepage
martes, 22 de octubre de 2013
La revista de The Pragmatic Bookshelf
The Pragmatic Bookshelf es una editorial que me gusta mucho, tiene muy buenos libros de programación. También lanza una revista la cual se puede descargar de forma gratuita. Va por el numero 49 y yo ni enterado :S
Se pueden encontrar muchos temas de interés y artículos sobre java, scala, clojure, elixir, erlang, python, ruby, etc.
Dejo link: http://pragprog.com/magazines
lunes, 21 de octubre de 2013
sábado, 19 de octubre de 2013
Conociendo ML
ML es un lenguaje funcional desarrollado por Robin Milner en los años 70, no es un lenguaje muy usado pero esta lleno de conceptos que son usados en otros lenguajes.
Vamos por parte, es un lenguaje Funcional por lo tanto las funciones son ciudadanos de primera clase. Y a la vez hace un uso intensivo de recursividad, veamos un ejemplo:
fun fac (0 : int) : int = 1
| fac (n : int) : int = n * fac (n - 1)
Como pueden ver en el ejemplo es de tipado estático, es decir tenes que poner expresamente el tipo, el compilador no lo infiere.
También tiene listas y las listas son tipadas:
- [];
val it = [] : 'a list
- [1,2,3,4,5]
= ;
val it = [1,2,3,4,5] : int list
- [2,3,"hola"];
stdIn:7.1-7.13 Error: operator and operand don't agree [literal]
operator domain: int * int list
operand: int * string list
in expression:
3 :: "hola" :: nil
El error es porque quiero poner elementos de diferente tipo en la misma lista.
Como la mayoria de los lenguajes funcionales ven una lista como el ultimo elemento y el resto; lo que permite junto a la recursividad hacer cosas muy interesantes:
fun contar (xs : int list) : int =
if null xs then 0
else 1 + contar(tl xs)
;
contar([1,2,3,4,5]);
Aclaro que null es una función que nos indica que la lista es vacía, y el algoritmo hace lo siguiente si la lista es vacía devuelve 0, si no devuelve 1 más la cantidad de el resto de los elementos de la lista. Con la función tl obtenemos el resto de la lista, sin el ultimo elemento, veamos otro ejemplo:
fun sumar (xs : int list) : int =
if null xs then 0
else hd xs + sumar(tl xs)
;
sumar([1,2,3,4,5]);
Con la función hd tomamos el ultimo elemento, es decir que lo que estamos diciendo es que la suma de todos los elementos es igual a la suma del ultimo elemento más la suma de los demás elementos.
Prometo otros posts!
Dejo link:
http://en.wikipedia.org/wiki/ML_(programming_language)
if null xs then 0
else 1 + contar(tl xs)
;
contar([1,2,3,4,5]);
Aclaro que null es una función que nos indica que la lista es vacía, y el algoritmo hace lo siguiente si la lista es vacía devuelve 0, si no devuelve 1 más la cantidad de el resto de los elementos de la lista. Con la función tl obtenemos el resto de la lista, sin el ultimo elemento, veamos otro ejemplo:
fun sumar (xs : int list) : int =
if null xs then 0
else hd xs + sumar(tl xs)
;
sumar([1,2,3,4,5]);
Con la función hd tomamos el ultimo elemento, es decir que lo que estamos diciendo es que la suma de todos los elementos es igual a la suma del ultimo elemento más la suma de los demás elementos.
Prometo otros posts!
Dejo link:
http://en.wikipedia.org/wiki/ML_(programming_language)
viernes, 18 de octubre de 2013
Cobol está más vivo que nunca: es migrable y transportable
Que lo maten!! grita la gente ... Hey hey, paren un poco, con este post no intento alimentar el morbo de la gente, ni la lucha entre lenguajes de programación menos que menos apoyar a cobol (que demasiado me hizo sufrir) solo que atraído por una nostalgia vi esta nota y me resulto muy interesante.
"Cobol es un tema importante en el desarrollo de software, es parte de nuestra historia, es parte de nuestro presente y definitivamente será parte de nuestro futuro." Toma tu torta!!
"Si está relacionado, de hecho de las transacciones de negocio que están ejecutando en el mundo financiero un 80% son Cobol, otra cosa es que el front-end sea Java pero detrás está Cobol, así que en Instituciones financieras es importantísimo, pero no es la única industria en la que es importante." Esto me parece bastante discutible pero no soy un estadísta y no tengo datos precisos.
En mi opinión, y solo en mi opinión que que cobol cope los mercados financieros y se use aun demasiado, habla bien de cobol? o habla mal del sector? o habla de una falta de inversión? Entiendo que cambiar grandes sistemas es muy costoso, que lo que funciona no es necesario cambiarlo, pero realmente cobol es mantenible? realmente cobol es el futuro? perdón que lo dude, es solo una opinión.
Dejo link: http://sg.com.mx/buzz/cobol-esta-mas-vivo-que-nunca-es-migrable-y-transportable?utm_content=buffer55a46&utm_source=buffer&utm_medium=twitter&utm_campaign=Buffer
miércoles, 16 de octubre de 2013
Securing Oracle Database 12c: A Technical Primer
Quiero compartir este libro que se puede descargar de forma gratuita sobre la seguridad en Oracle 12c:
http://books.mcgraw-hill.com/ebookdownloads/Oracle12cSecurity/
Suscribirse a:
Entradas (Atom)