Buscar

Linguagem de Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Conceito de Linguagem de Programação
Na programação de computadores, uma linguagem de programação serve como meio de comunicação entre o individuo que deseja resolver um determinado problema e o computador.
A linguagem de programação deve fazer a ligação entre o pensamento humano (muitas vezes de natureza não estruturada deve ) e a precisão requerida para o processamento pelo computador .
Uma linguagem de programação auxilia o programador no processo de desenvolvimento de software:
- Projeto
- Implementação 
- Teste 
- Verificação 
- manutenção de software 
Ela é destina para ser usada por uma pessoa para expressar um processo através do qual um computador possa resolver um problema.
Os modelos paradigmas de linguagem de programação correspondem a diferentes pontos de vista dos quais processos podem ser expressos.
Exemplos: Imperativos, orientado a objeto, funcional e logico.
É uma regra de sintaxe que permite a construção de sentenças que descrevem de forma precisa ações compreensíveis e executáveis para o computador.
 Linguagem de programação = Símbolos + Regras de Sintaxe
Ela pode ser uma notação formal para descrição de algoritmos que serão executados por um computador. Como todas as notações formais, uma linguagem de programação tem dois componentes: Sintaxe e Semântica. A Sintaxe consiste em um conjunto de regras formais que especificam a composição de programas a partir de letras ,dígitos ,e outros símbolos .Por exemplos ,regras de Sintaxe podem especificar que cada parênteses aberto em uma expressão aritmética deve corresponder a um parênteses fechado, que dois comandos quaisquer devem ser separados por um ponto-e-virgula.As regras de semântica especificam o “ SIGNIFICADO” de qualquer programa ,sintaticamente valido ,escrito na linguagem.
Tipos de Linguagens de Programação
 Existem diversas linguagens de programação, cada uma com suas características específicas e com níveis de complexidade e objetivos diferentes.
 LINGUAGEM CARACTERÍSTICAS
	Linguagem de Maquina 
	Única compreendida pelo computador
Especifica de cada computador. 
	Linguagens de Baixo Nível
	Utiliza mnemônico para representar instruções elementares Ex.: Assembly
	Linguagens de Alto Nível
	Utiliza instruções próximas da linguagem humana de forma a facilitar o raciocínio. Ex.: Uso Científico: Fortran Propósito Geral: Pascal, C, Basic Uso Comercial: COBOL, Clipper Uso específico: Lisp, Prolog.
Existentes hoje em dia são capazes de executar somente programas em linguagem de baixo nível, a Linguagem de Máquina.
 Linguagens de Máquina são projetadas levando-se em conta os seguintes aspectos:
 - rapidez de execução de programas;
- custo de sua implementação; 
 - flexibilidade com que permite a construção de programas de nível mais alto. 
Por outro lado, linguagens de programação de alto nível são projetadas em função de:
 - facilidade de construção de programas;
- confiabilidade dos programas.
Problema é: Como a linguagem de nível mais alto pode ser implementada em um computador, cuja linguagem é bastante diferente e de nível mais baixo?
Solução: Através da tradução de programas escritos em linguagens de alto nível para a linguagem de baixo nível do computador. Para isso existem três tipos de programas tradutores: Montadores, Interpretadores e Compiladores.. 
Montador 
Efetua a tradução de linguagem de montagem ( Assembly ) para a linguagem de máquina, da seguinte forma:
 • obtém a próxima instrução do Assembly;
 • traduz para as instruções correspondentes em linguagem de máquina; executa as instruções em linguagem de máquina; e
• repete o passo 1 até o fim do programa.
 Interpretador:
 Efetua a tradução a de uma linguagem de alto nível para linguagem de máquina da seguinte forma:
• obtém próxima instrução do código-fonte em linguagem de alto nível;
 • traduz para as instruções correspondentes em linguagem de máquina; 
• executa as instruções em linguagem de máquina; 
• repete o passo 1 até o fim do programa
 Compilador:
 Efetua a tradução de todo o código-fonte em linguagem de alto nível para as instruções correspondentes em linguagem de máquina, gerando o código-objeto do programa. Em seguida é necessário o uso de outro programa ( Link-Editor ) que é responsável pela junção de diversos códigos-objeto em um único programa executável.
EDIÇÃO COMPILAÇÃO LINK-EDIÇÃO ALGORITMO ⇒ CÓDIGO-FONTE ⇒ CÓDIGO-OBJETO ⇒ PROGRAMA EXECUTÁVEL
EDIÇÃO COMPILAÇÃO LINK-EDIÇÃO ALGORITMO ⇒ CÓDIGO-FONTE ⇒ CÓDIGO-OBJETO ⇒ PROGRAMA EXECUTÁVEL
Possibilidades de Erros no Programa:
- Erros de Compilação: erros de digitação e de uso da sintaxe da linguagem.
- Erros de Link-Edição: erro no uso de bibliotecas de sub-programas necessárias ao programa principal.
 - Erros de Execução: erro na lógica do programa (algoritmo).
 Visão Geral da Linguagem JAVA e C#
