una para hacer con completa como codigo cientifica calculadora basica php programming-languages terminology

para - calculadora php radio



¿Qué es un lenguaje de programación "real"? (15)

No está compilado

PHP se puede compilar a través de HHVM .

Está escrito

Esa es solo otra forma de decir que PHP no está compilado.

No se ejecuta en todas las plataformas

Tampoco lo hace Java.

Parece que tienes un profesor realmente malo allí.

Recientemente un docente dijo "PHP no es un lenguaje de programación real", pero solo dio, en mi opinión, una débil justificación:

  • No está compilado.
  • Está guionado.
  • No se ejecuta en todas las plataformas.

¿PHP no se considera un lenguaje de programación "real"? ¿Qué es un lenguaje de programación "real"? ¿Debe compilarse un idioma para ser tomado en serio?

Fondo

Hice una clase de introducción a mi clase de computación A-Level en la escuela hace dos días: estamos utilizando Java para el primer año del curso. No estoy familiarizado con Java, pero tengo una buena comprensión de los fundamentos generales de programación (variables, funciones, orientación a objetos, bucles, etc.).

Nuestra primera tarea que el maestro ejecutó fue ridículamente rápido. No se molestó en explicar ninguno de los conceptos, cómo funcionan o para qué los usaría de manera realista, y pareció complacerse al ver a la mayoría de los estudiantes (que en general eran nuevos en la programación) retorcerse en sus asientos por no tener la menor idea de lo que estaba hablando. En retrospectiva, creo que pasó por esto increíblemente rápido para ver quién realmente podría "manejar" tomar Computing A-Level, ya que los estudiantes todavía tienen la oportunidad de cambiar sus asignaturas antes de que comience septiembre.

La primera y única tarea fue escribir una aplicación de línea de comandos de Java para convertir binario a denario (decimal). Tuvimos una sesión de prueba de dos horas para hacer esto, y después de explicar cómo funciona el sistema binario tuvimos que comenzar, a pesar de que, en general, nadie tenía la menor idea de por dónde empezar. Después de una hora algunos fueron más que otros, pero nadie realmente había logrado algo significativo. La maestra se confundió tanto que llamó a otro maestro de al lado. Él vino a ayudar a la gente y ver a dónde ir después.

Sin presumir, probablemente tenía la mayor experiencia en la clase y había llegado más lejos en el ejercicio. Me preguntó si había tenido alguna experiencia previa; Dije que sí, particularmente en PHP, y comenté en broma que podía escribir algo para convertir binario a denario en unas pocas líneas de PHP, mientras que la aplicación Java crecía rápidamente en varias pantallas de código.

Él respondió: "¡PHP no es un lenguaje de programación real!" ...! Después de un debate, dio las tres razones anteriores. Sin embargo, señalé que puedes ejecutar PHP en cualquier plataforma que ejecute Apache, ¡pero no creo que realmente sepa lo que es Apache y que no tenga nada de eso!


define: lenguaje de programación

Según esto, parece que PHP es un lenguaje de programación. Si se trata de un lenguaje de programación real es completamente subjetivo. Si es un buen lenguaje también es subjetivo. Ciertamente, comúnmente no se usa como lenguaje de programación de aplicaciones , pero se puede usar para desarrollar aplicaciones shell a través de CLI . Nunca he hecho esto, así que lo entiendo es incompleto, pero es posible .

Ahora, ¿PHP está "guionado" (tomo esto como un lenguaje de scripting) y se ejecuta en todas las plataformas? Usted juzga:

PHP: el preprocesador de hipertexto es un lenguaje de scripting de uso general ampliamente utilizado que fue diseñado originalmente para el desarrollo web para producir páginas web dinámicas. Para este propósito, el código PHP está incrustado en el documento fuente HTML e interpretado por un servidor web con un módulo de procesador PHP, que genera el documento de la página web. Como un lenguaje de programación de propósito general, el código PHP es procesado por una aplicación de intérprete en el modo de línea de comandos que realiza las operaciones deseadas del sistema operativo y produce la salida del programa en su canal de salida estándar. También puede funcionar como una aplicación gráfica. PHP está disponible como procesador para la mayoría de los servidores web modernos y como intérprete independiente en la mayoría de los sistemas operativos y plataformas informáticas.

