Qual a aparência do código em uma linguagem de programação. Fonte

Existe um grande número de línguas no mundo. Algumas línguas nascem de novo, outras morrem. Para traduzir um texto, primeiro você precisa determinar em que idioma ele está escrito. As tecnologias modernas permitem que você faça isso com rapidez suficiente

Você vai precisar

  • - um computador
  • - detector automático de idioma
  • - no caso de determinar o idioma por conta própria - fontes com descrições de diferentes idiomas

Instruções

Você tem várias opções. Você pode pedir a um especialista para determinar o idioma do texto. Você pode tentar definir o idioma sozinho. Mas, por um dia, a maneira mais rápida de identificar o idioma para quem tem Internet é um identificador automático.

Para uma solução rápida, use um localizador automático, às vezes chamado de adivinhador. Hoje, foram desenvolvidos vários guias de idiomas que podem ser usados \u200b\u200bgratuitamente. Basicamente, os qualificadores de idioma diferem no número de idiomas que reconhecem e na base de vocabulário em cada um. língua.

O determinante funciona de acordo com o seguinte esquema. Ele divide o texto que você inseriu no campo apropriado em palavras. As palavras são comparadas com as da base do qualificador. Em seguida, ele conta o número de correspondências de palavras em diferentes idiomas e mostra o resultado - o idioma ou idiomas mais adequados (pode haver vários).

Nota

O resultado obtido não pode garantir 100% de qualidade. E o detector automático de idioma irá informá-lo honestamente sobre isso, indicando a probabilidade da resposta correta.

Para obter uma resposta competente na hora de verificar o texto e ter confiança nele, use algumas regras de trabalho.
1) O número mínimo de palavras para definição é de pelo menos 20. No entanto, lembre-se de que quanto mais frases você escrever, maior será a probabilidade de identificar corretamente o idioma.
2) Use vários programas localizadores.
3) Se possível, selecione a parte do texto para a qual a definição será mais eficaz.
4) Se possível, verifique o texto e corrija os erros.

Fontes:

  • http://mrtranslate.ru/guessers.php

O código-fonte é usado para produzir código-objeto ou é executado pelo interpretador. As alterações nunca são feitas no código-objeto, apenas no original, seguido pela reconversão para o código-objeto.

Outro propósito importante do código-fonte é a descrição de um programa. Usando o texto do programa, você pode restaurar a lógica de seu comportamento. Os comentários são usados \u200b\u200bpara tornar o código-fonte mais fácil de entender. Existem também ferramentas que permitem que você recupere automaticamente a documentação de seu código-fonte - os assim chamados. geradores de documentação.

Além disso, o código-fonte tem muitos outros usos. Ele pode ser usado como uma ferramenta de ensino; Programadores novatos podem achar útil examinar o código-fonte existente para aprender técnicas e metodologias de programação. Ele também é usado como uma ferramenta de comunicação entre programadores experientes devido à sua natureza (idealmente) concisa e inequívoca. O compartilhamento de código entre desenvolvedores é frequentemente citado como um fator que contribui para melhorar a experiência de programação.

Os programadores costumam transferir o código-fonte de um projeto para outro, o que é chamado de reutilização de código ( Reutilização de software).

O código-fonte é um componente essencial para portar software para outras plataformas. Sem o código-fonte para qualquer parte do software, a portabilidade é muito difícil ou impossível.

Organização

O código-fonte de alguma parte do software (módulo, componente) pode consistir em um ou vários arquivos. O código do programa não é necessariamente escrito em apenas uma linguagem de programação. Por exemplo, freqüentemente os programas escritos em C para fins de otimização contêm inserções de código em linguagem assembly. Também é possível que alguns componentes ou partes de um programa sejam escritos em linguagens diferentes, com montagem subsequente em um único módulo executável usando uma tecnologia conhecida como bibliotecas de vinculação ( link de biblioteca).

