Você está na página 1de 41

1.

API: Application Programming Interface

ou, na língua do Chimbinha, “interface de programação de


aplicativos“, é uma “er…” interface que faz… exatamente o que
o nome diz: permite a programação de aplicativos! Não
entendeu? No seu bairro deve ter uma pizzaria onde você pode
ir e comprar uma pizza, certo? Mas você também pode
telefonar e “programar” o cozinheiro para fazer a mágica dele,
fabricar uma pizza e levar até sua casa, certo? Então, de
maneira semelhante, as startups oferecem métodos
alternativos para acessarmos os serviços que elas oferecem.
Por exemplo: eu posso ir no site do Google Maps e fazer uma
busca, ou posso fazer essa mesma busca no app do Uber que
usa a API do Google Maps (pensa no telefone da Pizzaria, só
que operado por robôs) para acessar as informações do
Google e disponibilizá-las para você.

2. Algoritmo:

maneira chique de falar passo-a-passo. Sabe aquela receita de


bolo que a sua avó seguia? Então, aquilo era algoritmo em sua
forma mais deliciosa.

3. Linguagens de alto nível:

quando a gente fala que uma linguagem é de alto nível, isso não tem
nada a ver com meritocracia, gosto musical nem hierarquia social! As
linguagens de programação trabalham em conjunto e em diferentes
níveis: aquelas que atuam mais próximas do hardware são chamadas
de baixo nível e as que têm um nível de abstração elevado, mais
próximas à linguagem humana e com alto nível de abstração
(sacou?) são chamadas de alto nível. Ver: Baixo nível.

4. Back-End:

É a parte da web que fica invisível para o usuário final.


Programadores Back-end são os responsáveis por criar toda a magia
que acontece “por trás dos panos”, toda vez que você usa uma
aplicação. São inúmeras linguagens de back-end, sendo JavaScript,
Ruby, Python e PHP as mais usadas por empresas de tecnologia,
hoje. Ver: Back-End e Full-Stack.

5. Linguagens de baixo nível:

No mundo da programação “baixar o nível” não é necessariamente


algo ruim! Linguagens de baixo nível são aquelas que “falam”
diretamente com o processador sem precisar (ou precisando pouco)
de adaptação. Simplificando, podemos dizer que são sequências de
instruções binárias entendidas pelo processador do computador e por
alguns poucos humanos como Neo, Morpheus e toda aquela turma
que conseguiu escapar da Matrix.

6. Bug:

Também conhecido como “dar pau”, é aquela coisa injusta que


acontece por culpa do computador (e nunca do programador),
fazendo com que os programas não se comportem exatamente da
maneira esperada.
7. Chatbot:

É como se fosse aquele atendente automático da Net só que em


versão chat que, por algum motivo desconhecido, ganhou fama de
“cool” e passou a ser visto pelos leigos como algo super tecnológico
e de outro planeta.

8. Codar:
..ou, programar...

9. Código elegante:

aquele código que consegue, em poucas linhas ou de maneira


simples, resolver problemas complexos. Também se caracterizam
por serem limpos, indentados corretamente e bem documentados.
Uma boa maneira de descobrir se um código é elegante seria
observando se o desenvolvedor que está lendo-o não está sofrendo
ímpetos de se transformar em um assassino sádico que mata
lentamente apenas por prazer.

10. Comitar:

É tipo um “save” tridimensional. Imagina que você está trabalhando


em um projeto com centenas de arquivos e que, na hora de salvar,
você pudesse guardar não apenas as mudanças feitas naquele
arquivo, mas também as mudanças feitas em TODOS os arquivos do
projeto, assim como saber quais arquivos foram modificados,
adicionados ou apagados. Seria incrível, né? Pois é exatamente isso
o que o Git faz (confira verbete!)! Quando um dev diz que “comitou”,
ele quer dizer que já terminou aquela parte do trabalho e o estado do
projeto está “salvo” no Git. Ver: Git.

11. Diretório:

É a palavra que seu tio programador old-school usa para se referir às


pastas do seu computador.

12. Debug/”debugar”:

processo lento, doloroso e carcinogênico de retirar bugs de uma


aplicação.

13. Foo:

“foo” está para o desenvolvedor assim como “trem” está para o


mineiro.

14. Força bruta:

Resolver um problema usando o poder de processamento infinito do


computador. É o contrário de elegância.

15. Funfa:

Código que funciona (mesmo que a gente não saiba o porquê).


16. Framework:

Pensa no pão-de-forma: uma porção de carboidratos pré-moldados


que pode servir de base a várias aplicações alimentícias. Com um
pão-de-forma, você pode criar desde clássicos da “larica” de
geladeira vazia como o pão-de-forma com ketchup e maionese
até bruschettas chiques, passando pela torta fria de pão-de-forma e
frango da sua tia, até chegar aos universais e deliciosos misto-quente
e PB&J. Podemos dizer que o pão-de-forma é
um framework alimentar: oferece as funcionalidades básicas para
qualquer aplicação alimentar (exceto as low-carb): e a cara, o formato
e as características finais da aplicação, quem decide é o seu criador.
(Sério, Fernando Americano, vc é a melhor pessoa.)

17. Front-End:

É a parte da web que você vê. Desenvolvedores Front-End são


aqueles que se preocupam com a experiência do usuário (UX) e com
a interface (UI ou GUI), trabalhando principalmente com HTML, CSS
e JavaScript. Ver: Back-end e Full-Stack.

18. Full-Stack:

o cara que joga nas 11. São chamados Full-stack


developers os devs que entendem tanto de front quanto de back-end. É
aquele cara que compõe, grava, produz, mixa e ainda cria a capa do
disco. Ver: Front-end e Back-end.
19. Git:

Ferramenta de controle de versão de arquivos que permite o trabalho


colaborativo sem a necessidade de ficar enviando e renomeando
arquivos por e-mail, além da possibilidade de saber, para cada
alteração: quem fez, quando, onde (em que arquivos e linhas de
código) e por quê. Estamos em 2019 e ainda tem gente que fica
naquele vai-e-volta de arquivo de Word por e-mail.

20. Hardware:

Como diz o ditado, hardware é aquilo que a gente chuta. Software é


aquilo que a gente xinga.

21. Indentação:

São os recuos no texto de um código usados para organizar


visualmente, melhorar a leitura e proteger a sua vida caso a pessoa
lendo o seu código seja um psicopata assassino. Tipo regras da
ABNT, mas com consequências mais graves.

22. Internet vs. Web:

Muita gente pensa que Internet e web são a mesma coisa. Internet, a
famosa “Rede mundial de computadores” nas palavras do William
Bonner, é a infraestrutura de cabos, servidores, roteadores, etc. por
onde transitam diversas aplicações: seus e-mails, os dados enviados
e solicitados por seus apps e as páginas web. As páginas Web (isso aí
que está rodando dentro do seu browser) são apenas uma das
diversas aplicações que podem rodar usando a estrutura da
Internet.

23. POO (Programação Orientada a Objetos):

Steve Jobs já deu aquela que talvez seja a melhor explicação sobre o
assunto! Com a palavra, Ele:

Objetos são como pessoas. Eles estão vivendo, respirando,


realizando ações que têm conhecimento, além de possuírem
memória dentro deles para que possam se lembrar de coisas. E
ao invés de interagir com eles em um nível muito baixo, você
interage com eles em um nível muito alto de abstração, como
estamos fazendo aqui.
Aqui está um exemplo: se eu sou seu objeto de lavanderia, você
pode me dar sua roupa suja e enviar-me uma mensagem que diz:
"Você pode pegar minhas roupas lavadas, por favor." Acontece
que eu sei onde fica a melhor lavanderia em San Francisco. Eu
falo inglês e tenho dólares nos bolsos. Então, eu saio, chamo um
táxi e digo ao motorista para me levar a este lugar em San
Francisco. Eu pego suas roupas lavadas, entro novamente no
táxi e volto aqui. Eu lhe entrego suas roupas limpas e digo:
"Aqui estão suas roupas limpas".
Você não tem ideia de como eu fiz isso. Você não tem
conhecimento do lugar da lavanderia. Talvez você fale francês e
não pode sequer chamar um táxi. Você não pode pagar por não
ter dólares no bolso. Mas eu sabia como fazer tudo isso. E você
não tem que saber de nada disso. Toda essa complexidade
estava escondida dentro de mim e fomos capazes de interagir em
um nível muito alto de abstração. Isso é o que são objetos. Eles
encapsulam a complexidade e as interfaces para que esta
complexidade esteja em alto nível (de abstração).

24. POM (Programação Orientada à Modinha):

doença viral espalhada pelo Reddit, conferências e “Campus Parties”,


onde desenvolvedores são levados a fazer escolhas ilógicas sobre
tecnologia e arquitetura de seus projetos, baseados
em hype e buzzwords.

25. POG (Programação Orientada à Gambiarra):

Paradigma avançado de “programação criativa”, onde nenhuma


solução é precária o suficiente para ser considerada
permanente. Não ver: Refatorar.

26. Refatorar:

Reescrever um pedaço de código para cumprir o mesmo objetivo,


mas de forma mais simples ou elegante. Ver: Elegante.
27. Software: aquilo que a gente xinga. Ver: Hardware.

28. “Stack Overflow”:

Corporação de ofício onde os desenvolvedores-aprendizes vão para


obter conhecimento, enquanto são humilhados e maltratados pelos
desenvolvedores-mestres.

E aí, acha que aprendeu? Então, aqui vai um desafio: baixe o


currículo do Le Wagon e me diga se conseguiu entender tudo!

mixin
Na programação, o termo mixin refere-se a uma classe que estende de 2
ou mais classes, ou seja, sendo B e C classes, A herda ao mesmo tempo
de B e C. Porém, para ser considerado um mixin e não uma herança
múltipla, B e C não podem ter funçaõ inicializadora, do contrário, não
temos um mixin e sim, a simples utilização da herança múltipla.

qualificação de nomes
Qualificação de Nome é utilizado nas linguagens de programação para
se referir a nomes que poderão ser acessados através de outro nome.

Considere x como sendo um membro e x.y como um sub-membro.


Dizemos que y é um nome qualificado desde que possa ser acessado
pela estrutura x.y.

BLOB
BLOB (binary large object) - o termo BLOB é um acrônimo de (binary
large object), e é pronunciado BLAHB o seu objetivo quando
relacionado a Banco de Dados é SEMPRE o armazenamento de
grandes quantidade de dados no formato de bytes.
Tipado
Na programação, tipado significa uma variável ou algum valor que
possui um tipo pré-determinado.

Recursividade
Recursividade ou Função Recursiva significa a invocação de si mesmo.
Ou seja, é uma função que após executar o seu bloco de instrução
invoca a si mesma novamente.

Ola Mundo
O termo Ola Mundo se refere ao trecho que código mínimo para a
impressão na tela da frase Ola Mundo com determinada tecnologia.

O principal objetivo desses códigos é demonstrar o mínimo necessário


para o desenvolvimento de uma aplicação com determinada tecnologia.

Raríssimos serão os livros ou tutoriais que não utilizar o código do Ola


Mundo no início.

Hello World
Ver Ola Mundo.

Módulo
1. Parte de algum software.
2. Parte de um código
Em Python, módulo é todo arquivo *.py

Ver também, Biblioteca, Pacote, API

Biblioteca
Estrutura que contém um conjunto de códigos, pacotes, classes e etc.
Geralmente, encontramos pacotes dentro de Bibliotecas ou então,
módulos.
Pacote
Estrutura que contém um conjunto de códigos para ser utilizado por
outros programadores.

Em Java, as classes são organizadas através de pacotes.

API - Application Programming


Interface
Acrônimo de Application Programming Interface, ou então, interface de
programação de aplicativo é um conjunto de funções que podem ser
invocadas através de alguma linguagem de programação.

Uma API disponibilizar uma conjunto de ferramentas para a construção


de por exemplo, um programa. Há centenas de API existes e qualquer
desenvolvedor por criar a sua.

Sistema Operacional (SO)


Programa de computador que interage com o Hardware e possibilita a
construção de aplicações onde não é necessário interagir com o
hardware diretamente. Uma excelente maneira para pensarmos no
sistema operacional é na forma de camadas. Logo, o SO é uma camada
de software e disponibiliza uma maneira para a construção de outros
software pelo uso de uma API pública.

shell
Janela, normalmente preta, para a manipulação do sistema operacional
através da linha de comando. Sistemas Operacionais Unix sempre
disponibilizam uma janela para a interação com o Sistema Operacional
através da linha de comando.

Ver também Console


Console
Janela, normalmente preta, em que é possível trabalhar na linha de
comando.

Ver também Shell

Indentar (-ção)
O termo Indentar vem do Inglês indentation e significa o recuo de um
texto em relação a sua margem esquerda.

Paradigma de Programação
Modelo de estrutura utilizado pela linguagem de programação. Há
vários paradigmas existentes e cada linguagem utiliza um ou vários
paradigmas.