Conceitualmente não existem diferenças entre as duas linguagens, porém, sintaticamente existem diferenças, mas nada que não seja de fácil assimilação. Veja:
Em Java, um pacote representa fisicamente uma pasta (ou diretório para os puristas);
Em C# um namespace não está relacionado a uma pasta. É possível ter uma pasta com um nome e dentro desta pasta, classes que pertençam a um namespace com outro nome, ou ainda, em uma pasta é possível existirem classes com namespaces diferentes;
O IDE pode compor o nome do namespace da classe a ser criada com o nome da pasta onde a criação esteja ocorrendo. Mas lembre-se que, ao contrário de Java, isso não é obrigatório em C#.
Assim como em Java que tem sua classe devidamente nomeada com o uso dos nomes dos pacotes a que ela pertence, uma classe em C# tem seu nome devidamente qualificado quando é referenciada com o caminho completo, que inclui o namespace da mesma. 
Java :
Exemplos, javax.swing.JButton 
C# :
Exemplos , System.Windows.Forms.Button.
O modelo do Java traga mais benefícios, onde existe uma regra sintática ligada diretamente à estrutura de pacotes. Deixar para o desenvolvedor a responsabilidade de atribuir os namespaces aos respectivos folders pode trazer prejuízos na produtividade e erros semânticos em toda a estrutura.
Quando se implementa uma classe, seja qual for a responsabilidade dela, fatalmente ela incorrerá na situação de utilizar outras classes. Há uma grande possibilidade de que as classes que sejam utilizadas nesta implementação pertençam a um mesmo contexto, sendo, desta forma, visíveis. Porém, na maioria das vezes, se faz uso de classes que foram desenvolvidas por outros, ou, ainda, que façam parte da API (Application Program Interface) da linguagem eleita para implementar a solução.
Quando ocorre, é preciso que a classe em implementação tenha conhecimento da(s) classe(s) que utiliza, pois, para seu problema, não é preciso, por exemplo, saber como um JFrame é criado, gerenciado ou apresentado, é preciso saber apenas os serviços oferecidos por ele e não como eles são implementados (Encapsulamento). Mas, é preciso que a classe responsável por estes “detalhes” seja visível durante a compilação, pois, se na classe existir uma chamada a MessageBox, e não exista referência a este tipo, o compilador acusará problemas.
É resolvida através de importações de “bibliotecas”. Qualquer linguagem oferece (precisa oferecer) este recurso. Em Java, as bibliotecas (classes) são importadas através da instrução import, que se situa abaixo da declaração do pacote ao qual a classe pertence. O C# também, obviamente, oferece este recurso, porém, de outra forma. As classes em C# são importadas através da instrução using e se encontram antes da declaração do namespace, pois em C#, a classe é delimitada pelo namespace a que pertence.
A situação oferecida pelo Java, de importar de forma explícita uma classe, e não seu pacote, apesar de isso ser possível, facilita em muito a identificação de a qual pacote uma classe pertence. Esta situação não ocorre em C#, mas a documentação oferecida (MSDN) érica e auxilia em muito esta identificação, mas obviamente, na leitura de um código, na seção de importação não fica claro quais classes são utilizadas de cada namespace.
Outro detalhe que deve ser verificado, em C#, é que a instrução using não é exclusiva para a importação de bibliotecas (assemblies). Existe outro uso (muito bom) para ela, mas que está fora do escopo deste artigo. Já em Java, o import é exclusivo para a importação de classes.
Uma classe, tanto em C# como em Java, representa um tipo de dado. Este tipo de dado é composto por atributos, que representam suas características, e métodos, que representam o comportamento da classe (ou serviços oferecidos por ela). E, como qualquer tipo de dado, presume-se que tipificará, neste caso, objetos a serem utilizados por outras classes.
Em Java, um arquivo pode ter várias classes, porém apenas uma delas pode ser pública, as demais terão seu acesso livre à todas as classes do mesmo pacote. Em C#, um arquivo pode ter várias classes também, porém, não existe a limitação de quantidade de classes públicas e as classes que não possuírem uma modificadora de acesso, são por default internal.
Uma característica oferecida por C# e que não existe em Java é o conceito de partial class (classes parciais). Uma classe parcial pode ser visualizada como uma classe que possui sua implementação distribuída em mais de um arquivo. Essa característica pode ser facilmente visualizada em aplicações Windows Forms, criadas pelo Visual Studio, onde a interface (formulário) é alocada a um arquivo e o comportamento implementado para a mesma, em outro arquivo. O uso de classes parciais está fora do escopo deste artigo.
Em Java é possível alocar várias classes a um mesmo package, porém, como dito anteriormente, em arquivos separados se forem públicas. Em C#, uma classe pode ser declarada dentro de um namespace, em um único arquivo, Desta forma, dentro deste namespace, várias classes públicas também podem ser criadas.
Uma atenção especial deve ser dada à visibilidade das classes. Em C#, além dos já conhecidos modificadores de acesso (ou escopo) – public, private e protected – existem ainda os internal e protected internal. O internal permite acesso apenas por serviços implementados no mesmo projeto (assembly), já com o protected internal (assim como o private em Java) não tem uso permitido para a declaração de classes. O detalhamento sobre visibilidade e tempo de vida de objetos está fora do escopo deste artigo.
Uma classe, sem modificador de escopo em Java, tem como padrão o acesso por pacote, porém, em C# o padrão é o internal. O C#, assim como o Java, permite que classes sejam declaradas dentro de classes. , em C#, o namespace a que uma classe pertence não estar ligado fisicamente com a pasta onde o mesmo é armazenado. Isso dá liberdade ao desenvolvedor, mas pode trazer problemas futuros se não existir uma boa disciplina para garantir esta organização.
Em Java, um atributo é declarado propriedade quando o mesmo possui métodos acessores públicos definidos para ele, ou seja, os métodos get e set. Desta forma, um atributo de um objeto em Java só pode ser acessado através de chamadas a métodos, que retornem valores (get) e que recebem valores (set), atualizando o estado do objeto.
Em C# a transformação de um atributo para propriedade é diferente, segue o padrão Delphi, ou seja, os valores são obtidos e atribuídos através de um operador de igualdade (=). A Figura 7, acima, apresenta as declarações privadas para os atributos e publicas para as propriedades, semelhante ao Java. Porém, veja que uma propriedade em C#, possui (não obrigatoriamente) os métodos get e set, onde existe então a implementação para atribuição e retorno do valor do atributo.
A convenção trabalhada em Java cumpre de maneira explícita o uso de mensagens (métodos), quer seja para um serviço específico de uma classe, quer seja para atribuição simples de um atributo. C# aplica o mesmo conceito, porém fazendo uso explícito de propriedades, o que é mais intuitivo. Atribuição e obtenção de valores precisa ser uma operação simples. É mais natural. Métodos (mensagens) são (e devem ser) utilizados para resolverem problemas específicos, o velho conceito do Dividir para Conquistar. A regra para consistência do atributo continua existindo em C#, da mesma forma que em Java, basta para isso, colocar esta regra no método get e set da propriedade.
Ambiente de Desenvolvimento Integrado
IDE, do inglês Integrated Development Environment ou Ambiente de Desenvolvimento Integrado, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar o processo.
Geralmente os IDES facilitam a técnica de RAD (de Rapid Application Development, ou "Desenvolvimento Rápido de Aplicativos"), que visa a maior produtividade dos desenvolvedores.
Características e ferramentas mais comuns encontradas:
Editor - edita o código-fonte do programa escrito na linguagem suportada(s) pela IDE;
Compilador (compiler) - compila o código-fonte do programa, editado em uma linguagem específica e a transforma em linguagem de máquina;
Linker - liga (linka) os vários "pedaços" de código-fonte, compilados em linguagem de máquina, em um programa executável que pode ser executado em um computador ou outro dispositivo computacional;
Depurador (debugger) - auxilia no processo de encontrar e corrigir defeitos no código-fonte do programa, na tentativa de aprimorar a qualidade de software;
Modelagem (modeling) - criação do modelo de classes, objetos, interfaces, associações e interações dos artefatos envolvidos no software com o objetivo de solucionar as necessidades-alvo do software final;
Geração de código - característica mais explorada em Ferramentas CASE, a geração de código também é encontrada em IDEs, contudo com um escopo mais direcionado a templates de código comumente utilizados para solucionar problemas rotineiros. Todavia, em conjunto com ferramentas de modelagem, a geração pode gerar praticamente todo o código-fonte do programa com base no modelo proposto, tornando muito mais rápido o processo de desenvolvimento e distribuição do software;
Distribuição (deploy) - auxilia no processo de criação do instalador do software, ou outra forma de distribuição, seja discos ou via internet;
Testes Automatizados (automated tests) - realiza testes no software de forma automatizada, com base em scripts ou programas de testes previamente especificados, gerando um relatório, assim auxiliando na análise do impacto das alterações no código-fonte. Ferramentas deste tipo mais comuns no mercado são chamadas robôs de testes;
Refatoração (refactoring) - consiste na melhoria constante do código-fonte do software, seja na construção de código mais otimizado, mais limpo e/ou com melhor entendimento pelos envolvidos no desenvolvimento do software. A refatoração, em conjunto com os testes automatizados, é uma poderosa ferramenta no processo de erradicação de "bugs", tendo em vista que os testes "garantem" o mesmo comportamento externo do software ou da característica sendo reconstruída.
 Benefícios. 
