domingo, 26 de septiembre de 2010

Mageia: Una nueva Distribución Linux que nace como fork de Mandriva

Luego de que un grupo de inversionistas mostrara su interés por mantener a flote a Mandriva muchos quedaron bastante tranquilos, pero con el correr de las semanas nuevamente comenzó a sentirse un aire de preocupación en el ambiente.

Lo anterior debido a que dichos inversionistas comenzaron a centrar su interés en Pulse y en Mandriva Directory Server, sin siquiera mostrar algún tipo de preocupación por el futuro de la distribución. Tanto es así que hace pocos días se supo que casi la totalidad de los programadores que trabajaban en Edge-IT (filial de Mandriva y encargada de la mantención de la distribución) habían sido desvinculados, mientras que otros tantos optaron por dejar la compañía debido al incierto futuro en el que se encontraban.


Pero como suele suceder en el mundo del Open Source una parte importante de los desarrolladores que trabajaban en Mandriva han creado un nuevo proyecto, el que nace como un fork de Mandriva y que ha sido bautizado como Mageia.

Los principales encargados de desarrollar Mandriva lideran este nuevo proyecto y ya se han puesto en contacto con las comunidades de usuarios más importantes en torno a Mandriva con la finalidad de que su administración esté en manos de la comunidad.

Es de esperar que este nuevo proyecto permita que Mageia continúe el gran trabajo que hay detrás de Mandriva, sería una gran pérdida para todos si llegase a desaparecer esta distribución.

mandriva-logo-b

jueves, 23 de septiembre de 2010

Linux tendrá de forma nativa a Direct3D 10 y 11

Grandes noticias para los jugadores en Linux. Por primera vez, Direct3D ha sido implementado de forma nativa en Linux. ¿Por qué digo que es una gran noticia? Hay varias razones.

Todos sabemos que Linux no es la panacea en cuanto a soporte de gráficos. Sólo está OpenGL como librería de gráficos nativa, y la ejecución de Direct3D (la librería desarrollada por Microsoft para Windows) es muy pobre. Para ejecutar juegos Direct3D se usan programas como Wine, que crean una capa intermedia entre el software y la librería OpenGL. Para que nos entendamos, es como si fuese un adaptador. Por un lado tiene la forma de enchufe de Direct3D, para que los juegos Windows funcionen, y por el otro la forma de OpenGL, para poder comunicarse con la tarjeta gráfica.

Obviamente, este “adaptador” no tiene un rendimiento excelente. Además, Wine sólo podía emular juegos con Direct3D 10, la última versión, la 11, no estaba soportada, así que muchos juegos en Linux no funcionaban demasiado bien.

Pues bien, hoy se acaba todo esto. Gallium, una librería de gráficos libre desarrollada por VMWare y usada en el driver libre de nVidia Noveau, ha implementado la API Direct3D 10 y 11 de forma nativa. Es decir, sin capas intermedias.

Aunque todavía está en una fase temprana, la librería es capaz de realizar algunas funciones básicas perfectamente. La intención de sus desarrolladores es que se pueda usar en cualquier programa para mejorar su rendimiento gráfico, incluyendo Wine y los drivers de nVidia.

Si además tenemos en cuenta que, debido al rediseño desde cero de Direct3D 10 Wine soportaba malamente esta versión (la 11 no está ni implementada), es una noticia mejor todavía. En poco tiempo, podríamos tener juegos complejos funcionando en Linux a pleno rendimiento.

¿Quién dijo que Linux no valía para juegos?

Linux tendrá de forma nativa a Direct3D 10 y 11

miércoles, 22 de septiembre de 2010

Google Chrome 7 será 60 veces más veloz

Después de que Microsoft lanzara la versión beta de Internet Explorer 9, Google anunció que está dando los retoques finales a su futuro navegador, el Chrome 7, que será 60 veces más rápido que su predecesor, según la compañía.