Fuente: http://en.wikipedia.org/wiki/PHP

¿Java incluso se ejecuta en todas las plataformas? No. Solo aquellos para los que existe una JVM.

Finalmente, ¿es necesario compilar un idioma? Muchos no lo son. Incluso Java no se compila de la misma manera que C o C ++. Y luego también deberías echarle un vistazo a Perl, Python, etc.

Personalmente, creo que PHP es un lenguaje de programación real. Empecé allí y pasé fácilmente a C / C ++ y Java. No lo usaría para el mismo propósito que Java, y su diseño es diferente de Java, pero eso no significa mucho. Era más fácil de aprender que Java para mí.


"Entonces, en la ''definición de un lenguaje de programación'', ¿qué hace que PHP no sea ''apropiado''?"

La verdadera razón es el hecho de que la mayoría de la gente no lo usa como un lenguaje de programación de aplicaciones de propósito general.

Es porque siempre ha habido idiomas que se adaptan mejor (con una excepción: para qué se creó PHP, programación web). PHP es "otro idioma más, ni siquiera con mejores características de diseño que las existentes". Algunos ejemplos de problemas al comparar con otros lenguajes diferentes incluyen: falta de herramientas de GUI estables y portátiles (al menos en Windows / MacOS), falta de enhebrado, falta de velocidad, etc.

En última instancia, las personas que van a escribir aplicaciones generales en PHP son en su mayoría personas que solo conocen bien PHP como lenguaje de programación. Debido a que no hay ninguna razón para escribir una nueva aplicación desde cero en PHP: encontrará que la mayoría de los programadores experimentados o talentosos nunca considerarían hacer esto.


ACTUALIZACIÓN: lea atentamente antes de votar, este no es mi enfoque de PHP / Java, estoy tratando de ver cómo su maestro ve lo de PHP / Java. Gracias.

Lo que creo que pensó tu maestra: PHP es un lenguaje que está bloqueado dentro de un servidor web , principalmente usado para generar páginas web.

Java, por otro lado, es un lenguaje de uso general utilizado también para páginas web, pero se usa en otras industrias como microondas y automóviles, puede escribir aplicaciones de escritorio en Java, etc.

Con esto en mente, es comprensible por qué su profesor dijo "¡PHP no es un lenguaje de programación real!"

No soy parcial, no me gustan los dos, Java y PHP :) ... pero tengo que usar ambos


Ciertamente, PHP es un lenguaje de programación. Incluso es un lenguaje completo de Turing, lo que básicamente significa que su "poder" es igual al "poder" de otros lenguajes de programación. Es "real" tanto en sentido estricto (realmente existe) como metafórico (hay personas que se ganan la vida usando PHP). Entonces parece que tu maestro es de alguna manera parcial.

Sin embargo, veo algún punto en la actitud de su maestro. PHP y Java provienen de fondos radicalmente diferentes. A pesar de ser útil, PHP es muy caótico. Compare la biblioteca de clases estándar en Java con la biblioteca estándar de funciones de PHP; esta última se parece a un gran conjunto de herramientas no relacionadas. Además, hay muchos tutoriales de PHP en la Web que, cortésmente hablando, son de calidad mediocre. Como está aprendiendo a programar, lo mejor es aprender usando buenas herramientas, y Java es una herramienta mucho mejor para aprender programación que PHP.

PD. Google para "PHP apesta" para obtener toneladas de información por qué PHP no es la mejor herramienta en el mundo.


Cuando estaba aprendiendo PHP, tampoco creía que PHP fuera un lenguaje de programación.

No estoy seguro de dónde recogí la idea, pero aprendí en alguna parte que un lenguaje de scripting no es un lenguaje de programación. Entonces apliqué este pensamiento a otros lenguajes, como JavaScript y SQL.

Desde entonces he cambiado de idea y entiendo ahora que hay un espectro de idiomas que va desde un nivel alto (por ejemplo, PHP, Javascript) a un nivel bajo (por ejemplo, c, ensamblador) con cosas como C # y Java en algún punto intermedio.


