sábado, 30 de maio de 2009

Linguagens de Programação

Lua

A linguagem de programação Lua nasceu aqui mesmo no Brasil, no ano de 1993 por desenvolvedores do laboratório Tecgraf do departamento de informática da PUC-Rio. Sua criação ocorreu devido à necessidade da Petrobrás de maiores auxílios em alguns projetos de escavações. Atualmente, Lua é uma das 20 linguagens mais usadas no mundo, segundo índices do TIOBE, sendo a única linguagem nesta lista que tenha sido criada fora do chamado “primeiro mundo”.

Lua é uma linguagem de programação de extensão, ou seja, trabalho junto a outras linguagens, normalmente coordenando-as; é uma linguagem de scripts, possuindo uma velocidade de execução invejada por outras linguagens deste tipo; é uma linguagem imperativa de alto nível, com uma API que é demasiadamente simples, garantindo velocidade, e foi construída com o objetivo principal de associá-la à outras linguagens; Lua foi criada com uma pequena influência de outras linguagens no desenvolvimento da sua estrutura de dados, como Scheme e Lisp. Parece em muito com as linguagens Icon, Python e Ruby; Os ambientes de desenvolvimento mais comums para Lua são o “LuaEclipse” e o próprio “Lua”, o qual já está em sua quinta versão.

Mas porque o nome Lua? O projeto inicial era para a criação de uma linguagem maior denominada SOL (Simple Object Language), porém, durante o desenvolvimento, a Tecgraf decidiu que seria criada uma linguagem menor. Como esta nova linguagem seria menor que a antiga SOL, veio então o nome Lua.

Lua é uma linguagem ideal para automação, quando comparada a outras linguagens do gênero, por ser uma linguagem extremamente simples e ainda assim rápida. Isto faz com que ela seja muito utilizada hoje em dia, entre outras áreas, na área de desenvolvimento de jogos, exemplos de sua utilização são “World of Warcraft”, “Escape from Monkey Island” e “Grim Fandango”. Apesar disto, Lua é uma linguagem que pode ser utilizada para qualquer finalidade, seja comercial ou não.

http://www.htmlstaff.org/ver.php?id=12282
http://pt.wikipedia.org/wiki/Lua_(linguagem_de_programa%C3%A7%C3%A3o)
http://www.lua.org/portugues.html



Algol

A linguagem Algol (Algorithmic Language) foi lançada primeiramente em 1958, na Europa, recebendo o nome de “Internacional Algorithmic Language”, ou Algol 58, somente a partir de 1960, após o lançamento do Algol 60, passou a ser chamada pelo nome o qual é conhecida até hoje. A Algol é uma linguagem de alto nível e foi a primeira linguagem de programação estruturada. No âmbito de seu lançamento, chegou a ser dita pela crítica como não somente a melhor linguagem dentre suas predecessoras, mas bem como entre muitas de suas sucessoras.

A Algol foi também a primeira linguagem a implementar a programação com procedimentos, instruções para controle de loops (como while, por exemplo), passagem de parâmetros por valor ou por referência e, principalmente, as estruturas de blocos de comandos, as quais viriam a se tornar padrão em muitas das linguagens de programação posteriores. Apesar de que o Algol original tenha sido criado para ser especificamente utilizado no desenvolvimento de programas científicos, esta linguagem foi por várias vezes atualizada e estendida, estas linguagens derivadas podiam ser utilizadas para diversas aplicações, que vão desde sistemas operacionais a softwares de comunicação de dados.

A Algol influenciou a criação de uma série de outras linguagens, como Jovial, Simula , CPL ou PL/1. Mas, a mais importante e conhecida linguagem inspirada pela Algol foi a Pascal, criada em 1972 pelo cientista Niklaus Wirth é utilizada ainda hoje para ensino acadêmico, mas que mesmo assim, foi dita como uma linguagem simples e que não apresentava nada de novo. De um modo geral, após o Algol, todas as linguagens foram de algum modo influenciadas, de tal forma que eram conhecidas como "parecidas com Algol".

Tantas inovações trazidas pelo Algol deram muito trabalho às empresas de desenvolvimento de compiladores, porem, este feito trouxe à tona uma gama de novas linguagens criadas durante a década de 60, acontecimento que ficou conhecido como “explosão de linguagens”. Nesta década foram criadas linguagens tais como Pascal, APL, Basic, BCPL, SNOLBOL ou CORAL.

http://pt.wikipedia.org/wiki/ALGOL
http://www.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html
http://www2.mat.ua.pt/lap/General/A0708/Acetatos/ACETLP02.pdf

Leia Mais…

domingo, 24 de maio de 2009

Disciplinas da UFS e suas relações com os desafios da SBC

Estrutura de Dados
Esta disciplina é voltada para noção e desenvolvimento de algoritmos de alta complexidade. Um algoritmo computacional trabalha diretamente com dados, a depender da forma como tais dados estão organizados, eles podem formar uma estrutura, denominada estrutura de dados. Os desafios 1 ("Gestão da Informação em grandes volumes de dados multimídia distribuídos"), 2 ("Modelagem computacional de sistemas complexos artificiais, naturais e socioculturais e da interação homem-natureza") e 5 ("Desenvolvimento tecnológico de qualidade: sistemas disponíveis, corretos, seguros, escaláveis, persistentes e ubíquos") da SBC lidam diretamente com estruturas de dados.