Usar uma IDE pode trazer diversos benefícios para as pessoas envolvidas como os Stakeholders, programadores, empresas e clientes .Quando usamos um IDE adequado pode aumentar a produtividade ,diminuindo gastos e aumento o desempenho .Com ela é possível medir resultados, fazer a verificação e correção dos erros e integrara a tecnologia.
Aplicativos com acesso a banco de Dados
A diferença em relação aos tipos de aplicativos existentes pode causar diferenças em relação á segurança, tipos de CMS que você pode utilizar e também vais fazer diferença do host.
 
 Oracle
É um SGBD (sistema gerenciador de banco de dados) que surgiu no fim dos anos 70, quando Larry Ellison vislumbrou uma oportunidade que outras companhias não haviam percebido, quando encontrou uma descrição de um protótipo funcional de um banco de dados relacional e descobriu que nenhumaempresa tinha se empenhado em comercializar essa tecnologia.
Além da base de dados, a Oracle desenvolve uma suíte de desenvolvimento chamada de Oracle Developer Suíte, utilizada na construção de programas de computador que interagem com a sua base de dados. A Oracle também criou a linguagem de programação PL/SQL, utilizada no processamento de transações.
MYSQL
É um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares[1], com mais de 10 milhões de instalações pelo mundo.
O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica.[6] A Wikipédia é um exemplo de utilização do MySQL em sites de grande audiência.
O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros recursos de banco de dados.
SQL SERVER
É um sistema gerenciador de Banco de dados relacional(SGBD) desenvolvido pela Microsoft. Foi criado em parceria com a Sybase em 1988 inicialmente para a plataforma OS/2. Esta parceria durou até 1994, com o lançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto. Como um Banco de dados, é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicações de software seja aqueles no mesmo computador ou aqueles em execução em outro computador através de uma rede (incluindo a Internet). Há pelo menos uma dúzia de diferentes edições do Microsoft SQL Server destinado a públicos diferentes e para diferentes cargas de trabalho (variando de pequenas aplicações que armazenam e recuperam dados no mesmo computador, a milhões de usuários e computadores que acessam grandes quantidades de dados a partir da Internet ao mesmo tempo). Suas linguagens de consulta primárias são T-SQL e ANSI SQL.
SQL Server Desktop Engine (MSDE) não terá suporte no sistema operacional Microsoft Windows Vista
Mongodb
 É uma aplicação de código aberto, de alta performance, sem esquemas, orientado a documentos. Foi escrito na linguagem de programação C++. Além de orientado a documentos, é formado por um conjunto de documentos JSON. Muitas aplicações podem, dessa forma, modelar informações de modo muito mais natural, pois os dados podem ser aninhados em hierarquias complexas e continuar a ser indexava e fáceis de buscar.