En primer lugar, no ser compilado ni interpretado (lo que seguramente quiso decir con un guion, que de alguna manera es vago y se usa para diferentes propósitos) son lados diferentes de la misma moneda, y por lo tanto, es la misma razón.

La última razón, que no se ejecuta en todas las plataformas, es confusa. Parece que está tratando de promocionar la portabilidad de Java y PHP simplemente no es Java. Sin embargo, Java se ejecuta en una plataforma muy específica: la JVM. Esa plataforma a su vez se ejecuta en muchas otras plataformas, y por lo tanto le da a Java su portabilidad, pero no es lo mismo que el uso tradicional de "portátil". Por ejemplo, C es portátil y funciona con todo, desde un PDP-11 hasta los últimos dispositivos integrados.

Sin embargo, C lo hace al especificar reglas de su propia plataforma abstracta, y los compiladores transforman el código C en ensamblado de acuerdo con esas reglas. Así es como la portabilidad de Java es similar a la de C: ambos definen reglas que se traducen en instrucciones para una máquina concreta específica (procesador); la diferencia es cuando eso ocurre.

Todos los problemas en la informática se pueden resolver con otro nivel de indirección.
- David Wheeler

En realidad, incluso el ensamblador o "código de máquina" es interpretado por el procesador en sus acciones nativas. (No tengo una buena fuente a mano para esto, pero recuerdo que está ligeramente cubierto por A Crash Course en Modern Hardware , que de todas maneras es una buena presentación). A medida que las velocidades de los procesadores se hacen más rápidas, apenas lo notamos en nuestras cajas infrautilizadas si un programa dado está en asm o se ejecuta a través de un intérprete, pero aquí es donde entra en juego la definición de "lenguaje de programación real".

La única forma sensata de definir un "lenguaje de programación real" es como "un lenguaje para hacer un trabajo real", pero eso también se basa en la definición de "real". (Sin embargo, establece una distinción con los lenguajes de programación esotéricos , porque nadie hace un trabajo real, por ejemplo, en Malbolge , para cualquier definición de "real" podría lograr que diez personas estén de acuerdo). Y, en comparación con el presente, su las opciones de un lenguaje de programación estaban mucho más limitadas por su estrategia de implementación y gastos generales (por ejemplo, un intérprete en tiempo de ejecución) en el pasado. Sin embargo, incluso hoy en día, algunos idiomas son más "reales" que otros para ciertas aplicaciones y cargas esperadas, todo depende de sus requisitos.

Parece que tu profesor solo ha experimentado PHP a través de aplicaciones web de juguetes (y tal vez el uso de ''aplicaciones'' es demasiado para lo que ha visto). Los programas de juguete no son un trabajo real. PHP definitivamente tiene muchos problemas, pero no podría decir que no es un lenguaje de programación real, excepto en broma.

La depuración se anticipa con disgusto, se realiza con renuencia y se jacta de siempre.
- Dan Kaminsky

Existe una cierta asociación de "real" con "difícil de hacer" (relacionado con el "trabajo real") y su maestro puede haber estado expresando este sentimiento. Esto siempre me ha parecido una forma de bikeshedding (hay un término mejor para esto exactamente, pero no lo recuerdo), en el que la estimación del valor de una cosa está relacionada con el esfuerzo que uno tiene que poner en ella ( por ejemplo, un bikeshed es más importante cuando proporciono información sobre el color del techo y si debe tener una señal). Valoramos intrínsecamente nuestro propio esfuerzo más que el de los demás, simplemente porque estamos familiarizados con él, aunque no sea por otra razón, incluso cuando no tiene sentido hacerlo. PHP, a pesar de sus fallas, hace que algunas cosas sean fáciles, y esto y los programas escritos en él pueden ser percibidos como menos valiosos.


Es solo una de esas cosas estúpidas que la gente repite para hacerse sonar más inteligentes y encerrarte, su suficiencia de culto a la carga. Si le pides que se lo explique, o fingirá que fue una broma (dile "buen intento"), o intentará patéticamente defender su posición (dile "oh, ya veo", y se alejará lentamente)


Facebook, Digg, Wikipedia, Yahoo. Supongo que esos no son sitios web reales.


