Subscribe to Feeds

Perl e C#

PERL
Criada por Larry Wall em dezembro de 1987. Foi influenciada por AWK, Basic, C, C++, Lisp, sed, Shell Unix, entre outras. E influenciou Python, PHP, Ruby, ECMAScript.
É uma linguagem versátil no processamento de strings, manipulação de texto e no pattern matching implementado através de expressões regulares. Bastante utilizada para desenvolvimento Web, finanças e bioinformática.
Perl permite a programação estruturada e a orientada a objetos. Além de ter possuir algumas características de Lisp(funcional).
Mesmo tendo influenciado o Python, o Perl tem uma característica totalmente contrária ao do Python, que está a mostra no seu lema: "há mais de uma forma de fazer algo".

Os módulos, scripts e frameworks desenvolvidos pela comunidade do Perl se encontram no repsoitório CPAN, que é repositório oficial para distribuição de bibliotecas e aplicações escritas em Perl. Nele, é possível encontrar:

  • Catalyst - Framework MVC para aplicações Web.
  • Template Toolkit - Sistema de processamento de templates.
  • POE - Framewoek para aplicações multitarefa em redes portáveis.

Aplicações desenvolvidas em Perl:
  • TWiki - Sistema Wiki de escrita de conteúdo colaborativo.
  • RT - Sistema de processamento de Tickets.
  • Apache Spam Assassin - Sistema extensível de filtro de Spam em email .
  • dvd::rip - Programa para cópias de DVD.
  • AWStats - Sistema de análise de logs de servidores Web e de geração de estatísticas.

C#
Densevolvida pela Microsoft, é uma linguagem de programação orientada a objetos. A sua sintaxe foi baseada no C++, mas também sofreu influências de Java.
Ela é considerada a linguagem símbolo do .NET porque foi criada praticamente do zero para funcionar na nova plataforma sem preocupações de compatibilidade com código existente. A maior parte das classes do .NET Framework foram desenvolvidas em C#.
Nasceu em 2001, mas só a partir de 2005, após o lançamento do C# 2005, teve um crescimento considerável e vem crescendo até hoje.
É possível criar componentes C# para que se tornem XML Web Services, que estão disponíveis através da Internet, a partir de qualquer aplicação que rode em qualquer plataforma.
Ela traz rápido desenvolvimento da Web para o programador C e C++, mantendo o poder e a flexibilidade existentes nessas linguagens.

Desafios da SBC e a UFS

Como postado em Desafios da Computação no Brasil, a SBC criou uma lista com cinco desafios para a Computação no Brasil, e foi mostrado quais as disciplinas do curso de Ciência da Computação relacionadas a cada desafio. Porém, não foi mostrado nenhum detalhe dessas disciplinas. Já nesse post, a intenção é mostrar detalhadamente três disciplinas do curso.

Abaixo, as três matérias relacionadas com seu respectivo(principal) desafio:

Banco de Dados: O objetivo desta disciplina é introduzir os principais conceitos referentes à área de Banco de Dados, são eles: modelagem e projetos de banco de dados, linguagens de consulta, SGBD(Sistemas Gerenciadores de Banco de Dados) e sistemas avançados de banco de dados. Desafio: "Gestão da Informação em grandes volumes de dados multimídia distribuídos".

Esrutura de Dados: tem como objetivo, desenvolver o aluno quanto ao conhecimento de algoritmos básicos para Estruturas de Dados simples e suas implementações. Mostrando ao aluno, as várias formas de armazenar os dados. Estando relacionado com o desafio de "Modelagem computacional de sistemas complexos artificiais, naturais e sócioculturaise da interação homem-natureza".

Arquitetura de Computadores: tem como objetivo, apresentar os diversos componentes de um sistema. Além de diversas técnicas de melhoria de desempenho de sistemas de computação, incluindo tópicos sobre planejamento, implementação de sistemas de hardware e software. E está relacionado com o desafio: "Impactos para a área da computação da transição do silício para novas tecnologias".

3D Vision


No início de 2009, a NVidia apresentou o óculos 3D Vision. Como o nome já diz, ele simula 3 dimensões. Além de jogar, também é possível assistir vídeos e ver imagens em 3D.
Para ter a sensação de 3D, é preciso, além do óculos, um monitor que chegue a frequência de 120Hz, para que possa ser transmitido a 60Hz para cada olho(que é o mínimo necessário para que não se tenha a sensação da tela piscando), já que a imagem gerada é diferente para cada olho, conseguindo assim causar essa sensação. As informações são transmitidas para o óculos através de um cabo USB.

