ETEC PROF° ARMANDO BAYEUX DA SILVA AGNALDO DO NASCIMENTO PEREIRA ALESSANDRO CORBANESI DOS SANTOS LEANDRO SPOLADORI LEONARDO FAGIOLI RAFAEL RIBEIRO DOS REIS JOÃO PAULO ALVES SITE DE PROGRAMAÇÃO PARA INICIANTES AGALERABAYEUX RIO CLARO 2009 AGNALDO DO NASCIMENTO PEREIRA ALESSANDRO CORBANESI DOS SANTOS LEANDRO SPOLADORI LEONARDO FAGIOLI RAFAEL RIBEIRO DOS REIS JOÃO PAULO ALVES SITE DE PROGRAMAÇÃO PARA INICIANTES Monografia apresentada junto o curso de técnico em informática da ETEC Prof° Armando Bayeux da Silva como requisito parcial para a obtenção à certificação de Técnico Orientadora: Profª Patrícia RIO CLARO 2009 AGNALDO DO NASCIMENTO PEREIRA ALESSANDRO CORBANESI DOS SANTOS LEANDRO SPOLADORI LEONARDO FAGIOLI RAFAEL RIBEIRO DOS REIS JOÃO PAULO ALVES SITE DE PROGRAMAÇÃO PARA INICIANTES Monografia apresentada junto o curso de técnico em informática da ETEC Prof° Armando Bayeux da Silva como requisito parcial para a obtenção à certificação de Técnico Orientadora: Profª Patrícia Comissão Examinadora _______________________________ Prof°:......................... _______________________________ Prof°:......................... _______________________________ Prof°:......................... Rio Claro, ____ de ______________ de ________ DEDICATÓRIA “Dedicamos este trabalho à aquelas pessoas que, apesar de não trabalharem na área, possuem grande interesse e acham fascinante conhecer ‘o cérebro por traz das máquinas’” AGRADECIMENTOS “Agradecemos a todos que nos ajudaram, e que também apoiaram a nossa iniciativa a criação de nosso projeto, pois a ajuda e, mesmo a opinião de cada um, pode fazer toda a diferença.” EPÍGRAFE “O homem é o Lobo do Próprio homem” Tomas Hobbes RESUMO O mundo, ao passo que anda, sem a ajuda das máquinas para. O desenvolvimento de novas tecnologias vem facilitando cada vez mais a vida de todos, independente de classe social ou “raça”, mas nada acontece sozinho sempre há alguém por tráz do cérebro da máquina. Estas pessoas, apesar de não “reconhecidas popularmente”, são a base desse “conforto mundial” que a tecnologia proporciona. A programação vem se tornando um ramo de interesse a novos apaixonados em informática em geral, pois é mais satisfatório fazer um programa do que apenas usar um programa criado por outra pessoa, sendo que você não tem nenhuma noção de como ele foi feito. A linguagem Pascal tornou-se uma ótima oportunidade para quem é iniciante, pois possui uma estrutura de fácil entendimento. E, para quem já tem um certo domínio em Pascal poderá mudar “tranquilamente” para o Delphi, pois este possui o Pascal como sua linguagem base o Turbo Pascal. (Baseado em qual Para quem vir que esta é realmente a sua área, pode ir mais a fundo e começar a programar em Java, apesar de ser muito complexo, é uma linguagem de forte ascensão no mercado. A internet em si tem muitos tópicos que, teoricamente, ensinam programação, porém para aqueles que estão iniciando, as informações mais necessárias são geralmente escassas. Surge ai a necessidade de sites que se dediquem apenas em programação básica. Quem começa tem “fome por saber”, e pular partes pode ser fatal. SUMARIO 1 INTRODUÇÃO ------------------------------------------------------------------------------------------------------------- 9 2 OBJETIVOS ---------------------------------------------------------------------------------------------------------------- 10 2.1 OBJETIVOS GERAIS --------------------------------------------------------------------------------------------------------10 2.2 OBJETIVOS ESPECÍFICOS --------------------------------------------------------------------------------------------------10 3 INTERNET ----------------------------------------------------------------------------------------------------------------- 11 3.1 COMO FUNCIONA A INTERNET -------------------------------------------------------------------------------------------11 3.2 TCP/IP -----------------------------------------------------------------------------------------------------------------------11 3.2.1 IP - ENDEREÇO E DOMÍNIO INTERNET --------------------------------------------------------------------------------12 3.3 SEGURANÇA NA INTERNET------------------------------------------------------------------------------------------------12 4 ELABORANDO UM PREVIEW DO SITE. ------------------------------------------------------------------------- 13 5 PROGRAMAÇÃO -------------------------------------------------------------------------------------------------------- 14 5.1 A LINGUAGEM PASCAL ---------------------------------------------------------------------------------------------------14 5.2 O DELPHI --------------------------------------------------------------------------------------------------------------------15 5.2.1 Batendo de Frente com o VB ----------------------------------------------------------------------------------- 16 5.2.2 Por Que Delphi? ------------------------------------------------------------------------------------------------- 17 5.2.4 Arquitetura de Programação ----------------------------------------------------------------------------------- 17 5.3 O JAVA -----------------------------------------------------------------------------------------------------------------------18 2.3.1 Java nos eletrodomesticos? ------------------------------------------------------------------------------------ 18 5.3.2 Desenvolvimento ------------------------------------------------------------------------------------------------- 19 5.3.4 Caracteristicas --------------------------------------------------------------------------------------------------- 20 6. CONCLUSÃO ------------------------------------------------------------------------------------------------------------- 20 1 Introdução Programação para muitos é um bicho de sete cabeças. Porém alguns vêem na área da informática uma oportunidade de crescer fazendo o que gosta. Para quem é fissurado em tecnologia programação é algo super interessante e ao mesmo tempo um modo de melhorar sua capacidade de raciocínio. No mundo em que vivemos praticamente tudo é informatizado, quem será possível de viver sem a tecnologia desenvolvida ate os dias de hoje? De fato, a informatização se tornou parte da nossa cultura. “A cultura do Século XXI”. A internet por exemplo, apesar de ser uma tecnologia desenvolvida para a guerra e posteriormente para as universidades, hoje é principal método de comunicação de massa. È sempre importante lembrar que a internet não tem um dono, muitas pessoas dominam apenas uma pequena parte dela. Para se usar a internet é preciso um computador ou um equipamento eletrônico que transforme sinais elétricos em informações que sejam capazes de serem entendidas pelo seu computador. Só isto não basta é preciso o uso de software que “ensina” ao computador como tratar as informações. É ai que entra o programador, profissional responsável por “dar vida” ao computador. Mas como programar? Programar não é algo fácil, mas por outro lado não é algo restrito apenas a uma minoria, basta ter vontade e dedicação. Este site oferecerá conceitos de programação nos compiladores Turbo Pascal, Delphi7, e Java. Além de conceitos códigos para facilitar o entendimento de quem está iniciando na área. Esse conteúdo é o suficiente para se iniciar. Este é voltado, como já dito antes, para iniciantes na área. Nele haverá um canto para que os usuários digitem e enviem suas duvidas diretamente aos desenvolvedores e à colaboradores que queiram responder às perguntas postadas pelos visitantes do site. 2 Objetivos Aqui será descrito os objetivos gerais e específicos do trabalho, o que nos motivou a “investir” nesta ideia. 2.1 Objetivos Gerais Esta monografia tem por objetivo demonstrar que a dificuldade de encontrar conteúdos que sirvam de base para quem esta iniciando-se e programação é difícil de encontrar e propõe a criação de u site de programação para iniciantes. Rever todo o parágrafo. 2.2 Objetivos Específicos Não é fácil entrar na área de programação compreendendo tudo o que se acha em sites de programação. Isso por que quando se inicia a lógica de raciocínio não é tão boa quanto se acha que é. Qualquer explicação por mais simples que seja, ao ler sozinho, parece não fazer sentido algum. Isto é um grande motivador de desistência neste ramo tão promissor. Os principais objetivos deste site é atender as necessidades de programadores iniciantes, pois todo bom programador tem uma excelente base de lógica e conceitos básicos com a linguagem escolhida. Tirar suas duvidas e trocar experiências com os visitantes é uma das melhores formas de aprendizado, pois nem todo orientador explica de maneira convincente, de modo claro e de fácil entendimento. Exemplos é outro ponto importante a se destacar para quem é iniciante. Este site terá uma área voltada a download de exemplos muito simples, de fácil entendimento e linhas de comentários explicando passo a passo como é feito o programa. Com planos a longo prazo pretendemos também almejar os programadores mais experientes para dar auxilio e dicas que só se adquirem com experiência. Um site que descomplique a informática incentivando que mais pessoas sigam essa área muito interessante e constantemente em mudanças. 3 Internet Deste ponto em diante será abordados alguns temas relacionados a internet. Segue algumas explicações de como a internet funciona, pois usar apenas é fácil, compreende-la, no entanto, não é uma tarefa tão simples. Trocar por serão 3.1 Como Funciona a Internet Quem não ouviu falar em Internet não é mesmo? Hoje todos sabem, porém são poucas as pessoas que compreendem como ela funciona. Na Internet as informações são enviadas e recebidas por meio de uma série de “regras”, assim como em uma comunicação convencional onde há um emissor, uma mensagem, uma meio por onde se transmite essa mensagem, um código como o qual é enviada, e por fim um receptor. Essas regras na comunicação da Internet é chamada TCP (Transmition Control Protocol ou Protocolo de Controle de Transmissão). Resumindo, ao enviar uma mensagem seu computador transforma-a em impulsos elétricos por um modem e, através de um cabo de rede viaja até chegar ao seu destino e codificada por outro modem em dados compreensíveis para o computador de destino. O nome dos dispositivos responsáveis por essa comunicação são hubs/switchs, pontes, portões de comunicação (gateway) e etc. 3.2 TCP/IP “A Internet é conhecida como uma rede comutada por pacote. Isso significa que quando você envia informação pela ‘net’ são particionados em pequenos pacotes. Cada pacote é enviado de um modo independente através de uma série de computadores chamado roteadores. Depois que todos os pacotes chegam na extremidade receptora, são receptora em seu formado original unificado”. rever Dois protocolos têm a tarefa de particionar os dados em pacote, encaminhá-los através da Internet e depois recombiná-los na outra extremidade: o IP (Internet protocol, que cuida do roteamento dos dados) e o TCP (Transmition Control Protocol) que trata da partição dos dados em pacote e da remontagem dos pacotes na extremidade receptora. Por isso a Internet é uma rede comutada por pacotes. Cada pacote deve ser particionado com menos de 1500 caracteres cada. Para cada pacote é fornecido um cabeçalho que contém diversas informações, como em que ordem os pacotes devem ser montados com outros pacotes relacionados. Cada pacote é colocado em “envelopes” de IP separado. Esses envelopes contêm informações de endereçamento (de onde é enviada e para onde vai). 3.2.1 IP - Endereço e Domínio Internet Hoje é tão simples “navegar” pela net. Mas como a mensagem que se envia de um computador para outro específico não “se perde” na rede? Como isso acontece? Para se fazer qualquer coisa na Internet, é preciso entender os endereços da Internet (o pacote de “regras” responsável por isso é chamado IP). O IP (Protocolo Internet) usa informações da rede para fornecer mensagens e/ou informações de um computador para computador (TCP). Cada IP, é na verdade um endereço representado por uma série de quatro números separados por pontos, (exemplo: 163.52.120.72). Seria muito difícil lembrar os endereços desta forma, sem contar que alguns IPs são dinâmicos, ou seja, eles mudam. Para facilitar, foi desenvolvido o DOMAIN NAME SYSTEM (DNS, Sistema de Nomes de Domínio). O DNS estabelece uma hierarquia de domínios. Fornece a cada computador a Internet um nome de referência (O famoso Endereço de Internet), usando letras e palavras facilmente reconhecíveis ao invés de números. (Preston Gralla -1996) 3.3 Segurança na Internet O surgimento da rede se deu em 1960, no meio de uma “paranóia” da segunda guerra mundial, com um projeto da ARPHANET. O objetivo inicial foi permitir aos fornecedores do governo o compartilhamento de caros e raros recursos computacionais da época. Inicialmente os laboratórios da ARPHANET trocavam apenas informações entre si. Essa troca de informação é feita através de protocolo TCP/IP que gerencia e encaminha mensagens de dados entre computadores. O TCP/IP utiliza a tecnologia de comutação de pacotes packet switching. Para tornar a rede mais “segura”, ela foi criada com base numa tecnologia de comutação de pacote. Um modo fácil de entender esse tipo de tecnologia basta apenas imaginar uma rede com 3 computadores, ligado a cada um dos outros com uma conexão específica. Caso uma conexão seja interrompida haverá um segunda rota pra que a informação possa ser transmitida, mesmo que esta passe por outros computadores. Na rede mundial que temos nesses dias a possibilidade de que toda a rede caia é infinitamente pequena. Para que a rede possa funcionar é necessário um protocolo de comunicação – procedimento detalhado de troca de informação – muito semelhante à lógica da comunicação humana. Segue uma série de regras básicas como por exemplo, “quando um fala o outro apenas escuta”, caso não a entenda é pedido para que se repeça??? a mensagem. Mesmo com tantos recurso para se proteger das ameaças sempre há pessoas que dominam esse tipo de informação e às usa de maneira a prejudicar, ou mesmo de se divertir ou para proveito próprio. Essas pessoas são conhecidas na mídia como hackers e são vistos como criminosos, aqueles que derrubam servidores, invadem contas entre outros. Voltando a conceitos de segurança, para um site ser realmente seguro ele deve ter as seguintes características: confidencialidade, integridade e disponibilidade. Especificando: Confidencialidade – Se o site possui um acesso restrito somente a pessoas autorizadas e que ninguém possa ver o que você está fazendo e muito menos poder alterá-las. Integridade – Sem brechas que possam ser utilizadas por pessoas de má fé para fazer modificação de dados cadastrais por exemplo. Disponibilidade – certeza que o site fique todo o tempo necessário sem sobrecargas ou “balckouts”. 4 Elaborando um Preview do site. Sabe-se que para a elaboração de um site é requerido tempo e determinação.Várias Ferramentas são empregadas e, para tanto é preciso ter um certo domínio das ferramentas trabalhadas. Surgiu ai a idéia, para não ficar muito abstrato o formato do site, foi criado um host para hospedar uma prévia do que será o projeto final para o término do curso. A freehostia disponibiliza host’s gratuitos por um ano, ideal para quem ta?? em um projeto e não tem dinheiro para hospedar um site definitivo. A vantagem disto é que ele já vem com uma interface já configurada, uma vez que quando alguém projeta um site, ele faz toda a parte gráfica do site. Em um projeto em grupo nem sempre é possível estar todos presentes nas reuniões, pensando nisto uma ótima forma de driblar este problema é a criação de um e-mail em que todos possam ter acesso. Outra possível escolha para isto é a criação de um fórum para que além dos integrantes, outros internautas possam entrar e postar seus comentários. Nunca se esquecendo de trabalho em grupo, todos devem ter acesso especial ao site como administradores ou moderadores, para que se possa ter um controle constante do que é colocado no site. 5 Programação Após tem compreendido parte do funcionamento da internet, passemos para as linguagens de programação que serão abordadas no trabalho. 5.1 A Linguagem Pascal Desenvolvida em 1971, foi criada como trabalho escolar na Universidade Técnica de Zurique, Suíça. Um “mero” Projeto de Faculdade tornaría-se a nova sensação, no que diz respeito a linguagem de programação, em meados dos aos 80. Nessa época foi lançado pela Microsoft o MS-DOS (assim como sugere MS de Microsoft e DOS Disk Operation System ou Sistema operacional de disco), e quase junto a esta explosão de mercado, o lançamento do primeiro HD para microcomputadores, com uma “incrível” capacidade de cinco MegaBytes, cerca de cinco vezes maior que os computadores da época. ( Museu do computador) Com o surgimentos de máquinas cada vez mais elaboradas era necessário uma linguagem de programação que fosse de melhor estruturação e compreendimento, sempre lembrando que não era qualquer pessoa que tinha conhecimento na área, de certa forma até hoje não é, uma vez que todos apenas usam e não sabem o que se passa por traz de cada operação realizada. O lançamento do Turbo Pascal pela Borland, em 20 de Novembro de 1983, foi revolucionário para a época, sendo o primeiro IDE (Integrated Development Enviorenment, ambiente de desenvolvimento integrado) . Possibilitando o desenvolvimento de programas utilizando os PC’s até então recentemente lançado com uma a facilidade de um ambiente gráfico com interação do usuário. Isso tudo sem contar que o TB (abreviação de Tubo Pascal) tinha a possibilidade de editar o código fonte, uma vez que, antes se você errasse teria que recomeçar todo o código que era escrito em papel perfurado; compilar, o momento da verificação da estrutura para verificar se não há nenhum erro no código e transformá-lo em linguagem de máquina – linguagem de mais baixo nível, onde o programa interage com a parte física do computador o hardware; e por fim, gerar o arquivo executável, o qual como o próprio nome diz deixa ele preparado para ser executado pela máquina Desde que Niklaus Wirth Criou um trabalho de faculdade, foram feitas cada vez mais inovações na área da informática, e o TB não poderia ficar para traz. Várias versões foram desenvolvidas, sendo, a cada versão implementado novas funcionalidades, chegando a um ponto de uma versão do Pascal Orientado a Objetos – a primeira implementação Object Pascal, presente na versão 5.5 do TB. Com o desenvolvimento de mais e mais recursos gráficos, o TB foi ficando meio “desagradável” – “com tantos ambientes gráficos por que utilizar um desenvolvedor em tela de MS-DOS?” - pressão do VB (Visual Basic) e do C++, o turbo pascal – que teve Anders Hejlsberg como autor do seu compilador - foi abandonado na versão 7, lançada em 1995, e foi desenvolvido, com base na linguagem pascal, o Delphi dois anos depois de abandonar o TB. 5.2 O Delphi Desde o inicio o Turbo Pascal foi um sucesso devido a algumas facilidades de uso como uma ambiente para a edição o código fonte e depuração do programa, sem dizer que criação do executável economizava um tempo considerável. Devido a uma grande aceitação várias implementações foram criadas até se chegar a um Object Pascal, uma verdadeira implementação do Pascal Orientado a Objetos. O Delphi é, de certa forma, a geração mais recente do Object Pascal. Ao contrário do que se possa pensar, o Delphi não é uma linguagem de programação mas sim ambiente de desenvolvimento. A linguagem de programação utilizada é o Pascal (não o Turbo Pascal pois este se trata de um compilador). Em 1990 a “estrela” Turbo Pascal, principal produto da Borland na época, começava a dar sinais de que ele estava começando a ficar para traz. Por que? O desenvolvimento de RAD ( em português, desenvolvimento rápido de aplicações) estava ganhando mercado por facilitar ainda mais o processo de criação de um programa o qual já contava com uma interface, facilitando e muito o trabalho de desenvolvimento. O Turbo Pascal era “apenas’ um IDE (em português, Ambiente Integrado de Desenvolvimento) o qual rodava em um ambiente de MSDOS sem uma interface muito amigável. Para não dar a entender uma contradição para a década de 90 com o desenvolvimento de várias interfaces apara o usuário o MS-DOS tornavase um pouco “desconfortável”. Mesmo assim havia muitos programadores de TP preferiam continuar trabalhando em ambiente Dos desenvolvendo aplicativos para Windows. A Borland não poderia perder seu mercado assim tão rapidamente para os RAD’s, dessa forma dois anos após “abandonar” o TB, em 1995, lançou o Delphi. 5.2.1 Batendo de Frente com o VB Em 1993, ano que iniciou-se o desenvolvimento de uma ferramenta que pudesse competir á mesma altura do Visual Basic (até então despontando no mercado com um ótimo RAD). Dois anos após foi lançado o Delphi A desvantagem que motivou a criação de um RAD foi o fato de que o TB era voltado para um segmento Científico/Acadêmico enquanto que o VB era voltado a um segmento comercial, o que deduz-se que era mais lucrativo. O Delphi se aproveitou de alguns pontos fracos do VB, como recursos limitados e linguagem interpretada, além de ainda maior facilidade de desenvolvimento, um exemplo seria auto criação dos forms e procedures ao se criar um novo projeto, o que levaria menos da metade do tempo que seria usado no TB e ainda por cima com uma interface mais aceitável para a “nova época” que vinha surgindo. O Deplhi, ao contrário do VB, explora quase por completo a API (Application Programming Interface, ou em português, Interface de Programação de Aplicativos) do Windows, outro ponto que fez o Delphi “bater de frente” com o VB uma vez que este não atendia todas as necessidades quanto à interação com a API do Windows. Em síntese, Delphi é um RAD com um IDE 5.2.2 Por Que Delphi? O nome escolhido, Delphi, era, originalmente, o nome do Projeto deste upgrade, e tinha um significado oculto, ligado ao fato de solução estar sendo desenvolvida para integração com servidores Oracle. Quando se quer falar com o "Oráculo" (Oracle em português) para onde se vai? Delphi (referência à localização do famoso oráculo da Grécia Antiga)! o nome oficial previsto deveria ser APPBuilder, mas todos concordavam que este nome não era nada inspirador. A Sorte foi que a Novell lançou, pouco tempo antes, o Visual AppBuilder, o que forçou a Borland repensar o nome da nova ferramenta. (As Origens do Delphi – Raphael – xtibia.com) Outra razão pela troca de seu nome, foi devido a fatores mercadológicos pois o nome "Turbo" já não era muito compatível com as modernas regras de marketing usadas pelas empresas atuais e além disto, não queriam que o nome Pascal criasse algum tipo de resistência por parte de gerentes de sistemas corporativos que, na maioria das vezes, são pessoas que não tem conhecimentos técnicos abrangentes sobre projeto e desenvolvimento de sistemas, nem tampouco conhecem as diversas ferramentas existentes e tendem sempre a adotarem ferramentas "Microsoft" por achar que são as "melhores" que existem no mercado. Além do mais, o pascal não era uma linguagem comercial e sim uma linguagem de meio acadêmico sendo muito usada por universidades e escolas técnicas, para os alunos aprenderem técnicas e conceitos de lógica de programação. Mas ela era uma linguagem de programação extremamente poderosa, abrangente e quase que ilimitada, o que permitia o programador fazer qualquer tipo de aplicativo comercial ou científico. (As Origens do Delphi – Raphael – xtibia.com) 5.2.4 Arquitetura de Programação Em programação a arquitetura de programação define o meio em que os dados de reconfiguração são estruturados e como são reconhecidos ao FPGA (dispositivo semicondutor utilizado para o processamento de informações digitais) para programar os recursos. Simplificando é a forma como é feita a programação, neste caso em camadas. A arquitetura do Delphi é de três camadas, sendo elas: 1 - Camada de interface com o usuário. É nela que o usuário possui um primeiro contato ao trabalhar com o Delphi. Neste ponto o programador seleciona e tem um “preview” da interface gráfica que será utilizada pelo usuário final. Esta camada facilita e muito o trabalho do programador, pois já traz toda uma estrutura básica montada, pronta para a codificação do programa em si. 2 – Camada de negócios com a lógica da aplicação. Nesta camada ocorre a programação específica do programa a ser “construído”. É o equivalente as linhas de comando do Turbo Pascal, todo o corpo do código propriamente dito está nesta camada. 3 – Camada de dados, com funcionalidade de armazenamento e recuperação. funcionalidade de relacionamento nos remete à ideia de banco de dados, ou seja, é a interação do programa com um banco de dados. (Ivan L. M. Ricarte, 2002 - http://www.dca.fee.unicamp.br/) Alguns “fanáticos” por desafios podem achar o Delphi muito “mastigado”, com quase tudo já pronto e preferem muito mais o Turbo Pascal. É certo que nem todo programador em Delphi tem uma perfeita base em Turbo Pascal, isso por que este já faz boa parte do trabalho pelo programador. Isso é ótimo pois economiza um tempo precioso do programador, e como seus clientes sempre precisam do programa “para ontem” , exigindo muito em muito pouco do programador. 5.3 O Java A linguagem de programação Java vem igual a um tornado ganhando espaço no que diz respeito a linguagem de programação, por ser uma linguagem “versátil” e feito para rodar em qualquer plataforma. 2.3.1 Java nos eletrodomésticos? O intuito inicial da criação da linguagem Java foi o de ser usado em eletrodomésticos, projetado por uma pequena equipe de pessoas da SunMicrosystems. E é claro que isso teve um motivos, ou mesmo vários, vamos aos fatos: Antes da criação da linguagem, projetistas de programas para eletrodomésticos li davam com a desvantagens de que em geral os programas escritos nas linguagens convencionais da época era fortemente dependente de sua plataforma onde foi criada. Isto era um grande incômodo uma vez que o desenvolvimento de novas tecnologias de novos processadores o aproveitamento de um programa já escrito na mesma linguagem, porém em processadores diferentes era impossível. No melhor dos casos era necessário recompilá-los para ser usado novamente. Segundo Silveira (2003): “um outro problema no uso de linguagens de programação tradicionais em produtos eletro-eletrônicos reside no fato de que o consumidor em geral quer uma longa vida útil para seu aparelho. De outro lado, é ponto pacífico que a maioria dos softwares são projetados já prevendo-se sua breve obsolescência, ou seja, escreva um programa hoje e em poucos meses ele estará ultrapassado. Desta forma, sempre que novos processadores para eletrodomésticos fossem desenvolvidos, eles teriam de apresentar uma espécie de compatibilidade retroativa”. Com esta nova linguagem que estava a surgir isto já não seria um problema. 5.3.2 Desenvolvimento NO início dos anos 90 Naughton, Gosling e Sheridan, começaram a definir as bases para o projeto de uma nova linguagem apropriadas apara eletrodomésticos que não fosse tão “problemática” quanto as linguagens padrão da época. O foco do projeto era a visão do consumidor quanto a praticidade, robusticidade e a nova geração de máquinas para “pessoas” comuns (I. F. Silveira). Inicialmente esta linguagem foi batizada de Oak, trocado por Java posteriormente (1995) por problemas de copyright (uma vez que já existia uma linguagem chamada Oak). Foi em 1992 a estréia da nova linguagem, até então ela ainda se chamava Oak, em um projeto chamado Projeto Green, o qual tinha por objetivo desenvolver uma nova interface de usuário para controlar aparelhos em uma casa. “Em meados de 1993, pode-se dizer que Oak ia "mal das pernas". Os projetos propostos não eram economicamente viáveis, e não se via um grande futuro no desenvolvimento de aparelhos que suportassem essa nova linguagem.[...]”( I. F. Silveira, infowester). “Em 1994 surge a internet, a Sun vê uma nova possibilidade para o Green Project e cria uma linguagem para construir aplicativos Web baseada na Oak, a Java. Em 23 de maio de 1995 a linguagem Java é oficialmente lançada na SunWorld Expo 95 com a versão JDK 1.0 alpha.” (Vitor Fernando Pamplona, javafree.org) O estouro da internet acertou também o estourou da nova linguagem de programação. Totalmente escrito em Java, foi desenvolvido um browser (navegador de internet), terminado no inicio de 1995 e intitulado de Hot Java. Apesar de ser um fracaço comercial abril os olhos de desenvolvedores para um fato importante: As paginas HTML (pagina de internet) estariam destinadas a serem uma estrutura estáticas e sem ações embutidas em si. O diferencial do Hot Java era que a inserção de programas Java podiam ser embutidas em paginas HTML. 5.3.4 Características Ainda não foi dito mas é de suma importância ressaltar que o Java é uma Linguagem de Programação Orientada a Objetos, outras características que a tronam tão famosa dentre outras são o fato de ser Multiplataforma, ser praticamente independente de plataforma podendo rodar em qualquer equipamento, seja ele qual for; pode ser compilada ou interpretada, algo inexplorado na maioria das outras linguagens; robusta e confiável, “não existe a preocupação sobre a liberação e corrupção de memória.” (Antonio Carlos Fernandes Nunes); Segurança uma vez que as transferências da Java incluem verificação de código de byte, evitando acréscimo de vírus ou cavalo de Tróia (que significa que, se o tamanho do pacote for alterado no caminho, será abortado); Portável sendo que as bibliotecas que são parte do sistema definem interfaces portáveis; Multithreaded, o Java possui um sofisticado conjunto de primitivas de sincronização que são baseadas amplamente no uso de monitor e no paradigma de variável de condição. 6. Conclusão Concluímos neste trabalho que é imprescindível uma boa orientação de programadores iniciantes, pois esta é a base para que todo e qualquer programador obtenha sucesso profissional. Uma má informação ou, como quase sempre encontrada em paginas de internet, informações incoerentes provoca gradativamente o desinteresse da pessoa quanto à programação. O nosso “esforço” começou a obter um pouco de resultado, uma vez que foi feito um fórum no qual já começou a ser postado matérias sobre as bases da programação, mas é claro que não é o trabalho final e sim um projeto do que seria ou pelo menos como seria, ao menos da interface que usuário poderá encontrar. Nada muito elaborado mas o suficiente para não perder o ânimo. 7 Bibliografia Livros Como funciona a Internet – Prestan Gralla – 1996 – Biblioteca da escola da Escola “Pedro Raphael da Rocha”. Artigos da internet Como funciona a internet? Disponível em: http://www.efagundes.com/artigos/Como%20funciona%20a%20INTERNET.htm. Acesso em: 02/10/2009 Redes de Computadores – Teoria e Prática. Disponível em: http://74.125.93.132/search?q=cache:rSK2jOPJsM0J:www.martinsfontespaulista.com.br/site/ PDFs/Capitulo1/249317.pdf+o+inicio+das+redes+de+computadores&cd=4&hl=ptBR&ct=clnk&gl=br Jair C Leite, 1999 - A Gestão de Requisitos. Disponível em: http://www.macoratti.net/vb_conc2.html. Acesso em: 18/09/09 Miguel Angel Alvarez - Tradução de JML. Conceitos básicos de programação. Alguns aspectos teóricos básicos comuns a estas linguagens - Definição de variável. Disponível em: http://www.criarweb.com/artigos/154.php. Acesso em: 18/09/09 Disponível em: http://www.zdoisz.com.br / Acesso em: 25/09/09 Segurança na internet. Disponível em: http://cartilha.cert.br/download/cartilha-segurancainternet.pdf. Acesso em: 25/09/09 25 anos de Turbo Pascal. Disponível em: http://www.heptagon.com.br/turbo-pascal. Acesso em: 09/10/09 Turbo Pascal. Disponível em: http://pt.wikipedia.org/wiki/Turbo_Pascal. Acesso em: 09/10/09 The Object Pasal Archive - História e versões. Disponível em: http://joaomorais.com.br/pascal/historia.php. Acesso em: 09/10/09 Museu do computador. Disponível em: http://www.mu<seudocomputador.com.br/1990dc_2004dc.php. Acesso em: 17/09/2009 Anders Hejlsberg. Disponível em: http://pt.wikipedia.org/wiki/Anders_Hejlsberg. Acesso em: 17/10/2009 Turbo Pascal. Disponível em: http://vomicae.net/programacao/download-turbo-pascal-70/ . Acesso em: 17/10/2009 Mas Afinal! o que é Delphi? Disponível em: http://www.xtibia.com/forum/e-Delphi-HistoriaDelphi-t42588.html. Acesso em: 20/10/09 Code Gear Delphi. Disponível em: http://pt.wikipedia.org/wiki/CodeGear_Delphi. Acesso em: 20/10/09 FGPA. Disponível em: http://pt.wikipedia.org/wiki/FPGA. Acesso em: 23/10/09 Arquitetura de processamentos de imagens e sinais. Disponível em: http://74.125.113.132/search?q=cache:9WQ6nU9qNcQJ:www2.dc.ufscar.br/~saito/download /arquitetura-PIS/Aula1introdu%25E7%25E3o.ppt+%22Arquitetura+de+programa%C3%A7%C3%A3o%22&cd=15 &hl=pt-BR&ct=clnk&gl=br. Acesso em: 23/10/09 Arquitetura de três camadas - Ivan L. M. Ricarte. Disponível em: http://www.dca.fee.unicamp.br/cursos/PooJava/servlets/trescamadas.html. Acesso em: 23/10/09 O que é Java - Vitor Fernando Pamplona. Disponível em: http://javafree.uol.com.br/artigo/871498/. Acesso em: 23/10/09 Escrito por I. F. Silveira - Publicado em 30/06/2003. Disponível em: http://www.infowester.com/lingjava.php. Acesso em: 22/11/09 Linguagem de Programação Java . Disponível em: http://javafree.uol.com.br/artigo/871498/ - Vitor Fernando Pamplona http://74.125.93.132/search?q=cache:9XYmNUNAX90J:pinga.eep.br/~mblanco/java.ppt+lin guagem+de+programa%C3%A7%C3%A3o+java+caracteristicas&cd=7&hl=ptBR&ct=clnk&gl=br. Acesso em: 22/1/09 Antonio Carlos Fernandes Nunes , Mon May 6 09:41:07 EST 1996 - Robustez. Disponível em: http://www.gta.ufrj.br/~antguria/node10.html#SECTION00054000000000000000 22/11/09 Antonio Carlos Fernandes Nunes , Mon May 6 09:41:07 EST 1996 - Segurança. Disponível em: http://www.gta.ufrj.br/~antguria/node11.html#SECTION00055000000000000000. Acesso em: 22/11/09 - Antonio Carlos Fernandes Nunes , Mon May 6 09:41:07 EST 1996 - Segurança. Disponível em: http://www.gta.ufrj.br/~antguria/node16.html#SECTION000510000000000000000 Acesso em: 22/11/09 - Antonio Carlos Fernandes Nunes , Mon May 6 09:41:07 EST 1996 - Portável. Disponível em: http://www.gta.ufrj.br/~antguria/node13.html#SECTION00057000000000000000. Acesso em: 22/11/09