Biblioteca padrão - Standard library

Uma biblioteca padrão em programação de computador é a biblioteca disponibilizada nas implementações de uma linguagem de programação . Essas bibliotecas são convencionalmente descritas nas especificações da linguagem de programação ; entretanto, o conteúdo da biblioteca associada a um idioma também pode ser determinado (em parte ou no todo) por práticas mais informais da comunidade de um idioma.

Visão geral

A biblioteca padrão de uma linguagem é freqüentemente tratada como parte da linguagem por seus usuários , embora os designers possam tê-la tratado como uma entidade separada. Muitas especificações de linguagem definem um conjunto básico que deve ser disponibilizado em todas as implementações , além de outras partes que podem ser opcionalmente implementadas. A linha entre um idioma e suas bibliotecas, portanto, difere de idioma para idioma. Na verdade, algumas linguagens são projetadas de forma que os significados de certas construções sintáticas não possam ser descritos sem referência à biblioteca central. Por exemplo, em Java , um literal de string é definido como uma instância da classe java.lang.String; da mesma forma, em Smalltalk , uma expressão de função anônima (um "bloco") constrói uma instância da classe BlockContext da biblioteca. Por outro lado, Scheme contém vários subconjuntos coerentes que são suficientes para construir o resto da linguagem como macros de biblioteca, e assim os designers de linguagem nem se preocupam em dizer quais partes da linguagem devem ser implementadas como construções de linguagem e quais devem ser implementadas como partes de uma biblioteca.

Conteúdo

Bibliotecas padrão geralmente incluem definições para algoritmos comumente usados, estruturas de dados e mecanismos de entrada e saída. Dependendo das construções disponibilizadas pela linguagem hospedeira, uma biblioteca padrão pode incluir:

A maioria das bibliotecas padrão inclui definições para pelo menos os seguintes recursos comumente usados:

Filosofias

As filosofias de design de biblioteca padrão variam amplamente. Por exemplo, Bjarne Stroustrup , designer de C ++ , escreve:

O que deve estar na biblioteca C ++ padrão? Um ideal é que um programador seja capaz de encontrar todas as classes, funções, modelos, etc. interessantes, significativos e razoavelmente gerais em uma biblioteca. No entanto, a questão aqui não é: "O que deve haver em alguma biblioteca?" mas "O que deve estar na biblioteca padrão ?" A resposta "Tudo!" é uma primeira aproximação razoável para uma resposta à primeira pergunta, mas não à última. Uma biblioteca padrão é algo que todo implementador deve fornecer para que todo programador possa confiar nela.

Isso sugere uma biblioteca padrão relativamente pequena, contendo apenas as construções que "todo programador" pode razoavelmente exigir ao construir uma grande coleção de software. Essa é a filosofia usada nas bibliotecas padrão C e C ++ .

Por outro lado, Guido van Rossum , designer do Python , adotou uma visão muito mais abrangente da biblioteca padrão Python nos oferece meios de linguagem de alto nível fáceis de codificar, orientados a objetos. E então temos várias bibliotecas Python para fazer trabalhos como matemática, mineração de dados, exploração de dados e visualização .; no tutorial Python, ele escreve:

Python tem uma filosofia de "baterias incluídas". Isso é melhor visto através dos recursos sofisticados e robustos de seus pacotes maiores.

Van Rossum continua listando bibliotecas para processamento de XML , XML-RPC , mensagens de e-mail e localização, recursos que a biblioteca padrão C ++ omite. Essa outra filosofia é freqüentemente encontrada em linguagens de script (como em Python ou Ruby ) ou linguagens que usam uma máquina virtual , como Java ou as linguagens .NET Framework . Em C ++, esses recursos não fazem parte da biblioteca padrão, mas de outras bibliotecas, como Boost .

Exemplos de bibliotecas padrão

Referências

  1. ^ Bjarne Stroustrup. A linguagem de programação C ++ . 3rd Ed. Addison-Wesley, 1997
  2. ^ "As 12 principais bibliotecas Python para 2021 - Blog Codersera" . 2021-02-16 . Recuperado em 2021-02-18 .
  3. ^ Guido van Rossum. [1] .