Um software complicado requer dezenas, ou mesmo centenas de arquivos de origem para ser criado. Nesses casos, para simplificar a construção, geralmente são usados \u200b\u200barquivos de projeto que descrevem as dependências entre os arquivos com o código-fonte e descrevem o processo de construção. Esses arquivos também podem conter outros parâmetros do compilador e do ambiente de desenvolvimento. Ambientes de design diferentes podem usar arquivos de projeto diferentes, e em alguns ambientes esses arquivos podem estar em um formato de texto adequado para edição direta por um programador usando editores de texto universais, em outros ambientes formatos especiais são suportados e os arquivos são criados e modificados usando ferramentas especiais programas. Os arquivos de projeto são comumente chamados de código-fonte. Na grande maioria dos ambientes de linguagem modernos, os arquivos de projeto são necessariamente usados, independentemente da complexidade do outro código-fonte incluído no projeto. O código-fonte geralmente se refere a arquivos de recursos que contêm vários dados, como gráficos necessários para construir um programa.

Os sistemas de controle de versão são usados \u200b\u200bpara facilitar o trabalho com o código-fonte, para o trabalho conjunto no código por uma equipe de programadores.

Qualidade

Ao contrário dos humanos, não existe um código “bem escrito” ou “mal escrito” para um computador. Mas a forma como o código é escrito pode ter um grande impacto no processo de manutenção. A qualidade do código-fonte pode ser dita no contexto dos seguintes parâmetros:

  • legibilidade do código (incluindo a presença ou ausência de comentários ao código - blocos de texto arbitrário omitidos pelo programa compilador);
  • facilidade de suporte, teste, depuração e correção de bugs, modificação e portabilidade;
  • baixa complexidade;
  • baixo uso de recursos - memória, processador, espaço em disco;
  • falta de comentários exibidos pelo compilador;
  • a ausência de "lixo" - as chamadas "variáveis \u200b\u200bmortas" (isto é, variáveis \u200b\u200bque não são usadas), operadores que nunca são executados, comentários de versões anteriores deste código que perderam o significado, etc.

Código fonte não executável

Licenças copyleft de software livre requerem distribuição de código-fonte. Essas licenças também são frequentemente usadas para trabalhos que não sejam de software, como documentação, imagens, arquivos de dados para jogos de computador.

Nesses casos, o código-fonte é considerado a forma preferencial da obra para edição. Ela também pode ser referida como a versão "transparente" em licenças que não sejam de software. Pode ser, por exemplo:

  • para um arquivo compactado com perda de dados - versão sem perdas;
  • para um bitmap - versão vetorial;
  • para uma imagem bidimensional de um modelo tridimensional - um modelo tridimensional
  • para texto de imagem - o mesmo texto em formato de texto;

e, finalmente, o próprio arquivo, se atender às condições especificadas ou se uma versão mais conveniente simplesmente não existir.

Uma linguagem assembly (ou assembler) é uma linguagem de programação de baixo nível para um computador ou outro equipamento programável em que há uma correlação entre a linguagem e a instrução do código de máquina da arquitetura. Cada linguagem orientada à máquina (na terminologia profissional - "assembler") se refere a uma arquitetura de computador específica. Em contraste, a maioria das linguagens de programação de alto nível são multiplataforma, mas requerem interpretação ou compilação.

O código específico da plataforma também pode ser chamado de linguagem simbólica ou um conjunto de instruções executadas diretamente pela unidade de processamento central de um computador. Cada programa executado por um processador consiste em uma série de instruções. O código de máquina, por definição, é o nível mais baixo de programação visível para o programador.

Usando

Muitas operações requerem um ou mais operandos capazes de construir uma instrução completa, e muitos montadores podem aceitar expressões e constantes numéricas, bem como registradores e rótulos como operandos. Isso libera o especialista em programação de máquinas de cálculos repetitivos tediosos. Dependendo da arquitetura, esses elementos também podem ser combinados para instruções específicas ou modos de endereçamento usando offsets ou outros dados, bem como endereços fixos. Muitos "construtores" oferecem mecanismos adicionais para facilitar o desenvolvimento do programa, controlar o processo de construção e oferecer suporte à depuração.

