19 outubro 2010

[Apostilas] Introdução ao Java SE

Apostila muito boa que introduz à especificação Java SE, falando sobre desde a idéia da criação de uma linguagem independente de hardware, que geraria código intermediário que são os bytecodes que seriam interpretados pela que é hoje a JVM, idealizada pelos analistas da Sun MicroSystems comandados por Patrick Naughton e James Gosling.

Como todos sabem, a linguagem Java foi baseada em C++ e uma curiosidade que eu não sabia é que também foi baseada em uma linguagem puramente orientada a objetos, ou seja tudo é um objeto, que é a SmallTalk.

Bem tem tudo isso aí e muito mais, uma apostila própria para leigos na tecnologia java e ao mesmo tempo muito interessante para quem já domina.



Aqui também um link para download de algumas vídeo-aulas que irei postar por partes. Aulas que são introduzidas pelo Prof Neri Aldoir Neitzke. Bastante rica em informação estas videos-aulas podem ajudar bastante.

Download: Java SE II

Bom galera...aproveitam ao máximo e divirtem-se !!!

[Dicas] Diferença entre uma linguagem fortemente tipada e uma fracamente tipada

Olá..boa noite, vou falar um pouco sobre a diferença entre linguagem de programação fortemente tipada (strong typing), e uma linguagem fracamente tipada (weak typing).

No caso de uma linguagem fortemente tipada, a principal característica é que cada variável no escopo do programa, representa um tipo bem definido, ou seja explicitamente você será obrigado a declarar o tipo da varíavel ao qual estará declarando.

Alguns exemplos de linguagens fortemente tipadas são: Java, C++, Fortran e Cobol.

Exemplo de código em java:

int x = 12.1; // erro, tipos incompatíveis
int j = (int) 12.1 // funciona, mas você perde as casas decimais

Java é uma linguagem fortemente tipada. Não é possível atribuir um double para um int.

Para executar tal operação, você terá que forçar a tranformação para o tipo definido pela variável. Chamamos isso de cast. Java também é uma linguagem com tipagem estática, ou seja, você precisa declarar qual o tipo de objeto a variável irá referenciar.

Agora a diferença de linguagens fortemente tipadas, mas dinâmicas.

Vejamos um exemplo de código em Ruby:

x = ‘Larissa’
y = 12
puts x + y


A principal diferença que podemos notar é a ausência do tipo da variável. Mas isso não torna ruby uma linguagem fracamente tipada. O que acontecerá se você tentar somar (+) um Fixnum (int) com uma String? Um belo erro no console:
can’t convert Fixnum into String (TypeError)

Ou seja, ruby também é fortemente tipada, porém de forma dinâmica. O interpretador “descobre” em tempo de execução o tipo da variável. Devido a essa característica, em ruby não existe cast. Caso os tipos envolvidos na operação sejam incompatíveis, você terá um belo erro pra se preocupar.

Agora as fracamente tipadas, como exemplos: PHP, Javascript.

Veja um exemplo em javascript:

var x = “Larissa”;
var y = 12;
alert(x + y);


JavaScript é fracamente tipada , ou seja, este código será executado sem problemas. Você não precisa informar o tipo da variável e o intepretador do javascript sabe realizar algumas operações sobre os objetos dependendo do contexto.

E por último nem tão menos importante as não tipadas, ou seja são aquelas em que existe apenas um tipo genérico ou mesmo nenhum tipo de dados, as variáveis não têm tipos. Entre estas estão a Linguagem de montagem ou Assembly, BCPL e algumas versões de Forth.