jueves, 18 de junio de 2009

Bienvenidos al mataburros de progra

Alfabeto: conjunto de caracteres definidos para formar hileras

Sintaxis: Conjunto de reglas que determinan si una hilera es válida

Semántica: Conjunto de reglas que determinan si una hilera tiene sentido

Lenguaje: Grupo de hileras que cumplen con las reglas gramaticales establecidas. Hay tres tipos:

  • Bajo Nivel: Es es lenguaje máquina, es el lenguaje propio del ordenador basado en el sistema binario.

  • Nivel Medio: Es el ensamblador, en este lenguaje cada instrucción equivale la instrucción en el lenguaje máquina

  • Nivel Alto: los comandos se introducen desde el teclado, desde un programa residente en la memoria o desde un dispositivo de almacenamiento,y son interceptados por un programa que los traduce a instrucciones de lenguaje máquina
Traductor: Es un programa que toma como entrada un programa fuente y lo convierte a un programa en código máquina. Hay dos tipos:
  • Intérprete: Toma el programa fuente línea por línea y lo va ejecutando, y si alguna línea tiene un error se devuelve
  • Compilador: Genera aplicaciones que sean directamente utilizables en una computadora. El compilador lee el código fuente, comprueba su sintaxis y lo traduce a código máquina, generando el archivo ejecutable final.

Programación: Programar es escribir nuestras ideas sobre un lenguaje de programación, para que estas puedan ser entendidas por las computadoras, y así trabajar bajo las órdenes que se dan en las mismas, con el fin de resolver problemas.

Lenguajes de programación: Son herramientas que nos permiten crear programas y software, como por ejemplo LISP, Delphi, Visual Basic, Java, Prolog...
La computadora funciona bajo el control de un programa, el cual debe estar instalado en la memoria del disco duro

Diferentes formas de procesos de un programa:

  • Secuencial: Son los que se van a realizar en secuencia, una acción sigue a la otra, un pasa va tras otro...
  • Paralelo: Se ejecuta simultáneamente.
  • Algoritmo

Hosteando...y dominio

El Hosting es un servicio que consiste en alojar, servir y mantener archivos para uno o más sitios web. Geocities ofrece a sus visitantes registrados espacio para un sitio web gratis, aunque este tipo de hosting gratuito suele ser muy básico.

Los alojamientos dedicados consisten en el uso exclusivo de todo un servidor por un único cliente, mientras que en los alojamientos compartidos varios clientes comparten un servidor.

Servicios de Hosting: hay una amplia variedad de servicios de hosting. El hosting de archivos donde se puede alojar las páginas de los sitios web y otros archivos vía FTP o una interfaz web.Es normalmente gratuito, o barato.
El proveedor del hosting puede también proporcionar una interfaz web para manejar el servidor web así como otros servicios como e-mail

Tipos de Hosting:
  • Gratuito: es extremadamente limitado, los proveedores normalmente sus propios anuncios en el sitio y tienen límites muy grandes de espacio y de tráfico.
  • De Imágenes: alojando solamente algunos fomatos de imágenes, normalmente es gratuito y la mayoría requieren que el usuario se registre.
  • Compartido: es cuando un mismo servidor aloja a varios cientos de sitios web de clientes distintos, tiene algunas restricciones aunque estas no son en ninguna forma tan restrictivas como en el hospedaje gratuito.
  • Dedicado: con el hospedaje dedicado, uno consigue un servidor sólo para él, no tiene ninguna restricción, salvo las diseñadas para proteger la integridad del proveedor, la contratación del servidor dedicado en sí es generalmente más costosa comparada al alojamiento dedicado

Dominio:

Es un nombre base que agrupa a un conjunto de equipos o dispositivos y que permite proporcionar nombres de equipo más fácilmente recordables en lugar de una dirección IP numérica

Conozamos a doña Programación Funcional

Concepto

Programación funcional es un conjunto de operaciones primitivas cuyo significado está predeterminado en el sistema como por ejemplo la suma de los números enteros, la resta, el producto, etc. Conjunto de definiciones de función, establecidas por el programador, que eventualmente emplearán las funciones primitivas, por ejemplo la función factorial

Utilidad

El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitando el concepto de estado del cómputo. La secuencia de computaciones llevadas a cabo por el programa se regiría única y exclusivamente por la reescritura de definiciones más amplias a otras cada vez más concretas y definidas, usando lo que se denominan "definiciones dirigidas".
Un ejemplo de programación Funcional es el Lenguaje Lisp, he aqui un código, tomado de Wikipedia:

*******************************************************************
; ---FACTORIAL----
;Definición matemática
; Factorial(x) = 1 si x=0 caso base
; x*factorial(x-1) si x>0 caso recursivo

;Función factorial hecha con recursividad no final
(defun factorial (n)
(if (= 0 n)
1 ; caso base
(* n (factorial (- n 1))))) ; caso recursivo

(factorial 4) ;esto nos devolvería 24=4*3*2*1

*******************************************************************
Y un programa desarrollado en ese lenguaje es: Máxima



Programación Web al paso del tiempo: