Tenho uma pergunta sobre java main (). java main () não retorna nada. Por engenharia de software, um bloco de código que não retorna nada é chamado de Procedimento. Então, por que chamamos main () de método? devemos chamá-lo de procedimento principal?
Consulte: Método vs função vs procedimento
Resposta
Devemos chamar o método
main()
comomain()
procedimento?
Informalmente, claro. Não há problema com isso.
De acordo com a engenharia de software, um bloco de código que não retorna nada é chamado de Procedimento.
Embora esteja bem, não é 100% padrão em todas as linguagens e em toda a engenharia de software. Procedimento é um termo bastante geral e pode ser usado em vários contextos em vários níveis de abstração e generalidade.
Por exemplo, na especificação da linguagem Java , a palavra “procedimento” aparece 41 vezes, nenhuma das quais são usados para se referir a “funções vs. métodos vs. procedimentos”.
Quase todos os usos do termo “procedimento” nas especificações referem-se a um algoritmo bem definido, mais frequentemente especificamente o algoritmo de inicialização de classe como uma operação complexa, interna e com estado da linguagem & seu tempo de execução, em vez de algo que você pode invocar.
Em contraste, a palavra “método” aparece 2.049 vezes, uma das quais é o “método d eclaration “, então este termo representa uma construção sintática e semântica na linguagem que os programadores usarão.
Chamamos main
de método em Java porque é isso que é pela terminologia da linguagem — um “método vazio estático”. A linguagem Java não oferece o termo procedimento como algo que pode ser invocado ou algo como uma função sem um valor de retorno.
As linguagens são normalmente definidas por uma especificação bastante rigorosa. Essas especificações introduzem a terminologia para uso no restante da especificação e, para fins de clareza, essa terminologia é geralmente definida com clareza. Os autores de uma linguagem e de suas especificações têm o privilégio de redefinir termos comuns com significados específicos da linguagem. Eles fazem um grande esforço para usar esses termos de forma consistente dentro de suas especificações de linguagem. A terminologia que eles introduzem na especificação tende a ser usada por programadores no contexto dessa linguagem de programação.
Os mesmos termos exatos podem diferir no significado entre duas linguagens. Eles também podem diferir do uso comum e informal amplamente em toda a programação, onde os termos não são definidos com tanto rigor quanto em uma especificação de linguagem.
Comentários
- Erik , Obrigado pela explicação detalhada. Faz sentido de acordo com as especificações Java.