O desenvolvimento de MongoDB começou em outubro de 2007 pela 10gen. A primeira versão pública foi lançada em fevereiro de 2009. 
	
 
 
Referencia 
 http://www.linhadecodigo.com.br/artigo/1620/java-e-csharpnet-um-breve-e-introdutorio-estudo-comparativo-de-suas-sintaxes-e-convencoes.aspx#ixzz4wQxJeW00 (2017)
 http://www.linhadecodigo.com.br/artigo/1620/java-e-csharpnet-um-breve-e-introdutorio-estudo-comparativo-de-suas-sintaxes-e-convencoes.aspx#ixzz4wQx0kIGF(2017)
http://www.linhadecodigo.com.br/artigo/1620/java-e-csharpnet-um-breve-e-introdutorio-estudo-comparativo-de-suas-sintaxes-e-convencoes.aspx#ixzz4wQwnxH6P(2017)
https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado(2017)
https://pt.stackoverflow.com/.../quais-as-diferenças-mais-relevantes-entre-c-e-java(2017)
http://www.linhadecodigo.com.br/artigo/1620/java-e-csharpnet-um-breve-e-introdutorio-estudo-comparativo-de-suas-sintaxes-e-convencoes.aspx#ixzz4wQwG13qB(2017)
 http://www.linhadecodigo.com.br/artigo/1620/java-e-csharpnet-um-breve-e-introdutorio-estudo-comparativo-de-suas-sintaxes-e-convencoes.aspx#ixzz4wQw1HNvs (2017)
https://www.oracle.com/br/index.htm (2017)
https://pt.wikipedia.org/wiki/MySQL (2017)
https://pt.wikipedia.org/wiki/Microsoft_SQL_Server(2017)
https://pt.wikipedia.org/wiki/MongoDB (2017)

Continue navegando