Perspectiva histórica

A primeira linguagem assembly foi desenvolvida em 1947 por Kathleen Booth para ARC2 no Processo Birkbeck com John von Neumann e Hermann Goldstein no Institute for Advanced Study. SOAP (Symbolic Optimal Assembly Program) foi a linguagem de montagem do 650, criada por Stan Poley em 1955.

Historicamente, muitas soluções de software foram escritas apenas em montagem. Os sistemas operacionais foram escritos exclusivamente nesta linguagem até a introdução de Burroughs MCP (1961), que foi escrito em Executive Systems Problem Oriented Language (ESPOL). Muitos aplicativos comerciais foram escritos em uma linguagem orientada à máquina, incluindo um grande número de softwares de mainframe IBM criados pelos gigantes de TI. COBOL e FORTRAN acabaram suplantando a maior parte do trabalho, embora muitas grandes organizações mantivessem estruturas de aplicativos de linguagem assembly na década de 1990.

A maioria dos primeiros microcomputadores era codificada manualmente, incluindo a maioria dos sistemas operacionais e aplicativos de grande escala. Isso ocorre porque essas máquinas tinham severas restrições de recursos, sobrecarregavam a memória individual e as arquiteturas de exibição e forneciam serviços de sistema limitados com erros. Talvez mais importante seja a falta de compiladores de linguagem de alto nível de primeira classe adequados para uso em um microcomputador, tornando difícil aprender código de máquina.

Area de aplicação

As linguagens assembly eliminam grande parte da programação de assembly de primeira geração problemática, tediosa e demorada exigida nos primeiros computadores. Isso libera os programadores da rotina de memorizar códigos numéricos e calcular endereços. No início, os coletores eram amplamente usados \u200b\u200bpara todos os tipos de programação. No entanto, no final da década de 1980. seu uso foi amplamente suplantado por linguagens de nível superior em busca de melhorias de desempenho de programação. A linguagem assembly ainda é usada hoje para manipulação direta de hardware, acesso a instruções especializadas do processador ou solução de problemas críticos de desempenho. Os aplicativos típicos são drivers de dispositivo, sistemas incorporados de baixo nível e parâmetros em tempo real.

Exemplos de aplicação

Exemplos típicos de grandes programas em linguagem assembly são os sistemas operacionais IBM PC DOS, o compilador Turbo Pascal e os primeiros aplicativos, como o programa de planilha Lotus 1-2-3.

Machine Oriented Language é a linguagem de desenvolvimento primária para muitos dos PCs domésticos procurados dos anos 1980 e 1990 (como MSX, Sinclair ZX Spectrum, Commodore 64, Commodore Amiga e Atari ST). Isso se deve ao fato de que os diálogos BASIC interpretados nesses sistemas proporcionaram uma velocidade de execução lenta, bem como oportunidades limitadas de aproveitamento total dos equipamentos disponíveis. Alguns sistemas têm até um ambiente de desenvolvimento integrado (IDE) com depuração altamente avançada e objetos de macro. Vários compiladores disponíveis para Radio Shack TRS-80 e seus sucessores tinham a capacidade de combinar a fonte de compilação embutida com programas de alto nível. Após a compilação, o montador embutido gerou binário embutido.

Código de máquina para manequins. Terminologia

O programa assembler gera opcodes traduzindo combinações de regras mnemônicas e de sintaxe para operações e modos de endereçamento em seus equivalentes numéricos. Essa representação geralmente inclui um opcode, bem como outros bits de controle e dados. O montador também avalia expressões constantes e define nomes simbólicos para locais de memória e outros objetos.

