Aprendiendo a programar con el zen y la meditación

por:

Bueno, ya estamos de nuevo por aquí, hoy con un post dedicado a esas plataformas online existentes (y siempre las más innovadoras imaginables) para aprender a programar.

En el caso que nos ocupa, vamos a referenciar una plataforma que se basa nada menos que en la filosofía ZEN para enseñarnos a programar desde cero.

Sí, has oído bien. El caso es que hay ingenieros que añaden un toque innovador único a la hora de dar forma a sus plataformas de e-learning. Hoy en día, que podemos encontrar formas de aprender de todo en la Red, es importante crear metodologías de estudio, y sobre todo práctica, que aporten un plus y que diferencien tu sistema de los cientos que hay y que se dedican a lo mismo que tú.

sensei-zazen

Algo así debieron pensar los responsables de RUBYKOANS.COM que se plantearon desarrollar una plataforma de aprendizaje del lenguaje de programación RUBY pero basándose en la filosofía oriental del ZEN, la meditación y los koans.

Pero ¿Qué es un koan?.

Bien, un koan es un rompecabezas al más puro estilo japonés, y que pretende forzar a nuestra mente a utilizar áreas y procesos de pensamiento más que simplemente lógicos o racionales. Es una forma de poner a funcionar el subconsciente en una mayor medida a la vez que nuestro consciente se emplea a fondo en la resolución de un problema aparentemente lógico.

Sobre estos mimbres, los desarrolladores de Rubykoans han montado toda una metodología de enseñanza, tanto teórica como práctica que nos lleva de la mano para que cualquiera pueda aprendr a programar en Ruby, desde cero y hasta un nivel bastante apto. Al menos eso es lo que defienden.

Zen-Yin-Yang

A mi particularmente me ha parecido lo suficientemente llamativo como para dedicarle un post e invitaros a que conozcáis distintas y frescas formas de aprender, desde casa, con la Red como medio, y con fórmulas innovadoras para atrapar nuestra atención.

Así, los esfuerzos son siempre menores o, por lo menos, más atractivos.

De modo que ya sabéis, entre meditación y meditación, quizá podáis sacaros una especialidad o, por lo menos, ampliar vuestro elenco de lenguajes de programación, al tiempo que activáis áreas de vuestro cerebro que el sistema formativo convencional mantiene aletargadas.

¿Qué me decís?, ¿Le damos a la meditación trascendental para programar cada vez mejor?

Generadores de codigo : agilizando el desarrollo

por:

 

Generadores de codigo para agilizar el desarrollo del software

 

Uno de los temas que más de moda está en los últimos años, son los generadores de código de manera automática, que toman como entrada una descripción del diseño que se quiere construir y ellos realizan una implementación en el lenguaje que nosotros le indiquemos.

Introducción a los generadores de codigo

En un primer momento, los generadores de código nacen como una manera de agilizar el desarrollo, por ejemplo si siempre partimos de un caso en el que usamos 5 librerías y nuestro diseño es de cierta manera, para nosotros sería muy útil, poder disponer de esa plantilla ya creada y luego completar el contenido. Este proceso es muy importante si queremos diseñar un prototipo rápido, de lo que va a ser nuestro servicio y con el cual le podemos enseñar a un posible cliente, inversor o al propio equipo, cómo será lo que queremos montar.

Ese tipo de sistemas hasta hace poco los teníamos disponibles y nos añadían muchas facilidades, pero actualmente y utilizando una expresión muy típica de informática, hemos intentado “rizar el rizo” para conseguir que no sea una mera plantilla lo que vamos a utilizar, sino que nos pueda generar una versión sencilla, pero completa o casi completa de todo el sistema.

 

Tipos de generadores de codigo

Dentro de los generadores de código, desde mi punto de vista podemos distinguir dos tipos principales:

  • Generadores interactivos: este tipo de generadores son muy comunes actualmente y permiten, que con un simple sistema de arrastrar y configurar un par de parámetros del elemento, poder generar todo el código necesario para implementar esa funcionalidad. Un ejemplo de ello es el App Studio, el generador de Aplicaciones para Windows Phone que Microsoft pone a disposición de cualquier persona.
  • Generadores usando un lenguaje de modelado: este tipo de generadores son menos comunes pero son los más “potentes”, ya que usando una descripción del modelo que queremos crear en un lenguaje de modelado como UML, son capaces de crear un porcentaje bastante amplio del código. Un ejemplo de esto es Visual Paradigm, y una de sus ventajas es que permite generar código en diversos lenguajes como C++, Java y PHP.

 

