Notas

1Trade-off é uma decisão onde o aumento de uma quantidade, qualidade ou propriedade vai decrescer outra e não há um cenário onde se ganhe nas duas frentes.

2regras da linguagem de programação para definir o conjunto de palavras (símbolos) permitidos e suas combinações.

3o WolframAlpha é excelente para testar procedimentos (e depois objetos/métodos) que envolvam matemática!

4Existe uma corrente a favor de primeiro criar o teste unitário e então implementar o código que cumpra o especificado. O nome desta técnica é Test-Driven Development (TDD, em português desenvolvimento guiado por testes). Para saber mais a respeito experimente essa leitura http://tdd.caelum.com.br/.

5C é uma linguagem procedimental criada em 1972 e usada até hoje (o ++ em C++ é uma analogia a um “incremento” da C). A maioria dos sistemas embarcados, núcleos de sistemas operacionais como Windows, Linux e Mac OS, por exemplo, são escritos em C ou C++.

6Eu sei que alguém pode dar um novo nome ao Gato, não vamos estragar o exemplo. Façamos assim, a cor do pêlo é constante. Quê? Se o Gato ficar velho ou cair o pêlo? Tá, tá, tu entendeste!

7Até é possível definir estado constante em JS e Python com algumas “manobras”, mas que deixam claro que não é um recurso “natural”.

8Os exemplo a seguir estarão na linguagem Java, e cabe apenas investigar se há e qual keyword está disponível para declarar uma propriedade constante na linguagem que pretendes programar.

9Tá, eu sei que tu podes encher a garrafa até transbordar e que passaria a capacidade nominal, mas, shhhh, não bugue o exemplo!!

10Trade-off é uma decisão onde o aumento de uma quantidade, qualidade ou propriedade vai decrescer outra e não há um cenário onde se ganhe nas duas frentes.

11Os quatro pilares da POO foram originalmente descritos no livro de Grady Booch Object Oriented Analysis and Design with Applications como: abstração, encapsulamento, modularidade e hierarquia.

12Ad hoc é uma expressão do latin que significa literalmente para isto, entendido melhor como algo para esta situação particular.

13Java é open-source, portando os códigos-fonte das classes padrão podem ser consultadas no repositório do Open JDK. Por exemplo, o código da classe Object está aqui https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/Object.java.