Os códigos de máquina também podem realizar alguns tipos simples de otimizações dependentes do conjunto de instruções. Um exemplo específico disso seriam os populares "construtores" de x86 de vários fornecedores. A maioria deles pode realizar substituições de comando de transição em qualquer número de passagens, mediante solicitação. Também capaz de reagrupamento ou inserção de instruções simples, como alguns montadores para arquiteturas RISC, que podem ajudar a otimizar o agendamento inteligente de instruções para aproveitar ao máximo o pipeline da CPU.

Semelhante às primeiras linguagens de programação, como Fortran, Algol, Cobol e Lisp, os construtores estão disponíveis desde a década de 1950, assim como as primeiras gerações de interfaces de computador baseadas em texto. No entanto, os compiladores vieram primeiro, porque são muito mais fáceis de escrever do que os compiladores para linguagens de alto nível. Isso ocorre porque cada mnemônico, bem como os modos de endereçamento e operandos de instrução, são traduzidos nas representações numéricas de cada instrução específica sem muito contexto ou análise. Também houve uma série de classes de tradutores e geradores de código semiautomáticos com propriedades semelhantes aos assemblies e linguagens de alto nível, com o speed code sendo indiscutivelmente um dos exemplos mais conhecidos.

Número de passes

Existem dois tipos de programação de montagem, com base no número de passagens pela origem (pelo número de tentativas de leitura) para criar um arquivo de objeto.

Os montadores de uma passagem examinam o código-fonte uma vez. Qualquer caractere usado antes de sua definição exigirá uma errata no final do código do objeto.
Os montadores de várias passagens criam tabelas com todos os símbolos e seus significados nas primeiras passagens e, em seguida, aplicam a tabela nas passagens subsequentes para gerar o código.

O motivo original para usar coletores de passagem única era a velocidade de montagem - muitas vezes, uma segunda passagem exigia rebobinar e reler o código-fonte do programa na fita. Computadores posteriores com quantidades muito maiores de memória (especialmente para armazenamento de discos) tinham espaço para fazer todo o processamento necessário sem reler. A vantagem do assembler multipass é que a ausência de erros torna o processo de vinculação (ou carregamento do programa se o assembler gerar código executável diretamente) mais rápido.

O que é código binário?

Um programa escrito em linguagem assembly consiste em uma série de instruções mnemônicas do processador e metaoperadores (conhecidos como diretivas, pseudo-instruções e pseudo-ops), comentários e dados. As instruções de linguagem assembly geralmente consistem em mnemônicos de opcode. Ele é seguido por uma lista de dados, argumentos ou parâmetros. Eles são traduzidos pelo assembler em instruções em linguagem de máquina, que são carregadas na memória e executadas.

Por exemplo, a instrução abaixo diz ao processador x86 / IA-32 para mover um valor de 8 bits para um registrador. O código binário para esta instrução é 10110 seguido por um identificador de 3 bits para o qual um registro é usado. O identificador AL é 000, portanto, o código a seguir carrega o registro AL com os dados 01100001.

Surge a pergunta: o que é código binário? É um sistema de codificação que usa os dígitos binários "0" e "1" para representar uma letra, número ou outro símbolo em um computador ou outro dispositivo eletrônico.

Exemplo de código de máquina: 10110000 01100001.

Características técnicas

Converter uma linguagem assembly em código de máquina é um trabalho de assembler. O processo reverso é feito com um desmontador. Ao contrário das linguagens de alto nível, existe uma correspondência de um para um entre muitas instruções de montagem simples e instruções de linguagem de máquina. No entanto, em alguns casos, o montador pode fornecer pseudo-instruções (macros). Eles abrangem várias instruções em linguagem de máquina para fornecer a funcionalidade comumente necessária. A maioria dos montadores de recursos completos também fornece uma linguagem macro rica que é usada por fornecedores e programadores para gerar códigos e sequências de dados mais complexos.