O interessante é que não é preciso criar patches para que os jogos passem a ter o efeito, pois a própria tecnologia da NVidia já adapta os jogos.
Lista de Jogos suportados.

É recomendado pela NVidia placas de vídeo da série GeForce 8, 9 ou GTX, e monitores como Samsung 2233RZ ou ViewSonic FuHzion VX2265wm. O preço do conjunto vem salgado como em todo lançamento, mas quando chegar uma concorrente e/ou melhores tecnologias, com certeza o preço diminuirá (espero que isso aconteça logo).

Fonte: http://jogos.br.msn.com/noticias/noticias_artigo.aspx?cp-documentid=18790783&imageindex=1
Mais informações: http://www.nvidia.com/object/GeForce_3D_Vision_Main.html

Projetos de lei na área de informática

O projeto de lei PL 607/2007, visa a regulamentação do exercício da profissão de Analista de Sistemas e suas correlatas. E criar um Conselho Federal de Infórmatica, que cobraria taxas dos profissionais.
Contra esse projeto de lei foi lançado uma campanha no blog Não ao PLS 607/2007. Onde, em uma das postagens, são mostrados alguns nome importantes para a computação mas que não eram formados.

O projeto PL 815/1995 tem os mesmos objetivos do projeto acima. E foi o primeiro projeto para a regulamentação da profissão no país.

PL 1561/2003 - Projeto de lei apoiado pela SBC, assegura ampla liberdade para o respectivo exercício profissional. Fazendo com que nenhum profissional possa ser impedido de exercer a sua profissão por falta de documento que comprove o conhecimento deste.

Na minha opnião o fato de uma pessoa conseguir um diploma, frequentando algum curso, não mostra que ela é capaz de fazer alguma tarefa mais complexa do que uma outra que não possua um.

Claro que o diploma serve para mostrar que a pessoa estudou, sendo provado que aprendeu "tudo" o que é dito no diploma. Mas não consegue afirmar por exemplo que o nível de conhecimento (sobre o que aprendeu) de alguém que tenha ele é maior do que alguém que não tenha. Pois qualquer pessoa que tenha interesse em uma área pode se informar e obter conhecimentos necessários para ser um profissional, mesmo sem passar por algum curso. Então a regulamentação não iria somente retirar profissionais desqualificados do mercado, mas também proibir os bons profissionais de seguir sua carreira por causa da falta um diploma.

Uma grande diferença existe entre programadores diplomados sem experiência e programadores experientes, mesmo sem ter diploma, por exemplo. Pois de que adianta ter o conhecimento teórico mas não conseguir representá-lo na prática?

Para mim, quem deve dizer se o profissional tem que ter ou não um diploma são os próprios contratantes.

Configuração do meu PC

