Mostrando entradas con la etiqueta Noticias. Mostrar todas las entradas
Mostrando entradas con la etiqueta Noticias. Mostrar todas las entradas

martes, 3 de junio de 2014

Recursos para aprender Ruby

Ya que se acerca el Curso de Ruby en ElementalCode quería compartirles algunos enlaces útiles para aprender Ruby que iré recogiendo de Internet. Me centraré sólo en recursos en español.

Ruby Logo

 

Enlaces


Curso de Ruby en CodeCademy : Excelente tutorial interactivo para aprender Ruby

Videos Tutoriales de GuateOnRails : Videos tutoriales muy explicativos y profundos en GuateOnRails, también los puedes descargar en descargas-directas-xd.

Videos Tutoriales en DevCode.la : Les dejo esta lista de reproducción de los videos tutoriales de DevCode.la

Videos Tutoriales en CodigoFacilito : También les dejo  la lista de reproducción de los videos tutoriales de código facilito para aprender Ruby.

Grupo de Facebook de Ruby : Si tienes alguna duda sobre Ruby, ¿Por qué no utilizar los grupos de facebook? Bueno también dejo un grupo de facebook para que hagas tus consultas acerca de Ruby.

Comunidad de Ruby en Español en G+ : Si eres de los que "cree" que facebook es un anti productivo entonces te dejo una comunidad en G+ .

Ruby en 20 minutos : Famosa guia de Ruby en 20 minutos.

Tutorial de ruby : Un tutorial de ruby en rubytutorial.wikidot.com

Aprende a programar con Ruby : "Aprende a Programar" es la traducción del libro de Chris Pine llamado "Learn to Program"

Videos Tutoriales de Ruby en ElementalCode: Bueno como dije al principio estamos -ya- realizando un curso de ruby en elementalcode, lo puedes revisar.

 

 

¿Tienes algún otro material?


Si tienes algún otro material en español para aprender Ruby puedes dejarlo en los comentarios ;-)

sábado, 15 de febrero de 2014

¿Existen lenguajes de programación mejores que otros?

Este artículo trata sobre si existen lenguajes de programación mejores que otros, ya que para muchos es una cosa de gustos y de adaptación, pero yo no opino lo mismo. Opino que un lenguaje de programación debe ser lo más sencillo posible de aprender, pero a la vez debe ser complejo para cubrir la mayoría de las necesidades y de una forma elegante.




[caption id="attachment_861" align="aligncenter" width="640"]Alternativas en informática Alternativas en informática[/caption]

Antes de empezar, debo aclarar, que esto no se trata de un flame, sino que de una mirada crítica al mundo de los lenguajes de programación. ¿Qué se puede hacer para mejorar un lenguaje de programación?, ¿Qué características son deseadas en un lenguajes de programación?, ¿Es necesario que los lenguajes de programación se parezcan tanto?.



Un poco de ciencia


El ser humano es una de las especies que nace con la mente casi en blanco en relación con la de las otras especies. Aunque es cierto que hay muchas capacidades primitivas que son innatas en el ser humano, como el miedo, altruismo, sexo, la violencia y muchas más. La mayoría de las capacidades se desarrollan a lo largo de vida, por eso es que también el ser humano tiene un mayor periodo de apego con sus familiares. Necesita tener un apoyo y gente que lo guíen cuando están indefensos.


Cuando somos niños y adolescentes tenemos un gran potencial de adaptación en nuestro cerebro, o una gran capacidad de plasticidad cerebral, que es la capacidad de transformación de las estructuras cerebrales, nos cuesta mucho menos cambiar de opinión (por ejemplo) que cuando somos adultos. Cuando somos más adultos esta capacidad de adaptación se empieza a perder, pero no esta del todo perdido, ya que el resultado de esto es una mejora en la estructuración del cerebro, tenemos menos neuronas pero están mejor estructuradas y también hay formas para mejorar la plasticidad. ¿De todas formas, sirve de algo ser consciente de esto?.




El determinismo biológico produce desesperanza.


Louann Brizendine



¿Y esto qué tiene que ver?


Bueno a lo que voy, cuando nosotros criticamos un lenguaje de programación lo hacemos casi siempre desde una perspectiva adulta y quizás poco autocrítica. Creemos que un leguaje de programación es bueno porque es el que hemos aprendido, no porque sea mejor realmente. Tendríamos que pensar que lenguaje es mejor para todos y no sólo para mi.


El primer lenguajes en el cuál aprendí a programar fue el lenguaje C luego sin aprenderlo completamente quise aprender el lenguaje C++ que al final y al cabo es una extensión del lenguaje C. Por el momento mi lenguaje favorito es el lenguaje C# ya que también mantiene muchas cosas de C/C++ y aparte tiene muchas características modernas. Pero aunque C# sea un lenguaje del 2003 (Bastante nuevo) sigue manteniendo los ; para delimitar el final de una expresión. Para mi no es un problema escribir un ; para delimitar una expresión ya que yo estoy
acostumbrado a esto, pero si miramos a las personas que están aprendiendo a programar con algún lenguaje que utilice los puntos y comas, les será muchas veces un lío ya que les dará un error en tiempo de compilación. Para reconocer un buen lenguaje de programación debemos ponernos en los zapatos de las personas que están aprendiendo a programar y ver que cosas les parecen contra intuitivas.



