quarta-feira, 27 de maio de 2009

Fortran e Java

Um pouco sobre duas linguagens de programação bem conhecidas, uma imperativa e outra orientada a objetos.

Fortran(FORmula TRANslation)
Foi a primeira linguagem imperativa que surgiu(década de 1950) e é utilizada até os dias atuais.A primeira linguagem padronizada do Fortran(Fortran 66 ou Frotran IV) foi bastante utilizada pela comunidade científica, por ser simples e eficiente(e ser uma das poucas opções).Com o tempo a linguagem foi evoluindo e incrementando novas utilidades, porém com o surgimento de outras linguagens como Pascal,C,Ada, o Fortran foi perdendo espaço, mesmo assim a linguagem ainda é a mais indicada para desempenhar tarefas da área da computação numérica de alto rendimento.

Observação:Na versão Fortran 2000 tem suporte a programação orientada a objetos.

Java
Java é uma linguagem de programação orientada a objetos, tem como grande diferencial ser compilado por um bytecode que é interpretado por uma máquina virtual (atualmente tem um desempenho próximo do C++, possível com os avanços da compilação especulativa e HotSpot).Tem sintaxe parecida com C/C++,vasto conjunto de bibliotecas, e excelente portabilidade, entre outras características. Foi criada pela Sun Microsystems e no Brasil é utilizada na maioria dos bancos para construir os home banks.

Fonte de pesquisa: Wikipédia.

domingo, 24 de maio de 2009

Três disciplinas

Uhm, bem vindos novamente ao meu blog.Tratarei novamente (porém um pouco mais aprofundado) sobre algumas matérias do curso de ciência da computação(UFS) e se por ventura tem alguma relação com os desafios da SBC.Basicamente escolhi três matérias obrigatórias que o curso oferece e irei mostrar o que é cada uma resumidamente. São elas: "Arquitetura de Computadores I"(3º período),"Informática,Ética e Sociedade"(3º período) e "Inteligência Artificial"(5º período).

"Arquiteturas de Computadores I" trata sobre a organização dos hardwares para formar um computador.O objetivo da disciplina é mostrar ao aluno a integração entre o software e o hardware, bem como identificar as características da linguagem de máquina e as formas de endereçamento.No meu ver, essa é a matéria mais próxima do problema da SBC que envolve tecnologias sem o uso do silício, o curso de C.C. não é voltado para a parte de hardware por isso não envolve de fato esse problema da SBC.Se tiver interesse de ver a ementa dessa matéria clique aqui.
"Informática,Ética e Sociedade" é uma disciplina que envolve a ética e a evolução da informática, alterações no mercado de trabalho, inclusão digital e "a era do conhecimento", onde a informação é transmitida rápidamente.Tem grande relação com o 4º problema da SBC em que prega "o acesso particiativo e universal do cidadão brasileiro ao conhecimento".Clique aqui para abrir a ementa dessa matéria.E como terceira e última matéria abordada fica "Inteligência Artificial", uma área de estudos que busca métodos para simular o raciocínio humano.Na matéria vai ser estudado o uso da lógica em IA,noções de planejamento e as aplicações, entre outras que você pode observar olhando a ementa(sim, novamente!).Vejo uma certa relação dessa matéria com o 2º problema da SBC.

domingo, 10 de maio de 2009

Novidade Wi-Fi!

Com uma novidade apresentada pela Verizon(operadora Americana), não será mais preciso procurar por restaurantes,bares,lanchonetes onde existe conexão Wi-Fi.Você criará sua própia conexão móvel!Graças a uma junção de modem G3 e roteador de bolso MiFi2200, será posível criar ao seu redor uma área com acesso a internet, não importa onde você está.Também será possível acesso de mais de um laptop.

Ele possui tamanho aproximado de um cartão de crédito e a bateria suporta mais de 4 horas(recarregável).Será vendido 17 de maio(2009) nos Estados Unidos por $100 e planos de $40(com franquia de 250 MB de dados) ou 60 dólares (para GB de dados).A novidade tem tecnologia EVDO Rev.A G3(utilizada nos EUA).Também está confirmado a versão GSM HSDPA que é compatível com as conexões européias e brasileiras.

Baseado em: http://info.abril.com.br/blog/gadgets/






domingo, 3 de maio de 2009

Regulamentação da Informática - Assembly e debug