Eu possuo uma Gigabyte 945GZM-S2. Já tive muitos problemas com ela, porque ela tem muitas limitações. Problemas como: não conseguir ligá-la com uma memória 667MHz(genérica), PCI-E 16x @ 4x, fazendo com que nao seja utilizado todo o desempenho da placa de vídeo, vídeo on-board (Intel Extreme Graphics Media Accelerator 950) péssimo para jogos por só ter suporte a DirectX 9.0 e não a DirectX 9.0c pra cima.
Abaixo informações sobre os outros componentes do meu PC e as configurações da BIOS correspondentes:


  • Processador
  • O meu processador é um Celeron 420, ele funciona a um FSB de 800 MHz e tem o clock de 1600 MHz. Ele é um processador bem simples, mas pode chegar a clocks altíssimos dependendo da placa-mãe, por funcionar a uma baixa temperatura sem overclock(20 °C).

    CPU Enhanced Halt(C1E) é o modo de economia de energia. Quando ele está ativado e o processador estiver ocioso a tensão do vCore diminui junto com a frequência. Existem duas formas de diminuir a frequência do processador, primeira: baixando o multiplicador, segunda: baixando o FSB. Nesse caso o que baixa é o multiplicador que no caso do meu Celeron 420 cai de 8x para 6x. Baixando a frequência de 1600 para 1200 MHz.

    O.C. FSB 1333 Core 2 CPU - para minha placa-mãe funcionar com um Core 2 Duo de FSB 1333 é preciso ativar essa opção, que faz um overclock na ponte Norte; só assim ela consigue alcançar esse FSB. Com essa opção ativa, a placa-mãe deixa de aceitar memórias DDR2 533 MHz só aceitando memória DDR2 667 MHz.

    CPU Host Clock Control - para poder ter acceso as opções de overclock é preciso ativar primeiramente essa opção. Depois de ativada, é possível mexer nas opções de CPU Host Frequency(MHz) para modificar o FSB. O máximo que consegui de overclock com essa placa-mãe foi chegar a 2.13 GHz de clock do processador; passando disso a placa-mãe não liga mais.

  • Memória Principal
  • Armazena as informações que irão ser processadas. Atualmente estou com 4GB de RAM DDR2 800 MHz(2 x 2Gb), funcionando à 667 MHz.

    CPU Host Clock Control - Além de poder fazer overclock na CPU também é possível fazer na memória com as opções System Memory Multiplier, que tem as opções de Automático e Manual, e Memory Frequency(MHz) que vc pode ajustar a frequência da memória.
  • Memória Secundária
  • São memórias que não pode ser endereçadas diretamente pelo processador, ou seja, HD, Pen-Drive, Disquete, etc. Eu possuo um HD se conecta à placa-mãe através de um cabo Sata e tem capacidade de armazemento de 250 Gb, além de um Pen-Drive de 1Gb.

    Hard Disk Boot Priority - nele é selecionado a ordem de prioridade de boot dos dispositivos, que pode ser definido nas opções: primeiro, segundo e terceiro dispositivo de boot. As opções disponíveis são: CDROM, Hard Disk, USB-HDD, Floppy, LAN, entre outros.

  • Dispositivos de Entrada e Saída
  • Os dispositivos de entrada do meu PC são somente teclado e mouse PS/2. Já os de saída são: monitor(VGA), impressora(USB) e caixa de som. E o que serve como entrada e saída é uma gravadora de DVD.

  • Barramentos
  • Minha placa-mãe possui três Slots PCI, que por enquanto não utilizo. Também possui um PCI-Express 16x @ 4x, suportando uma placa de vídeo 16x, só que funcionando a 4x, por causa da limitação do Chipset. Nesse slot está uma GeForce 9800 GT, que não utiliza toda sua potência por essa limitação e pelo gargalo produzido por outros componentes, como o processador. E barramento USB 2.0 que vêm em todas as placas-mãe atuais.

A influência da Computação

Atualmente, é muito difícil existir uma área que não tenha um vínculo com a Computação. Pois com o auxílio da Computação é possível ir além e com resultados mais precisos. As áreas que são afetadas diretamente são as de exatas como química, física, matemática, medicina e biologia.

Colocando a medicina como exemplo, podemos ver a Física Médica que utiliza a Computação junto com muitas ferramentas de outras áreas para criar equipamentos médicos computadorizados.

Além de afetar várias áreas do conhecimento, a computação está na vida de todos, auxiliando nas interações sociais e na transmissão de informação, transformando o mundo em uma enorme base de dados que é atualizada em tempo real, por milhares de pessoas, a cada segundo.

Desafios da Computação no Brasil

No Seminário realizado em maio de 2006, organizado pela Sociedade Brasileira de Computação, teve um evento com o objetivo de gerar um conjunto de cinco Grandes Desafios para a Computação no Brasil de 2006 à 2016. Abaixo segue a lista dos cinco desafios relacionados com as cadeiras do curso de Ciência da Computação na UFS.

  1. Gestão da Informação em grandes volumes de dados multimídia distribuídos.
  2. - Banco de Dados
    - Rede de Computadores
    - Arquitetura de Computadores(pela capacidade de processamento que será preciso para tratar todos dados que estará circulando na rede, onde a tecnologia multicore pode ser muito mais aprimorada, a fim de suportar um maior volume dados).

  3. Modelagem computacional de sistemas complexos artificiais, naturais e sócioculturais
    e da interação homem-natureza.
  4. - Esrutura de Dados
    - Interface Humano Computador

  5. Impactos para a área da computação da transição do silício para novas tecnologias.
  6. - Arquitetura de Computadores
    - Circuitos Integrados(Opcional)

  7. Acesso participativo e universal do cidadão brasileiro ao conhecimento.
  8. - Informatica, Ética e Sociedade

  9. Desenvolvimento tecnológico de qualidade: sistemas disponíveis, corretos, seguros,
    escaláveis, persistentes e ubíquos.
  10. - Matérias de Programação