Jai une question sur java main (). java main () ne renvoie rien. Par génie logiciel, un bloc de code qui ne retourne rien sappelle une Procédure, alors pourquoi appelons-nous main () une méthode? devrions-nous plutôt lappeler procédure principale?
Veuillez vous référer à: Méthode vs fonction vs procédure
Réponse
Devrions-nous appeler la méthode
main()
commemain()
procédure?
De manière informelle, bien sûr. Il ny a pas de problème avec ça.
Par génie logiciel, un bloc de code qui ne renvoie rien est appelé une procédure.
Bien que ce soit bien, ce nest pas 100% standard dans toutes les langues et dans tout le génie logiciel. La procédure est un terme assez général et peut être utilisée dans divers contextes à divers niveaux dabstraction et de généralité.
Par exemple, dans la spécification du langage Java , le mot « procédure » apparaît 41 fois, aucune sont utilisés pour faire référence à «fonctions vs méthodes vs procédures».
Presque toutes les utilisations du terme «procédure» dans la spécification font référence à un algorithme bien défini, le plus souvent spécifiquement lalgorithme dinitialisation de classe comme une opération complexe, interne et avec état du langage & son exécution, plutôt que comme quelque chose que vous pouvez appeler.
En revanche, le mot « méthode » apparaît 2049 fois, dont la « méthode d eclaration « , donc ce terme représente une construction syntaxique et sémantique dans le langage que les programmeurs utiliseront.
Nous appelons main
une méthode, en Java car cest ce qui cest par la terminologie du langage — une « méthode statique void ». Le langage Java noffre pas le terme procédure comme quelque chose qui peut être invoqué ou quelque chose comme une fonction sans valeur de retour.
Les langages sont généralement définis par une spécification assez rigoureuse. Ces spécifications introduisent une terminologie à utiliser dans le reste de la spécification, et à des fins de clarté, cette terminologie est généralement clairement définie. Les auteurs dune langue et de sa spécification ont le privilège de redéfinir les termes communs avec des significations spécifiques à la langue. Ils se donnent beaucoup de mal pour utiliser ces termes de manière cohérente dans leurs spécifications linguistiques. La terminologie quils introduisent dans la spécification a tendance à être utilisée par les programmeurs dans le contexte de ce langage de programmation.
Les mêmes termes exacts peuvent différer dans la signification entre deux langages. Ils peuvent également différer dune utilisation informelle courante dans toute la programmation, où les termes ne sont pas définis de manière aussi rigoureuse que dans une spécification de langage.
Commentaires
- Erik , Merci pour lexplication détaillée. Cela a du sens selon les spécifications Java.