? Nota: a miniatura foi gerada usando
Modelo Flux Schnell com ajuda do ComfyUI;
Este artigo foi escrito com a ajuda de NI - Inteligência Natural
? Não tem tempo para ler? - Assista ao vídeo que criamos:
Inicialmente todos os programas foram escritos em um binário - o chamado assembly
linguagem de programação. Onde você literalmente instrui a CPU o que fazer dentro
ALU. Embora o assembly, por ser uma linguagem de programação de baixo nível, forneça
um controle muito preciso sobre a ALU, exige que os programadores realmente conheçam a CPU
arquitetura e lógica binária - é muito difícil e caro.
Assembly fornece otimizações de baixo nível que beneficiam o desempenho de execução.
Exemplos de tais programas que estão sendo desenvolvidos e mantidos ativamente
são algoritmos de classificação, funções hash, loops etc.
Então, para reduzir a complexidade e melhorar a eficiência, pessoas inteligentes inventaram
linguagens de programação de alto nível.
? Exemplo de montagem hello world app para Linux X86:
section .data hello db 'Hello World!', 0x0A ; The string to print, with a newline section .text global _start ; Entry point for the program _start: ; Write the string to stdout mov eax, 4 ; syscall number for sys_write mov ebx, 1 ; file descriptor 1 is stdout mov ecx, hello ; pointer to the string mov edx, 13 ; length of the string int 0x80 ; call kernel ; Exit the program mov eax, 1 ; syscall number for sys_exit xor ebx, ebx ; exit code 0 int 0x80 ; call kernel
O objetivo da linguagem de programação de alto nível é simplificar o procedimento de
escrever lógica de negócios usando texto legível por humanos. Programação de alto nível
linguagens são classificadas como compiladas e interpretadas.
A linguagem de programação compilada traduz código legível por humanos de alto nível em
código da máquina durante o procedimento de compilação.
Um programa que faz compilação real é chamado de compilador.
Vale ressaltar que cada programa precisa ser compilado
para arquitetura de computador específica.
Programas compilados para X86 não funcionarão em processadores ARM e vice-versa.
Portanto, é necessária compilação para arquitetura específica.
A compilação é um processo irreversível.
Você não pode converter de forma confiável o código assembly em código-fonte de alto nível.
Em termos de desempenho na maioria dos casos, os programas compilados são executados
mais rápido ? do que programas interpretados.
A maioria das linguagens compiladas são digitadas estaticamente.
A explicação segue nos próximos parágrafos.
As linguagens compiladas mais populares são C, C, Rust, Objective C, C#.
? Olá, mundo escrito em linguagem de programação C:
#includeint main() { printf("Hello World!"); return 0; }
Os aplicativos podem realizar certas ações típicas, como exibir imagens,
descompactar arquivos e muitos outros. Embora seja possível escrever tudo isso
funciona do zero, é impraticável fazê-lo.
Para isso são utilizadas bibliotecas.
As bibliotecas ajudam a reduzir a complexidade do processo de desenvolvimento dividindo
aplicações em módulos. Novos recursos e correções de bugs podem ser realizados em
o escopo do módulo e não de todo o aplicativo.
O processo de integração de bibliotecas à aplicação principal é denominado
Vinculando. A vinculação pode ser feita dinamicamente - o que significa que todas as bibliotecas são
compilado separadamente e conectado ao aplicativo principal durante
o tempo de execução do aplicativo ou estaticamente - o que significa que todo o código de máquina
das bibliotecas está integrada ao binário do aplicativo principal.
Bibliotecas dinâmicas geralmente possuem extensão .dll para Windows e .so para Unix.
Linguagem de programação interpretada traduz código legível por humanos de alto nível
em código de máquina durante a execução do programa. O programa que faz isso
é chamado de intérprete. Como um intérprete também é um programa que
já está compilado para arquitetura específica da CPU que pode traduzir
código de alto nível para linguagem de máquina em tempo real.
Em termos de desempenho, na maioria dos casos, os programas interpretados são mais lentos?
do que compilado.
As linguagens interpretadas mais populares são Python, JavaScript, PHP, Ruby.
? Olá, mundo escrito na linguagem de programação Python:
print("Hello World!")
As linguagens de programação podem ser classificadas como digitadas estaticamente ou dinamicamente.
Na linguagem de programação estaticamente digitada, todas as variáveis e estruturas de dados
são pré-definidos antes da compilação ou execução do programa.
Por exemplo, isso significa que se o desenvolvedor definir a variável A como string
ele não pode alterar seu valor de string para um número posteriormente no código.
Isso pode ser verificado durante a compilação e impressão do Ahead Of Time (AOT)
erro lógico. Esta técnica simples ajuda a reduzir o número de erros
durante a execução, o que leva a programas mais estáveis.
Na linguagem de programação digitada dinamicamente, variáveis podem ser reatribuídas
de um tipo para outro. Por exemplo, uma variável A pode primeiro conter um número
e posteriores podem conter uma string. Esse método simplifica o processo de desenvolvimento.
Variáveis podem ser números inteiros, números de ponto flutuante, strings.
Eles são considerados a estrutura de dados mais simples possível.
Para aprofundar, as variáveis são armazenadas usando endereços especificados na RAM.
O endereço é um número binário (111111111111110101111110111111111100001101100)
da célula de memória na RAM geralmente representada como número hexadecimal
(0x7fff5fbff86c) para facilitar a leitura.
Constantes são as variáveis especiais cujo valor, após a atribuição,
não deve ser alterado pelo programa em execução.
Além das variáveis, existem outras estruturas de dados, como Arrays,
Matrizes associativas, listas vinculadas, filas, pilhas e muitos outros.
O objetivo dessas estruturas é armazenar dados de forma mais eficiente
então seria mais fácil trabalhar com os dados.
Uma das maneiras de simplificar a programação da lógica de negócios é usar
as chamadas funções. Como em matemática onde f(x) é uma função que produz
algum valor dependendo das propriedades dessa função na programação
funções podem retornar valores ou fazer alguma coisa. Funções podem aceitar entrada
argumentos como um número, uma string ou qualquer outra estrutura de dados e retorno
valores ou estruturas de dados ou podem funcionar sem nenhum argumento,
tudo depende da lógica de negócios da própria função.
Na realidade, as linguagens de programação não são tão complexas quanto todo mundo pensa.
Se você está apenas começando a aprender programação - comece com interpretação simples
linguagem como Python. Depois de entender o básico - todos os outros idiomas
será tão fácil quanto ler a sintaxe.
Fonte: https://blog.wiregate.io/posts/programming-languages-explained
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3