Google logró incrementar la velocidad mediante la aceleración GPU, una tecnología que aprovecha la aceleración gráfica de las computadoras para mostrar a mayor velocidad el contenido multimedia de la Web, según indica el sitio Pcactual.com.

La mejora afectará a los gráficos 2D y también a los 3D, lo que seguramente interesará a quienes juegan a través del navegador.

Para entusiasmar a los usuarios, Google publicó un video en el que se puede ver el potencial de la aceleración gráfica que promete la compañía.

martes, 21 de septiembre de 2010

Vulnerabilidad de escalada de privilegios en el kernel Linux

Esta vulnerabilidad permite escalar privilegios y obtener permisos de root mediante un exploit que ya está en circulación.

Septiembre está siendo un mes movidito en el mundo de la seguridad informática. Primero fueron las vulnerabilidades en Adobe Reader y Flash, y hoy conocemos otra en el kernel Linux, y es también bastante grave.

Esta vulnerabilidad permite escalar privilegios y obtener permisos de root mediante un exploit que ya está en circulación. Es realmente grave ya que socava uno de los pilares de la seguridad de Linux: una de las causas de que no haya mucho virus para este sistema es que, aunque consigan entrar en el sistema, para hacer algo grave y salir del entorno del usuario necesitan serroot y no es fácil de conseguir.

En concreto, el problema está causado por un error en el kernel de 64 bits, en la emulación para ejecutar binarios de 32 bits. Un fallo en un argumento da al binario que se está emulando permisos de superusuario.

Lo más curioso de todo es que este bug ya se resolvió en 2007, pero en 2008, nadie sabe por qué, el parche se eliminó volviendo a abrir el agujero. Por esto, el exploit que se creó para esa primera vulnerabilidad sólo ha necesitado una pequeña modificación para volver a funcionar. También por esto mismo, la vulnerabilidad ha sido parcheada rápidamente, y dentro de poco aparecerán los kernel actualizados para las diferentes distribuciones.

Para evitarlo, lo de siempre: no descargar ni ejecutar archivos sospechosos, y actualizar el kernel en cuanto esté disponible la nueva versión.

Oracle presenta MySQL 5.5 RC