Cada arquitetura de computador possui sua própria linguagem de máquina. Os computadores diferem no número e tipos de operações que suportam, em diferentes tamanhos e número de registros e nas representações de dados no armazenamento. Embora a maioria dos PCs de uso geral seja capaz de executar quase todas as mesmas funcionalidades, as maneiras como o fazem são diferentes. As linguagens assembly correspondentes refletem essas diferenças.

Muitos conjuntos de mnemônicos ou sintaxe assembler podem existir para o mesmo conjunto de instruções, geralmente escritos em programas diferentes. Nestes casos, o mais popular geralmente é aquele fornecido pelo fabricante e utilizado em sua documentação.

Linguagem de design

Há uma grande variedade em como os autores de colecionadores classificam as declarações e a nomenclatura que usam. Em particular, alguns descrevem qualquer coisa diferente de máquina ou mnemônicos estendidos como uma pseudo-operação. O vocabulário básico de montagem consiste em um conjunto de instruções - três tipos principais de instruções que são usadas para definir operações programáticas:

  • opcode mnemônicos;
  • definições de dados;
  • diretivas de coletor.

Opcode mnemônicos e estendidos mnemônicos

As instruções escritas em linguagem assembly são elementares, ao contrário das linguagens de alto nível. Normalmente, um mnemônico (caracteres arbitrários) é uma designação simbólica para uma única instrução de código executável. Cada instrução geralmente consiste em um opcode mais zero ou mais operandos. A maioria dos comandos se refere a um ou dois valores.

Mnemônicos estendidos são freqüentemente usados \u200b\u200bpara operação especializada de instruções - para fins não óbvios a partir do título do manual. Por exemplo, muitos processadores não têm uma instrução NOP explícita, mas têm algoritmos integrados que são usados \u200b\u200bpara esse propósito.

Muitos construtores oferecem suporte a macros integradas rudimentares que podem gerar duas ou mais instruções de máquina.

Diretivas de dados

Existem instruções usadas para definir membros para armazenar dados e variáveis. Eles definem o tipo de dados, comprimento e alinhamento. Essas instruções também podem determinar a disponibilidade de informações para programas externos (coletados separadamente) ou apenas para o programa no qual a seção de dados é definida. Alguns montadores os definem como pseudo-operadores.

Construir diretivas

As diretivas do montador, também chamadas de pseudocódigos ou pseudo-ops, são comandos fornecidos ao montador e o direcionam para executar operações diferentes das instruções de montagem. As diretivas afetam como o montador funciona e podem afetar o código do objeto, a tabela de símbolos, o arquivo de listagem e os valores dos parâmetros do montador interno. Às vezes, o termo pseudocódigo é reservado para diretivas que geram código-objeto.

Os nomes pseudo-op geralmente começam com um ponto para distingui-los das instruções da máquina. Outro uso comum para pseudo-ops é reservar áreas de armazenamento para dados de tempo de execução e, possivelmente, inicializar seu conteúdo para valores conhecidos.

Código autodocumentável

Montadores simbólicos permitem que os programadores associem nomes arbitrários (rótulos ou símbolos) a localizações de memória e várias constantes. Freqüentemente, cada constante e variável recebe seu próprio nome, portanto, as instruções podem se referir a esses locais pelo nome, contribuindo assim para o código de autodocumentação. No código executável, o nome de qualquer sub-rotina é associado ao seu ponto de entrada, portanto, qualquer chamada à sub-rotina pode usar seu nome. Os rótulos GOTO são atribuídos nas sub-rotinas. Muitos coletores suportam símbolos locais que são lexicamente diferentes dos símbolos regulares.

Montadores como o NASM fornecem gerenciamento flexível de caracteres, permitindo que os programadores manipulem diferentes namespaces, calculem automaticamente os deslocamentos em estruturas de dados e atribuam rótulos que se referem a valores literais ou ao resultado de cálculos simples realizados pelo montador. Os rótulos também podem ser usados \u200b\u200bpara inicializar constantes e variáveis \u200b\u200bcom endereços relocáveis.

