Qu'est ce qu'un “vrai” langage de programmation?
Récemment, un professeur a dit "PHP n'est pas un vrai langage de programmation", mais seulement a donné, à mon avis, la faiblesse de la justification:
- Il n'est pas compilé.
- C'est scripté.
- Il ne fonctionne pas sur toutes les plateformes.
Est que PHP est pas considéré comme un "vrai" langage de programmation? Qu'est ce qu'un "vrai" langage de programmation? Doit un langage compilé pour être pris au sérieux?
Arrière-plan
J'ai fait une induction de la leçon dans mon Informatique de Niveau de Classe dans l'école il y a deux jours – nous sommes à l'aide de Java pour la première année de cours. Je suis familier avec Java, mais ont une assez bonne emprise sur la programmation générale de base (les variables, les fonctions, l'orientation de l'objet, les boucles, etc.).
Notre première tâche de l'enseignant a couru à travers ridiculement rapide. Elle n'a pas pris la peine d'expliquer tous les concepts, comment ils fonctionnent, ou ce que vous voulez de façon réaliste les utiliser pour, et semblait prendre un grand plaisir en regardant la plupart des étudiants (qui ont été, dans l'ensemble, les nouvelles de la programmation) se tortiller dans leurs sièges à ne pas avoir qu'une vague idée de ce qu'elle était sur à propos de. Avec le recul, je pense qu'elle a traversé très rapidement pour voir qui pouvait vraiment le "gérer" la prise de Calcul d'Un Niveau, puisque les élèves ont encore une chance de changer leurs sujets avant le mois de septembre commence.
La première et la seule tâche était d'écrire un Java application de ligne de commande pour convertir du binaire à dénaire (décimal). Nous avons eu deux heures de cours d'initiation pour ce faire, et après explication de la façon dont le système binaire travaux, nous avons dû commencer, malgré tout, dans l'ensemble, personne ne l'a vraiment avoir la moindre idée de par où commencer. Après une heure, certains ont été plus loin que les autres, mais personne n'avait vraiment réalisé quelque chose de significatif. L'enseignant est devenu si confus, elle a appelé dans un autre professeur d'à côté. Il vint à aider les gens et de voir où aller.
Sans vantardise, je l'ai probablement fait ont le plus d'expérience dans la classe et avait été le plus loin dans l'exercice. Il m'a demandé si j'avais eu du tout d'expérience; j'ai dit oui, surtout en PHP, et en plaisantant dit que je pouvais écrire quelque chose à convertir en binaire à dénaire, en quelques lignes de PHP, alors que l'application Java a été en croissance rapide en plusieurs écrans de code.
Il a répondu, "PHP n'est pas un vrai langage de programmation!"...! Après discussion, il a donné les trois raisons ci-dessus. Cependant, je l'ai souligné, vous pouvez utiliser PHP sur toute plate-forme qui utilise Apache, mais je ne pense pas qu'il sait vraiment de quoi Apache et qu'il avait rien de tout cela!
- Votre professeur est probablement l'un de ces vrai programmeurs
- Aimé que XKCD comique quand je l'ai lu. Merci pour le rappel. Et je suppose un vrai programmeur des années 2000 serait d'utiliser Java.
- On dirait que vous avez un goût amer de l'enseignant, probablement lutté avec PHP et a décidé que c'était mal.
- comme nous le savons tous il y a un seul vrai programmeur et il n'a pas de programme en PHP ou JAVA.
- est une référence à Mel Kaye? Ou certaines suivantes-sur blague je ne comprends pas... 😉
- En passant, merci pour les modifications. J'ai vraiment gaufre beaucoup trop. 😀
- doit être soit Mel ou Chuck Norris 😉
- Quand Chuck Norris lève des exceptions, c'est à travers la pièce... ...à mon professeur d'Informatique. 😉
- "en plaisantant dit que je pouvais écrire quelque chose à convertir en binaire à dénaire, en quelques lignes de PHP, alors que l'application Java a été en croissance rapide en plusieurs écrans de code". - la plaisanterie est qu'il faut plusieurs pages de code pour le faire en Java, droit?
- Bon les enseignants semblent extrêmement inhabituel.
- quatre-vingt-dix pour cent de tout ce qui est crud.
- mais avec les enseignants, c'est au moins de 99,99%.
- tellement facile de critiquer. Si dur à faire.
- ce sont simplement différentes façons de reconnaître la même chose. L'enseignement est extrêmement difficile, donc très près de tous les enseignants ne sont pas à la tâche, et donc il ya de nombreuses possibilités pour les critiquer.
- Il n'est pas raisonnable, à l'exception de quelqu'un pour être un développeur de logiciels ET d'un enseignant à plein temps. L'enseignement dans un domaine qui bouge si vite doit être pratiquement impossible pour rester à jour, les enseignants devraient se concentrer sur la théorie et ne pas se laisser entraîner dans des conversations sur des technologies spécifiques parce que certains smart-ass gamin qui n'a aucune compréhension de la CS exécuter des anneaux autour d'eux sur Ruby on Rails.
- Par ses normes, seulement binaire est un langage de programmation; aucune autre langue courir sur l'ENIAC.
- Je pense que vous l'enseignant est en droit, PHP n'est pas vraiment un bon langage pour les grande échelle système de recherche scientifique ou de l'application. Il n'est guère de voir une application scientifique mis en œuvre à l'aide de PHP. Il n'est tout simplement pas un bon développeur c'est tout. Je peux écrire en binaire à dénaire convertisseur en seulement quelques lignes en java
Vous devez vous connecter pour publier un commentaire.
Nous devons d'abord savoir ce qu'est un langage de programmation est. À son minimum, un langage de programmation est quelque chose qui est lu par l'ordinateur et l'instruit pour effectuer certaines opérations. Beaucoup de gens s'attendent également à une langage de programmation général être Turing. Toutefois il pourrait y avoir des situations où un spécifiques au domaine de la langue n'est pas Turing complet, mais il est encore utile de langage de programmation, pour ce domaine spécifique. Les langages de programmation peut être compilé ou interprété, et ils pourraient fonctionner sur plusieurs plates-formes ou juste un seul. Des besoins différents nécessitent différents langages de programmation. Clairement PHP est un langage de programmation.
Ma définition de "vrai" langage de programmation serait tout langage de programmation qui a au moins une utilisation pratique dans le monde réel. C'est par opposition à une ésotérique langage de programmation qui a généralement pas d'utilisation pratique. Depuis PHP est largement utilisé pour résoudre les vrais problèmes facilement répond à cette exigence pour être un véritable langage de programmation, même si c'est sans doute pas un très belle langue.
PHP est une pragmatique de la langue. Il a été créé à partir d'un besoin spécifique pour être en mesure de faire rapidement des pages web (le nom se trouvait initialement à des fins Personnelles les Pages d'Accueil), et la langue a été étendue que nécessaire. Puisqu'il n'y avait aucune arrière-plan théorique ou de solides principes de conception de la conduite de sa création (il n'y a même pas une spécification formelle de la langue) c'est moins propre que beaucoup d'autres langues modernes. Des fonctionnalités comme la gestion des caractères étrangers /les caractères unicode sont évidemment ajoutée après coup et de ne pas proprement intégré avec le reste de la langue. Ce désordre et le manque de rigueur théorique provoque de nombreuses personnes (notamment universitaires) à ne pas aimer la langue, ce qui peut être une partie de la raison pourquoi votre professeur n'est pas tenu de PHP comme "réel" de la langue.
Toutefois PHP est bon dans ce qu'il a été conçu pour et de nombreux sites à utiliser, même les très gros sites comme Facebook, Yahoo! et Wikipedia.
PHP == 'PHP: Hypertext Preprocessor' || PHP == 'Personal Homepage'
- ?!PHP peut être compilé (par exemple, par le biais de HHVM).
C'est juste une autre façon de dire que PHP n'est pas compilé.
Ni Java.
Dirait que vous avez vraiment un mauvais enseignant il en.
De cours PHP est un langage de programmation. Il signifiait probablement qu'il n'est pas un "vrai" langage de programmation dans le même sens que de"vrais" hommes ne mangent pas de quiche.
Il semble, d'après cela, que PHP est un langage de programmation. Si c'est un réel langage de programmation est entièrement subjective. Si c'est un bonne langue est aussi subjectif. Certes, il est le plus souvent pas utilisé comme un application langage de programmation, mais il peut être utilisé pour développer shell applications via CLI. Je ne l'ai jamais fait, donc ma compréhension de celui-ci est sommaire, mais c'est possible.
Maintenant, est PHP "script" (je prendre ceci au moyen d'un langage de script), et il tourne sur toutes les plateformes? Vous juge:
Java même fonctionner sur toutes les plateformes? Pas de. Seulement ceux pour lesquels il existe une JVM.
Finalement, est une langue doivent être compilés? Beaucoup ne le sont pas. Même Java n'est pas compilé de la même façon en C ou C++ est. Et puis vous auriez également besoin de prendre un coup d'oeil à Perl, Python, etc.
Personnellement, je pense que PHP est un véritable langage de programmation. J'ai commencé il y et facilement déplacé sur de C/C++ et Java. Je ne voudrais pas l'utiliser dans le même but que Java, et son design est différent de Java, mais cela ne veut pas dire grand-chose. Il a été plus facile à apprendre que Java pour moi.
Tout d'abord, ne pas être compilé et interprété (ce qu'il a sûrement voulu dire par script, qui est un peu vague et utilisés à des fins différentes de toute façon) sont les deux faces de la même pièce de monnaie, et donc vraiment la même raison.
La dernière raison, qu'elle n'est pas exécutée sur chaque plate-forme est tout simplement déroutant. On dirait qu'il essaie de tout la portabilité de Java et PHP n'est tout simplement pas Java. Cependant, Java s'exécute sur une plate-forme spécifique: la JVM. Cette plate-forme, à son tour tourne sur de nombreuses autres plateformes, et donne ainsi à sa portabilité de Java, mais ce n'est pas tout à fait la même que l'utilisation traditionnelle de "portable". Par exemple, C est portable et fonctionne sur tout à partir d'un PDP-11 à la dernière périphériques embarqués.
Cependant, C n'est qu'en définissant des règles de son propre résumé de la plateforme, et les compilateurs de transformer le code C en assemblée conformément à ces règles. C'est de cette façon de Java est la portabilité est similaire à C: ils ont à la fois de définir des règles qui sont traduites en instructions spécifiques et concrètes de la machine (processeur); la différence est quand cela se produit.
En réalité, même de l'assemblée ou "code machine" est interprété par le processeur dans son pays natal actions. (Je n'ai pas de bonne source à portée de main, mais je rappel que c'est légèrement couvert par Un Cours intensif de Matériel Moderne, ce qui est une bonne présentation de toute façon.) Comme la vitesse du processeur plus rapide, nous avons à peine avis sur nos boîtes de sous-utilisés si un programme donné est en asm ou à exécuter par l'intermédiaire d'un interprète, mais c'est là la définition de "vrai langage de programmation" entre en jeu.
La seule façon rationnelle de définir un "vrai langage de programmation" est comme "une langue à travailler", mais qui sont très plates sur la définition du "réel", trop. (Il n'est, toutefois, d'établir une distinction avec ésotérique langages de programmation, parce que personne ne le travail réel, par exemple, dans Malbolge, pour la définition du "réel", vous pouvez obtenir de dix personnes pour convenir d'.) Et, par rapport à aujourd'hui, votre choix d'un langage de programmation ont été beaucoup plus limités par leur stratégie de mise en œuvre et les frais généraux (par exemple, à l'exécution, interprète) dans le passé. Cependant, même aujourd'hui, certaines langues sont plus "réel" que les autres pour certaines applications et des charges, tout dépend de vos exigences.
Il semble que votre professeur n'a connu PHP par le biais de jouet applications web (et peut-être à l'aide de l '"application" est un tronçon de ce qu'il voit). Jouet programmes ne sont pas réelles de travail. PHP a certainement beaucoup de problèmes, mais je ne pouvais pas dire qu'il n'est pas un vrai langage de programmation, sauf dans la plaisanterie.
Il y a une certaine association de "réel" à "difficile à faire" (liées à la "vrai travail"), et votre professeur peut avoir été exprimant ce sentiment. Cela a toujours m'est apparu comme une forme de bikeshedding (il y a une meilleure durée de la présente exactement, mais je ne m'en souviens pas), dans lequel l'estimation de la valeur d'une chose est liée à l'effort que l'on devait mettre en elle (par exemple, un bikeshed est plus important quand j'ai fourni des commentaires sur la couleur du toit et s'il doit avoir un signe). Nous intrinsèque de la valeur de notre propre effort, plus que les autres – tout simplement parce que nous sommes familiers avec elle, si pour aucune autre raison, même quand elle ne fait pas de sens de le faire. PHP, malgré ses défauts, fait faire des choses faciles, et il et des programmes écrits dans il peut donc être perçue comme une valeur inférieure.
Facebook, Digg, Wikipedia, Yahoo. Je suppose que ce ne sont pas de vrais sites web.
En arrière quand j'étais en train d'apprendre le PHP, je ne crois pas que PHP, un langage de programmation.
Je ne suis pas sûr de l'endroit où j'ai pris l'idée, mais j'ai appris quelque part qu'un langage de script n'est pas un langage de programmation. J'ai donc appliqué ce raisonnement à d'autres langues, telles que JavaScript et SQL.
Depuis que j'ai changé mon esprit et de comprendre qu'il existe aujourd'hui un éventail de langues qui va de haut niveau (par exemple, PHP, Javascript) à un niveau faible (ex: c, assembleur) avec des choses comme C# et Java, quelque part entre les deux.
Vous avez raison. Ces raisons sont trop faibles. En fait, vous n'avez même pas besoin d'Apache PHP à exécuter.
Et les deux premières raisons sont juste de se répéter que c'est la seule raison en fait. Donc, on peut dire 'PHP n'est pas compilé de la langue", mais cela ne veut pas dire "ce n'est pas un véritable langage de programmation'. Les programmes Java ne compile pas dans les codes de machine trop bien, c'est pas une vraie langue. q.e.d.
Désolé pour l'ancien testament, mais il y a tellement, tellement de choses de mal avec cette photo! J'espère juste que vous renflouer de cette classe, de ce département, et que l'école aussi vite que vous le pouvez. Je vous promets que vous n'aurez rien à proximité pour un semestre vaut la peine de connaissances lors de février vient. Et, si vous êtes comme moi, vous allez passer vos heures de cours dans la frustration, le ressentiment, et de rage au moment de votre professeur perdre pour vous.
Que la femme n'est pas professeur! Décimal à binaire comme une introduction au codage? Horrible!
Est-il de l'Université (ha!) de Phoenix?
Mise à JOUR: à lire attentivement avant de voter, ce n'est pas mon approche de PHP/Java, je suis en train de voir comment son maître voit le PHP/Java chose. Merci.
Ce que je pense de votre professeur pensait: PHP est un langage qui est enfermé à l'intérieur d'un serveur web, principalement utilisé pour générer des pages web.
Java, en revanche, est d'un usage général de la langue utilisé pour les pages web, mais aussi utilisé dans d'autres industries, comme les fours à micro-ondes & voitures, vous pouvez écrire du bureau de l'application en Java, etc.
Avec cela à l'esprit, il est facile de comprendre pourquoi votre enseigné dit "PHP n'est pas un vrai langage de programmation!"
Je ne suis pas biaisé, je n'aime pas à la fois, Java & PHP 🙂 ...mais pour les utiliser à la fois
Il n'y a pas une telle chose comme un vrai langage de programmation, l'homme réel, ou du monde réel. Vous êtes un programmeur, si vous pouvez programmer en PHP.
Certainement, PHP est un langage de programmation. Il est même Turing-complet de la langue, ce qui signifie essentiellement que son "pouvoir" est égal à "puissance" d'autres langages de programmation. Il est "réelle", à la fois dans la plus stricte (il existe vraiment) et le sens métaphorique (il y a des gens qui gagnent leur vie à l'aide de PHP). Il semble donc que votre professeur est quelque peu biaisée.
Cependant, je vois un certain moment dans votre l'attitude des enseignants. PHP et Java viennent de radicalement différentes origines. En dépit d'être utile, PHP est très chaotique. Comparer le niveau de la bibliothèque de classes Java avec la bibliothèque standard de fonctions PHP - ci ressemble à de l'énorme jeu de sans rapport avec les outils. En outre, il ya beaucoup de PHP tutoriels sur le Web qui sont d', poliment de parler, de qualité médiocre. Parce que vous apprendre à programmer, il est préférable d'apprendre à utiliser les bons outils, et que Java est bien meilleur outil pour apprendre la programmation PHP.
PS. Google "PHP suce" pour obtenir des tonnes d'informations pourquoi le PHP n'est pas le meilleur outil dans le monde.
"Alors, dans la définition d'un langage de programmation', ce qui fait de PHP pas un bon " un?"
La vraie raison est le fait que la plupart des gens ne l'utilisent pas un langage de programmation d'applications.
C'est parce qu'il y a toujours des langues qui sont mieux adaptés (à une exception près: ce que PHP a été créé pour la programmation web). PHP est "encore un autre langage, non pas même avec les meilleures caractéristiques de conception plus de celles déjà existantes". Quelques exemples de questions quand on la compare aux autres langues comprennent: le manque de stabilité des portables et kits graphiques (au moins sur Windows/MacOS), le manque de filetage, le manque de vitesse, et ainsi de suite.
En fin de compte, les gens qui vont écrire des applications générales en PHP, sont pour la plupart des gens qui ne le savent bien le PHP comme langage de programmation. Car il n'y a pas de raison d'en écrire une nouvelle application à partir de zéro en PHP: vous trouverez que la plupart ont expérimenté ou des programmeurs de talent ne serait jamais envisager de faire cela.
Ses juste une de ces choses stupides les gens de répéter pour se faire son plus intelligent et vous arrêtez l'onduleur, son culte du cargo complaisance. Si vous lui demandez d'expliquer, il va soit faire semblant que c'était une blague(de lui dire "nice try"), ou tenter pathétiquement de défendre sa position (lui dire "oh, je vois", et reculez lentement)
Juste pour mettre un argument dans l'autre sens pour tout le monde...
Je me sens un peu mal à l'aise en pensant à PHP de la programmation langue parce que je ne suis pas convaincu que vous vous retrouvez avec un programme. Vous ne quittez pas votre PHP app en cours d'exécution, plutôt une page PHP qui est demandé et est chargé et traitées dans le but de générer une page de sortie, avec des effets secondaires comme DB, etc.
Rien de tout cela signifie que PHP ne peut pas techniquement être décrit comme un langage de programmation, mais je pense que c'est raisonnable de le séparer en quelque sorte de Java/C++ où un programme peut être laissé en marche, avec la notion de l'état. Chaque fichier PHP est sûrement son propre "programme" puisque vous pouvez demander à toute page PHP... il n'y a pas de point d'entrée à un PHP web-application à l'exception de la convention de l'appel de la droite des pages.