¿Qué cosas son positivas en un lenguaje de programación?


Intuitivo


Un lenguaje de programación debe ser intuitivo para las personas que están aprendiendo a programar, por ejemplo un típico error de la gente que esta aprendiendo a programar en Java es confundir el operador relacional "igual a" == con el operador de asignación = , al momento de utilizarlo en una estructura condicional como el if o el else if, etc.


Yo opino que el operador de asignación sea : y que el operador de relacional de "igual a" podría ser = .


Java:
a = 10;
b = 10;

if (a == b) System.out.println("Iguales");

Mi Pseudolenguaje:
a: 10
b: 10

if a = b _ debug 'Iguales'

 En Mi Pseudolenguaje el carácter _ sirve para avisar que esto va a estar en una sola línea.

Evidentemente esto no es un gran problema, pero según mi opinión que los lenguajes de programación sean más intuitivos es un punto a favor.



Fácil de escribir y de leer


Otro punto a favor es la legibilidad del lenguaje. Por ejemplo, a mi me gusta mucho Ruby, por que es un lenguaje que es muy fácil de leer. También es fácil de escribir al no tener tantos signos raros.



# define la clase Perro  
class Perro

# método inicializar clase
def initialize(raza, nombre)
# atributos
@raza = raza
@nombre = nombre
end

# método ladrar
def ladrar
puts 'Guau! Guau!'
end
end

No debe tener muchas formas de hacer lo mismo


Hay lenguajes que son muy permisivos, por ejemplo C++, permite utilizar todo lo de C, ya que es una extensión. Pero hay un problema con esto. Es que si la persona que aprende no tiene un buen educador o es autodidacta, le va a ser fácil perder el norte al ver mucha documentación en la cuál se utilice mezclado el lenguaje C con el lenguaje C++. Claro que con la experiencia esto se puede arreglar, pero al principio es un letargo, ver que cosas se deben hacer y que cosas no. Pienso que un lenguaje de programación debe ser lo más fácil de aprender posible, porque al principio aprender a programar es difícil.


Un ejemplo de que no se debe hacer en C++



#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
printf ("Hola ");
cout << "Mundo!" << endl;

return 0;
}

Estamos utilizando funciones de C como printf y el objeto cout. A parte de esto hay muchas cosas más que se pueden mezclar de C y C++, pero este es un ejemplo simple.



Innovación


Sí, innovación. No tengo bien claro el motivo, quizás es difícil innovar en un lenguaje de programación maduro. Muchos lenguajes de programación se limitan a añadir clases y más clases para cumplir las nuevas necesidades dentro de la programación. Pero pienso que un cambio de sintaxis es muy positivo en los lenguajes de programación, quizás no hace el cambio porque es costosa la implementación y es más fácil añadir y añadir nuevas clases. Creo que es positivo para un lenguaje de programación deprecar algunas características de su sintaxis y remplazarlas por nuevas.


Tratando de innovar quise crear una clase Phone y SmartPhone en mi pseudolenguaje, luego me dirán su opinión en los comentarios.



class Phone
private int numero
private int saldo
private int minRecarga: 500
private str dueño

constructor
in _ -> numero, -> dueño
end

_ public _

method call
in _ int numero
out _ bool call

if saldo > 0 _ call: true
else _ call: false
end

property Saldo to saldo
set
if Saldo > minRecarga _ Saldo: saldo
get _ saldo -: 100 # que robo
end
end

class SmartPhone extends Celular

group so
str nombre
int version
end
end

No es necesario que se parezca a otros lenguajes, sólo debe buscar la mejor forma de hacer las cosas


En especial los lenguajes C, luego C++ y luego C# fueron copiando la mayoría de las cosas de los lenguajes que le preceden para facilitar el traslado de los programadores. Pero pienso que esa no es la idea. La idea es copiar las características positivas de los lenguajes que preceden y olvidarse de las negativas, por ejemplo olvidarse de los ; . Un lenguaje de programación debería ser indiferente a todos los demás, pero sí debe copiar las cosas positivas de todos los demás. Que un lenguaje de programación nuevo se parezca a otro ayuda a que los programadores se trasladen de lenguaje, pero puede dificultar el aprendizaje de éste nuevo lenguaje a las personas que están aprendiendo a programar.

viernes, 14 de diciembre de 2012

ElementalCode Tips - 1 - Insistimos con CodePen