As linguagens assembly, como a maioria das outras, permitem adicionar comentários ao código-fonte de um programa que será ignorado durante o processo de construção. Os comentários forenses são importantes em programas em linguagem assembly porque a definição e o propósito de uma seqüência de instruções de máquina binárias são difíceis de determinar. A linguagem assembly "bruta" (não comentada) gerada por compiladores ou desmontadores é muito difícil de ler quando as alterações precisam ser feitas.

A programação é toda uma ciência que permite criar programas de computador. Inclui um grande número de operações e algoritmos diferentes que formam uma única linguagem de programação. Então, o que é e quais são as linguagens de programação? O artigo fornece respostas, bem como uma lista de visão geral das linguagens de programação.

A história do surgimento e mudança das linguagens de programa deve ser estudada juntamente com a história do desenvolvimento das tecnologias de computador, porque esses conceitos estão diretamente relacionados. Sem linguagens de programação, seria impossível criar qualquer programa para o funcionamento de um computador, o que significa que a criação de computadores se tornaria um exercício sem sentido.

A primeira linguagem de máquina foi inventada em 1941 por Konrad Zuse, que é o inventor da máquina analítica. Um pouco mais tarde, em 1943, Howard Aiken criou a máquina Mark 1, capaz de ler instruções no nível do código de máquina.

Na década de 1950, havia uma demanda ativa para o desenvolvimento de software e a linguagem de máquina não conseguia lidar com grandes quantidades de código, então uma nova forma de comunicação com os computadores foi criada. Assembler é a primeira linguagem mnemônica a substituir as instruções da máquina. Com o passar dos anos, a lista das linguagens de programação só cresce, pois o campo de aplicação das tecnologias de computação se torna mais amplo.

Classificação das linguagens de programação

No momento, existem mais de 300 linguagens de programação. Cada um deles tem suas próprias características e é adequado para uma tarefa específica. Todas as linguagens de programação podem ser divididas em vários grupos:

  • Orientado a aspectos (a ideia principal é a separação de funcionalidades para aumentar a eficiência dos módulos de software).
  • Estrutural (baseado na ideia de criar uma estrutura hierárquica de blocos de programa individuais).
  • Lógico (baseado na teoria do aparato da lógica matemática e nas regras de resolução).
  • Orientado a objetos (em tal programação, não são usados \u200b\u200balgoritmos, mas objetos que pertencem a uma determinada classe).
  • Multi-paradigma (combina vários paradigmas, e o próprio programador decide qual linguagem usar em um caso particular).
  • Funcional (os elementos principais são funções que alteram o valor em função dos resultados dos cálculos dos dados iniciais).

Programação para iniciantes

Muitas pessoas se perguntam o que é programação? Basicamente, é uma forma de se comunicar com um computador. Graças às linguagens de programação, podemos definir tarefas específicas para vários dispositivos, criando aplicativos ou programas especiais. Ao estudar essa ciência no estágio inicial, o mais importante é escolher as linguagens de programação apropriadas (interessantes para você). A lista inicial está abaixo:

  • O Basic foi inventado em 1964, pertence à família das linguagens de alto nível e é usado para escrever programas aplicativos.
  • Python ("Python") é bastante fácil de aprender graças à sua sintaxe legível simples, mas a vantagem é que você pode criar programas de desktop regulares e aplicativos da web com ele.
  • Pascal ("Pascal") - uma das línguas mais antigas (1969), criada para o ensino de alunos. Sua modificação moderna é fortemente tipada e estruturada, mas Pascal é uma linguagem bastante lógica que é compreensível em um nível intuitivo.

Esta não é uma lista completa de linguagens de programação para iniciantes. Há um grande número de sintaxes disponíveis para compreensão e, com certeza, serão solicitadas nos próximos anos. Cada pessoa tem o direito de escolher de forma independente a direção que lhe interessa.