superset
1. Adjetivo de estado evoluido. Algo que evoluiu.
2. Conjunto que possui todos os elementos de outro que se somarão aos seus e assim,
constituirão algo novo, porém, que contempla também o seu sucessor.
exemplo
A linguagem C++ é um superset de C.

tipado
Aquilo que possui um tipo pré-definido.

Iteração
Iterar, ou então, iteração é o nome das estruturas que repetem um
mesmo bloco de código por uma quantidade de vezes finita ou então,
pelo tempo em que uma condição for verdadeira. Pode-se dizer que
todas as linguagens de programação para computadores possuem, no
mínimo, uma estrutura de iteração.
Dicionário Aurélio
1. Tornar a fazer ou a dizer; repetir, reiterar.
Looping
1. O termo looping é comumente entendido como sendo ciclos, no plural. Repetição de
um trecho de código.
2. Programa travado.
"O programa está em looping".
3. Estado no qual um programa se encontra.

Tipo Primitivo
1. Tipo de dado utilizado para declarar variáveis e que estão embutido no interpretador ou
compilador da linguagem em uso.
2. Tipos da linguagem

Classe
projeto de todo objeto.

Instância
A execução de uma classe.

Objeto
A execução de uma classe.

Herança
Capacidade de herdar as características de outra classe

Polimorfismo
Capacidade de ter funções com mesmo nome e assinatura, porém, com
comportamentos diferentes.

Membro de Classe
pode ser uma função, ou então, uma propriedade (variável).
Propriedade
Característica do objeto e na programação, é representando por uma
variável.

SuperClasse
SuperClasse: a classe pai; classe que esta sendo estendida.

SubClasse
A classe filha; a classe que implementará a partir da implementação de
outra.

Classe-Pai
Sinônimo de SuperClasse; classe utilizada como base para a criação de
outras.

Classe-base
Sinônimo de SuperClasse.

Evento
algo que ocorreu dentro de uma classe e disparou uma funcionalidade.

Setar
Setar: definir um valor a; verbo ainda inexistente na Língua Portuguesa
cuja origem vem do Inglês do verbo set. Exemplo: "seta o valor 10 para
a variável x".

callback
callback: função que será invocada quando algo ocorrer ou então,
algum outro evento acontecer.
string
string: conjunto de caracteres numa determinada ordem

interpolar
interpolar: inserir uma string no meio de outra

concatenar
concatenar: juntar duas ou mais sequências de caracteres

shebang line
shebang line: primeira linha de arquivos que possuem código
interpretado que definirá a versão do interpretador que deve ser
utilizado para a execução do Script contido nas linhas seguintes.

Compile-Time
Numa tradução livre seria, (tempo de compilação). É o que acontece no
momento em que estamos compilando nossa aplicação, ou seja, quando
clicamos no menu Compilar ou então, executamos a compilação
através da linha de comando.

Run-Time
Numa tradução livre seria, (tempo de execução) é o aquilo que
acontece no momento de execução da nossa aplicação.

Compilação
Compilar, significa em programação, converter código fonte de
programação em código executável. Em linguagem como C e C++, a
compilação é feita através de compiladores como por exemplo o GCC.
Para o GCC, a compilação é o processo de tornar código fonte em
código intermediário pronto para ser "linkado".

Já, quando estamos programando em Java ou então Python, a


compilação é o processo de converter o código-fonte em código
normalmente chamado de ByteCode. ByteCode é um tipo de código
que as Máquinas Virtuais interpretam.

Link Building
O processo de "lincagem" se resume em pegar os códigos compilados e
empacota-los num arquivo que possa ser executado.

BUILD
O "build", do inglês, "montagem", normalmente é o processo de
compilação e linkagem respectivamente, e o resultado do build é um
arquivo executável numa determinada plataforma.

REBUILD
O termo "rebuild" normalmente significa a limpeza de todos os
executáveis gerados pelo compilador para em seguida, seja possível
recriar todos esses arquivos. Essa é uma opção comumente utilizada
quando alguma anomalia ocorre no processo de desenvolvimento.
Logo, os programadores optam por excluir todo código gerado nas
outras compilações para que então, tudo seja gerado novamente.

IDE - INTEGRATED
DEVELOPMENT ENVIRONMENT
A palavra IDE é um acrónimo de (Integrated Development
Environment) que numa tradução livre seria: Ambiente de
Desenvolvimento Integrado.

Uma IDE, normalmente é constituida por um editor de texto


especializado numa determinada linguagem, com um compilador
acoplado e integrado de tal forma, que basta pressionarmos uma tecla
ou clicarmos num item de menu para compilarmos, "linkarmos" e
executarmos um projeto.

Uma IDE deve ser entendida como uma ferramenta que auxilia no
desenvolvimento de software. Atualmente, as IDE contém cada vez
mais recursos e ferramentas acopladas e também, as mesmas possuem a
capacidade para a construção de plugins, ou seja, pequenos programas
utilitários que são acoplados a IDE.

TUIO
O termos TUIO é um acrônimo de Tangible User Interface Objects.

PEP
Python Enhancement Proposal

Ferramentas de programação

As ferramentas de programação são softwares ou programas que as


pessoas da área usam para criar, depurar, processar ou otimizar
alguma etapa do processo de trabalho. Algumas das principais são:

Sistema operacional – Sistema que faz comunicação entre o


hardware, gerenciando e distribuindo seus recursos, e os demais
softwares e cria uma plataforma comum a todos os programas
utilizados. Exemplo: Windows 10, Ubuntu.

Terminal – É uma Interface de Linha de Comando, isto é, uma


interface (meio) para a pessoa enviar comandos ao computador.

Editor de Texto – Um editor de texto é um aplicativo de edição de


arquivos de texto. Isso inclui códigos de todos os tipos, que também
são texto escrito num formato que o computador é capaz de
entender.

Compilador – Transforma o código de uma linguagem de


programação para uma linguagem de máquina (ou alguma de nível
mais baixo, ou seja, mais próxima do código binário que o hardware
processa) que é lida pelo processador.

Linguagem de máquina – Linguagem de mais baixo nível de


entendimento para o ser humano, e a única, entendida pelo
processador (CPU).
Interpretador – Programas de computador que leem um código
fonte de uma linguagem de programação interpretada, ou seja,
convertida em código binário uma linha por vez, ao invés de grandes
blocos de linhas de cada vez, e o converte em código executável.

Browser ou Navegador – Programa desenvolvido para permitir a


navegação pela web e visualização de suas páginas.

Plugin – Uma extensão de código que pode ser adicionada a um


código em que você está trabalhando. O plugin é uma extensão
intrínseca ao contexto, por exemplo um plugin de um navegador: Ele
não funcionará em outro navegador. Além disso, ele funciona
consumindo código ou APIs da aplicação principal.

GitHub

Conceitos

Git – Sistema de Controle de Versão (VCS) distribuído, ou seja, de


uso compartilhado por várias pessoas de uma equipe, que faz o
acompanhamento de mudanças em arquivos e pastas de uma
aplicação.

GitHub – Plataforma de hospedagem de código-fonte de uma


aplicação com controle de versão usando o Git.

Diretório – Um tipo de pasta do computador que pode ter dentro de


si outros diretórios e arquivos.

Branch – É uma ramificação do código do controle de versão, ou


seja, uma versão alterada do código “principal” salvo lá.

Índice – Funciona como uma área do git no qual os arquivos possam


ser enviados ao GitHub. É como se fosse uma sala de embarque.

Ações no Git

Git fork – Comando que permite “copiar” um projeto em código


aberto para si (cria um novo repositório que é uma cópia do projeto
“forkado”).
Git clone – Comando que permite copiar um repositório remoto da
nuvem e colar na sua máquina local.

Git merge – Comando usado para colocar as mudanças de uma


branch em outra.

Git fetch – Comando para pegar alterações dos seus projetos


remotos.

Git pull – Incorpora as alterações adicionadas a um repositrio remoto


na branch atual. git pull = git merge + git fetch.

Git add – Comando usado para passar a monitorar um novo arquivo


no índice para um novo commit, ou adicionar ao índice as alterações
mais recentes feitas a um arquivo.

Git commit – Armazena o conteúdo atual do índice em um pacote de


mudanças, juntamente com uma mensagem de registro da pessoa
que as descreve.

Git push – Comando em que você transfere commits do seu


repositório local para um repositório remoto.

Git branch – Comando para listar as branches locais.

Git branch nome-da-branch-nova – Serve para criar uma nova


branch.

Git checkout – Você pode mudar de branch com esse comando ou


limpar as alterações de arquivos mais recentes ainda não adicionadas
ao índice.

Pull Request – É um pedido que você faz para a administradora da


branch que você quer modificar adicionar (puxar para si) a ela as
alterações que você fez.

Merge Pull Request – Inserir as alterações do código de uma Pull


Request em sua branch “alvo”.
Conceitos de programação

Algoritmo – É basicamente um conjunto de passos para certa tarefa.

Linguagem – Conjunto de definições (sintáticas e semânticas)


usadas para fazer um texto que o computador é capaz de entender,
ou seja, um programa de computador.

Código – Conjunto de palavras ou símbolos contendo instruções para


o computador.

Código Fonte – Código de um programa. O computador o usa para


gerar uma versão do programa que é capaz de processar.

Código de Máquina – Código que a máquina consegue entender e


executar.

Código Binário – Código feito por apenas 0 e 1 que tem como


função codificar algo. É a base de toda a lógica do computador. Tudo
vira, no fim das contas, código binário.

Bug – Problema no código que faz com que ele não execute sua
função corretamente.

Refatoração – Processo de alterar um programa para melhorar sua


estrutura interna sem alterar o seu funcionamento. Essas melhorias
podem ser de performance ou para facilitar trabalhos futuros neste
código, por exemplo.

Frameworks – São como coleções de ferramentas, componentes e


soluções que você pode encontrar em um mesmo pacote (o
framework) que facilitam a criação de aplicações complexas.

Queries – Pedido de informação e/ou dados para banco de dados.

Front-End – É a parte de uma aplicação web que a pessoa que


utiliza, vê e interage. É executada pelo browser.
Back-end – O que a pessoa que usa não vê num software, como
servidores e banco de dados. É o processamento “por trás dos
panos”.

Full-stack – Junção de Front-End e Back-End.

SSL (Secure Sockets Layer) – É um tipo de segurança padrão para


garantir que todos os dados sejam criptografados no trânsito entre
um site e um navegador por exemplo.

SOLID (Single-responsibility, Open-closed, Liskov


substitution, Interface segregation e Dependency Inversion
principles) – Esses princípios, quando combinados, são tidos como
boas práticas para facilitar a quem programa desenvolver softwares
que são mais fáceis de se manter e expandir.

Front-End

Biblioteca – Pedaços de códigos (como funções, por exemplo) já


programados e que podem ser usados em outros códigos. A biblioteca
é uma extensão de fora do contexto, ou seja, ela pode ser usada e
desplugada de um contexto para outro. As bibliotecas são
consumidas pela aplicação principal.

React – Biblioteca JavaScript para criar o Front-End de aplicações.

React Native – Framework de programação de aplicativos baseado


na biblioteca React.

HTML (Linguagem de Marcação de Hipertexto) – Uma linguagem


de marcação que é utilizada como estrutura do Front-End de um site.

CSS (Folhas de Estilo em Cascata) – É uma linguagem de estilo


que define a aparência de documento web HTML. Exemplo:
manipulação da posição dos elementos, cores, fontes, fundos, etc.

JavaScript – É uma linguagem que viabiliza a criação de páginas


interativas, ou seja, que são modificáveis de acordo com a interação
de quem usa e que conectam o Front-End ao Back-End.
AJAX (Asynchronous JavaScript And XML) – Técnica para
acessar servidores web a partir, por exemplo, do Front-End ou de
outros Back-Ends.

jQuery – Biblioteca de funções em JavaScript que interagem com o


HTML de uma maneira muito mais rápida e simples do que apenas
pelo JavaScript.

Bootstrap – Framework CSS.

UI Design (Design da Interface do Usuário) – É o desenho e


execução de uma interface para o usuário. Exemplo: Como garantir
que um botão vai ser visto e vai ser apertado.

UX Design (Design da Experiência do Usuário) – É o desenho e


execução de uma experiência para o usuário. Como por exemplo,
desenhar as ações que farão com ele se sinta bem ao entrar numa
página, ou engajado, etc.

Responsive design – O Design que assegura que o site será visto


de uma forma diferente para diferentes tamanhos de tela.

Adaptive design – Uma maneira de se construir um mesmo site que


se adapta (muda) para cada dispositivo.

Fluid Design – Design que acompanha o tamanho da tela do


dispositivo que você está usando sem mudar a estrutura da página.

Progressive Web App – Metodologia que busca fazer com que sites
web e app tenham características de aplicativos nativos de
dispositivos mobile, ou seja, feitos primariamente para eles.

Back-End

Servidores – Máquina onde roda o Back-End de um site, por


exemplo. Ou um Back-End acessível a outras aplicações diversas.

Node.js (node) – Interpretador para JavaScript.


NPM (Node Package Manager) – Gerenciador de Pacotes
(módulos) do Node.js.

Middleware – Software que se encontra entre o sistema operacional


e os aplicativos nele executados. Ou seja, é um software que permite
a sistemas isolados e funções interagirem. Exemplo: Site com uma
opção de pagamento. O que conecta os dois é um middleware.

Express.js – Framework para Node.js que ajuda na criação de rotas,


middlewares e muitas outras funções para o desenvolvimento tanto
de APIs quanto SPAs (Aplicações de Uma Página).

Banco de Dados – Agrupamento (em formato de tabelas,


documentos, colunas e etc…) de informações que se relacionam e
tratam de um mesmo assunto.

Banco de Dados Relacional (SQL) – Banco de dados onde os


mesmos são guardados em tabelas que possuem “relações” entre si.
Por exemplo uma tabela de produtos e de compras. A tabela de
compras pode ter vários produtos e um produto pode estar
relacionado a várias tabelas.

Banco de Dados não Relacional (NoSQL) – Quando o banco de


dados não guarda os dados em tabelas, e sim em chave-valor,
colunas, etc.

SQL (Linguagem de Consulta Estruturada) – Linguagem de


banco de dados relacional.

Sistema de Gerenciamento de Banco de Dados (SGBD) –


Responsável por gerenciar o acesso, a persistência, a manipulação e
a organização dos dados.

MySQL – O MySQL é um SGBD que utiliza a linguagem SQL.

API (Applied Programming Interface) – Interface que conecta


dois programas, realizando tanto a comunicação entre eles e
especificando quanto definindo como devem interagir.

Serviço Web – Solução utilizada na integração de sistemas e na


comunicação entre aplicações diferentes (é um programa web de
Back-End, um tipo de API que necessariamente precisa de uma rede
para se comunicar).

Webhook – É uma forma de recebimento de informações quando um


evento (enviar um email, por exemplo) acontece. Por isso o webhook
é, na prática, uma forma de transmissão de informações entre dois
sistemas passiva, pulando o passo de request (requerimento) que
uma API faz. Basicamente: um sistema disponibiliza um canal para
receber informações (o webhook) e outros enviam para esse sistema
informações através dele.

HTTP (HyperText Transfer Protocol) – Protocolo que especifica


como clientes e servidores se comunicam entre si.

REST (REpresentational State Transfer) – Estilo de arquitetura de


serviços web que padroniza algumas características tidas como boas
práticas.

Restful – É uma aplicação web que realiza a implementação do


padrão REST.

CRUD (Create, Read, Update and Delete) – Quatro operações


básicas de interação com uma base de dados (criação, consulta,
atualização e destruição de dados).

Deploy de Aplicação Web

Aplicações Web – São sistemas que executam em ambientes


distribuídos (onde as partes do sistema podem executar em
máquinas diferentes) chamadas servidores, comunicando-se via
protocolo HTTP ou HTTPS (Protocolo Seguro). A interface com a
pessoa que utiliza é realizada pelos navegadores. Na prática,
exemplos comuns de aplicações web, são nossos sites de comércio
eletrônico, notícias, redes sociais, buscadores (como o Google), etc.

Deploy – O Deploy consiste no processo que coloca uma aplicação no


ar, tornando-a acessível a quem usa.

QA (Quality Assurance) – Conjunto de atividades exercidas para


que o produto ou serviço oferecidos sejam de qualidade.
Avaliando o código e a lógica

Code Climate

Code Climate (CC) – Programa que lê um código e analisa a forma


como foi escrito em busca de pontos de melhoria. Ele faz isso
analisando o seu código fonte contra algumas regras de código e
estilo que verificam como o código foi escrito.

Cognitive Complexity – É uma medida de quão difícil é para uma


pessoa entender o código.

Cyclomatic Complexity – Métrica que mede a quantidade de


caminhos independentes pelo código e assim, também, medindo o
quão difícil testá-lo.

Linter – Ferramenta que analisa o código fonte em busca de erros,


problemas de estilo e construções tidas como problemáticas do ponto
de vista de desenvolvimento.

Code Smell – Característica de um código que o faz suspeito de


possuir ou se tornar causador de problemas no futuro.

Travis

Continuous Integration (CI) – Prática de colocar em produção, de


forma automática, as novas modificações feitas pelos colaboradores
do projeto de forma contínua (em geral, uma vez por dia no mínimo),
ou seja, continuamente e sem a necessidade de períodos fora do ar.

Testes automatizados – O teste automatizado de software é um


programa que executa testes pré-programados em um aplicativo de
software antes de serem liberados para deploy.

Code Review

Code Review (CR) – A Code Review (revisão de código) é uma


prática da engenharia de software que ajuda a garantir a qualidade
do código. Essa prática consiste basicamente em, um ou mais
desenvolvedores podem comentar no código de outro.
TDD

Test Driven Development (TDD) – Desenvolvimento Orientado por


Testes. Técnica de desenvolvimento em que a produção e o deploy do
software é baseada em testes.

Teste Unitário – Testes isolados entre si que são feitos com


pequenas unidades de códigos para validar seu funcionamento.

Mock – Programa que serve para simular outros códigos. São muito
usados para garantir isolamento de testes unitários.

Programação

Habilidades

Hardskills – Habilidades Técnicas (por exemplo, programar em


JavaScript).

Softskills – Competências comportamentais (por exemplo, saber


criticar e receber críticas, saber se explicar, saber criar boas relações
com as pessoas).

Mindsets e Metodologias

Práticas

Pair programming – Técnica do desenvolvimento ágil de software


onde duas pessoas utilizam um mesmo computador, para programar
alguma tarefa.

Sprint – Ciclo de tempo dentro do qual se realiza um conjunto de


atividades.

Kanban – Sistema simples e visual de organizar as tarefas e o fluxo


de trabalho.

Ágil – Conjunto de métodos e princípios que consiste na ideia de


desenvolvimento iterativo (isto é, onde requisitos e soluções são
identificados e cumpridos de maneira cíclica) a partir da colaboração
de times auto-gerenciáveis e multifuncionais.

Scrum – Framework para gestão e planejamento de produtos e


projetos.

MVP (Produto Mínimo Viável) – Maneira de se testar modelos de


negócios e conceitos diretamente com o cliente, a partir do
lançamento de uma versão mínima viável do produto. Exemplo: Em
vez de fazer um site como o que a Airbnb, os fundadores fizeram um
site simples com poucas funcionalidades.

Papéis

Product Owner (PO) – Pessoa responsável por definir quais as


prioridades do product backlog e registrar de todos os requisitos,
regras de negócio e prioridades das entregas de um produto.

Regras de Negócio – Requisitos de como uma determinada


funcionalidade ou produto deveria se comportar dado um
determinado critério.

Scrum Master – É a pessoa responsável por garantir que todos


estejam aderentes ao processo de desenvolvimento, que sigam suas
cerimônias e que garantam a organização e realização dos seus
artefatos.

Dev. Team – Time de desenvolvimento (pessoas que colaboram com


o projeto).

Cerimônias

As cerimônias são os rituais, reuniões e eventos que acontecem em


um local de trabalho, estudo ou convivência de modo geral.
Geralmente, empresas mais tecnológicas têm bem estruturadas quais
são suas cerimônias e o porquê de cada uma delas. Alguns exemplos
são:

Daily Meeting (DM) – Reunião diária de dez a quinze minutos para


saber o que se fez no dia anterior, o que se vai fazer no dia seguinte
e o é impedimento seu para fazer isso.
Grooming – Reuniões sobre como melhorar o Product Backlog.

Planning – Reunião onde se descreve as funcionalidades de maior


prioridade (e que devem ser feitas) para a equipe para o próximo
sprint.

1:1 – Reunião periódica entre uma pessoa que gere o time e uma
pessoa liderada.

Artefatos

Product Backlog – O que está para ser feito no produto.

Sprint Backlog – O que está para ser feito na sprint.

Definição de Pronto – O como que o time define o que foi feito.

Incremento – O que foi feito e gerou valor ao usuário.

Agora que você já aprendeu boa parte dos significados do mundo da


tecnologia, vale a pena salvar esta publicação nos favoritos e recorrer
a ela sempre que surgir alguma dúvida, principalmente para aqueles
que estão inciando seus estudos.

O que achou de conhecer esses termos de tecnologia? Se você


gostou do conteúdo e deseja acompanhar as atualizações, não deixe
de conferir nossas redes sociais. Estamos
no Facebook, Instagram e Twitter.

Você sabe o que é um GIT? Já ouviu algum programador dizendo que subiu
o projeto no GitHub?

A área da programação é cheia de termos e siglas que confundem quem não é


do meio — às vezes até quem é. Para te ajudar a entender melhor todo esse
universo e a ser ser capaz de conversar fluentemente com um programador,
preparei um dicionário com os principais termos e siglas da área. Confira!
API

Uma API (Application Programming Interface) é um conjunto de comandos,


funções, protocolos e objetos que os programadores podem usar para criar
softwares ou interagir com sistemas externos. Ela fornece aos
desenvolvedores comandos para executar operações comuns para que eles não
tenham que escrever um código do zero.

APIs são tipo “pontes” que servem para conectar e facilitar a comunicação
entre aplicações. As APIs podem ser utilizadas pelos mais variados tipos de
negócios e por empresas de diversos tamanhos.

Algoritmo

Os algoritmos podem ser entendidos como um conjunto de regras, raciocínios


ou operações finitas para executar uma ação.

Lembra aquele passo a passo para fazer um bolo que sua avó anotava no
caderno de receitas? Algoritmos é tipo isso!

Veja também: como funciona os algoritmos nas redes sociais.

Front- End

Front-End é toda a parte que a gente vê, tudo que está na frente.
Desenvolvedores Front-End são responsáveis por tudo aquilo que um usuário
faz na frente de uma tela (arrastar o dedo para trocar de tela, pressionar um
botão, etc…).
Back-End

Se você pensou “já que o ‘front’ é a frente, o ‘back’ está por trás”, seu
pensamento está correto. O desenvolvedor back-end é quem irá manejar o
banco de dados e integrar a comunicação do front com as informações
armazenadas. Programadores Back-End são os responsáveis por fazer a magia
que acontece “por trás dos panos”.

Bug

Bug é um erro ou falha que ocorre e faz com que os programas não se
comportem exatamente da maneira esperada. Também é muito conhecido
como “dar pau”.

Chatbot

São programas de computador equipados com inteligência artificial capazes


de entender a linguagem humana, tanto escrita como falada, e responder de
forma humanizada. São como aqueles atendentes de empresas telefônicas.

Codar

Nada mais é do que programar.


Diretório

São as pastas do seu computador.

Debugar

Processo lento de encontrar e remover bugs no seu sistema, ou até mesmo no


hardware.

Framework

Frameworks são como templates prontos que podem ser usados em diferentes
projetos (back e front-end, mobile etc), reduzindo o tempo gasto para produzir
uma aplicação.

Full-Stack

Programador full-stack é aquele que atua em várias partes do projeto, ele


entende tanto de back-end como de front-end e usa várias tecnologias.

Usando uma analogia simples, o programador Full-Stack pode ser comparado


com aquele cara que compõem, grava, edita e cria a capa do cd.

Git

Git é uma ferramenta de controle de versão de arquivos que permite o trabalho


colaborativo sem a necessidade de enviar arquivos diferentes e renomeados
por e-mail. Com o Git também é possível saber detalhadamente quem fez cada
alteração no arquivo.

Hardware

Hardware é a parte física do computador (peças e equipamentos que fazem o


computador funcionar).
Software

Software é toda a parte interna de um computador ou dispositivo mobile


(programas, códigos, aplicativos e etc).

Existe um ditado que diz que hardware é aquilo que a gente chuta e software é
o que a gente xinga 😂.

Aplicativo Nativo

São aplicativos construídos em uma linguagem exclusiva para uma


determinada plataforma (Android, iOS, Windows etc).

Web Apps

Web App não é um aplicativo real e não está disponível nas lojas de
aplicativos. É um site desenvolvido exclusivamente para dispositivos móveis.

Aplicativo Híbrido

São aplicativos desenvolvidos tanto para Android quanto para iOS com um
código fonte unico usando algum framework.

Outsourcing de TI

A palavra outsourcing significa terceirização, logo outsourcing de TI é a


contratação de empresas para realizar serviços ligados à Tecnologia da
Informação.

Outsourcing Onshore

O termo onshore representa a terceirização de serviços a partir do mesmo


país.
Outsourcing Offshore

Offshore é o oposto de onshore, ou seja, trata-se de contratos com empresas


de outros países.

Outsourcing Nearshore

Como a tradução de “near” já diz, este modelo visa a contratação de


prestadores de serviço em países próximos.

