February 27th, 2008 — javascript
Javascript es un lenguaje de scripts multiplataforma creado por Netscape actualmente en su versión 1.5, totalmente compatible con ECMA-262, Edición 3. Contrariamente a lo que nos podría hacer suponer su nombre, no tiene nada que ver con Java, o al menos tiene tanto que ver como lo tiene por ejemplo con C++, ya que la sintaxis de los tres es parecida y tienen en común cosas como los bucles o estructuras de control. De hecho en principio el nuevo lenguaje se bautizó como Livescript pero se cambió su nombre a Javascript más tarde por cuestiones de marketing.
Javascript permite tanto programación imperativa como funcional, ya que incluye características de los lenguajes funcionales como las funciones de orden superior (high order programming, el uso de funciones como si de otro valor se tratara, posibilitando el pasar funciones como argumento a otras funciones o devolver funciones como valor de retorno) o las funciones lambda (funciones anónimas), por lo tanto está tan próximo a Java como lo está de leguajes funcionales como Lisp o Scheme. Así mismo permite tanto programación procedural como orientada a objetos, aunque no incluye características de lenguajes mas puros en su orientación a objetos como Java o Smalltalk como pueden ser las clases o la herencia.
February 25th, 2008 — php
<html>
<head>
<title>Ejemplo PHP</title>
</head>
<body>
<?php echo "Hola, este es un ejemplo con PHP"; ?>
</body>
</html>
PHP hello world
February 25th, 2008 — php
PHP es un lenguaje creado por una gran comunidad de personas. El sistema fue desarrollado originalmente en el año 1994 por Rasmus Lerdorf como un CGI escrito en C que permitía la interpretación de un número limitado de comandos. El sistema fue denominado Personal Home Page Tools y adquirió relativo éxito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias páginas. Dada la aceptación del primer PHP y de manera adicional, su creador diseñó un sistema para procesar formularios al que le atribuyó el nombre de FI (Form Interpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI.
La siguiente gran contribución al lenguaje se realizó a mediados del 97 cuando se volvió a programar el analizador sintáctico, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet y el soporte a la gran mayoría de las bases de datos comerciales. Todas estas mejoras sentaron las bases de PHP versión 3. Actualmente PHP se encuentra en su versión 4, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades actuales y solucionar algunos inconvenientes de la anterior versión. Algunas mejoras de esta nueva versión son su rapidez -gracias a que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el código-, su mayor independencia del servidor web -creando versiones de PHP nativas para más plataformas- y un API más elaborado y con más funciones.
El lenguaje PHP es un lenguaje de programación de estilo clásico, es decir, es un lenguaje de programación con variables, sentencias condicionales, ciclos (bucles), funciones. No es un lenguaje de marcado como podría ser HTML, XML o WML. Está más cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.
Pero a diferencia por ejemplo de de JavaScript que se ejecuta en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una pagina WML.
Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del browser, pero sin embargo para que las páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP.

February 21st, 2008 — java
Historia de Java
Java no fue creado originalmente para el Web. SUN Microsystems lo desarrollo con el objetivo de crear un lenguaje independiente de plataforma y del sistema operativo para el desarrollo de electrónica de consumo (televisores, videos, equipo de audio, etc.).
El proyecto original, denominado green, comenzó apoyándose en C++, pero a medido que progresaba en su desarrollo, el equipo creador fue encontrándose con dificultades, decidieron desarrollar su propio lenguaje y en agosto de 1991 nació un nuevo lenguaje orientado a objetos, este lenguaje fue bautizado con el nombre de OAK.
A mediados de 1993 se lanzó Mosaic, el primer navegador para la Web y comenzó a crecer el interés por Internet. Entonces, se rediseñó el lenguaje para desarrollar aplicaciones para Internet y en enero de 1995 OAK se convirtió en Java.
A fines del siglo XX, Java llegó a ser el lenguaje de mayor acogida para programas de servidor. Utilizando una tecnología llamada JSP (similar a ASP de Microsoft), se hizó muy fácil escribir páginas dinámicas para sitios de Internet. Sumado a ésto, la tecnología de JavaBeans, al incorporarse con JSP, permitía utilizar el patrón MVC (modelo-vista-controlador) que ya tanto se había aplicado a interfaces gráficas.
Java llegó a ser extremadamente popular cuando Sun Microsystems introdujo la plataforma y el modelo de programación J2EE (Java 2 Enterprise Edition). Este modelo permite una separación entre la presentación de los datos al usuario (JSP o Applets), el modelo de datos (EJB), y el control (Servlets). Enterprise Java Beans (EJB) que es una tecnología de objetos distribuídos que pudo lograr el sueño de muchas empresas como Microsoft e IBM de crear una plataforma de objetos distribuídos con un monitor de transacciones. Con este nuevo estándar, empresas como BEA, IBM, Sun Microsystems, Oracle y otros crearon nuevos “servidores de aplicaciones” que tuvieron gran acogida en el mercado.
Además de programas del servidor, Java permite escribir programas de interfaz gráfica o textual. Además se pueden correr programas de manera incorporada o incrustada en los navegadores web de Internet, aunque ésto nunca llegó a popularizarse como se esperaba en un principio.
Los programas en Java generalmente son compilados a un lenguaje intermedio o bytecode, y luego interpretados por una máquina virtual (JVM). Esta última sirve como una plataforma de abstracción entre la máquina y el lenguaje permitiendo que se pueda “escribir el programa una vez, y correrlo en cualquier lado”. También existen compiladores nativos de Java, tanto propietario como libre. El compilador GCC de GNU compila Java a código de máquina.
Con la evolución de las diferentes versiones, no sólo se han producido cambios en el lenguaje, sino que se han producido cambios mucho más importantes en sus bibliotecas asociadas, que han pasado de unos pocos cientos en Java 1.0 a más de tres mil en Java 5.0. En particular, se han añadido APIs completamente nuevas, tales como Swing y Java2D.
Para poder ejecutar una aplicación java se requiere la máquina virtual de java (JVM) y para desarrollar aplicaciones java se requiere el kit de desarrollo de java (JDK).
El JDK se puede descargar de la página oficial de java.
February 20th, 2008 — logica computacional
Es una herramienta de programación en donde las instrucciones se escriben en palabras similares al un idioma humano, que facilitan tanto la lectura como la escritura de programas, pero en esencia el seudo código se puede definir como un lenguaje de especificaciones de algoritmos.
Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software.
No hay ningún compilador o intérprete de pseudocódigo informático (en el caso de que lo hubiera serían los lectores de dicho pseudocódigo informático, por ej. una idea de un jefe de programación al su personal), y por tanto no puede ser ejecutado en un ordenador, pero las similitudes con la mayoría de los lenguajes informáticos lo hacen fácilmente convertible.
El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema.
No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar.
via: wikipedia
February 18th, 2008 — C#, C++, java, logica computacional, php

Análisis del Problema
Es la primera fase de la resolución de un problema por computadora. Esta fase requiere una clara definición donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada.
Para poder definir bien un problema es conveniente responder a las siguientes preguntas:
- ¿Qué entradas se requieren?
- ¿Qué salidas se requieren?
- ¿Qué método produce la salida deseada?
Ejemplo:
- Problema: Área de un Cuadrado
- Entrada: Lado > Num
- Salida: Área > Num
- Método: Lado2 > Num
Diseño del Algoritmo
En la etapa de diseño se determina como hace el programa la tarea determinada. Los métodos más eficaces para el proceso de diseño se basan en el conocido “divide y vencerás”. Es decir, la resolución de un problema complejo se realiza dividiendo el problema en subproblemas, a continuación, dividir estos subproblemas en otros de nivel más bajo, hasta que pueda ser implementada una solución por computadora.
Cada subprograma es resuelto mediante un módulo, que tiene un solo punto de entrada y uno de salida; a esto se le llama diseño modular.
Solución por programación
Suele ser la parte más fácil de todo el proceso, aquí es necesario manejar un lenguaje de programación y convertir nuestra respuesta diseñada en código ejecutable por la computadora. Existen muchos lenguajes que nos servirían para implementar el programa entre los más usados están el C#, el PHP, el C++ y el Java.
Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito eléctrico o un aparato mecánico.
February 13th, 2008 — logica computacional
Teclado
Conjunto Ordenado de teclas, es un mecanismo únicamente de entrada que se comunica a la PC por medio de un conector, tradicionalmente es por el puerto universal USB, auqnue tambien se utiliza el PS/2 y anteriormente el DIN. El teclado opera con una examinación de codificaciones, que se generan cada tiempo que una tecla se apretó y soltó y las convierte a valores ASCII, que traduce según la codificación del sistema.
Monitor
El monitor o pantalla es el dispositivo en el que se muestran las imágenes generadas por el adaptador de video del ordenador o computadora. El término monitor se refiere normalmente a la pantalla de video y su carcasa. El monitor se conecta al adaptador de video mediante un cable.
Ratón o Mouse
El Mouse es un dispositivo señalador (apuntador) muy común, popularizado gracias a estar incluido en el equipamiento estándar de cualquier computadora. Fue desarrollado por Xerox en el parque de investigación de Palo Alto (EEUU). La aparición de éste dispositivo y de la interfaz gráfica de usuario, que une un puntero en la pantalla de la computadora al movimiento del ratón, ha abierto el potente mundo de las computadoras a una población anteriormente excluida de él a causa de la oscuridad de los lenguajes de computadora y de la interfaz de línea de comandos.
Existen muchas variaciones en su diseño, con formas distintas y distinto número de botones, pero todos funcionan de un modo similar. Cuando el usuario lo mueve, el movimiento se convierte en señales eléctricas.
Memoria
Los circuitos que permiten almacenar y recuperar la información. En un sentido más amplio, puede referirse también a sistemas externos de almacenamiento, como las unidades de disco. Por lo general se refiere sólo al semiconductor rápido de almacenaje conectado directamente al procesador.
- Memoria de acceso aleatorio o RAM: memoria basada en semiconductores que puede ser leída y escrita por el microprocesador u otros dispositivos de hardware. Es un acrónimo del inglés Random Access Memory. El acceso a las posiciones de almacenamiento se puede realizar en cualquier orden.
- Memoria de sólo lectura o ROM: memoria basada en semiconductores que contiene instrucciones o datos que se pueden leer pero no modificar. Las memorias ROM suelen contener el software necesario para el funcionamiento del sistema. Para crear un chip ROM, el diseñador facilita a un fabricante de semiconductores la información o las instrucciones que se van a almacenar. El fabricante produce entonces uno o más chips que contienen esas instrucciones o datos. Como crear chips ROM implica un proceso de fabricación, esta es viable económicamente sólo si se producen grandes cantidades de chips. Los diseños experimentales o los pequeños volúmenes son más asequibles usando PROM o EPROM.
Unidad de Proceso
Conocida por sus siglas en inglés, CPU. El CPU se ocupa del control y el proceso de datos en las computadoras. Generalmente, la CPU es un microprocesador fabricado en un chip, un único trozo de silicio que contiene millones de componentes electrónicos. El microprocesador de la CPU está formado por una unidad aritmético-lógica que realiza cálculos y comparaciones, y otra de decisiones lógicas (determina si una afirmación es cierta o falsa mediante las reglas del álgebra de Boole); por una serie de registros donde se almacena información temporalmente, y por una unidad de control que interpreta y ejecuta las instrucciones.
February 10th, 2008 — novedades
Jesús de 512 Megas ha escrito un excelente post sobre los editores de código que utiliza, les recomiendo ampliamente leerlo.
February 10th, 2008 — javascript
Muchas veces hemos visto como en blogs al escribir nuestro comentario se va creando una vista previa de como va quedando.
Veamos como generar esta vista previa del contenido de una TextArea con JavaScript:
<html>
<head>
<title>Prueba de vista previa</title>
<script type="text/javascript">
<!--
function hacerVistaPrevia()
{
document.getElementById('vistaPrevia').innerHTML = document.getElementById('txtComentario').value.split(/\n/).join("<br />");
}
-->
</script>
</head>
<body>
<form name="form1" method="post" action="">
<textarea id="txtComentario" name="txtComentario" rows="7" cols="40" onkeyup="hacerVistaPrevia()"></textarea>
</form>
<div id="vistaPrevia"></div>
</body>
</html>
February 9th, 2008 — logica computacional
Una computadora es un dispositivo capaz de efectuar cálculos y tomar decisiones lógicas a velocidades de millones y hasta miles de millones de veces más rápidas que un ser humano. Por ejemplo, muchas de las computadoras personales actuales pueden llevar a cabo cien millones de sumas por segundo. Una persona con una calculadora de escritorio podría tardar décadas antes de terminar la misma cantidad de cálculos que una computadora personal poderosa puede hacer en un segundo.
Las computadoras procesan datos que son controlados por un conjunto de instrucciones llamados programas de cómputo. Dichos programas guían a la computadora a través de conjuntos ordenados de acciones específicas dadas por personas llamadas programadores de computadora.
Los distintos dispositivos (teclado, pantalla, ratón, discos, memoria, CD-ROM y unidades de procesamiento) que forman el sistema de cómputo se conocen como hardware. Los programas que se ejecutan en la computadora se llaman software.