# data[].attributes.attachment_link.title
Tutorial 1 de MATLAB en español - Introducción 1/2

# data[].attributes.body
MATLAB

# data[].attributes.attachment_link.title
MATLAB - Wikipedia, la enciclopedia libre

# data[].attributes.attachment_link.description
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario ( GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware.

# data[].attributes.body
MATLAB

# data[].attributes.attachment_link.description
Aprender a programar con Scratch Scratch es un lenguaje de programación y una comunidad en línea donde los niños pueden programar y compartir medios interactivos historias, juegos y animaciones con personas de todo el mundo. Cuando los niños crean con Scratch, aprenden a pensar creativamente, trabajar colaborativamente, y razonar sistemáticamente.

# data[].attributes.attachment_link.title
Lenguaje de programación Go - primeras impresiones y opinión

# data[].attributes.attachment_link.provider_name
KeepCoding | Cursos y Bootcamp: programación Web, Mobile y Big Data.

# data[].attributes.attachment_link.readable_text
Lenguaje Go. ¿El C del siglo XXI? ¿Qué es Go y por qué hay tanto hype detrás? Intentamos resolver las dudas sobre este nuevo participante en el mundo de la programación.

Go es un lenguaje de programación relativamente nuevo, su lanzamiento oficial fue a finales de 2009 (aunque su primera versión estable fue en 2012), por lo que no lleva ni una década entre nosotros. ¿Y qué hace que Go sea ese lenguaje de programación que todos esperan? Más allá de que haya sido desarrollado por Google -que no es poco-, las características de Go y su desempeño son las que nominan a este lenguaje de programación como el enésimo sustituto natural de C. ¿Será verdad esta vez? Veamos sus características.

Características de Go

Go, al igual que C y C++, es un lenguaje compilado y concurrente, o en otras palabras: soporta canales de comunicación basados en el lenguaje CSP. Sin embargo, la concurrencia en Go es diferente a los criterios de programación basados en bloqueos como pthreads. Los creadores de Go, además, se inspiraron en la versatilidad y las cualidades de otros lenguajes como Python, C++ y Java (entre otros), para conseguir un lenguaje con las siguientes características, algunas únicas, y otras compartidas con otros lenguajes compilados.

Simplicidad

Lenguajes como C++, Java o C# son más pesados y voluminosos que Go. La simplicidad es la característica principal de Go. Con una sintaxis clara, limpia y organizada, la idea de este nuevo lenguaje de programación es diferenciarse de la complejidad de C. Comparando ambos lenguajes compilados, vemos que Go utiliza inferencia implícita de tipos para así poder evitar la declaración explícita de variables que tienen lugar en C.

Funcionalidades

Aun siendo un lenguaje diseñado para la programación de sistemas, Go dispone de un recolector de basura como la mayoría de los lenguajes modernos. El recolector de basura de Go está siendo reimplementado para reducir la latencia todo lo posible. Y a pesar de no ser un lenguaje orientado a objetos (no existe jerarguía de tipos), Go admite su paradigma. Aunque a diferencia de los lenguajes orientados a objetos más populares, no dispone de herencia de tipos ni de palabras clave que denoten claramente que soporta este paradigma.

Facilidad de uso

Go usa tipado estático y es tan eficiente como C. Está pensado para facilitar la vida al máximo a los programadores. Permite detectar errores en la sintaxis durante la compilación y no durante la ejecución, a diferencia de otros lenguajes compilados. Sin embargo, después de programar algo más que un "Hola Mundo", enseguida se puede sentir una sensación agradable al programar. Además, los programadores que hayan usado C se sentirán extremadamente cómodos, ya que Go posee una sintaxis muy parecida.

Compatibilidad

Al igual que otros muchos lenguajes -pero no por ello deja de ser importante-, Go es compatible con sistemas Windows, Mac OS X, Linux y FreeBSD.

Go vs C. ¿Llegó su recambio natural?

Go siempre ha estado acompañado de mucho ruido a su alrededor. El hecho de que Google esté detrás siempre aumentará el eco de todo lo que ocurra, y a veces puede jugar en su contra. Como el hecho de ser bautizado como "el nuevo C". Pero es en el momento de probar Go cuando uno se da cuenta de que todo el ruido de alrededor está justificado, más allá del marketing y el "fanboyismo".
Go es un lenguaje de programación que posee unas características únicas para hacerse con una buena parte del mercado.
Por ese motivo y porque sabemos que ser de los primeros en dominar una nueva tecnología te abre una infinidad de puertas, en KeepCoding estrenamos curso de Go. Y como creemos que, tanto si tienes experiencia en C, en lenguajes compilados o no; este lenguaje de programación te va a encantar, también te traemos un vídeo de introducción de GO.

¿Te vas a quedar atrás? Si quieres disfrutar de estos y otros Webinar en directo y poder participar, regístrate en nuestra plataforma y sé parte de la comunidad. No te quedes desactualizado, entérate de todas las novedades del mundo de la programación y tecnología de la mano de profesionales.
Apúntate y adelántate a todos. ¡Domina Go antes que nadie!

# data[].attributes.attachment_link.title
Lenguaje de programación Go y sus características.

# data[].attributes.attachment_link.description
Lenguaje Go. ¿El C del siglo XXI? ¿Qué es Go y por qué hay tanto hype detrás? Intentamos resolver las dudas sobre este nuevo participante en el mundo de la programación.

# data[].attributes.attachment_link.readable_text
Go

Desarrollador(es)

Google
https://golang.org y https://go.dev

Información general

Extensiones comunes

.go

Paradigma

compilado concurrente, imperativo, estructurado ​​​

Apareció en

2009

Diseñado por

Robert Griesemer, Rob Pike y Ken Thompson

Última versión estable

1.16.5 ​ (03 de junio de 2021 (2 meses y 3 días))

Sistema de tipos

fuerte, estático

Implementaciones

gc (8g, 6g, 5g), gccgo

Influido por

C, Modula-2, Pascal, Oberon, Limbo

Sistema operativo

GNU/Linux, Mac OS X, Windows, otros​​

Licencia

BSD​ + patent grant​

Go es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C, que intenta ser dinámico como Python y con el rendimiento de C o C++. Ha sido desarrollado por Google​ y sus diseñadores iniciales fueron Robert Griesemer, Rob Pike y Ken Thompson. ​ Actualmente está disponible en formato binario para los sistemas operativos Windows, GNU/Linux, FreeBSD y Mac OS X, pudiendo también ser instalado en estos y en otros sistemas mediante el código fuente.​​ Go es un lenguaje de programación compilado, concurrente, imperativo, estructurado, orientado a objetos y con recolector de basura que de momento es soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD, Mac OS X y Plan 9 (puesto que parte del compilador está basado en un trabajo previo sobre el sistema operativo Inferno). Las arquitecturas soportadas son i386, amd64 y ARM.

El día de la publicación del lenguaje Go, Francis McCabe, desarrollador del lenguaje de programación Go! (anteriormente llamado Go), solicitó que se le cambiase el nombre al lenguaje de Google para evitar confusiones con su lenguaje.​ McCabe creó Go! en el año 2003; sin embargo, aún no ha registrado el nombre.​ Go es un nuevo lenguaje de programación para sistemas lanzado por Google en noviembre de 2009. Aunque empezó a ser desarrollado en septiembre de 2007 por Robert Griesemer, Rob Pike y Ken Thompson.

Características

Go es un proyecto opensource.​

Go usa una sintaxis similar a C.​

Go usa tipado estático (statically typed ).

Go es un lenguaje compilado, al igual que C y C++.

Provee de un recolector de basura , reflexión y algunas otras capacidades de lenguajes de alto nivel.

El binario de Go tiene la característica de compilación cruzada de manera nativa.

Go admite el paradigma de programación orientada a objetos, pero a diferencia de otros lenguajes de programación no dispone de herencia de tipos y tampoco de palabras clave que denoten claramente que soporta este paradigma.

En Go, la definición de un tipo ("clase") se realiza por medio de declaraciones separadas (interfaces, structs, embedded values).

Go permite el uso de delegación (a través de embedded values) y polimorfismo (por medio de interfaces).

Go utiliza la concurrencia a través de las gorutinas.

Go esta orientado a aprovechar sistemas con múltiples procesadores y procesamiento en red.​

Go admite la tipificación dinámica de datos también conocida como duck Typing.​​

Un struct puede implementar una interfaz de forma automática.​

Go no utiliza excepciones.​ Los creadores del lenguaje han dado varios motivos para que esto sea así. La principal es que añadir una capa de excepciones agrega una complejidad innecesaria al lenguaje y al entorno de ejecución. Por definición las excepciones deberían ser excepcionales pero al final se acaban usando como controladores del flujo de la aplicación y dejan de tener la finalidad de excepcionalidad. Según los creadores, las excepciones tienen que ser realmente excepcionales y el uso que se le da mayoritariamente no justifica su existencia.

Aunque su sintaxis es similar, Go difiere mucho de C. Véanse algunos ejemplos.

Declaraciones al revés

En Go las declaraciones se realizan al revés desde la perspectiva de C (o C++ o Java). La idea principal en C es que se declara una variable como una expresión que denota su tipo. Según los creadores, aunque la idea detrás de la declaración de tipos en C es buena, los tipos y las expresiones gramaticales no se mezclan demasiado bien y el resultado puede ser confuso. Go sin embargo, separa la expresión y la sintaxis de tipo, lo cual simplifica las cosas.

Punto y coma

En Go el uso del carácter punto y coma ";" al final de una instrucción es opcional.

Aritmética de punteros

Go no tiene aritmética de punteros. Según los creadores, la razón es la seguridad. Sin aritmética de punteros es posible crear un lenguaje en el que no se puede obtener una dirección ilegal que sea usada de forma incorrecta. La falta de aritmética de punteros simplifica la implementación del recolector de basura. Además, optimizando el compilador y con el hardware actual, un bucle que utiliza los índices de un array puede ser tan eficaz como un bucle que utiliza aritmética de punteros.

En Go, el uso de ++ y -- para incrementar y decrementar el valor de una variable es una sentencia y no una expresión. Además, solo puede utilizarse en su versión sufija pues según los autores, la versión prefija pierde todo su sentido en la ausencia de aritmética de punteros.

Programación orientada a objetos

Para algunos autores, la herencia o las clases no son conceptos esenciales para el paradigma de POO, sino más bien un medio de implementación. Existen desde hace tiempo lenguajes orientados a objetos que no admiten clases, sino que se basan en prototipos, como Javascript o . Según declaraciones de Alan Kay, creador de Smalltalk, lo esencial del paradigma es el paso de mensajes.​

Go tiene tipos y métodos, y permite un estilo de programación orientado a objetos que reemplaza el uso de clases por estructuras las cuales admiten construir jerarquías, es decir, no soporta el uso herencia y favorece en su lugar el patrón de composición. En Go, el concepto de "interfaz" es similar al usado en : cualquier objeto ( value) que cumpla el contrato especificado por una interfaz (sin necesidad de una declaración explícita) obtiene ese tipo. También existen formas de embeber estructuras dentro de otras estructuras para obtener algo análogo a las subclases. Los métodos de Go son más generales que los de C++ o Java, y se incluyen en las estructuras declarando funciones asociadas a estas. Pueden ser definidos para cualquier tipo de datos; no solo para los registros. Por su parte las interfaces de Go a diferencia de lenguajes como Java, son de tipo implícito, es decir que se considera que la interfaz ha sido implementada cuando una estructura implementa sus métodos aun cuando esto no se especifique.

El clásico programa Hola mundo en Go es similar a como se haría en C++. Con este típico ejemplo podemos apreciar que en cuanto a sintaxis son muy similares:

La notación de los comentarios es exactamente la misma que la de C++

Un programa para una aplicación web.

# data[].attributes.attachment_link.title
Go (lenguaje de programación) - Wikipedia, la enciclopedia libre

# data[].attributes.attachment_link.description
Go Desarrollador(es) Google https://golang.org y https://go.dev Información general Extensiones comunes .go Paradigma compilado concurrente, imperativo, estructurado ​​​ Apareció en 2009 Diseñado por Robert Griesemer, Rob Pike y Ken Thompson Última versión estable 1.16.5 ​ (03 de junio de 2021 (2 meses y 3 días)) Sistema de tipos fuerte, estático Implementaciones

# data[].attributes.attachment_link.title
Introducción a swift el lenguaje de programación de Apple

# data[].attributes.attachment_link.description
La gran mayoría de todas las transferencias de fondos internacionales se hace vía el sistema de mensajería SWIFT que permite a los bancos para el intercambio de datos financieros es decir.

# data[].attributes.attachment_link.readable_text
En una encuesta realizada recientemente, uno de las cuestiones donde la sociedad poseía menos conocimiento estaba relacionado con temáticas económicas y financieras. Dentro de este contexto, los términos y características bancarias ocupaban un lugar muy representativo. De entre una decenas de preguntas, aquella que recibió menos respuestas era qué es el Swift y para qué sirve.

Este hecho llenó de sorpresa a la empresa encargada de dicha encuesta, pues una de las valoraciones y afirmaciones que resultaron de la misma, detectando un total desconocimiento de los principales términos y funcionalidades de diversos productos bancarios. A pesar de ello los usuarios siguen contratando productos bancarios, utilizando dichos término o conceptos sin ni siquiera darse cuenta.

Como hemos dicho anteriormente, el swift de un banco es un autentico desconocido para una buena parte de la población del país, a pesar de que cada cliente bancario posee un número swift. Veamos con más profundidad que es el swift bancario y porqué deberíamos saber un poco más sobre él.

¿Qué es el Swift?

El código Swift o número Swift representa las siglas del término inglés Society for World Interbank Financial Telecommunication, empresa que dirige y administrar la comunicación entre los distintos tipos de bancos de todo el mundo.

El Swift de un banco corresponde a una serie de dígitos que utilizan los bancos para sus clientes puedan realizar operaciones internacionales, podemos decir que es un protocolo para poder ampliar el marco de actuación de determinadas transacciones.

También es conocido como código BIC (Bank Identifier Code ), esta compuesto por una serie alfanumérica de 8 a 11 dígitos.

El número Swift nació para potenciar y aumentar la seguridad al realizar transacciones de tipo internacional, añadiendo importantes ventajas como la reducción de tiempo, o sufrir menos comisiones.

Los códigos swift de entidades bancarias

Anteriormente se ha comentado que el código Swift puede tener entre 8 y 11 dígitos, siendo los tres últimos no obligatorios u opcionales. A continuación vamos a descifrar el significado de cada número swift:

Código de la entidad. Se representa por los cuatro primeros números e identifica al banco.

Código del país. Los siguientes dos dígitos (el quinto y el sexto), sirven para identificar el país del banco.

Código de Localidad. Los siguientes números correspondientes al séptimo y octavo lugar, representan la localidad donde se sitúa la entidad bancaria.

Código de Oficina. Por último los últimos tres dígitos representarán a la oficina bancaria. Es necesario recordar que estos números son de carácter opcional, no existe ningún error si se carece de ellos.

El número Swift BIC, representa en todo momento a la entidad bancaria y no al cliente, ninguna información personal o económica se distingue en el código alfanumérico de este número bancario.

¿Donde se puede encontrar el número SWIFT?

Una vez que tenemos claro lo que es el código SWIFT/BIC y cual es su funcionalidad, muchos usuarios no saben dónde pueden conocer cuál es su código swift. Bien, para ello hay varias opciones que nos ayudan a esclarecer esta importante cuestión, en primer lugar la entidad tiene el deber de ofrecer dicha información de manera gratuita a todos sus clientes, exponiendo la información pertinente capaz de explicar el concepto y la funcionalidad del mismo.

Por otro lado también es posible encontrar este dato en las páginas webs de las entidades bancarias, donde, por lo general, existe un apartado especial dedicado a detallar las diferentes características de los códigos y términos relativos a distintos productos y servicios bancarios.

Otra muy buena opción de conocer los códigos swift de las entidades bancarias que nos interesan es consultar los numerosos simuladores online de cálculo de números Swift que existen en la Red, una formula muy rápida y cómoda identificar el número Swift.

Diferencias entre el SWIFT de un banco y el número IBAN

Otras de las cuestiones que suelen salir a la luz cuando se habla del número Swift de un banco, está relacionado con las tremendas dudas que existen con el número IBAN. Muchas personas confunden y no son capaces de identificar un código de otro.

Una de las grandes diferencias entre el Código SWIFT y el código IBAN es que el primero de ellos identifica a una entidad financiera o banco, mientras que el IBAN es el principal identificador de una cuenta corriente de un cliente. Como ya hemos comentado en párrafos anteriores, el código SWIFT no da ningún tipo de información sobre productos o servicios bancarios de los clientes.

Analizando ambos códigos, otra de las diferencias que los separan con mucha distancia está relacionado con el marco de actuación. Así pues el código IBAN se emplea dentro del contexto y marco de la Unión Europea, mientras que el swift de un banco está diseñado para funciones de calado internacional.

Por último, ambos códigos también se diferencian por el número de dígitos que poseen: el código swift tiene entre 8 y 11 dígitos mientras que el código IBAN posee un total de 24 caracteres.

Las entidades financieras y bancos utilizan determinados códigos y dígitos para poder mejorar las transacciones y la seguridad entre unos bancos a otros. Esto permite facilitar el uso de los mismos y ayuda a los consumidores a ampliar de forma notable su visión financiera.

Al tratarse de elementos comunes para todo tipo de clientes, es muy conveniente tener conciencia de su concepto y funcionalidad, pues nunca está de más saber de la importancia de estos datos para poder desarrollar de forma correcta futuras transacciones.

Ante cualquier duda o falta de información, los bancos tienen la obligación y el deber de ofrecer la mayor transparencia y claridad para todo este tipo de cuestiones. Los usuarios también tiene la responsabilidad de cuidar este aspecto interesándose por los términos y conceptos bancarios, pues guste más o menos los bancos son entidades que necesitamos utilizar para la vida diaria. Llegados a este punto, ¿conoces tu numero swift?

Si quieres seguir ampliando tus conocimientos en el mundo de las finanzas y la economía no dejes de visitar el blog de Credy.mx.

En una encuesta realizada recientemente, uno de las cuestiones donde la sociedad poseía menos conocimiento estaba relacionado con temáticas económicas y financieras. Dentro de este contexto, los términos y características bancarias ocupaban un lugar muy representativo. De entre una decenas de preguntas, aquella que recibió menos respuestas era qué es el Swift y para qué sirve.

Este hecho llenó de sorpresa a la empresa encargada de dicha encuesta, pues una de las valoraciones y afirmaciones que resultaron de la misma, detectando un total desconocimiento de los principales términos y funcionalidades de diversos productos bancarios. A pesar de ello los usuarios siguen contratando productos bancarios, utilizando dichos término o conceptos sin ni siquiera darse cuenta.

Como hemos dicho anteriormente, el swift de un banco es un autentico desconocido para una buena parte de la población del país, a pesar de que cada cliente bancario posee un número swift. Veamos con más profundidad que es el swift bancario y porqué deberíamos saber un poco más sobre él.

¿Qué es el Swift?

El código Swift o número Swift representa las siglas del término inglés Society for World Interbank Financial Telecommunication, empresa que dirige y administrar la comunicación entre los distintos tipos de bancos de todo el mundo.

El Swift de un banco corresponde a una serie de dígitos que utilizan los bancos para sus clientes puedan realizar operaciones internacionales, podemos decir que es un protocolo para poder ampliar el marco de actuación de determinadas transacciones.

También es conocido como código BIC (Bank Identifier Code ), esta compuesto por una serie alfanumérica de 8 a 11 dígitos.

El número Swift nació para potenciar y aumentar la seguridad al realizar transacciones de tipo internacional, añadiendo importantes ventajas como la reducción de tiempo, o sufrir menos comisiones.

Los códigos swift de entidades bancarias

Anteriormente se ha comentado que el código Swift puede tener entre 8 y 11 dígitos, siendo los tres últimos no obligatorios u opcionales. A continuación vamos a descifrar el significado de cada número swift:

Código de la entidad. Se representa por los cuatro primeros números e identifica al banco.

Código del país. Los siguientes dos dígitos (el quinto y el sexto), sirven para identificar el país del banco.

Código de Localidad. Los siguientes números correspondientes al séptimo y octavo lugar, representan la localidad donde se sitúa la entidad bancaria.

Código de Oficina. Por último los últimos tres dígitos representarán a la oficina bancaria. Es necesario recordar que estos números son de carácter opcional, no existe ningún error si se carece de ellos.

El número Swift BIC, representa en todo momento a la entidad bancaria y no al cliente, ninguna información personal o económica se distingue en el código alfanumérico de este número bancario.

¿Donde se puede encontrar el número SWIFT?

Una vez que tenemos claro lo que es el código SWIFT/BIC y cual es su funcionalidad, muchos usuarios no saben dónde pueden conocer cuál es su código swift. Bien, para ello hay varias opciones que nos ayudan a esclarecer esta importante cuestión, en primer lugar la entidad tiene el deber de ofrecer dicha información de manera gratuita a todos sus clientes, exponiendo la información pertinente capaz de explicar el concepto y la funcionalidad del mismo.

Por otro lado también es posible encontrar este dato en las páginas webs de las entidades bancarias, donde, por lo general, existe un apartado especial dedicado a detallar las diferentes características de los códigos y términos relativos a distintos productos y servicios bancarios.

Otra muy buena opción de conocer los códigos swift de las entidades bancarias que nos interesan es consultar los numerosos simuladores online de cálculo de números Swift que existen en la Red, una formula muy rápida y cómoda identificar el número Swift.

Diferencias entre el SWIFT de un banco y el número IBAN

Otras de las cuestiones que suelen salir a la luz cuando se habla del número Swift de un banco, está relacionado con las tremendas dudas que existen con el número IBAN. Muchas personas confunden y no son capaces de identificar un código de otro.

Una de las grandes diferencias entre el Código SWIFT y el código IBAN es que el primero de ellos identifica a una entidad financiera o banco, mientras que el IBAN es el principal identificador de una cuenta corriente de un cliente. Como ya hemos comentado en párrafos anteriores, el código SWIFT no da ningún tipo de información sobre productos o servicios bancarios de los clientes.

Analizando ambos códigos, otra de las diferencias que los separan con mucha distancia está relacionado con el marco de actuación. Así pues el código IBAN se emplea dentro del contexto y marco de la Unión Europea, mientras que el swift de un banco está diseñado para funciones de calado internacional.

Por último, ambos códigos también se diferencian por el número de dígitos que poseen: el código swift tiene entre 8 y 11 dígitos mientras que el código IBAN posee un total de 24 caracteres.

Las entidades financieras y bancos utilizan determinados códigos y dígitos para poder mejorar las transacciones y la seguridad entre unos bancos a otros. Esto permite facilitar el uso de los mismos y ayuda a los consumidores a ampliar de forma notable su visión financiera.

Al tratarse de elementos comunes para todo tipo de clientes, es muy conveniente tener conciencia de su concepto y funcionalidad, pues nunca está de más saber de la importancia de estos datos para poder desarrollar de forma correcta futuras transacciones.

Ante cualquier duda o falta de información, los bancos tienen la obligación y el deber de ofrecer la mayor transparencia y claridad para todo este tipo de cuestiones. Los usuarios también tiene la responsabilidad de cuidar este aspecto interesándose por los términos y conceptos bancarios, pues guste más o menos los bancos son entidades que necesitamos utilizar para la vida diaria. Llegados a este punto, ¿conoces tu numero swift?

Si quieres seguir ampliando tus conocimientos en el mundo de las finanzas y la economía no dejes de visitar el blog de Credy.mx.

Qué es un presupuesto familiar y cómo puedes hacer uno

# data[].attributes.attachment_link.title
¿Qué es el Swift y para qué sirve? | Credy

# data[].attributes.attachment_link.description
En una encuesta realizada recientemente, uno de las cuestiones donde la sociedad poseía menos conocimiento estaba relacionado con temáticas económicas y financieras. Dentro de este contexto, los términos y características bancarias ocupaban un lugar muy representativo. De entre una decenas de preguntas, aquella que recibió menos respuestas era qué es el Swift y para qué sirve.

# data[].attributes.attachment_link.readable_text
Primero que nada, quiero aclarar que el motivo de este artículo no es convencerte de que Ruby es un lenguaje superior a cualquier otro, si no colocar algunas características que podrían interesarte del lenguaje para aprender. Actualmente estamos publicando un curso de Rails 4, y tenemos un curso de Ruby así que si el lenguaje te interesa, podrías seguir alguno de esos cursos.

Ruby es el lenguaje con el que trabajo todos los días, no me considero un experto, pero conozco algunas cosas que me pareció interesante compartir, si algún Ruby expert quiere corregir algo del código que aquí escribo, se lo agradecería :) Si desean agregar cosas, también estaría genial.