Lo siento por el OT, pero hay muchas cosas mal con esta imagen. Solo espero que saldrás de esa clase, de ese departamento y de esa escuela lo más rápido que puedas. Prometo que no tendrás nada cerca del conocimiento de un semestre cuando llegue febrero. Y, si eres como yo, pasarás las horas de clase en la frustración, el resentimiento y la ira en el momento en que tu maestra está perdiendo por ti.

¡Esa mujer no es maestra! ¿De decimal a binario como introducción a la codificación? ¡Horrible!

¿Es la Universidad (¡ja!) De Phoenix?


No existe el lenguaje de programación real, el hombre real o el mundo real. Eres un programador si puedes programar en PHP.


Por supuesto, PHP es un lenguaje de programación. Probablemente quiso decir que no es un lenguaje de programación "real" en el mismo sentido en que los hombres "reales" no comen quiche .


Primero, necesitamos saber qué es un lenguaje de programación. Como mínimo, un lenguaje de programación es algo que lee la computadora y le indica que realice ciertas operaciones. Muchas personas también esperarían que se completara un lenguaje de programación de propósito general . Sin embargo, podría haber situaciones en las que un lenguaje específico de dominio no sea Turing completo pero siga siendo un lenguaje de programación útil para ese dominio específico. Los lenguajes de programación se pueden compilar o interpretar, y se pueden ejecutar en muchas plataformas o solo en una específica. Las diferentes necesidades requieren diferentes lenguajes de programación. Claramente PHP es un lenguaje de programación.

Mi definición de lenguaje de programación "real" sería cualquier lenguaje de programación que tenga al menos un uso práctico en el mundo real. Esto se opone a un lenguaje de programación esotérico que típicamente no tiene un uso práctico. Dado que PHP se utiliza ampliamente para resolver problemas reales, cumple fácilmente este requisito para ser un lenguaje de programación real, aunque posiblemente no sea un lenguaje particularmente bello.

PHP es un lenguaje pragmático. Fue creado a partir de una necesidad específica de poder hacer páginas web rápidamente (el nombre originalmente significaba páginas de inicio personales) y el idioma se extendió según sea necesario. Como no había antecedentes teóricos ni sólidos principios de diseño que impulsaran su creación (ni siquiera existe una especificación formal del lenguaje), es menos limpio que muchos otros lenguajes más modernos. Las características como el manejo correcto de caracteres extranjeros / caracteres Unicode obviamente se agregan luego y no se integran limpiamente con el resto del lenguaje. Este desorden y la falta de rigor teórico hacen que muchas personas (especialmente los académicos) no les guste el idioma y esta puede ser una de las razones por las que su profesor no considera el PHP como un lenguaje "real".

Sin embargo, PHP es bueno para lo que fue diseñado y muchos sitios lo usan, incluso sitios muy grandes como Facebook, Yahoo! y Wikipedia.


Solo para poner una discusión en la otra dirección a todos los demás ...

Me siento un poco incómodo pensando en PHP como lenguaje de programación porque no estoy convencido de que termine con un programa . No dejas tu aplicación PHP en ejecución, sino que se solicita una página PHP y se carga y procesa para generar una página de salida, con efectos secundarios como cambios en la base de datos, etc.

Nada de esto significa que PHP no puede describirse técnicamente como un lenguaje de programación, pero creo que es razonable separarlo de alguna manera de Java / C ++, donde un programa puede dejarse en ejecución con algún concepto de estado. Cada archivo PHP es seguramente su propio "programa" ya que puede solicitar cualquier página PHP ... no hay un punto de entrada a una aplicación web PHP, excepto la convención de llamar a las páginas correctas.


Tienes razón. Estas razones son muy débiles. En realidad, ni siquiera necesitas que Apache ejecute PHP.
Y las dos primeras razones simplemente se repiten ya que es solo una razón en realidad. Por lo tanto, uno puede decir que ''PHP no es un lenguaje compilado'', pero eso no significa que sea ''un lenguaje de programación no real''. Los programas de Java tampoco se compilan en códigos de máquina; bueno, tampoco es un lenguaje real. qed