Leer más

Hacer aplicaciones móviles sin saber programar

por:

Tratando siempre de dar respuestas a los intereses de las muchas personas que quieren hacer cada vez más cosas en las muchas áreas que presenta la informática, la tecnología y las comunicaciones, un tema recurrente que siempre escucho es: “Oye, ¿Se pueden hacer aplicaciones para móviles sin saber programar?”.

Y es lógico que cada vez más y más personas quieran subirse al tren de los avances y la vanguardia. Todos llevamos teléfono móvil o Tablet. Todos queremos aportar una idea, poner en marcha un proyecto o darle forma a una solución pero… “¡No sé programar!… Eso debe ser tremendamente complejo…”

Pues no señores, sigamos desmitificando lo que es difícil o imposible, para empezar a darle la bienvenida herramientas y utilidades que hacen posible lo que tenemos en la cabeza.

¿Tienes en mente un producto?; ¿Has tenido una idea original y querrías convertirla en aplicación para móvil?; Es más, ¿Qué digo móvil en general?… ¿Querrías que tu aplicación corriera en Android, Windows Phone, IPhone (IOS) y en Tablets?… Pues ahora podemos y te enseñamos cómo, aunque jamás te hayas acercado a una línea de código ni sepas programar.

AppsBuilder para hacer tus aplicaciones

Os presentamos APPS-BUILDER.COM una utilidad online gratuita que se encarga de hacer el trabajo sucio y técnico, así como de compilar lo que tú, simplemente, diseñas en pantalla con sus múltiples opciones para hacer tu propia aplicación para móvil.

sinsaberProgramar

Además, puedes personalizarlo todo y darle forma a tu proyecto sea el que sea. Esa idea que tienes para un programa que corra en móviles y tabletas, se puede construir como quien monta un blog en plataforma wordpress, porque han tenido el acierto de basar su panel de control en un modelo muy similar a esta plataforma de blogging.

Eliges los temas gráficos, añades los contenidos, botones, enlaces, widgets que quieres para tu aplicación y… la plataforma la va programando a tu gusto y según los parámetros que le indiques.

Pero, por si todo lo anterior fuera poco, resulta que se encargan de subir tu aplicación una vez finalizada a las tiendas de los principales proveedores de apps, es decir, que en cuestión de horas (una vez terminada tu aplicación) se podrá descargar o comprar desde Google Play, Windows Store, App-Store de Apple, etc… (tanto en modo gratuito y admitiendo publicidad para financiarte, como cobrando por tu aplicación, si la quieres vender) de manera que tu aplicación es multiplataforma y puede operar en todos los sistemas operativos móviles y descargarse a todos los terminales.

En fin… que si tenías la idea, pero te faltaba la técnica, ahora te damos la llave de la Caja de Pandora. Ahora nada se interpone entre tú y esa aplicación para móviles y tablets que querías desarrollar pero que tenías en stand-by por no saber programar.

Que no saber programar jamás sea un freno a tus proyectos: Apps-builder.com es la solución definitiva en este sentido.

Introducción a Git: primera parte

por:

Manual de git tu repositorio

 

¿Qué es git?

Git es un sistema de control de versiones distribuido diseñado por Linus Torvalds para usarlo en el desarrollo del kernel Linux.

1 ¿Qué es un sistema de control de versiones?

Un sistema de control de versiones permite guardar la historia de una colección de archivos (fecha de modificación, autor de la modificación, qué se modificó, etc.) y te permite revertir los cambios a una versión anterior del archivo.

Dicha colección de archivos y su historia se almacenan en los llamados repositorios.

 

Instalación

1 Windows

La instalación en Windows es muy sencilla, basta con descargar el .exe del instalador desde la página de GitHub del proyecto msysGit.

Este .exe instalará la versión de línea de comandos y la versión con interfaz gráfica.

2  Mac

Se puede instalar de dos maneras:

1 Descargar el instalador gráfico desde http://code.google.com/p/git-osx-installer.

2 La segunda manera es instalarlo usando MacPorts. Si tienes MacPorts instalado instala git con:

$ sudo port install git-core +svn +doc +bash_completion +gitweb

3 Linux

Si usas una distribución basada en Debian (Ubuntu, Linux Mint, elementaryOS) escribe en un terminal:

$ sudo apt-get install git

Los usarios de Fedora pueden usar yum:

$ sudo yum install git-core

Y para usuarios de Arch Linux:

$ sudo pacman -S git
  Leer más

Aprender a programar en c

por:

En esta entrada os queremos invitar a un curso para aprender a programar en c paso a paso. Para ello contamos con un foro y material que se usa en el aprendizaje en las universidades.

Introducción

El lenguaje de programación C fue creado en 1972, está pensado para implementar Sistemas Operativos, clásicamente Unix. Además de para crear S.O. se utiliza para diseñar aplicaciones, debido a la alta eficiencia del código escrito en este lenguaje.

Es un lenguaje peculiar ya que posee características de lenguajes de bajo nivel, como ensamblador (gestión de memoria, punteros, etc.). Pero además se pueden implementar estructuras complejas, como listas, árboles, etc.

El libro más importante es  “El lenguaje de programación C”  (conocido como la Biblia de C) de Kernighan and Ritchie.

El libro para aprender a programar en c

Para consultar más información, os recomendamos este artículo.

¿Por qué aprender a programar en C?

Aunque es cierto que C es un lenguaje que últimamente esta siendo remplazado en la docencia por Java y otras personas lo consideran una base para C++ o C#, nosotros si creemos que tiene sentido aprender a programar en C.

Aprender C puede ser el primer contacto de un informático con la programación a bajo nivel y además permite darse cuenta de la potencia que tiene este lenguaje, ya que posee punteros. Un buen manejo de los punteros permite aumentar la eficiencia de los algoritmos de manera exponencial, pero también he de decir que un conocimiento justo de ellos, puede probar serios problemas de corrupción de memoria o de acceso a zonas de memoria restringidas.

Leer más

Aprender Verilog paso a paso

por:

 

Aprender Verilog paso a paso

 

Introducción

Verilog es un lenguaje de programación orientado a la realización de simulaciones de hardware. Esto permite describir en este lenguaje puertas lógicas y sus conexiones y realizar distintas pruebas, antes de construir directamente el componente o circuitos, que pensábamos hacer. Además permite la depuración y análisis de resultados, que nos sirven para optimizar el circuito y reducir costes (por ejemplo pasar de 7 puertas lógicas a 3).

¿Por qué aprender Verilog?

Realmente yo no conozco a nadie cuyo trabajo exija tener conocimientos de Verilog, es un lenguaje que se usa principalmente para diseñar nuevas CPUs y otro tipo de complejos circuitos, con grandes costes de producción y multitud de elementos eléctricos y electrónicos. Normalmente el diseñar una nueva CPU o un pequeño PIC con Verilog, es un proceso complejo y que requiere muchísimo tiempo, ya que hay que indicar cada conexión una por una y unirlas patilla por patilla de cada elemento.

Captura de un fragmento de código de Verilog

Leer más

Aprender ensamblador paso a paso

por:

 

Aprender ensamblador paso a paso

 

Introducción

El ensamblador, es un lenguaje de programación, creado para no necesitar conocer el código máquina de cada CPU y que sea más fácil de recordar. Entre las características de este lenguaje, debemos destacar que permite trabajar a bajo nivel (por ejemplo ordenando que en el registro 1 de tu CPU se guarde el numero 23), permitiendo una gran optimización del código, además es un lenguaje que varía dependiendo de la CPU y está principalmente en desuso.

Para obtener más información sobre este lenguaje, podeís visitar está página.

¿Por qué aprender ensamblador?

Si es un lenguaje en desuso y no permite la pórtabilidad del código, muchos se preguntarán para qué nos sirve aprenderlo.

La respuesta corta, podría ser que la utilidad es relativamente nula, no vais a encontrar trabajo por conocer este lenguaje, ni vais a programar día a día con él y puede que después de aprenderlo, se te olvide gran parte de su sintaxis. Ahora bien, al ser un lenguaje de bajo nivel, os va a ayudar a mejorar bastante en la creación de algoritmos y optimización del código. Esto es una cosa, que según vayaís progresando con el curso, lo vaís a notar, debido a que al tener que trabajar a bajo nivel, necesitaís escribir muchas líneas para hacer operaciones muy simples. Esto obliga al programador, a dedicar gran parte del tiempo, a optimizar el algoritmo para no dedicar muchas horas a escribir lineas.

Leer más