UI Design

UI é área do Design que elabora, cria e planeja o meio pelo qual o usuário
interage em um determinado dispositivo.

UX Design

UX Design trabalha a experiência do usuário. É parte do Design que pensa


exclusivamente na relação do usuário com o produto ou serviço.

Há uma analogia citada por Dain Miller em um artigo que explica melhor esses
dois termos:

“UI is the saddle, the stirrups, and the reigns.

UX is the feeling you get being able to ride the horse, and rope your cattle.”

(“UI é a sela, os estribos e os reinados.

UX é a sensação de que você consegue montar o cavalo e amarrar seu


gado.”)

Features

Feature é uma funcionalidade do sistema que entrega um recurso extra ou


resolve um problema.
Um cadastro de usuário é uma feature, exportar um arquivo, imprimir um
documento é uma feature etc.

DevOps

DevOps é um modelo de trabalho que integra as áreas de desenvolvimento e


infraestrutura em TI, além da automação das tarefas repetitivas e da criação de
uma cultura ágil.

Para entendermos melhor o conceito de DevOps, podemos usar como analogia


o jogo do Super Mário. O DevOps é quando você consegue pegar a estrelinha
e passa a executar as tarefas bem mais rápido que o normal.

ASO

ASO é a sigla para App Store Optimization, isto é, técnicas de otimização de


busca nas lojas de aplicativos. O ASO que irá aumentar a exposição e visibilidade
do seu app, expandindo as chances de descoberta pelos usuários.

Gateway de pagamento

Um gateway de pagamento é, basicamente, uma API que gerencia transações


online, como se fosse uma maquinha de cartão virtual.

SEO

SEO (Search Engine Optimization) são técnicas para fazer com que um
determinado conteúdo apareça no Google e demais buscadores.

MVP

Produto mínimo viável ou MVP trata-se de um produto que fornece apenas o


serviço mais importante primeiro. Como se fosse uma “versão teste” de um
produto. O MVP pode ser aprimorado de acordo com que as ideias forem
surgindo e quando tudo estiver pronto, ele se torna um produto consolidado.
Clean code

Clean Code — ou código limpo — é uma filosofia de desenvolvimento que


visa aplicar técnicas simples que facilitam a escrita e leitura de um código.

Default

Default refere-se a um valor ou característica pré-definidos. Então, quando


não há uma instrução, o default é aplicado. É como quando você abre o
Google Docs: se você não definir nenhuma característica, seu documento será
todo escrito em Arial no tamanho de fonte 11, pois este é o padrão pré-
definido..

Linguagem de marcação

Entenda a linguagem de marcação como os sinais de trânsito. As tags da


linguagem servem para orientar o que se trata determinado elemento. O
Google sabe que essa explicação é um parágrafo, pois no código está
sinalizado que se trata de um com a tag <p>. O mesmo vale para os demais
elementos da web.

Linguagem compilada

Linguagem compilada é uma linguagem de programação que necessita de um


programa especial para ser executada em um computador.

Uma boa analogia para se entender é o processo de dublagem de filmes.


Todos os filmes geralmente são produzidos no idioma nativo de um país.

Quando esse filme vai ser comercializado em um país com idioma diferente,
todas as falas do filme são traduzidas e/ou dubladas, trocando o áudio original
(que não entendemos) para um outro áudio em nosso idioma (que somos
capazes de entender).

É exatamente isso que o programa compilador faz com a linguagem,


traduzindo-a num idioma acessível à máquina que irá executar o código.
Nuvem

Nuvem é uma tecnologia que permite o acesso a programas, arquivos e


serviços por meio da internet, logo, tudo pode ser acessado remotamente.

IDE

IDE (Ambiente de Desenvolvimento Integrado) é um software para escrever


códigos que contém utilitários que auxiliam no desenvolvimento das
aplicações, facilitando diversos processos, pois esse ambiente combina
ferramentas comuns em uma única interface gráfica do usuário.

O ambiente de desenvolvimento integrado é como se fosse aquele estojo


escolar que toda criança queria ter, aquele que tinha tudo em um único lugar,
canetas coloridas, tintas, lápis de cor, giz de cera, apontador, borracha e outras
tranqueiras.

Por fim,
E aí, conseguiu entender todos os termos e siglas?

Esse dicionário foi feito para descomplicar os termos mais usados pelos
nossos amigos devs. As definições apresentadas são superficiais e servem para
ajudar pessoas de outras áreas e leigos a entenderem melhor o assunto, assim
como eu.

Você conhece algum outro termo ou sigla que merece entrar no dicionário?
Comenta aqui!

Quer ficar por dentro do que acontece nesse universo? Então não deixe de
acompanhar nosso blog e se inscreva na nossa newsletter.

Variáveis
As variáveis são elementos que armazenam algum tipo de valor. Sua utilização visa a fornecer
informações à aplicação que se utilizará delas para realizar alguma tarefa.

Exemplo:
int anoDeAniverário = 1986;
char nomeEstudante = “Rafaela”;
float numeroAproximado = 12.152

Variáveis Locais e Globais


Durante o desenvolvimento de um aplicativo, é responsabilidade do programador, determinar
quais funções ou métodos terão acesso a algumas variáveis para evitar erros de cálculos e
operações, então toda linguagem orientada a objetos, possui um controle para determinar
quem ou quais funções ou métodos terão acesso a alguma variável.

Variáveis Globais
Uma variável global é determinada pela possibilidade de ser acessada de qualquer ponto do
programa (código fonte) por qualquer função ou método. Não tendo restrições ou controles de
acesso. Por este motivo seu uso deve ser sempre muito bem observado pelo programador.

Variáveis Locais
Uma variável local é caracterizada por ter seu acesso (poder ser alterada ou lida) limitado
dentro da declaração de uma classe, método ou função. Sendo acessível somente dentro do
local em que foi criada/declarada.

Variável de Instância ou iVar


Uma variável de instância, é aquela que já esteja dentro de um objeto. Em termos gerais, é
uma variável em um objeto/instância de uma classe em uso em runtime. É a variável que
somente podem ser acessadas pelo objeto da própria classe, que também a herda quando se
cria uma subclasse, ou seja, a subclasse recebe essa variável de instância com as mesmas
configurações que ela foi criada na classe pai.

Tipos de Variáveis
Quando se cria uma variável, é necessário informar que TIPO de informação que ela irá
armazenar/conter, isto determina o tipo da variável. Existem os tipos escalares ou tipos
primitivos, em que são herdados da Linguagem C que são:

int – Armazena números inteiros. Exemplo: int tamanhoTenis = 36;