Ruby es un lenguaje que se caracteriza por preocuparse más por el desarrollador que por la máquina, esto se traduce en dos cosas:

La sintaxis es muy amigable y se lee casi como lenguaje natural.

El performance no es igual que en lenguajes de más bajo nivel.

Esto no quiere decir que Ruby sea un lenguaje de performance pobre, puesto que se utiliza en aplicaciones (sobre todo web) que manejan muchísimas peticiones por segundo (como Basecamp ). Pero sí hay una diferencia entre el tiempo de ejecución de Ruby y otros lenguajes como C++, JAVA y ni qué decir de C.

Ruby es muy popular en aplicaciones web porque existe Ruby on Rails un framework muy popular para hacer aplicaciones web que algún día utilizaron o siguen utilizando sitios como Twitter, Github, Airnbn, SoundCloud, etc. Rails es el framework web más popular en la comunidad Ruby, aunque también existen otros como Sinatra. En Ruby también puedes crear aplicaciones de escritorio, ya que es multi plataforma, además de que puedes escribir aplicaciones móviles para diferentes plataformas con RubyMotion.

Después de una pequeña introducción al lenguaje, hablemos con código sobre Ruby.

Todo es un objeto (casi)

Ruby es un lenguaje orientado a objetos, como JAVA, C++, Python, etc. Con la característica de que Ruby se toma muy en serio su papel sobre ser orientado a objetos. En Ruby, por ejemplo, no hay primitivos, como int, todo es un objeto, incluso los operadores como +, < son objetos.

