domingo, 23 de septiembre de 2012

¿Qué podemos hacer para que la tecnología contribuya a la paz?




En esta nueva entrada del blog me enfocaré en un tema algo diferente a lo que se ha hablado anteriormente. Ya no somo me enfocaré en el aspecto tecnológico en sí, sino mas bien en la contribución de éste para la paz, ya sea entre dos personas, entre variso grupos, o entre todo el mundo.

Y bueno pues, esto se debe a que justamente se celebró el Día Internacional de la Paz este 21 de septiembre, recordando al mundo que hay que fortalecer los ideales para que cada nación, cada pueblo, y cada comunidad en el mundo viva en perfecta armonía.

Pero, para llegar a esta paz que tanto se anhela, hay que buscar formas, ya sea hasta la más pequeña, que contribuyan en la búsqueda de la paz. Ahora que estamos en una sociedad totalmente rodeada de tecnología, pasa por la mente de algunos tratar de usarla a favor de la paz. Ya para que tanto desarrollo en armas, si se puede desarrollar a favor de la paz.

Una de esas propuestas de tecnología para la paz es la búsqueda de formas en que se exploten recursos renovables y que no se hayan usado con anterioridad. Por ejemplo, en los últimos años varias compañías han empezado a investigar para la obtención de energía a partir de la basura casera. Imaginar que con tantos tarros, fundas y demás cosas que se desechan diariamente se puede obtener energía para mantener el hogar, es algo maravilloso. De esta manera, las zonas que están afectadas económicamente tendrían mayor acceso a una mejor vida, lo que reduciría la necesidad de pelearse por tantos recursos, como el petróleo de otros países, lo que ha causado muchas guerras innecesarias.

Es así como ya muchos han empezado a dar sus propuestas en el campo científico para desarrollar tecnología que, a la larga, beneficiarán la paz y la armonía en este mundo que esta sufriendo de mucho mal hoy en día. Sólo esperen, que algún día esta tecnología llegará, y todos viviremos en paz.

domingo, 2 de septiembre de 2012

Java y C#: Comparando dos lenguajes de programación.






En esta nueva entrada para el blog, se va a discutir no acerca de lenguajes de programación a manera general, sino que más bien me concentraré en dos de ellos específicamente: Java y C#.

Estos dos lenguajes de programación son muy populares en el área computacional hoy en día, llegando a encontrarse muchos tutoriales y guías en toda la Internet para poder aprender estos dos maravillosos lenguajes.

Pero bueno, hay que centrarse en el punto inicial de esta entrada, el cual es comparar estos lenguajes y encontrar tanto sus similitudes como diferencias, para poder dar un comentario general acerca de ambos.

Lo que sería sorpresa para algunos que aún no se han incursionado en el maravilloso mundo de la programación, o tal vez no tanta para los que ya tienen experiencia en éste ámbito, es que estos dos lenguajes de programación son muy similares entre sí, incluso mucho más de lo que C++ y Java llegan a tener.

Y bueno, podría salir la duda de que, ¿Por qué Java y C# llegan a ser más similares de lo que Java y C++ son? La respuesta es que C# es un lenguaje puramente orientado a objetos, al igual que Java. En cambio, C++ fue creado como una extensión del famoso C pero con habilidades de un lenguaje orientado a objetos. En otras palabras, C# es totalmente orientado a objetos, mientras que C++ es un híbrido.


Regresando a las similitudes entre Java y C#, se puede decir que ambos lenguajes muestran características de nueva generación. Por ejemplo, ambos tienen la característica de recolección de código basura, entre otras características avanzadas, que hacen más fácil el tema de la programación. Inclusive su sintaxis tiene gran similitud, puesto que ambos son lenguajes relativamente recientes. Finalmente, otra de sus similitudes es que en ambos lenguajes se realiza una compilación del código a un lenguaje intermedio, claro que, diferente para cada uno.

Ahora toca el turno de las diferencias, las cuales no llegan a ser tan grandes o diferentes. Primero que todo, C# es aún más orientado a objetos de lo que es Java, puesto que incluso los tipos básicos, como int, float, char, etc., son considerados objetos. Otra diferencia, como se empezó a mencionar anteriormente, es el lenguaje intermedio en que ambos compilan el código: Java a bytecode y C# a MSIL. De ahí se llegan a encontrar otras pequeñas diferencias, como la sobrecarga de operadores, espacio de nombres, clases anidadas, destructores, entre otros.

Así que, como ya hemos visto, estos lenguajes llegan a tener muchas similitudes y alguna que otra diferencia, mayormente dadas por el origen diferente de ambos lenguajes, pero son buenos lenguajes con los cuales se podría iniciar en el mundo de la programación y aumentar el conocimiento en esta área.

Fuentes

domingo, 13 de mayo de 2012

Lenguajes de Programación: Conociendo el tema


Lenguajes De Programación

Introducción



Así como nosotros los humanos tenemos varios idiomas para comunicarnos, ya sea español, ingles, francés, italiano, mandarín, etc. La computadora también tiene una variedad de "idiomas artificiales" para transmitir las instrucciones que se necesiten, éstos son llamados Lenguajes De Programación.

Mediante los lenguajes de programación se puede comunicar los datos que debe procesar una computadora, la forma en que estos serán almacenados y/o transmitidos, y que acciones se les debe tomar bajo ciertas circunstancias.

Toda computadora se comunica a través de algo denominado Lenguaje Máquina, es decir, los datos tal y como llegan al procesador, en una serie de 1 y 0, denominados datos binarios.

Pero, este lenguaje máquina no es comprensible para los humanos, naciendo la necesidad de un lenguaje intermediario, como ya se mencionó, un lenguaje de programación, para que el humano pueda transmitir sus instrucciones a la computadora. El código realizado mediante este lenguaje se transforma al final en lenguaje máquina para que el computador pueda procesarlo.

Así mismo, cada procesador tiene su propio tipo de lenguaje máquina, por lo que si se escribiera el código de un programa para cierto procesador, se necesitaría reescribir totalmente el código del programa al cambiar de equipo. La portabilidad, es decir, la capacidad de usar un programa en diferentes tipos de equipos, es posible mediante los lenguajes de programación.

Por lo tanto, el uso de lenguajes de programación trae sus ventajas:

  • Mayor comprensión que el lenguaje máquina.
  • Instrucciones dadas de manera similar a las del lenguaje humano.
  • Mayor portabilidad y adaptación al momento de escribir el código de los programas.

Variedad de Lenguajes de Programación

A continuación, encontrará una breve lista de los lenguajes de programación actuales:
LenguajePrincipal área de aplicaciónCompilado/interpretado
ADATiempo realLenguaje compilado
BASICProgramación para fines educativosLenguaje interpretado
CProgramación de sistemaLenguaje compilado
C++Programación de sistema orientado a objetoLenguaje compilado
CobolAdministraciónLenguaje compilado
FortranCálculoLenguaje compilado
JavaProgramación orientada a objetosLenguaje intermediario
MATLABCálculos matemáticosLenguaje interpretado
Cálculos matemáticosCálculos matemáticosLenguaje interpretado
LISPInteligencia artificialLenguaje intermediario
PascalEducaciónLenguaje compilado
PHPDesarrollo de sitios web dinámicosLenguaje interpretado
Inteligencia artificialInteligencia artificialLenguaje interpretado
PerlProcesamiento de cadenas de caracteresLenguaje interpretado

Hablando de uno de ellos: C++



C++ es un lenguaje de programación de alto nivel diseñado por el científico computacional Bjarne Stroustrup a mediados de 1980. Su intención era crear un sucesor para el exitoso lenguaje de programación C, pero que incluya mecanismos para la manipulación de objetos. Es decir, su objetivo era crear un híbrido entre programación estructurada y programación orientada a objetos, lo que lo convertiría futuramente en un lenguaje multiparadigmático, pues se le sumaria la programación genérica.

Actualmente existe un estandar denominado ISO C++, al que se han adherido la mayoría de fabricantes modernos de compiladores, agregando un gran toque de portabilidad a este lenguaje.

Es uno de los lenguajes de programación mas usados en el mundo en la actualidad; ya sea por su variedad de paradigmas o por su portabilidad, se ha logrado mantener, junto con sus variantes, en los más altos puestos.