Os iniciantes têm a oportunidade de acelerar o aprendizado da programação e seus fundamentos graças a ferramentas especiais. O assistente principal é o ambiente de desenvolvimento integrado para programas e aplicativos Visual Basic ("Visual Basic" também é uma linguagem de programação que herdou o estilo da linguagem Basic dos anos 1970).

Níveis de linguagem de programação

Todas as linguagens formalizadas projetadas para criar, descrever programas e algoritmos para resolver problemas em computadores são divididas em duas categorias principais: linguagens de programação de baixo nível (a lista é fornecida abaixo) e de alto nível. Vamos falar sobre cada um deles separadamente.

Linguagens de baixo nível são projetadas para criar instruções de máquina para processadores. Sua principal vantagem é que usam notação mnemônica, ou seja, ao invés de uma sequência de zeros e uns (do sistema numérico binário), o computador lembra uma palavra abreviada significativa da língua inglesa. As linguagens de baixo nível mais famosas são "Assembler" (existem várias subespécies desta linguagem, cada uma das quais tem muito em comum, mas difere apenas em um conjunto de diretivas e macros adicionais), CIL (disponível na plataforma .Net) e Bytecode JAVA.

Linguagens de programação de alto nível: lista

As linguagens de alto nível são projetadas para a conveniência e eficiência dos aplicativos, elas são o oposto exato das linguagens de baixo nível. Sua característica distintiva é a presença de estruturas semânticas que descrevem de forma sucinta e sucinta as estruturas e algoritmos dos programas. Em linguagens de baixo nível, sua descrição em código de máquina seria muito longa e incompreensível. Linguagens de alto nível são independentes de plataforma. Em vez disso, os compiladores desempenham a função de um tradutor: eles traduzem o texto do programa em instruções de máquina elementares.

A seguinte lista de linguagens de programação: C ("C"), C # ("C-sustenido"), "Fortran", "Pascal", Java ("Java") - estão entre as sintaxes de alto nível mais usadas. Possui as seguintes propriedades: essas linguagens funcionam com estruturas complexas, suportam tipos de dados de string e operações com arquivos de E / S de informação e também têm a vantagem de serem muito mais fáceis de trabalhar devido à legibilidade e sintaxe compreensível.

Linguagens de programação mais usadas

Basicamente, você pode escrever um programa em qualquer idioma. A questão é: funcionará com eficiência e sem problemas? É por isso que as linguagens de programação mais adequadas devem ser escolhidas para resolver vários problemas. A lista por popularidade pode ser caracterizada da seguinte forma:

  • linguagens OOP: Java, C ++, Python, PHP, VisualBasic e JavaScript;
  • um grupo de linguagens estruturais: Basic, Fortran e Pascal;
  • multiparadigma: C #, Delphi, Curry e Scala.

Escopo de programas e aplicativos

A escolha da linguagem em que este ou aquele programa é escrito depende muito da área de sua aplicação. Assim, por exemplo, para trabalhar com o "hardware" do próprio computador (escrever drivers e programas de suporte), a melhor opção seria C ("C") ou C ++, que estão incluídos nas principais linguagens de programação (veja a lista acima). E para o desenvolvimento de aplicativos móveis, incluindo jogos, você deve escolher Java ou C # ("C-Sharp").

Se você ainda não decidiu em que direção trabalhar, recomendamos que comece a aprender com as linguagens C ou C ++. Eles têm uma sintaxe muito clara, uma divisão estrutural clara em classes e funções. Além disso, conhecendo C ou C ++, você pode aprender facilmente qualquer outra linguagem de programação.

Qualquer linguagem de programação ou linguagem de marcação que possa ser lida por humanos. Em um sentido generalizado, qualquer entrada para um tradutor. O código-fonte é traduzido para código executável inteiramente antes de executar o programa usando o compilador ou pode ser executado imediatamente usando o interpretador.

Compromisso

O código-fonte é usado para produzir código-objeto ou é executado pelo interpretador. As alterações são feitas apenas no original, seguido pela reconversão para o objeto.