float – Armazena números fracionários. Exemplo: float kilometroCidade = 357.52;
bool – Armazena valores lógicos. Exemplo: bool verdade= YES; bool negacao = NO;
string – Armazena uma sentença de caracteres: string fraseDita = @”Adoro programar”;

As variáveis escalares são efêmeras e não constituem mais um foco ideal para se programar,
sendo que Obj – C possui um conjunto melhor de tipos para atender melhor a construção e a
velocidade de desenvolvimento do projeto.

Exemplo:

Em vez de declarar uma string deste modo:

string *modeloAntigo = @”Modo antigo de declarar”;

É feito uma declaração com base em uma classe string que possuem métodos que podem
dinamizar o tratamento do conteúdo da variável, ficando assim:
NSString *melhorModo = @”Melhor modo de armazenar uma string”;
Isto não se restringe somente a esses tipos possuindo também NSNumber, id, NSDate e
muitos outros.

Casting ou Conversão de Tipos


Em muitos momentos é necessário mudar o tipo de dado contido ou apontado por uma variável
para atender uma tarefa interna de processamento ou uma solicitação do usuário.

Por exemplo, você pode criar um aplicativo calculadora. A entrada digitada pelo usuário será
armazenada em variáveis que do tipo string e posteriormente para finalidade de calcular o valor
ele é convertido para o tipo int, e o resultado da operação é convertido novamente para tipo
string para ser exibido na tela.

Ponteiros
Os ponteiros são operadores utilizados para apontar o endereço de um dado/informação na
memória. Eles são usados rotineiramente na criação de variáveis que armazenam textos e é
representado pelo sinal de asterisco ( * ).

Exemplo: NSString *nomeDoPais;

Atributo
É chamado de atributo os dados contidos dentro de uma classe, sendo as variáveis das
mesmas. Em alguns textos os atributos são vistos como os dados passados de uma operação
para outra, ou seja, são vistos como argumentos. Mas sua idéia geral é a de que são os dados
pertencentes a uma Classe.

Sintaxe
A sintaxe, é como se escreve em uma linguagem de programação. Algumas linguagens de
programação são bastante parecidas na maneira como se escrevem. Sendo até mesmo
possível entender um código escrito em uma linguagem mesmo se o programador seja
“fluente” em outra.

Exemplo: C e C++, Java.

Métodos e Funções
Funções e métodos, são os nomes atribuídos a um conjunto de instruções. Algumas
linguagens de programação mais antigas eram procedurais, ou seja, as instruções eram
colocadas em sequência e o computador as seguia em uma sequência top-down.

Com a criação de novas linguagens que incorporavam novas técnicas/metodologias surgiu


então a possibilidade de agrupar essas instruções em blocos, que são executados conforme
são chamados ou quando uma mensagem é enviada a um objeto solicitando a utilização desse
conjunto de instruções.

O termo função é mais utilizado pois foi um dos termos mais utilizados para se designar esse
conjunto. E é o termo utilizado na Linguagem C e em outras. Algumas linguagens usam o
termo Procedure(Pascal). Mas sua utilização é a mesma.
O termo Método veio ser mais utilizado ultimamente devido a terminologia utilizada pelos
desenvolvedores que utilizam a filosofia da Programação Orientada a Objetos, sendo assim o
termo Método usado em linguagens como Java, C++, Objective-C, C# e outras.

Em uma visão geral pode-se dizer que função ou método é um grupo de instruções, e como
são encapsuladas em blocos, elas podem ser executadas assim que forem solicitadas.

Exemplo

1
-(void)somaNumeros{
2
3 int numeroPrimeiro = 15;
4
5 int numeroSegundo = 30;
6
7 int resultado;
8
9 resultado = numeroPrimeiro+numeroSegundo;
10
NSLog = (@"%@",resultado);
11
12 }
13

Este método criou duas variáveis já inicializadas com seu valores e criou uma variável vazia.
Depois realizou uma operação de soma armazenando o resultado na variável resultado e em
seguida imprimiu o resultado na tela do console de debug do xcode.

Assinatura de um método nome do método


Um método pode ser identificado pela sua assinatura, e sua assinatura é constituida pelos
seguintes elementos: tipo de método + nome do método+ tipo de suas variáveis+nome de suas
variáveis.

Exemplo: Assinatura de Método

-(NSString *)colocaEmMaiusculo:(NSString *)palavrasRecebidas;

Exemplo: Nome do método

colocaEmMaiúsculos:palavrasRecebidas:

A maneira como se cria o nome dos métodos, assim como se cria as variáveis é para que elas
dêem um melhor entendimento do que eles fazem para quem estiver lendo o código.
Importante lembrar que o sinal de dois-pontos ( : ) também constitui o nome do método.

Argumentos e Parâmetros
Argumentos ou parametros em programação, são informações enviadas para que um método
realize uma operação sobre eles e retornam ou não o resultado.
Exemplo:

NSString *nome = [NSString alloc]initWithString:@”tiago”];

ClasseMinha *alteradorDePalavras = [ClasseMinha alloc]init];

[alteradorDePalavras colocaEmMaiusculo: nome];

[alteradorDePalavras release];

Neste exemplo, criamos uma variável chanada de ‘nome’ do tipo NSString que é inicializada
com a string “tiago”. Depois criamos um objeto da classe ClasseMinha, em seguida enviamos a
variável nome para o método colocaEmMaiuscolo do objeto em forma de argumento do
método.

Isto é chamado de passagem de argumento ou parametro para um método.

Framework
O framework é dentro de um ambiente de programação, um conjunto de classes e outras
técnicas que possibilitam a especialização na criação de programas.

Por exemplo quando se quer criar um jogo, é utilizado um conjunto de bibliotecas voltadas para
controle de física, colisões, controle de áudio e etc. Esta biblioteca voltada para a criação de
jogos pode ser chamada de framework.

Existem diversas frameworks nas linguagens de programação.

Compilar
Compilar é a ação que o SDK tem de traduzir tudo que o programador estabeleceu no código
fonte em instruções onde o computador possa entender e seguir, gerando assim o código de
máquina plausível para a arquitetura para a qual ele está fazendo o programa.

Runtime ou Tempo de Execução


Em muitos casos, todos os programadores vão notar anomalias, ou eventos no funcionamento
de seus programas que só poderão ser percebidos no momento em que o programa esta
sendo executado, e que o SDK não pode perceber na interpretação do código. Este momento
em que o programa está em uso no computador, celular, simulador é chamado de runtime, ou
tempo de execução.

Você também pode gostar