Mám dotaz ohledně java main (). java main () nic nevrací. Podle softwarového inženýrství se blok kódu, který nic nevrací, nazývá Procedura. Proč tedy nazýváme metodu main ()? měli bychom to místo toho nazvat hlavním postupem?
Odpověď
Měli bychom metodu
main()
nazvat jakomain()
postup?
Neformálně jisté. S tím není problém.
Podle softwarového inženýrství se blok kódu, který nic nevrací, nazývá Procedura.
I když je to v pořádku, není to stoprocentní standard ve všech jazycích a v celém softwarovém inženýrství. Postup je poměrně obecný pojem a lze jej použít v různých kontextech v různých úrovně abstrakce a obecnosti.
Například ve specifikaci jazyka Java se slovo „postup“ objeví 41krát, žádný z nich se používají k označení „funkce vs. metody vs. postupy“.
Téměř všechna použití výrazu „postup“ ve specifikaci odkazují na dobře definovaný algoritmus, nejčastěji konkrétně na algoritmus inicializace třídy jako komplexní, interní a stavová operace jazyka & jeho běhového prostředí, nikoli jako něco, co můžete vyvolat.
Naproti tomu se slovo „metoda“ objevuje 2049krát, z nichž jeden je „metoda d eclaration „, takže tento výraz představuje syntaktický a sémantický konstrukt v jazyce, který budou programátoři používat.
V Javě nazýváme main
metodu, protože to je to, co je podle terminologie jazyka — „metoda statické neplatnosti“. Jazyk Java nenabízí pojem procedura jako něco, co lze vyvolat, nebo něco jako funkce bez návratové hodnoty.
Jazyky jsou obvykle definovány poměrně přísnou specifikací. Tyto specifikace zavádějí terminologii pro použití ve zbytku specifikace a pro účely jasnosti je taková terminologie obvykle jasně definována. Autoři jazyka a jeho specifikace mají tu čest předefinovat běžné termíny s významy specifickými pro jazyk. Snaží se tyto výrazy důsledně používat v rámci své jazykové specifikace. Terminologie, kterou uvádějí ve specifikaci, má sklon používat programátoři v kontextu tohoto programovacího jazyka.
Stejné přesné termíny se mohou mezi dvěma jazyky významově lišit. Mohou se také lišit od běžného, neformálního použití napříč programováním, kde termíny nejsou tak přísně definovány jako v jazykové specifikaci.
Komentáře
- Erik Děkuji za podrobné vysvětlení. Dává to smysl pro specifikaci Java.