2011-01-15 17 views
10

La opinión generalizada es que PHP es el lenguaje de programación más fácil de aprender para un principiante, y para conseguir algo de trabajo¿Por qué es PHP el lenguaje de programación web más fácil de aprender

¿Por qué es - lo que hace que PHP más fácil que otros idiomas

es también por lo que en caso de PHP orientado a objetos de aprendizaje - o hay algunos otros lenguajes orientados a objetos en estos días que son más fáciles de aprender que PHP

+3

Debería intentar respaldar que "se cree ampliamente que PHP es el lenguaje de programación más fácil de aprender para un principiante"; de lo contrario, las personas cerrarán la pregunta como subjetiva. –

+0

No, lo más fácil es BF. – Nakilon

Respuesta

4

Simplicidad conceptual.

Un sitio php puede consistir en un archivo que representa una página, con el contenido dinámico incrustado en el marcado estático según sea necesario. Puede escanear un archivo php simple y ver todo definido y ejecutarse de forma secuencial.

Con un sitio php simple, no hay una curva de aprendizaje donde uno tiene que averiguar a qué archivo pertenece una parte específica de la lógica, o en qué archivo externo se ha definido una función.

...

Por supuesto, hay una razón que los marcos como rieles proporcionan una gran cantidad de archivos y una estructura fija, y sin duda recomendaría el uso de uno para cualquier (y casi todos probablemente pequeña) Sitio de tamaño considerable.

Creo que es esta muy baja barrera de entrada la responsable de la popularidad de muchos php.

No creo que haya ninguna razón para que un mejor sistema de estilo php no pueda escribirse en ruby ​​o similar, piense solo en directorios y .erb y. haml archivos y buena sintaxis 4.days.ago. Pero la mayoría de las personas que podrían hacer esto ver el valor en las herramientas adicionales que proporciona un marco. Sinatra es un marco mínimo, en el que es posible definir un sitio completo en un archivo, pero incluso tiene un enrutamiento alimentado por código en lugar de solo nombres de directorios y archivos.

+0

Creo que incluso esto se aborda en Ruby a través del sistema Sinatra, que permite el mismo tipo de complejidad de nivel de entrada. Alguna opinion? –

24

PHP es nativa de la web. Mientras que Ruby y Python tienen una sintaxis mucho más limpia, más elegante y más poderosa, siempre habrá una capa de abstracción entre Ruby/Python y la propia web; después de todo, fueron diseñados para dominios mucho más amplios que la web.

Los novatos de la programación suelen ser novatos en sysadmin, y llegar a Hello World en un Rails o Django es bastante doloroso, incluso para algunos, en comparación con PHP.

Para los novatos, es fácil de conceptualizar que escribir en:

http://mysite.com/something.php 

... ejecutará el código almacenado en el archivo:

/path/to/mysite's/webroot/something.php 

Este simple uno-a-uno de enrutamiento también refleja el de HTML y otros archivos estáticos.

Tenga cuidado, sin embargo, porque este enrutamiento uno a uno también genera problemas de seguridad (es decir, las personas tienden a mantener todo su código ejecutable dentro de la raíz web, incluso código de seguridad, que puede contener contraseñas, sal hash y otro código de Privacidad-Importante). Combine esto con la falta de experiencia de administrador de sistemas, y muchos sitios en la web son chmod lejos de estar totalmente expuestos.

PHP responsable como Symfony ayuda a las personas a evitar esto, pero Symfony requiere el mismo nivel de sysadmin chops que Rails y Django.

+1

Ruby no es anterior a la web. Simplemente no hay ninguna razón por la cual algo como la web deba influir en el diseño de un lenguaje de programación. De lo contrario, buena respuesta. –

+0

Mladen Jablanović: ¡Tienes razón! Edición. –

+0

Aunque podría argumentar que el dominio puede y debe influir en el diseño del lenguaje en algunos casos;) –

2

PHP tiene muchos tutoriales web y libros al respecto, es gratuito y popular lo que hace que las comunidades de PHP sean más grandes. Y también es intuitivo.

1

Mientras que PHP está lejos del mejor lenguaje de programación web, es el más común (en términos de disponibilidad en paquetes de alojamiento), el más popular (incluso en etiquetas como SO), tiene algunos de los mejores documentos , y es uno de los menos estrictos en términos de tener que seguir cualquier tipo de estándares. La programación orientada

4

objeto es opcional

PHP es indulgente
El guión sigue corriendo en menores fallas.
Cuando se suprime E_NOTICE (o incluso E_ADVERTENCIAS), los errores ni siquiera se notan.

Pero también en las cosas pequeñas como substr: En C# obtendrá una gran excepción cuando intente substr ($ text, 3) en un $ text with 1 character.

Gran manual en línea

rápida y sucia es el valor predeterminado
El lenguaje está lleno de atajos útiles.
PHP me permite expresar lo que quiero sin escribir un ensayo.

+2

En realidad, OO es opcional cuando se trabaja con Ruby o Python también. –

+1

Pero en ruby ​​/ python los tipos básicos: int, string, etc. son objetos. –

+0

El * diseño * del idioma en sí (ruby, por ejemplo) está orientado alrededor de objetos. PHP no es. Su * aplicación * puede estar orientada a objetos, pero el lenguaje en sí, en su núcleo, no lo es. Como tal, * puedes * escribir aplicaciones enteras en PHP sin tocar objetos. No se puede en Ruby, porque las cosas centrales (cadena, int, etc.) son en sí mismas objetos y tienes que llamar a métodos para hacer cualquier cosa. – mgkimsal

Cuestiones relacionadas