tendências de linguagens de programação

11
Tendências de Linguagens de Programação Fatec Guaratinguetá 6º GTI Professor Sérgio Tenório Bruno Guimarães Fernanda Helena

Upload: rafael-marcelino

Post on 16-Nov-2015

220 views

Category:

Documents


5 download

DESCRIPTION

Tendencia de Linguagens de Programação 2014

TRANSCRIPT

Tendncias de Linguagens de Programao

Fatec Guaratinguet 6 GTIProfessor Srgio Tenrio

Bruno GuimaresFernanda HelenaDiego GomesJoo Rafael Marcelino

Linguagem de Programao

Uma linguagem de programao um mtodo padronizado para comunicar instrues para um computador. um conjunto de regras sintticas e semnticas usadas para definir um programa de computador. Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados sero armazenados ou transmitidos e quais aes devem ser tomadas sob vrias circunstncias. Linguagens de programao podem ser usadas para expressar algoritmos com preciso.

O conjunto de palavras (lexemas classificados em tokens), compostos de acordo com essas regras, constituem o cdigo fonte de um software. Esse cdigo fonte depois traduzido para cdigo de mquina, que executado pelo processador.

Uma das principais metas das linguagens de programao que programadores tenham uma maior produtividade, permitindo expressar suas intenes mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (cdigo de mquina). Assim, linguagens de programao so projetadas para adotar uma sintaxe de nvel mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programao so ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.

Linguagens de programao tambm tornam os programas menos dependentes de computadores ou ambientes computacionais especficos (propriedade chamada de portabilidade). Isto acontece porque programas escritos em linguagens de programao so traduzidos para o cdigo de mquina do computador no qual ser executado em vez de ser diretamente executado. Uma meta ambiciosa do Fortran, uma das primeiras linguagens de programao, era esta independncia da mquina onde seria executada.

Ranking de Popularidade de Linguagens do IEEEO IEEE publicou recentemente noSpectrumuma aplicao com o ranking interativo de popularidadede linguagens de programao no ano de 2014. Esta aplicao disponibiliza diversas opes de filtros dinmicos, como por exemplo: linguagens mais relevantes para um setor especfico como web, mobile, corporativo (enterprise) e sistemas embarcados. Neste ano, novas linguagens disputam posies com as j consagradas Java, C e C++.O ranking criado atravs da combinao e ponderao de 12 mtricas, provenientes de 10 fontes de dados distintas. Alm do ranking Spectrum, outras combinaes das variveis esto disponveis indicando por exemplo: quais linguagens apresentam maior tendncia de crescimento, os quais oferecem mais oportunidades de trabalho, quais so mais populares em mdias sociais e no ecossistema de cdigo aberto (open-source), alm da possibilidade de permitir a criao de um ndice customizado. O ranking utiliza um conjunto de fontes de dados de websites relevantes para programadores, como por exemplo:GitHub,StackOverflow,HackerNewseReddit.

Ambiente WebCada linguagem possui suas prprias caractersticas e peculiaridades possuindo formas diferentes de se realizar determinadas aes, a forma como um problema pode ser resolvido em uma linguagem pode ser completamente diferente em outra linguagem. Por isso, estudar e entender bem como cada uma delas funciona faz com que o profissional consiga extrair ao mximo o potencial da linguagem que escolher para trabalhar.O ranking de linguagens para o ambiente Web apresenta, em as primeiras 10 posies, a seguinte classificao:

Ambiente MobileDesenvolvimento de aplicaes e sistemas para dispositivos mveis, por vezes utilizado apenas comodesenvolvimento mobile toda atividades e processos acerca dodesenvolvimento de softwaresparadispositivos mveis(handheld) comocomputadoresde bolso ,PDAs,smartphone,telefone celular,console porttileUltra Mobile PCcombinado com tecnologias comoGPS,TV porttil,touch,c onsoles,navegador de Internet,WAP, leitores de udio, vdeo e texto, entre outros. Estes aplicativos podem serem instalados durante a fabricao do aparelho, atravs dos sistemas operacionais de cada dispositivo ou distribudo atravs de arquivos de intalao pela web ou no. O desenvolvimento de aplicaes para mobile possui particularidades do desenvolvimento tradicional devido as limitaes tanto doprocessamento, tamanho de tela e rea de trabalho, alm de estar sempre bombardeado por configuraes distintas tanto do hardware quanto do software por parte do fabricante e suas concorrncias.No ambiente Mobile, o ranking se configura da seguinte maneira:

Ambiente CorporativoPara o segmento corporativo (Enterprise), o ranking apresenta a seguinte classificao:

Sistemas EmbarcadosUm sistema embarcado (ou sistema embutido) um sistema microprocessado no qual o computador completamente encapsulado ou dedicado ao dispositivo ou sistema que ele controla. Diferente de computadores de propsito geral, como o computador pessoal, um sistema embarcado realiza um conjunto de tarefas predefinidas, geralmente com requisitos especficos. J que o sistema dedicado a tarefas especficas, atravs de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto.Sistemas como PDAs so geralmente considerados sistemas embarcados pela natureza de seu hardware, apesar de serem muito mais flexveis em termos de software. Fisicamente, os sistemas embarcados passam desde MP3 players aos semforos.No contexto de sistemas embarcados, o ranking apresenta as seguintes linguagens em ordem de popularidade:

Ranking Geral

Apesar de uma grande fragmentao no panorama das linguagens atualmente disponveis, podemos observar que as linguagens tradicionais como Java, C, C# e C++ apresentaram excelentes colocaes em quatro dos cinco rankings apresentados. Esta informao pode indicar potenciais mercados prsperos para desenvolvedores que esto iniciando em sua carreira, ou para aqueles que esto buscando ampliar o seu conhecimento para outras linguagens e plataformas.O ranking resumido apresentou no total 42 linguagens distintas. Algumas destas linguagens aparecem em um nmero reduzido de rankings, mas isto no necessariamente as desqualifica ou as caracteriza como menos importantes. possvel que estas linguagens possuam um domnio de aplicao especfico (como o caso da linguagemR, que direcionada ao domnio de estatstica computacional) e portanto sua abrangncia pode ser naturalmente mais restrita que a de uma linguagem de propsito geral, como o caso das linguagens descritas no pargrafo anterior.O ranking de popularidade de linguagens do IEEE Spectrum bastante completo, configurvel e atende a diversos propsitos. Se voc um programador em incio de carreira, um profissional buscando ampliar seu campo profissional ou mesmo um empreendedor buscando por tendncias tecnolgicas, o ranking pode lhe ajudar com a identificao das linguagens mais relevantes para voc.Referencial Tericohttp://www.infoq.com/br/news/2014/10/ranking-linguagens-ieeehttp://agencia.yesbr.com.br/aplicativos/quais-linguagens-de-programacao-mobile-mais-utilizadas/http://www.scriptcase.com.br/linguagem-programacao-web/ ORGANICK, E. I.;FORSYTHE, A. I.;PLUMMER, R. P..Programming Language Structures. New York:Academic Press, 1978.659 p.ISBN 0-12-528260-5