viernes, 28 de diciembre de 2007

Dcumentación de C# implementada con Mono

Bueno en estos dias estabamos hablando de varias cosas respecto del Proyecto Mono, las clases que implementa y creo que la gran compatibilidad con el compilador de C# que es otro Lenguaje de programación que estamos viendo a la par.

En el sitio oficial del Proyecto Mono encontramos documentación y algunas especificaciones del C#, características y el modo de utilizar C# con Mono, como realizar aplicaciones muy básicas y pequeñas, como implementar la sintaxis y por sobretodas las cosas nos aporta ejemplos muy prácticos.

Esta documentación de C# esta completa, funcional y práctica, no así se esta terminando de completar los demas documentos y librerias para utilizarlas.

El enlace es el siguiente:

jueves, 27 de diciembre de 2007

Los mejores programas hechos en C++ según su Inventor

Bjarne Stroustrup es el inventor de C++, podeis consultar numerosas entrevistas que se le han hecho desde las cuales podremos sacar nuestras propias conclusiones del panorama actual en relación a la programación y entorno en el que nos movemos. Particularmente me quedo con esta pregunta y respuesta de una de las entrevistas:

¿Cuál ha sido el mejor y peor programa realizado en C++?

B.S: El mejor Google!, ¿puedes recordar el mundo antes de Google? (después de todo solo hace 6 años). Lo que me gusta de Google es su rendimiento bajo severas restricciones de recursos. Posee unos de los más sencillos e ingeniosos algoritmos de paralelización y computación distribuida.
Tambien hay sistemas-embebidos que me gustan como por ejemplo los análisis de escena y autonomía de movimiento de la Mars Rovers. Procesamiento de imágenes en Photoshop...

Articulo RetroNet

miércoles, 26 de diciembre de 2007

martes, 25 de diciembre de 2007

Nuestro primer proyecto en MonoDevelop


Desde hace un par de días que estamos mostrando las presataciones del proyecto MONO y su IDE de programación por excelencia MonoDevelop.

Lo instale en las máquinas que utilizo y realmente este fin de semana me dedique a tratar de aprender algunas cosas con respecto a MonoDevelop y C#, como para ver de que se trataba, si la herramienta integrada es sencilla de usa y esas cuestiones.

Bueno ahora les voy a dejar con un documento que encontré del sitio oficial de MonoDevelop en donde nos explica de manera detallada y con la ayuda de GTK#, como armar un GUI de manera muy rápida y sencilla.

lunes, 24 de diciembre de 2007

Otro ejemplo en C#

Estaba navegando y me encontré este video que muestra de manera muy simple nuevamente el clásico ejemplo de Hola mundo! en C#, pero con la particularidad que en primer lugar utiliza en plataformas Windows y segundo que utiliza formularios para realizarlo.


domingo, 23 de diciembre de 2007

Hola mundo en C#

Ahora les voy a mostrar un pequeño ejemplo de una aplicación en C#, en primer lugar lo que debemos hacer es crear un archivo para este codigo, por ejemplo holamundo.cs con cualquier editor de texto que utilicemos. Luego colocar el siguiente codigo:

using System;

namespace HolaMundo
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Hola mundo");
      }
   }
}


Por último una ves guardado esto, debemos compilarlo para ello utilizaremos el compilador de C# llamado mcs (Mono Compiler Suit), lo que nos dará como resultado un archivo holamundo.exe la cual solo nos quedará ejecutar dicho archivo con ./holamundo.exe

sábado, 22 de diciembre de 2007

C#, La evolución de C++

C# (pronunciado "si sharp") es un Lenguaje de Pprogramación Orientado a Objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control de lenguajes de bajo nivel como C y la velocidad de programación de lenguajes de alto nivel como Visual Basic.

C# significa, "do sostenido" (C corresponde a do en la terminología musical anglo-sajona). El símbolo # viene de sobreponer "++" sobre "++" y eliminar las separaciones, indicando así su descendencia de C++.

Aunque C# forma parte de la plataforma.NET, ésta es una interfaz de programación de aplicaciones; mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma. Aunque aún no existen, es posible implementar compiladores que no generen programas para dicha plataforma, sino para una plataforma diferente como Win32 o UNIX.

lunes, 17 de diciembre de 2007

Algunas Frases de Miguel de Icaza

Navegando por internet, encontre este video de Miguel de Icaza hablando de varios temas como ser el Proyecto MONO, cuestiones de Licencia y otros temas mas, con el humor característico de el...


sábado, 15 de diciembre de 2007

Programación Básica en Gambas

Bueno gracias a Jonyx, administrador de El blog de Furikao, posteo algo interesante que los queria compartir he invitar a acompañarnos.

Invitando, siempre de buena manera, a las personas a que experimenten las herramientas de programación les dejo un enlace a una página del tipo interesante.

En ella van a ver ejemplos de códigos sencillos, empezando con los diagramas de flujo y con ejemplos prácticos.
Y aunque paresca una tontera, ejemplos como los algoritmos de busqueda son muy utilizados, incluso en sistemas grandes con manejo de datos muy complejos. La correcta implementación y en el momento adecuado de alguno de estos algoritmos puede ahorrar muchos dolores de cabeza (lo digo por experiencia).
La página está en español, y toma como referencia el IDE/Lenguaje Gambas, que anteriormente se estuvo comentando en este blog. He aqui el enlace:

Gambas Dev

Espero les resulte interesante. Hasta pronto, que estén bien.

Video de Mono

Si por ahí no entendiste el concepto completo del Proyecto Mono, por que no dejamos que el propio creador y director de este proyecto nos los explique... Con nosotros Miguel de Icaza


Proyecto MONO - Enlaces interesantes

Quizás en este camino de aprender un poco el concepto de este proyecto que arranco ya hace algunos años y la cual ha logrado una gran aceptación en el mercado, seguramente necesitas la ayuda de internet para conocer he interiorizarte mas en el tema.

Así que ahora les voy a pasar estos enlaces que particularmente a mi me fueron muy útiles:

Para comenzar como siempre la Wikipedia presente.

Otro sitio también interesante es el Sitio Oficial del Proyecto.

para finalizar y como ya mostramos, tenemos MonoDevelop el IDE para desarrollas las aplicaciones asi que les presente también su Sitio Oficial.

Comenzando a probar estas herramientas les comento que tuve la suerte y el tiempo de hacer algunas cositas en C#, para la gente que no conoce ya vamos a estar posteando algo al respecto, realmente un lenguaje comprometedor.

miércoles, 12 de diciembre de 2007

MonoDevelop


MonoDevelop es un Entorno Integrado de Desarrollo (IDE) libre y gratuito, diseñado primordialmente para C# y otros lenguajes .NET como Nemerle, Boo, y Java (via IKVM.NET). MonoDevelop originalmente fue una adaptación de SharpDevelop para Gtk#, pero desde entonces se ha desarrollado para las necesidades de los desarrolladores de Mono. El IDE incluye manejo de clases, ayuda incorporada, completación de código, Stetic (diseñador de GUI), soporte para proyectos, y un depurador integrado.

Aunque MonoDevelop solo puede ejecutarse en Mac y distintas distribuciones de Linux, no es posible hasta el momento ejecutarlo sobre Windows. Sin embargo, un IDE llamado SharpDevelop facilita la compilación y depuracion (desde su version 2.0) de aplicaciones Mono sobre ambiente Windows.

MonoDevelop es el complemento ideal y le herramienta que estaba necesitando GNU/Linux en programación tanto visual como asi tambien en modo texto. Si estas interesado en insertarte en el mundo del .NET y manejas sistemas GNU/Linux, te recomiendo que nos sigas acompañando ya que vamos a mostrar muchas herramientas mas.

viernes, 7 de diciembre de 2007

Componentes de Proyecto MONO

Rápidamente y de manera resumida, veamos algunos componentes que incorpora el Proyecto MONO dentro de sus entornos de programación.

Librerías de clase

Proveen un conjunto de facilidades que ayudan al desarrollo de aplicaciones. Son escritas primeramente en C#, pero gracias al lenguaje común de especificación (CLS), las mismas pueden ser invocadas en cualquier otro lenguaje de .NET. Cuando hablamos del framework de .NET, nos estamos refiriendo primer lugar a las librerías de clase.

Espacios de nombres (Namespaces) y ensamblados (Assemblies)

Los espacios de nombre son un mecanismo que permite agrupar lógicamente clases similares en una estructura jerárquica, evitando así conflictos de nombres. La estructura se implementa utilizando palabras separadas por puntos. Por ejemplo, System.IO o System.Net.
Los ensamblados son el paquete físico de las librerías de clase. Son archivos con extensión .dll, como las librerías de Windows. Ejemplos de librerías son mscorlib.dll, System.dll, System.Data.dll.

Lenguaje Común de Infraestructura (CLR)

El lenguaje común de infraestructura o más comúnmente llamado Common Language Runtime (CLR) es implementado por el ejecutable de Mono.
Este lenguaje común de infraestructura está definido en los estándares ECMA y ECMA-335. Para ejecutar una aplicación se deberá invocar el runtime con los parámetros adecuados.

Lenguaje Común de Especificación (CLS)

Se encuentra especificado en el estándar ECMA-335 y define la interfase con el CLR. Por ejemplo, convenciones sobre el tipo de datos que se utilizará para implementar los enumerados. El compilador Mono genera una imagen que cumple con el CLS, esta imagen está codificada en el denominado Common Intermediate Language (CIL) o Lenguaje Intermedio Común. El runtime de Mono toma dicha imagen y la ejecuta.

Muchas veces comprender estas características es un poco complicada por el hecho que son conceptos muy abstractos. Pero en la prácticas vamos a poder ver la aplicación con más detalle y terminar de entender todas estas cuestiones.

Proyecto MONO

