lunes, 1 de octubre de 2012

lenguajes de programacion

Lenguaje de programación


Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programasalgoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación. que controlen el comportamiento físico y lógico de una máquina, para expresar
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
  • El desarrollo lógico del programa para resolver un problema en particular.
  • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
  • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
  • Prueba y depuración del programa.
  • Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de los documentos).
 

Variables y Vectores

Las variables podrían calificarse como contenedores de datos y por ello se diferencian según el tipo de dato que son capaces de almacenar. En la mayoría de lenguajes de programación se requiere especificar un tipo de variable concreto para guardar un dato concreto. Por ejemplo, en Java, si deseamos guardar una cadena de texto deberemos especificar que la variable es del tipo "String". Por contra en otros lenguajes como PHP, este tipo de especificación de variables no es necesario. Además también existen variables compuestas por varias variables llamadas vectores. Un vector no es más que un conjunto de variables consecutivas en memoria y del mismo tipo guardadas dentro de una variable contenedor. A continuación añadimos un listado con los tipos de variables y vectores más comunes:
-Variables tipo Char: Estas variables contienen un único carácter, es decir, una letra, un signo o un número.
-Variables tipo Int: Contienen un número entero.
-Variables tipo float: Contienen un número decimal.
-Variables tipo String: Contienen cadenas de texto, o lo que es lo mismo, es un vector con varias variables del tipo Char.
-Variables del tipo Boolean: Solo pueden contener un 0 o un 1. El cero es considerado para muchos lenguajes como la variable del tipo String "False" mientras que el 1 se considera "True".

Condicionantes

  • If: Indica una condición para que se ejecute una parte del programa.
  • Else if: Siempre va precedido de un "If" e indica una condición para que se ejecute una parte del programa siempre que no cumpla la condición del if previo y si se cumpla con la que el "else if" especifique.
  • Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe ejecutarse cuando no se cumplan las condiciones prévias.

.

PHP

 
PHP
PHP-logo.svg
Desarrollador(es)
PHP Group
php.net/
Información general
Extensiones comunes .php, .phtml .php4 .php3 .php5 .phps

Apareció en 1995
Diseñado por Rasmus Lerdorf
Última versión estable 5.4.5 (19 de julio de 2012; hace 2 meses)
Tipo de dato dinámico
Influido por C, C++, Perl, Java, Python
Sistema operativo Multiplataforma
Licencia Licencia PHP

PHP es un lenguaje de programación interpretado o framework para HTML, diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

Características de PHP




Características

  • Orientado al desarrollo de Programa Hola mundo con PHP embebido en código HTML aplicaciones web dinámicas con acceso a información almacenada en una base de datos.
  • Es considerado un lenguaje fácil de aprender,ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
  • El código fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.
  • Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
  • Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones).
  • Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.
  • Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
  • Permite aplicar técnicas de programación orientada a objetos. Incluso aplicaciones como Zend framework, empresa que desarrolla PHP, están totalmente desarrolladas mediante esta metodología.
  • No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.
  • Tiene manejo de excepciones (desde PHP5).
  • Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, aun haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes.

XAMPP, LAMP, WAMP, MAMP

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
LAMP presenta una funcionalidad parecida a XAMP, pero enfocada en Linux, y WAMP lo hace enfocado en Windows.

Principales sitios desarrollados con PHP

 PHP es utilizado en millones de sitios, entre los mas destacados se encuentran wikipedia.org, facebook.com y Wordpress.com.

versiones 

Versión mayor Versión menor Fecha de lanzamiento Notas
1 1.0.0 1995-06-08 Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera versión en usar el nombre "PHP".
2 2.0.0 1997-11-01 Considerada por sus creadores la "herramienta más rápida y sencilla" para crear páginas web dinamicas.
3 3.0.0 1998-06-06 Zeev Suraski y Andi Gutmans reescribieron la base para esta versión.
4 4.0.0 2000-05-22 Se añadio un sistema de parsing de dos fases llamado motor Zend.
4.1.0 2001-12-10 Se introducen 'superglobales' ($_GET, $_POST, $_SESSION, etc.)
4.2.0 2002-04-22 Se deshabilitan register_globals por defecto. Datos recibidos por la red no son insertados en el espacio de nombres global, cerrando posibles agujeros de seguridad en las aplicaciones.
4.3.0 2002-12-27 Se introduce CLI, y CGI.
4.4.0 2005-07-11 Se añaden páginas man para phpize y php-config.
4.4.9 2008-08-07 Mejoras de seguridad y arreglo de bugs. Último lanzamiento de la serie PHP 4.4.7 8
5 5.0.0 2004-07-13 Motor Zend II con un nuevo modelo de objetos.
5.1.0 2005-11-24 Mejoras de rendimiento con la introducción de variables de compilador para el nuevo motor de PHP.
5.2.0 2006-11-02 Activida extensión de filtro por defecto. Soporte JSON nativo.
5.2.17 2011-01-06 Arreglo de vulnerabilidad crítica conectada a punto flotante.
5.3.0 2009-06-30 Soporte para espacios de nombres, enlace estático en tiempo de ejecución, etiqueta de salto (goto limitada), Clausuras nativas, Soporte nativo para archivos PHP (phar), recolección de basura para referencias circulares, soporte mejorado para Windows, sqlite3, mysqlnd como reemplazo a libmysql como biblioteca para extensiones que funcionan con MySQL, fileinfo como reemplzado de mime_magic para mejor soporte MIME, extensión de Internacionalización, y etiqueta ereg obsoleta.
5.3.1 2009-11-19 Cerca de 100 bug fixes.
5.3.2 2010-03-04 Gran número de bug fixes.
5.3.3 2010-07-22 Mayoritariamente arreglo de errores; FPM SAPI.
5.3.4 2010-12-10 Mejoras a FPM SAPI.
5.3.5 2011-01-06 Arreglo de vulnerabilidad crítica relacionada a punto flotante.
5.3.6 2011-03-10 Cerca de 60 bug fixes.
5.3.7 2011-08-18 Esta versión se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los cuales tienen implicaciones a la seguridad.
5.3.8 2011-08-23 Esta versión arregla dos errores introducidos por la versión 5.3.7.
5.3.9 2012-01-10 Esta versión se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los cuales tienen implicaciones a la seguridad.
5.3.10 2012-02-02 Arreglo de vulnerabilidad de ejecución de código arbitrario reportada por Stefan Esser, CVE-2012-0830.
5.3.13 2012-05-08 Arreglo de vulnerabilidad para instalaciones basadas en CGI.
5.4.0 2012-03-01 Soporte para Trait y sintaxis abreviada de array. Elementos removidos: register_globals, safe_mode, allow_call_time_pass_reference, session_register(), session_unregister() y session_is_registered(). Servidor web incorporado. Varias mejoras a características existentes y al rendimiento, y requerimientos de memoria menores.
5.4.1 2012-04-26 Varios bug fixes y mejoras de seguridad.
5.4.2 2012-05-03 Parche de seguridad para arreglar vulnerabilidad del parametro query string de PHP-CGI.
5.4.3 2012-05-08 Arreglo de vulnerabilidad para instalaciones basadas en CGI y también para la vulnerabilidad de desbordamiento de búfer para apache_request_headers()
6  ?.? Sin fecha El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para tratar cadenas Unicode no es correcto, y están considerando formas alternas para la siguiente versión. Las mejoras planeadas para PHP 6 fueron añadidas en su lugar en PHP 5.3.0 (soporte para espacios de nombre, enlace estático en tiempo de ejecución, funciones lambda, clasuras, goto) y 5.4.0 (traits, revinculación de clausura).