Sistemas Operacionais
Um sistema operacional é feito para "intermediar" a comunicação entre o usuário e a máquina. Com o aumento da influência entre os profissionais da chamada computabilidade, as operações executadas pelo computador ficam cada vez mais "invisíveis" aos usuários, e os SOs, antes de qualquer outra coisa, tem de estar sempre à frente do desenvolvimento da computação. Esta disciplina apresenta aos alunos informações gerais sobre sistemas operacionais, tais como histórico, fundamentos, organização, gerência, processos e funções indispensáveis, de modo que o estudante ao tornar-se profissional possa atuar seguindo às tendências do mercado. Sistemas operacionais está ligado aos desafios 3 ("Impactos para a área da computação da transição do silício para novas tecnologias") e 5 ("Desenvolvimento tecnológico de qualidade: sistemas disponíveis, corretos, seguros, escaláveis, persistentes e ubíquos") da SBC.

Programação Orientada a Aspectos
As programações orientadas a objeto tem como ponto em comum a existência de blocos de comandos que são secundários ao programa principal e que podem ser utilizadas para a implementação de alguma função. A programação orientada a aspectos é caracterizada por alterar o comportamento de destes códigos secundários ajustando-os de uma melhor maneira ao programa principal, isto é o chamado "aspecto". A pesquisa em programação orientada a aspectos ajudaria a solucionar os desafios 1 ("Gestão da Informação em grandes volumes de dados multimídia distribuídos"), 2 ("Modelagem computacional de sistemas complexos artificiais, naturais e socioculturais e da interação homem-natureza") e 5 ("Desenvolvimento tecnológico de qualidade: sistemas disponíveis, corretos, seguros, escaláveis, persistentes e ubíquos") da SBC.

Leia Mais…

domingo, 10 de maio de 2009

Chips de Grafeno

Você pode facilmente encontrar fabricantes de hardware afirmando que os componentes já atingiram o seu limite, que os materiais utilizados hoje não suportarão muitos outros avanços. A saída então é sair em busca de novos materiais.

Em 2004 foi descoberto um novo composto químico, o grafeno. Este material pode ser utilizado como um multiplicador de frequências, que recebere o sinal da frequência do clock do processador, por exemplo, e o transforma em um múltiplo do sinal inicial. As frequências dos processadores atuais chegam dificilmente à frequência de 4 ou 5 Ghz, com a utilização do grafeno, elas facilmente alcançariam a marca dos 1000Ghz.

Isso acontece porque os multiplicadores existentes hoje exigem a utilização de muitos componentes eletrônicos, o que faz com que o sinal de saída tenha muitos ruídos. Para retirar esses ruídos são utilizados filtros, são estes os componentes que mais consomem energia e contribuem para o aquecimento. O grafeno, no entanto, usa somente um transistor, o que produz um sinal de saída totalmente limpo dispensando os tão dispendiosos filtros.

Estima-se que esta tecnologia chegue ao mercado nos próximos dois anos

http://info.abril.com.br/noticias/tecnologia-pessoal/chip-de-grafeno-pode-chegar-a-1-thz-diz-mit-29032009-4.shl
http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=chip-de-grafeno-podera-atingir-1-000-ghz
http://www.adrenaline.com.br/forum/cpu-s-placas-mae-memorias/249994-chip-de-grafeno-alcancar-1000ghz.html

Leia Mais…

segunda-feira, 4 de maio de 2009

As propostas de lei e a minha opinião

A proposta de lei PL 1947/2003 pede a criação de um conselho de classe que controle todos os profissionais de informática, sendo eles analistas de sistemas ou técnicos em informática. Tal regulamentação envolve o fim do livre exercício profissional, que permite que qualquer pessoa trabalhe na área de informática, mesmo que esta pessoa não possua nenhum tipo de diploma ou certificação equivalente. Caso a lei seja aprovada, só poderá trabalhar como analista de sistemas postadores de diplomas dos cursos superiores em Análise de Sistemas, Ciência da Computação ou Processamento de Dados ou pessoas que já exerceram a profissão por pelo menos 5 anos; e só poderá trabalhar como técnico em informática pessoas com diploma em um Curso Técnico de Informática ou de Programação de Computadores, ou que já exerceram a profissão por pelo menos 4 anos.

A SBC (Sociedade Brasileira de Computação), por outro lado, desenvolveu um projeto de lei antagônico ao PL 1947/2003, o PL 1561/2003. Este projeto defende que qualquer pessoa possa realizar o ofício de quaisquer que sejam as atividades relacionadas a informática, tendo ou não qualquer tipo de diploma ou certificação; proíbe a exigência do pagamento de qualquer taxa que venha a ser necessária para a permissão do exercício da profissão; proíbe a criação de qualquer entidade que venha a interferir nas exigências anteriores; proíbe a exigência de registro em qualquer entidade para participação em concursos quaisquer ou licitações na área de informática; problemas de qualquer natureza que venham a ocorrer devido a má prestação de serviços relacionados a informática serão regidos pela legislação civil.

A proposta efetuada pela SBC é sem sombra de dúvida a mais correta, pois possibilita um maior desenvolvimento da computação no país. A informática é um ramo onde o acesso a informação é muito simples, qualquer conhecimento relacionado a ela pode ser facilmente encontrado na internet. Por que então proibir as pessoas de efetivar os conhecimentos que possui? Impedir que determinado segmento da sociedade não possa incitar os conhecimentos que possui, seria atrasar ainda mais o tão lento avanço da informática no Brasil.

Leia Mais…