Empezamos con el primer video de esta serie de videos ElementalCode Tips en el cual vamos a ver un breve resumen de la herramienta online CodePen.

 

El Video




Descarga el video en HD ;-)


http://depositfiles.com/files/7e6u4m7sl

 

Algunos enlaces


Web Oficial de CodePen

martes, 13 de noviembre de 2012

Curso de Sass y Compass

curso de  sass y compass

Empezamos con nuestro primer Curso! Este es el comienzo de una nueva aventura con un Curso de Sass y Compass, que nos facilita la creación de CSS y trabajar de manera mucho más productiva. Sass y Compass lo pueden utilizar en todos o a la mayoría de tus proyectos webs.


Sass es un lenguaje orientado a mejorar CSS que le añade un montón de nuevas capacidades para evitar la abundante redundancia en CSS.


Compass es un conjunto de herramientas y patrones que nos ayudan a mejorar aún más nuestro trabajo con Sass.




El curso


A medida que vallamos avanzando con el curso (ya que todavía no esta terminado) iremos dejando los enlaces acá para que sean más fácil de ver o bajar. No te olvides de dejar este artículo en tus favoritos ;-)




Los videos y artículos ;-)


1 - Introducción a Sass y Compass


 [Artículo] [Video en Youtube] [Descargar]


2 - Instalación


 [Artículo] [Video en Youtube] [Descargar]


3 - Lo más básico sobre la terminal


 [Artículo] [Video en Youtube] [Descargar]


4 - Crear y configurar proyectos


 [Artículo] [Video en Youtube] [Descargar]


5 - Syntax Highlighting para Sass en Sublime Text


 [Artículo] [Video en Youtube] [Descargar]


6 - Anidación en Sass


 [Artículo] [Video en Youtube] [Descargar]


7 - Comentarios, variables y operadores


 [Artículo] [Video en Youtube] [Descargar]


8 - Herencia de selectores y Mixins


 [Artículo] [Video en Youtube] [Descargar]


9 - Selector Placeholder


 [Artículo] [Video en Youtube] [Descargar]


10 - Interpolación y funciones preconstruidas de Sass


[Artículo] [Video en Youtube] [Descargar]


11 - @import y @media queries


[Artículo] [Video en Youtube] [Descargar]


12 - Keyword arguments y @content


[Artículo] [Video en Youtube] [Descargar]


13 - Directivas de control y inspeccionar código


[Artículo] [Video en Youtube] [Descargar]


14 - Bucle @for


[Artículo] [Video en Youtube] [Descargar]


15 - Bucle @while


[Artículo] [Video en Youtube] [Descargar]


16 - Bucle @each


[Artículo] [Video en Youtube] [Descargar]


17 - Construir funciones y argumentos variables


[Artículo] [Video en Youtube] [Descargar]


18 - Shell interactivo y tipos de datos


[Artículo] [Video en Youtube] [Descargar]


19 - Instalación y uso de plugin


[Artículo] [Video en Youtube] [Descargar]


20 - Uso de sprites en Compass


[Artículo] [Video en Youtube] [Descargar]


21 - Maps y selector placeholder para sufijos


[Artículo] [Video en Youtube] [Descargar]


 

Donativos


El material que ofrecemos es gratuito, puede ayudar con una donación por medio del siguiente botón.

value="PP-DonationsBF:btn_donateCC_LG.gif:NonHosted" />

 

Algunos enlaces ;-)


Web oficial de Compass


Web oficial de Sass


PlayList en Youtube


Los ejemplos en GitHub

martes, 25 de septiembre de 2012

Compartir tu código javascript, html, css y más!

Si deseas tener una buena herramienta para compartir tu código, javascript, css, html y también otros lenguajes como slim, scss, less, coffeescript, lo mejor que se puede encontrar hasta el momento es CodePen.io. Con esta herramienta puedes probar, editar, compartir tu código con todo el mundo. Existen más herramientas similares pero de seguro ésta, hasta el momento, es la que lleva la delantera.
Las características que hacen a esta herramienta tan maravillosa son: la funcionalidad de compartir enlaces permanentes, la actualización de la vista previa en tiempo real (cuando escribes código luego de un segundo se ve la vista previa sin hacer ningún click), la funcionalidad de transformar el código de un lenguaje a otro con un par de clicks (ejemplo: de sass a css), tener tu propia galería de código que quieras compartir, explorar la galería de programadores y diseñadores, hacer un fork (copy & paste) de los códigos de las demás personas para hacer tu versión propia.
Y otra característica que para algunos pueda parecer mala y para otros muy buena, es el acceder a tu cuenta codepen.io por medio de GitHub. Osea, necesitas estar registrado en GitHub. Si no lo estás te animo a que lo hagas!, GitHub es como el facebook de los programadores y diseñadores.
Hice un ejemplo en CodePen con sass y compass para que lo puedan ver ;-)



http://codepen.io/Writkas/pen/AmHGL


Enlace: CodePen.io