¿Qué no es un objeto en Ruby? Los bloques, aunque pueden serlo (what!), los controles de flujo como if else while y algunos otros, tampoco son objetos, { y } tampoco son objetos.

¿Es esto interesante? Personalmente lo es, por ejemplo puedes ejecutar métodos sobre lo que en otros lenguajes serían primitivos, algo así como convertir un número a cadena:

En Ruby

numero = 1 numero.to_s

En JAVA(por ejemplo)

int numero = 1; Integer.toString(numero);

Puedes sobre escribir el lenguaje.

Esto es interesante, aunque en el mundo real productivo no sé qué tanto se utilice, pero aquí va. Imagina que por alguna extraña razón quieres sobre escribir el método que convierte enteros a cadenas, podrías hacer algo así:

class Fixnum def to_s self + 1 end end 1.to_s # Retorna 2 en lugar de "1"

Y así sobreescribiste un método de una clase del lenguaje para que funcione como tú quieras, en este caso en lugar de convertir a string el valor, le suma un 1 :P

Ojo, esto sólo aplica para la ejecución de tu programa ;) así que no debes temer arruinar tu intérprete

Los símbolos

Esta sección se agregó por recomendación de @IvanChukitow en Twitter, así que pasen a agradecerle por revisar el artículo!

En Ruby tenemos símbolos, se escriben así :nombre_simbolo y son, cadenas no mutables, es decir que las diferencias con un String son:

Empiezan con :

No pueden cambiar su valor, a diferencia de las cadenas, que sí pueden.

Los símbolos son una característica muy particular de Ruby y no sé si sean utilizados en otros lenguajes como tal. ¿Para qué sirven? En primer lugar se utilizan cuando estás declarando una cadena que no va a cambiar, en segundo lugar tienen un performance mucho mayor que un String normal por... veamos algo de código antes de explicar por qué:

:hola_mundo.object_id == :hola_mundo.object_id #True "hola mundo".object_id == "hola mundo".object_id # False

Analicemos el código que acabamos de escribir, en primer lugar no estamos comparando las cadenas como tal, por que en ese caso "hola mundo" == "hola_mundo" es verdadero. Estamos en cambio comparando el ID del objecto, un ID que Ruby utiliza para identificar el objeto en la memoria.

¿Por qué uno da verdadero y el otro falso? Porque cuando Ruby ve 2 símbolos iguales no crea otro objeto, si no referencía al ya creado, mientras que en cadenas, Ruby no sabe si 2 cadenas "dicen lo mismo" así que sigue creando en memoria más objetos por cadena que creamos.

Esto se traduce en mejor performance del lenguaje, básicamente ejecuciones con cadenas son más lentas que con símbolos. Algo muy cool y muy visto en código de Ruby :)

Los bloques <3

En Ruby el manejo de bloques de código es muy interesante, los métodos que escribes pueden recibir un bloque de código, y a partir de ahí hacer algunas cosas interesantes. Antes de pasar a esto de recibir bloques en un método, quisiera poner un ejemplo de un bloque:

5.times do |val| puts val end

El bloque en el ejemplo anterior empieza con do y termina con end, los bloques también pueden delimitarse con llaves { } aunque hacemos esto generalmente cuando el bloque es de una sola línea:

5.times { |val| puts val }

Una vez dicho esto, qué tiene todo esto de interesante, lo interesante es que los métodos de tus objetos pueden recibir bloques, tipo:

def cool_method yield end cool_method do puts "Hola mundo" end

Ejecutar el anterior script resultará en una impresión en pantalla "Hola mundo". Y lo que pasó es que cuando en Ruby se encuentra el keyword yield se ejecuta el bloque de código que se le envió al método, en este caso la impresión en pantalla de "Hola mundo". ¿Qué tal? Esto tiene N casos en los que te puede ser útil, infinidad.

Lo anterior fue sólo un ejemplo, pero hay muchísimas cosas interesantes más, puedes pasar parámetros al bloque, puedes validar si tu método recibió un bloque con block_given? y etc etc etc, recuerda que el artículo es para mencionar las características del lenguaje, para luego aprenderlas :)