Bom, escreverei básicamente sobre 3 assuntos: Debug.exe , Assembler e sobre a profissionalização da informática. Debug.exe é(era) um programa do MS-DOS para testar, verificar e determinar tarefas ou arquivos executáveis. O comando Debug funciona em código Assembly e possui vários subcomandos que são usados para acessar,mover,preencher,introduzir novos valores na memória além de ler e escrever arquivos no disco.

Sintaxe do Debug

Debug [[unidade:] [caminho] NomeDoArquivo [parâmentros]]

“ [unidade:] [caminho] NomeDoArquivo” serve para especificar o local e nome do arquivo executável que você pretende testar.

“[parâmetros]” Especifica uma informação da linha de comando exigido pelo arquivo executável que está em teste.

Assembler(traduzido como montador) é um programa que transforma o código da linguagem assembly na linguagem da máquina ou seja é um compilador assembly.

Foi passado um código assembly para mostra o significado dele, mas eu não conheço essa linguagem e nem tenho compilador para testar.Então pesquisei e achei o significado de cada operação.

0CF2:0100 mov cx, 100
0CF2:0103 mov ah, 2
0CF2:0105 mov dl, cl
0CF2:0107 int 21
0CF2:0109 loop 103

Parte 1: Endereço da memória onde vai ser executado o comando.
Parte 2:
“mov” é uma instrução que transfere dados, esse pode ter alguns ‘operadores’ no 1º caso é ‘cx’(count register, registro usado para instrução de loop) e o número 100 uma constante. No 2º caso, o operador ‘ah’ é uma divisão de registros dos primeiros bytes(highbytes) de outro operador(‘ax’).No 3º caso, ‘dl’ também é mais um divisão do operador ‘dx’ só que dos últimos bytes(low bytes), o mesmo acontece com ‘cl’.
“int” assume um procedimento a partir do DOS, podendo ser uma interrupção, fechamento do programa...

Fonte: http://www.xs4all.nl/~smit/asm01001.htm - Assembly Tutorial

Agora falando sobre a regulamentação da profissão da informática, sou a favor da regulamentação sim. Muitos argumentos surgem como: irá restringir a criatividade de pessoas não formadas em produzir algo para a informática ou então nenhum país desenvolvído possui regulamentação. Porém o que temos que notar, é que empresas preferem pagar menos por pessoas sem a mínima formação acadêmica do que uma pessoa formada e/ou com toda uma bagagem na área(pessoas experientes com mais de 5 anos na área mesmo não possuindo diploma seriam apoiadas pela regulamentação). Já que o cidadão gosta da área de informática e pretende trabalhar nela, é simples, não vamos perder esse talento com a regulamentação, e sim tornar ele um graduado, com mais conhecimento e agora com um diploma, podendo exigir um melhor salário e possuindo maiores opções de emprego. Todos sabemos que no Brasil o número de pessoas com acesso a internet é alto e que por essas terras tupiniquins é normal a prefêrencia por pagar menos por uma trabalho ‘nas coxas’ do que um trabalho bem feito mais caro.Exemplo básico: O computador está com defeito, é comum chamarem qualquer garoto que tem uma certa ‘aptidão’ com o assunto e pagar 5 vezes menos que um própio técnico em informática(isso server para criação de sites,problemas/criação de softwares e várias outros assuntos),certamente a solução desse garoto também será mais simplista do que um técnico.Agora pensamos, se todos que pudessem trabalhar na área de TI devem possuir uma graduação, a concorrência certamente diminuirá porque casos como esse do garoto serão eliminados, como consequencia o nível do trabalho tende a subir e as exigências em termos financeiros feitas por alguem formado será maior. E nesse ponto reside o problema...

Pode ser egoísmo da minha parte defender a regulamentação pois estou na universidade(eu não vejo por esse lado).Porém todos tem oportunidades(certo, não iguais, mas entraremos em uma discurssão social e até política que não é o foco do tema) de entrar e se formar em uma universidade, basta se esforçar e estudar.Porém em uma coisa tenho que concordar com a parte da não regulamentação, pois existem muitas pessoas que se formam e não possuem o conhecimento adequado para atuar.Talvez pela má formação que a faculdade ofereceu ou então pela própia falta de vontade da pessoa em aprender.Isso mostra que ter ensino superior não é somente o necessário para possuir um bom emprego, e sim, ser competente.