(Tomado de http://muycomputerpro.com)


La versión Release Candidate de MySQL 5.5 ha visto la luz en Oracle OpenWorld. Si bien no es la versión final definitiva -dentro de lo definitivas que son las versiones de software-, sí es la versión previa y llega con muchas mejoras. Entre ellas destaca una mayor escalabilidad en sistemas de varios núcleos y varias CPUs o bien la inclusión de InnoDB como motor de la base de datos con el doble de rendimiento.

Los planes para MySQL desde la adquisicion de Sun por parte de Oracle han sido bastante turbios, sin embargo, el proyecto está garantizado y Oracle ha decidido ponerse manos a la obra con él, a diferencia de OpenSolaris. La nueva edición MySQL 5.5 es rápida, muy rápida y trae consigo numerosas mejoras. En abril os comentamos la salida de la versión beta 2, y ahora llega la versión Release Candidate.




La nueva versión MySQL 5.5 llega con una mejoría en rendimiento y escalabilidad de apliaciones a través de múltiples entornos incluyendo Windows, Linux y Mac. Las mejoras llegan agrupadas en tres grandes aspectos:

- Mejora de rendimiento y escalabilidad:
MySQL Server y InnoDB han sido mejorados para ofrecer un mejor rendimiento en procesadores multinúcleo y equipos multiCPU. InnoDB es ahora el motor de almacenamiento por defecto, ofreciendo transacciones ACID, integridad referencial y recuperación de errores.

- Mayor disponibilidad:
La nueva replicación semisincronizada mejora la fiabilidad permitiendo a la petición maestra continuar sin esperar a que todas las esclavas den el visto bueno. Cuando un esclavo da el OK, la transacción se lleva a cabo. Esto también ayuda a la mejora en integridad de datos. También han creado lo que se conoce como Replication Heart Beat que permite una detección, diagnosis y corrección de problemas de sincronización maestro/esclavo, ayudando a mejorar la disponibilidad de datos y la fiabilidad general del sistema.
- Usabilidad mejorada:
El mejorado índice y la tabla de particionado hace posible particiones RANGE y LIST que quedan definidas por fecha, datetime, varchar, y columnas char, simplificando y extendiendo MySQL y añadiendo flexibilidad al indexado y mejora de peticiones.

En palabras de Oracle se ha conseguido un aumento de rendimiento de hasta un 1.500% en un equipo Windows y hasta un 200% en un equipo Linux, resultados nada desdeñables. Si quieres probar la nueva vesión puedes hacerlo desde la web de Oracle.

viernes, 24 de abril de 2009

PHP vs .NET

En el mundo de la informática, para los nuevos aventurados de la programación la primera pregunta que saltará en sus mentes al querer hacer su primera página web, será...

¿Qué debo escoger, PHP o .NET?


Este artículo extraído y traducido de Microsoft explica "ligeramente" algunas diferencias, echémosle un vistazo y por favor, si encuentran fallas en la traducción, comenten.

Migración de PHP a ASP.NET

Introducción
Comparación de la arquitectura
Comparación de funciones
Sintaxis común y la comparación de las tareas
Caché de datos y almacenamiento en caché
Resumen
Siguientes pasos recomendados
Recursos
Introducción

En este artículo se analiza la migración de PHP (PHP: Hypertext Preprocessor 4) a ASP.NET. Compara y contrasta la base subyacente de la sintaxis de PHP con Microsoft ® Visual Basic ®. NET, así como las funciones y la arquitectura de los dos sistemas.

Mientras tanto PHP y ASP.NET le permite crear sofisticadas y complejas aplicaciones Web (como los sitios de comercio electrónico, intranets y portales corporativos), ASP.NET y PHP tiene varias diferencias importantes. A diferencia de PHP, ASP.NET no es un idioma o un intérprete, sino más bien un conjunto de tecnologías de Microsoft. NET Framework para la construcción de aplicaciones Web y XML Web Services. Páginas de Microsoft ASP.NET se ejecutan en el servidor como PHP y generar marcas, tales como HTML, WML o XML, que es enviado a un equipo de escritorio o para las aplicaciones móviles. ASP.NET, sin embargo, es diferente en el sentido de que proporciona un robusto, orientado a objetos, evento impulsado por el modelo de programación para el desarrollo de páginas Web, manteniendo la sencillez que los desarrolladores de PHP están acostumbrados.

Aplicaciones ASP.NET se basa en un sólido Programación Orientada a Objetos (OOP) en lugar de un paradigma de scripting paradigma. Esto permite más rigurosas características de programación OO, como la herencia, encapsulación y la reflexión. Si bien la mayoría de las operaciones básicas y simples pueden ser fácilmente traducido de PHP a ASP.NET, aplicaciones más complejas no será tan fácil de convertir de PHP a ASP.NET y exigirá una planificación cuidadosa y la consideración, así como un mayor enfoque de la POO.

En este trabajo, suponemos que el lector tiene experiencia con PHP, así como la programación y desarrollo de software en general. Comenzamos este artículo con un vistazo al código, con una breve comparación de las diferencias de arquitectura y de la OOP modelo de desarrollo, seguida de una comparación de características y, a continuación, una comparación de la sintaxis común y tareas para el desarrollo de aplicaciones Web con PHP y ASP.NET.
Comparación de la arquitectura

Como se puede aprender de la sintaxis y la lengua y la comparación final de este documento, PHP y ASP.NET son relativamente similares con similar funcionalidad y la sintaxis. PHP, sin embargo, es muy diferente de ASP.NET a un menor nivel de arquitectura. PHP está basada en un procesador independiente de la plataforma / motor que analiza scripts PHP y base de datos dispone de las conexiones, el cumplimiento del protocolo de Internet, y muchas otras tareas comunes a la mayoría de plataformas de aplicaciones Web.

ASP.NET es un marco construido sobre una serie de tecnologías como el CLR y ofrece una amplia serie de bien organizadas que ofrecen las bibliotecas de clases para la mayoría de conjunto de todas las funciones que se utilizan en una aplicación Web. También permite la creación fácil y simple de los componentes para ampliar el marco.

Mientras PHP ofrece cosas similares, como el PEAR bibliotecas, ASP.NET y PHP no son realmente análogo porque el marco ASP.NET se construye desde la base en un paradigma OOP OOP y conceptos; PHP no lo es. Esta diferencia es más evidente en la forma de acceder a las clases y objetos en PHP y ASP.NET.
La programación orientada a objetos en PHP y ASP.NET

Ambos ofrecen ASP.NET y PHP OOP paradigmas para el desarrollo de aplicaciones, pero su apoyo a diversos conceptos de la POO, tales como la encapsulación y polimorfismo diferente. Por ejemplo, sólo soporta PHP parcial encapsulado (como el apoyo para la declaración de los métodos y campos en la clase) y el polimorfismo parcial (sin sobrecarga, no la abstracción). PHP también carece de apoyo a estos conceptos y la accesibilidad en el que no hay concepto de privado, público, o funciones de las clases protegidas, así como la sobrecarga. Si bien los puristas mayo OOP debate que ASP.NET y las diferentes lenguas no son totalmente compatibles con todos los conceptos en el paradigma de la POO, esto es cierto en el caso de la mayoría de los idiomas considerados POO, tales como C + + y Java.

Esto tiene un lado positivo y uno negativo. El inconveniente es que para algunos desarrolladores web hay una empinada curva de aprendizaje de PHP frente a ASP.NET, que ofrece un paradigma de secuencias de comandos que los desarrolladores han empleado tradicionalmente para la construcción de sitios web. Sin embargo, los desarrolladores que tienen experiencia en POO idiomas y / o ASP.NET Vwill encontrar intuitivamente familiar y fácil de aprender.

La ventaja a ASP.NET "s apoyo de OOP conceptos significa que las aplicaciones ASP.NET en su mayor parte resultado de un mejor diseño de código, tiene una clara separación de contenidos, la lógica, y los datos y, por tanto, son en general más fácil de apoyar a largo plazo de las solicitudes ciclo de vida. Además, ASP.NET 's soporte nativo para tecnologías como la empresa de Message Queue Server, las operaciones (véase el. NET Framework de System.EnterpriseServices clases) de SNMP y Web Services, hace que sea muy fácil de desarrollar aplicaciones robustas y escalables.

Usted puede encontrar una introducción a las principales áreas de programación orientado a objetos (Visual Basic desde un punto de vista) en la programación orientada a objetos en Visual Basic.
Compilación
De PHP

Cuando una página PHP se solicita, el código HTML y script PHP en línea se ha elaborado a Zend opcodes. Opcodes son de bajo nivel binario instrucciones que se utilizarán para servir a la página PHP. Después de la compilación, el Motor Zend corre el opcodes (similar a la manera del motor de tiempo de ejecución Java se ejecuta el código de bytes) y, a continuación, se genera HTML y sirve al cliente.

Hay una serie de productos comerciales que pueden utilizarse para acelerar la ejecución de una página PHP mediante la optimización de estos opcodes. Otras formas de aumentar el rendimiento de los scripts PHP opcode incluyen el almacenamiento en caché y la memoria caché del HTML generado.
ASP.NET

Cuando se hace una solicitud a IIS (Internet Information Server) o en otro para un servidor Web. Aspx (o cualquier otra extensión apoyada por ASP.NET), la petición se pasa a ASP.NET para la transformación. Si esta es la primera vez que la página ha sido solicitado, ASP.NET compila la página para MSIL (Microsoft Intermediate Language). Este código MSIL se procesa por el CLR (Common Language Runtime) a código de máquina. Luego se ejecuta la solicitud de utilizar este código compilado. Tras las solicitudes se sirve de este mismo código de máquina, suponiendo que la página no ha sido modificado.

Es importante señalar que el código binario que se genera por el CLR ya está optimizado como posible, sin añadir el producto-que es necesario para lograr el máximo rendimiento.

También es importante señalar que todo está compilado en ASP.NET a código de máquina, antes del rodaje. Incluso texto HTML es convertido a una cadena literal de control, y se incluirán en el orden correcto en el control de árbol.
Comparación de funciones

El Cuadro 1 presenta una comparación de algunas de las características destacadas en PHP y ASP.NET.

Tabla 1. La comparación de las características de ASP.NET y PHP
Característica De PHP ASP.NET
Codificación de idiomas C, C + + con el estilo de lenguaje de scripting de edad hasta la marca de estilo ASP. Apoya algunos conceptos OOP. Soporta más de 25 idiomas, pero el 2 que son más comúnmente utilizados son los de Visual Basic. NET y C #. La mayoría de los desarrolladores elegir una lengua, pero pueden consumir componentes escritos en cualquiera de los otros idiomas.
Compilado aplicación lógica Compilable y se puede ejecutar como un ejecutable Apoya, en tanto dinámica pre-compilado y los modos de transporte.
Página completa de almacenamiento en caché de salida No soporte nativo Apoyo, cachés diferentes versiones de la página sobre la base de uno o más parámetros de URL, tipo de navegador, de una función, o cualquier combinación.
Página de salida parcial de caché No soporte nativo Construido en apoyo a través del uso de controles de usuario. Datos y otros objetos pueden ser sofisticados con vencimiento en caché utilizando la caché de normas API.
Base de datos de acceso Tiene drivers para la mayoría de bases de datos en el mercado, así como bases de datos de código abierto Apoya-OLE DB y ODBC directamente, nativos e incluye controladores para Microsoft SQL Server ™ y Oracle.
Base de datos de salida Datos se muestran como las variables de PHP y puede ser outputted como cualquier otra variable Plantillas de enlace de datos a los controles del lado del servidor para la facilidad de desarrollo, o manual que recorrer si se prefiere.
Componentes externos Puede llamar a una variedad de paquetes y el motor Zend pueden ser modificados directamente por el promotor debido a que es de código abierto. Los programadores responsables de Zend también están trabajando en permitir. NET, que se denominará a partir de PHP Muy buen soporte nativo para bibliotecas C y los objetos COM, así como las asambleas en cualquier escrito. NET compatible con el idioma, incluyendo C + + administrado. N el soporte incorporado para CORBA objetos o clases Java.
XML / XSLT Apoyado en complemento de los paquetes y bibliotecas Completa y fácil de usar, se presta apoyo para XML DOM, XSLT, la validación y ligero orientado a analizar el flujo de documentos XML.
XML Web Services PHP paquetes se están desarrollando actualmente para apoyar a los servicios web basados en Apache Axis motor, así como los demás. La versión actual proporciona una amplia y flexible, compatible con los estándares de apoyo y hace que sea muy fácil de publicar y consumir, tanto los servicios Web.
Estado de la sesión Cookie de sesión basada en la gestión Basado en cookies o cookieless el estado de la sesión, utilizando un único servidor de almacenamiento de memoria en un servidor centralizado de estado, o una base de datos de back-end. Además, la arquitectura extensible permite personalizado período de sesiones de estado de módulos para reemplazar la incorporada en las opciones. Cookieless requieren sólo un cambio de configuración para habilitar.
Built-In Funcionalidad PHP dispone de funciones para cubrir muchas de las tareas que una aplicación basada en web puede necesitar para llevar a cabo. También puede acceder a las bibliotecas de clases de Java con algún trabajo extra. ASP.NET tiene acceso directo a la totalidad de. NET Framework las bibliotecas de clases, que abarcan una gran cantidad de funcionalidad.
Expresiones regulares Soporta Perl compatible POSIX y sintaxis de las expresiones regulares. Soporta Perl-5-compatible con las expresiones regulares, con funciones adicionales, como de derecha a izquierda se pongan en venta, precompilada expresiones, grupos de llamada, ayuda completa de Unicode. También permite al usuario especificar la función que habrán de exigirse durante una operación de sustitución de expresiones regulares.
Depuración PHP no ofrecen una amplia gama de depuración, a pesar de varios productos de terceros y Zend permite una mayor depuración y pruebas. Incluye amplia información sobre el medio ambiente y la localización que pueden ser incluidos en la página o aparece en una página independiente. Microsoft Visual Studio ®. NET permite una fácil interactiva de depuración de las páginas, ya que ejecutar, además de la depuración de secuencias de comandos del lado del cliente y procedimientos almacenados de SQL Server.
Tratamiento de errores de No admite errores, pero tiene varios errores de manipulación de la funcionalidad y la explotación forestal, Apoya estructurado de manejo de excepciones (con la adición de un "último" bloque de código que se ejecuta independientemente de si o no se produce un error), el aumento de la costumbre excepciones, y especificar páginas de error personalizadas para distintos tipos de errores irrecuperables.
Image Manipulation No ayuda incorporada, aunque los componentes de terceros están disponibles. Incluye una amplia imagen de la creación y manipulación de las instalaciones.(Véase el. NET Framework de System.Drawing clases)
Reutilización de Código Funciones definidas por el usuario, capacidad de crear clases, y se incluirán los archivos. Controles de usuario, controles de servidor, clases personalizadas, y se incluirán los archivos.
Threading PHP tiene un buen modelo de roscado Apoya plenamente. No sólo pide la página ocurrir simultánea en distintos hilos, pero cada página puede (si es necesario) desovar sus propios hilos para llevar a cabo simultánea y asincrónica trabajo.
Datos de caché Ha limitado de datos de caché de datos nativa Incluye un extenso caché API que permite a casi cualquier tipo de datos (incluyendo los resultados de una consulta de base de datos) para ser almacenado, con vencimiento sobre la base de tiempo, el uso o dependencia de un archivo u otro elemento en caché. También permite una función definida por el usuario que se llama cuando un determinado elemento se elimina de la caché.
Internacionalización Soporte completo para Unicode Compatible con Unicode y diversas cadenas de codificaciones de caracteres. Fecha, número, moneda y todas las funciones son conscientes de la cultura y modificar su producción en función de lo que el actual está establecido en la cultura (en lugar de requerir que las diferentes funciones que se llama). Apoyo para la utilización de archivos de recursos para localizar una aplicación dinámica incluido.
SMTP, HTTP, FTP, POP3 Soporte nativo para una amplia variedad de protocolos de Internet SMTP apoyo depende del servicio SMTP de IIS. HTTP tiene muy buen soporte. FTP y POP3 no se admiten en. NET, pero libre y comercial de terceros componentes están disponibles para esta funcionalidad.
Entorno de desarrollo integrado Numerosas herramientas de desarrollo con una amplia gama de capacidades están disponibles en rangos de precios de gratis a varios cientos de dólares. Existe una herramienta libre para el desarrollo ASP.NET disponible en Microsoft llamado ASP.NET Web Matrix

El más popular es la herramienta de Visual Studio.NET que tiene pleno apoyo a todos. NET, base de datos de herramientas para la creación de bases de datos SQL y pruebas, herramientas de Diseño Web, la integración con el control de versiones, depuración avanzada y muchas otras funciones para una lista completa ver el MSDN ® Visual Studio Developer Center.

Otras herramientas, incluido el de Borland C # Builder y Macromedia Dreamweaver MX, también apoyo ASP.NET.
Servidor Web de Apoyo Soporta casi todos los servidor Web. Apoya IIS y covalente de versión comercial de Apache 2.0.
Soporte del sistema operativo Hay puertos para casi todos los SO de uso común como Microsoft Windows ®, Mac OS X, Amiga, Solaris, Free BSD, Linux, AIX y más. Actualmente es compatible con Windows 2000, Windows XP y Windows Server 2003.
Sintaxis común y la comparación de las tareas

Las siguientes secciones ofrecen comparaciones entre PHP y. NET, así como la manera de realizar algunas de las tareas de programación más común.
Comentarios

PHP le permite insertar comentarios en el código usando C, C + + y shell de Unix sintaxis del estilo, y cualquier cosa dentro de los indicadores comentario no se ejecutará.

En general, para comentar en Visual Basic. NET en código ASP.NET sólo tiene que utilizar <%-- para abrir un bloque de comentario y --%> para cerrar el bloque.

Ejemplo de código 1 muestra los comentarios en cada entorno.

Ejemplo de código 1. Comentarios del lado del servidor en PHP

/* This is a block of text That has been commented out */

Ejemplo de código 1. Comentarios del lado del servidor en ASP.NET

<%-- This is a comment. --%>

Variables

Si bien PHP y Visual Basic. NET similares construcciones del lenguaje, son muy diferentes de sintaxis para ellos. Desde Visual Basic. NET se basa en un modelo OO, declaración de variables es mucho más riguroso que en PHP, donde se declara una variable simplemente añadiendo un signo de dólar $ antes de que el nombre de variable.

En Visual Basic. NET que declarar una variable especificando su nombre y características. La declaración para la declaración de variables es el Dim palabra clave. Su ubicación y contenido de determinar las características de la variable. Variables como los niveles locales y de los módulos, tipos de datos, y, finalmente, la vida útil de la accesibilidad.

Si bien este enfoque puede parecer más complejo que en la primera variable de asignación en PHP que realmente hace un desarrollador de la vida más fácil.ASP.NET se centra en ayudar a los desarrolladores construir aplicaciones robustas y especificando los tipos de datos hace que tareas como la variable de limpieza, depuración, y salvo error de manipulación, y el código de mantenimiento mucho más fácil.

Ejemplo de código 2 muestra ejemplos de declarar variables en cada entorno.

Ejemplo de código 2. Declaración de variables en PHP

$head_count $foo $X $obj

Ejemplo de código 2. Declaración de variables en Visual Basic. NET

Dim head_count As Integer Dim foo As String Dim X As Date Dim Obj As object

Tipos de datos de declarar

El AS cláusula en la declaración de estado le permite definir el tipo de datos o tipo de objeto de la variable que se declara. Puede especificar cualquiera de los siguientes tipos de variables:

* Un tipo de datos elementales, como Boolean Long o Decimal
* Un tipo de datos compuestos, tales como una matriz o estructura
* Un tipo de objeto, o de clase, desde Visual Basic u otra aplicación, como la Label o TextBox

Usted puede declarar varias variables del mismo tipo en una declaración sin tener que repetir el tipo de datos. En las siguientes declaraciones, las variablesnumStudents , numGTA and numProfessors se declaran como tipo Integer

Dim numStudents, numGTA, numProfessors As Integer "Las tres son las variables Integer.

Para obtener más información sobre tipos de datos, consulte Tipos de datos. Para obtener más información sobre programación orientada a objetos, consulte laprogramación orientada a objetos en Visual Basic.
Declarar la vida

La vida útil de una variable es el período de tiempo durante el cual está disponible para su uso. Una variable local declarada con Dim declaración sólo existe en tanto su procedimiento de ejecución. Cuando el procedimiento termina, todas sus variables locales desaparecen y se pierden sus valores.

El concepto de vida es muy útil en la medida en que permite a los desarrolladores construir aplicaciones sin tener que ellos mismos con la preocupación de muchos problemas que se producen a gran escala en aplicaciones como la gestión de memoria eficiente. Al seleccionar la correcta para toda la vida de una variable puede permitir. NET para realizar la limpieza de las operaciones sobre las variables que no están siendo utilizados.

Para obtener más información sobre la vida, ver la vida.
Declarar Alcance

Una variable local es aquella que se declara dentro de un procedimiento (un procedimiento es análogo a una función). Un no es una variable local que se declara fuera de un procedimiento, pero dentro de una clase o estructura.

En una clase o estructura, la categoría de una variable local no depende de si es o no compartida. Si es declarado con el Shared por palabra clave, es una variable compartida, y existe en un solo ejemplar, compartida entre todas las instancias de la clase o estructura. En caso contrario se trata de una variable de instancia, y una copia del mismo se crea para cada instancia de la clase o estructura. Una copia de una determinada variable de instancia sólo está disponible para la instancia para los que fue creada.

El ámbito de aplicación de una variable es el conjunto de todo el código que puede referirse a él sin calificar su nombre. Una variable del ámbito de aplicación está determinado por la variable que se declara. Código situado en una región determinada puede utilizar las variables definidas en la región sin tener que calificar sus nombres. Al declarar el ámbito de aplicación, se aplican las siguientes reglas:

* El ámbito de aplicación de una variable de instancia o compartido es la estructura o la clase en la que se declara.
* El ámbito de aplicación de una variable local es el procedimiento en el que se declara.

Sin embargo, si usted declara una variable local dentro de un bloque, su ámbito de aplicación es que sólo bloque. Una variable local es activa dentro de la definición de bloque de control. El bloque de control puede ser un procedimiento, si una declaración, una declaración de bucle y así sucesivamente.

Para obtener más información sobre el ámbito de aplicación, consulte Alcance.
Declarar Accesibilidad

. NET, apoya la idea de la accesibilidad a las variables, que permite que usted, el desarrollador de código para controlar lo que puede tener acceso a variables específicas. Por ejemplo, si quería establecer algunas constantes de una fórmula y asegúrese de que su constante nunca se ha cambiado por otro tipo de código fuera de su clase en la que podría declarar que la variable privada de este modo:

Privado myConstant As Integer

Una variable de la accesibilidad está determinada por lo que una palabra clave o palabras Dim, Public, Protected, Friend, Protected Friend, o Private utiliza en la declaración declaración. En general, usted sólo uso público y privado en su desarrollo.

Puede declarar un módulo, la estructura, la clase, la variable de instancia o con cualquiera de estas palabras clave. Dentro de un procedimiento, sólo el Dim de palabras clave está permitido, y la accesibilidad es siempre privado.
Salida

La forma típica de la salida de datos en PHP es a través de la echo() construir idioma. El más cercano a este análogo en ASP.NET es el Response.Write() método, o el <%= %> construir, que es simplemente la abreviatura Response.Write() Ejemplo de código 3 muestra la sintaxis básica para la escritura de un valor a la página.

Ejemplo de código 3. Base de salida en PHP



Ejemplo de código 3. Base de salida en Visual Basic. NET

<% Dim Hello As String = "Hi how are you" & vbcrlf Response.Write(Hello) %>

Sin embargo, estos métodos para el envío de salida al navegador existen principalmente para la compatibilidad hacia atrás con ASP clásico. ASP.NET 's nuevo control basado en eventos orientados hacia el modelo de datos permite que se de salida al navegador simplemente ajustar las propiedades de controles de servidor.Esta técnica permite una separación limpia de diseño y el código y pueden hacer más fácil el mantenimiento, que requiere mucho menos código en situaciones complejas de PHP.