Metaprogramming

Sé que muchos lenguajes tienen esta característica, Ruby es uno de ellos, y bueno, es algo muy interesante. Podemos definir la meta programación (en español) como la habilidad de un lenguaje de modificar un programa en tiempo de ejecución, por ejemplo, auto generando código. Una definición mucho más vaga es decir que con un lenguaje que soporta metaprogramming podemos escribir código que genere código. Por ejemplo:

[ "user" , "editor" , "admin" ].each_with_index do |user_level,index| define_method("is_#{user_level}?") do return true if user.permission_level == index end end

El snippet de código anterior define los métods is_user?, is_editor?, is_admin? sin que los escribamos cómo tal, el método define_method hace precisamente eso, definir un método, por eso decimos que es código que genera código.

Esta parte del lenguaje generalmente viene una vez que has aprendido muchas otras cosas de Ruby, y claro, para nada se limita al ejemplo que di anteriormente, eso sólo es una parte :)

Conclusión

Este es un artículo con 4 características interesantes de un lenguaje que fue diseñado para *Hacer felices a los programadores, en serio.

La última característica que quiero mencionar, es que lo mejor de Ruby es la comunidad, es una comunidad grande, dispuesta a ayudar en donde pensamos que Matz es bueno, nosotros también ("Matz is nice so we are nice") (Matz es el creador de Ruby). ¿Qué significa que la comunidad sea grande y buena? Que hay muchísimos proyectos Open Source muy buenos (como Rails), que hay muchísimos foros con soluciones a muchísimas dudas y que hay muchísimos recursos para aprender a usar Ruby.

