Lenguaje de programación
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 | |
|---|---|
| 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) |
| 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). |
No hay comentarios:
Publicar un comentario