Mono es el nombre de un proyecto de código abierto iniciado por Ximian y actualmente impulsado por Novell (tras su adquisición de Ximian para crear un grupo de herramientas libres, basadas en GNU/Linux y compatibles con .NET según lo especificado por el ECMA. Este proyecto es liderado nuevamente por el famoso y conocido Miguel de Icazas, demostrando nuevamente el compromiso con el desarrollo de herramientas libres en el universon GNU/Linux.

Mono posee importantes componentes útiles para desarrollar software:

  • Una Máquina Virtual de lenguaje común de infraestructura (CLI) que contiene un cargador de clases, un compilador en tiempo de ejecución (JIT), y unas rutinas de recolección de memoria.
  • Una Biblioteca de Clases que puede funcionar en cualquier lenguaje que funcione en el CLR (Common Language Runtime).
  • Un Compilador para el lenguaje C#, MonoBasic (la versión para mono de Visual Basic), Java y Python.
  • El CLR y el Sistema de tipos común (CTS) permite que la aplicación y las bibliotecas sean escritas en una amplia variedad de lenguajes diferentes que compilen para byte code. Esto significa por ejemplo, que si defines una clase que haga una manipulación algebraica en C#, esa clase puede ser reutilizada en cualquier lenguaje que soporte el "CLI". Puede crear una clase en C#, una subclase en C++ e instanciar esa clase en un programa en Eiffel.
  • Un sistema de objetos único, sistema de hilos, bibliotecas de clases y sistema recolector de memoria pueden ser compartidos por todos estos lenguajes.
  • Es un proyecto independiente de la plataforma. Actualmente Mono corre sobre Linux, FreeBSD, UNIX, Mac OS X, Solaris y plataformas Windows.

jueves, 6 de diciembre de 2007

Android - Un video de muestra.



Google presenta un vídeo (ingles) donde muestra un poco de las aplicaciones de su plataforma para celulares, Android. Según Sergey Bin, fundador de Google, el celular y aplicaciones que se muestran en el vídeo no van a ser así como se las ve, en otras palabras, aun no están terminadas y faltan mejorarlas. Google esta dando como premio 10 millones de dolares a quien desarrolle la mejor aplicación para Android, ese concurso va a ayudar para que programadores creen miles de aplicaciones unas más buenas que otras pero aplicaciones en fin.

miércoles, 5 de diciembre de 2007

Android - Enlaces Interesantes

Después de la rápida aparición de Android, liberado por la mega compañía Google, la repercusión en todos los sites, blogs y portales realmente fue muy importante.

Como era de esperar la comunidad de Wikipedia nunca se va a quedar atrás y creo su espacio para Android.

Google se tomó el trabajo de presentar el Sitio Oficial de Android para desarrolladores, con Ejemplos y tutoriales.

Como no podía ser de otra manera los Grupos de Usuarios o de Programadores están siempre presentes, en este caso ANDROID-SPA.

Y por último quería presentarles este enlace de Picando Código en donde hay un completo informe acerca del SDK de Android.

domingo, 2 de diciembre de 2007

Android - La nueva plataforma de desarrollo para Móviles

Android es un stack de software para dispositivos móviles que incluye un Sistema Operativo, middleware y aplicaciones clave. Google está otorgando un vistazo al SDK de Android, que provee de herramientas y APIs necesarios para comenzar a desarrollar aplicaciones en la plataforma Android, utilizando el lenguaje de programación Java.

Esta nueva plataforma de desarrollo fue lanzada y liberada a fines de Octubre de este año por la empresa de Google, tratando de imponer un nuevo framework para los desarrolladores. Dicho lanzamiento realmente fue tomado con gran motivación y de gran repercución.

Python - SQLite

Recientemente publiqué en SQLite-Latino, un sencillo ejemplo para integrar SQLite en Python y en esta oportunidad quería también presentárselos a ustedes y ojala les guste, les aclaro que en esta oportunidad es solo para ver la conexión de las Bases de Datos, algo muy simple que poco a poco integraremos más complejidad.

Bueno para poder llevar a cabo la integración necesitamos que en Python tengamos instalado unas librerías que nos va a servir como interface para conectar las Bases de Datos SQLite. Para ello hacemos lo siguiente:

$ sudo apt-get install python-pysqlite2

Con esto ya contamos con estas librerías y podemos realizar la conexión fácilmente.
Para continuar y realizar nuestro primer ejemplo sencillo de esta integración, les recomendamos que vean las Review I y Review II de SQLite y creen una Base de Datos con aunquesea una tabla, a modo de ejemplo.

Vamos a suponer dos cosas: Que la Base de datos o el archivo lo llamamos "prueba.db" y que como les decia a modo de prueba creamos una tabla llamada "personal".

Ahora bien creamos un archivo en python con nuestro editor preferido y lo llamamos "prueba01.py"

# Importa librerias de SQLite
from pysqlite2 import dbapi2 as sqlite

# Realiza la coneccion con la db colocando el Path
# donde se encuentra el archivo de la Base de datos
coneccion = sqlite.connect('prueba.db')

# Crea un objeto cursor para trabajar
cursor = coneccion.cursor()

# Ejecuta la consulta SELECT, tal y como lo haríamos en SQL
cursor.execute('SELECT apellido, nombre FROM personal order by id')

# Muestra todos los datos de la consulta
for (apellido, nombre) in cursor:
print 'Apeliido y Nombre: %s, %s.' % (apellido, nombre)

Entradas populares