Si te interesó el lenguaje te invito a seguir el curso de Ruby de Código Facilito o si no tienes problemas con el inglés, que sigas los ejercicios de RubyMonk donde puedes aprender desde lo más básico hasta meta programación, manejo avanzado de bloques y cosas así con ejercicios en el navegador :) También puedes probar Ruby en TryRuby donde aprendes lo básico del lenguaje en tu navegador.

En fin, pueden dejar sus sugerencias, dudas y aclaraciones en la sección de comentarios, espero que les haya gustado el post :D

# data[].attributes.attachment_link.description
Primero que nada, quiero aclarar que el motivo de este artículo no es convencerte de que Ruby es un lenguaje superior a cualquier otro, si no colocar algunas características que podrían interesarte del lenguaje para aprender. Actualmente estamos publicando un curso de Rails 4, y tenemos un curso de Ruby así que si el lenguaje te interesa, podrías seguir alguno de esos cursos.

# data[].attributes.attachment_link.description
Larry Wall comenzó a trabajar en Perl en 1987 mientras trabajaba como programador en Unisys​ y anunció la versión 1.0 en el grupo de noticias comp.sources.misc el 18 de diciembre de 1987. El lenguaje se expandió rápidamente en los siguientes años. Perl 2, publicado en 1988, aportó un mejor motor de expresiones regulares.