Outro propósito importante do código-fonte é a descrição de um programa. Usando o texto do programa, você pode restaurar a lógica de seu comportamento. Os comentários são usados \u200b\u200bpara tornar o código-fonte mais fácil de entender. Existem também ferramentas que permitem que você recupere automaticamente a documentação de seu código-fonte - os assim chamados. geradores de documentação.

Além disso, o código-fonte tem muitos outros usos. Ele pode ser usado como uma ferramenta de ensino; Programadores novatos podem achar útil examinar o código-fonte existente para aprender técnicas e metodologias de programação. Ele também é usado como uma ferramenta de comunicação entre programadores experientes devido à sua natureza concisa e inequívoca. O compartilhamento de código entre desenvolvedores é frequentemente citado como um fator que contribui para melhorar a experiência de programação.

Os programadores freqüentemente transferem o código-fonte (como módulos, no estado em que se encontra ou com adaptação) de um projeto para outro, o que é chamado de reutilização de código.

O código-fonte é um componente essencial para portar software para outras plataformas. A portabilidade é muito difícil ou impossível sem o código-fonte de qualquer parte do software.

Organização

O código-fonte de alguma parte do software (módulo, componente) pode consistir em um ou vários arquivos. O código do programa não é necessariamente escrito em apenas uma linguagem de programação. Por exemplo, freqüentemente os programas escritos em C, por motivos de otimização, contêm inserções de código em linguagem assembly. Também é possível que alguns componentes ou partes de um programa sejam escritos em linguagens diferentes, com a montagem subsequente em um único módulo executável usando uma tecnologia conhecida como bibliotecas de ligação ( link de biblioteca).

Um software complexo requer dezenas ou mesmo centenas de arquivos de origem para ser construído. Nesses casos, para simplificar a construção, geralmente são usados \u200b\u200barquivos de projeto, que descrevem as dependências entre os arquivos com o código-fonte e descrevem o processo de construção. Esses arquivos também podem conter opções para o compilador e o ambiente de design. Ambientes de design diferentes podem usar arquivos de projeto diferentes, e em alguns ambientes esses arquivos podem estar em um formato de texto adequado para edição direta por um programador usando editores de texto universais, em outros ambientes formatos especiais são suportados e os arquivos são criados e modificados usando ferramentas especiais programas. Os arquivos de projeto são comumente chamados de código-fonte. O código-fonte geralmente se refere a arquivos de recursos que contêm vários dados, como gráficos necessários para construir um programa.

Os sistemas de controle de versão são usados \u200b\u200bpara facilitar o trabalho com o código-fonte e para colaborar no código com uma equipe de programadores.

Qualidade

Ao contrário dos humanos, não existe um código “bem escrito” ou “mal escrito” para um computador. Mas a forma como o código é escrito pode ter um efeito profundo no processo de manutenção. A qualidade do código-fonte pode ser avaliada pelos seguintes parâmetros:

  • legibilidade do código (incluindo a presença

Materiais da última seção:

Qual é a tragédia da vida de Oblomov?
Qual é a tragédia da vida de Oblomov?

A que leva a falta de propósito na vida? (direção "Aims and Means") A vida sufoca sem um objetivo. F.M.Dostoevsky A vida é um movimento ...

O peso e a altura exatos das belezas de Hollywood
O peso e a altura exatos das belezas de Hollywood

Fatos interessantes: Britney Spears atingiu o Guinness Book of Records como a detentora do recorde de vendas de singles na primeira semana na história da música. Também Britney ...

Reportagem sobre o tema plantas medicinais da floresta Mensagem sobre o tema plantas medicinais
Reportagem sobre o tema plantas medicinais da floresta Mensagem sobre o tema plantas medicinais

Introdução 3 1. Composição química das plantas medicinais 6 2. Muco e plantas que contêm muco e matérias-primas 12 3 Plantas medicinais ...