# data[].attributes.attachment_link.description
Un lenguaje de programación dinámico y de código abierto enfocado en la simplicidad y productividad. Su elegante sintaxis se siente natural al leerla y fácil al escribirla.

# data[].attributes.attachment_link.description
Hay muchos editores de texto y Entornos de Desarrollo Integrados (IDE por sus siglas en Inglés) que se pueden emplear para crear, editar, y gestionar ficheros de PHP. Se puede encontrar una lista parcial de estos en " Lista de editores de PHP.

# data[].attributes.attachment_link.readable_text
Perl: Es un Estructuralemente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de lenguaje de programación diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp, y en un grado inferior, de muchos otros lenguajes de programación.
script .

La estructura completa de Perl deriva ampliamente del lenguaje C. Perl es un Perl toma las de , , del y lenguaje imperativo , con , expresiones , asignaciones, bloques de código delimitados por , estructuras de control y.

Perl también toma características de la programación. Todas las variables son marcadas con un sigilo precedente (sigil). Los sigilos identitifican inequívocamente los nombres de las variables, permitiendo a Perl tener una buen sintaxis.
expresiones regulares del sed. Todo esto simplifica y facilita todas las formas del análisis sintáctico, manejo de texto y tareas de gestión de datos.

Fácil de usar

Se le considera como un lenguaje que no tiene fronteras

Se puede utilizar en varios entornos

Tiene variedad de características como estructural, funcional y orientado a objetos.

El diseño de Perl puede ser entendido como una respuesta a tres amplias tendencias de la industria informática: rebaja de los costes en el hardware, aumento de los costos laborales y las mejoras en la tecnología de compiladores. Este lenguaje es diseñado para hacer un uso eficiente de los costosos programadores de ordenador.

Perl tiene muchas características que facilitan la tarea del programador a costa de unos requerimientos de CPU y memoria mayores. Estas incluyen gestión de memoria automática; tipo de dato dinámico; strings, listas, hashes, etcétera.

Perl se enfoca en las siguientes áreas:

La administración de sistemas operativos, debido a que, por sus características Perl es muy potente en la creación de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar búsquedas, entre otras cosas.

Se ha usado desde los primeros dias del web para escribir guiones (scripts). Es una de las "tres pes" (Perl, Python y PHP), que son los lenguajes más populares para creación de aplicaciones web, y es un componente integral de la popular solución LAMP.

Perle es software libre y esta licenciado bajo la Licencia Artística y la GNU. Existen distribuciones disponibles para la mayoría de sistemas operativos. Está especialmente extendido en Unix y en sistemas similares, pero ha sido portado a las plataformas más modernas.

# data[].attributes.attachment_link.description
Perl: Es un Estructuralemente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de lenguaje de programación diseñado por Larry Wall en 1987.

# data[].attributes.attachment_link.readable_text
Python is a programming language that lets you work quickly and integrate systems more effectively. Learn More

Fundraiser deal on now: Get a discount on PyCharm + all proceeds go to the Python Software Foundation. Ending soon! GET THE DEAL

# data[].attributes.attachment_link.keywords[]
python programming language object oriented web free open source software license documentation download community

# data[].attributes.attachment_link.description
The official home of the Python Programming Language

# data[].attributes.attachment_link.description
El formato de archivo JAR es un formato de compresión usado principalmente para distribuir aplicaciones y bibliotecas Java. Esta basado en el formato ZIP y funciona de manera similar; muchos archivos comprimidos en un solo archivo, lo que ...

# data[].attributes.attachment_link.description
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers " write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.

# data[].attributes.attachment_link.title
Programación en C++/Lo más básico - Wikilibros

# data[].attributes.attachment_link.description
Los compiladores de C++ proporcionan bibliotecas de funciones, y cada biblioteca de funciones tiene asociada un archivo de definición que se denomina cabecera. Para utilizar algo de una biblioteca en un programa (por ejemplo, una función), hay que colocar al principio del programa una directiva de preprocesamiento seguida de la cabecera de la biblioteca entre signos de "menor que" y "mayor que" ( ).

# data[].attributes.attachment_link.title
Tutorial Java - 1. Introducción y Primer Programa "Hola Mundo"