Vous êtes sur la page 1sur 17

Linguagem: At que ponto existimos a partir do momento em que falamos?

"A lngua uma coisa de tal modo distinta que um homem privado do uso da fala conserva a lngua, contato que compreenda os signos vocais que ouve." Saussure

Desde que nascemos, estamos mergulhados no mundo da linguagem. Da fala, da lngua pertencente ao meio em que vivemos. Crescemos dentro da nossa famlia ouvindo - na maioria das vezes - nossos pais a falarem conosco, alm de gestos e sinais, atravs da fala, das palavras. Nosso pensamento, a forma de entendermos as coisas, o mundo, comea, ento, a ter por primordial, as palavras, a linguagem, o nome das coisas existentes no mundo. Construmos na conscincia, uma espcie de "biblioteca" onde depositamos tudo o que ouvido e entendido. Guardamos idias, significados, palavras e com essa "base de dados" nos expressamos verbalmente pela fala. como se selecionssemos - pegando na prateleira da biblioteca - palavra por palavra, criando estruturas de entendimento para a comunicao. Quase parecido com uma receita de bolo: voc + + muito + simptica, resultando no queremos dizer pelo o que estamos sentindo ou sobre algo ou algum. Agora, por que falamos? Por que no fazemos uso dos sinais ou uso de smbolos, como nas primeiras descobertas do uso da linguagem feitas pelo homem? Por que o homem, diferente dos outros animais, fala? Por que somente ns temos essa faculdade e, at onde, se sabe, j impressa em nossa conscincia? Poucas pessoas, acredito, tenham parado para analisar ou questionar essas questes. Pesquisas e trabalhos realizados nesse sentido procuram, ainda, respostas precisas para a pergunta "por que o homem fala". Segundo, Jean Bottro, o homem, na Mesopotmia antiga, bero da civilizao, percebe a necessidade de comunicar-se e comea a criar possibilidade de entendimento entre si e os outros. Usa sinais e mensagens, traados ou pintados no flanco dos vasos, ou ainda, tentos em pedra ou argila. Levando-se em conta tais informaes, sabemos que em um determinado momento da humanidade, o homem teve a necessidade de comunicar-se de algum modo, assim como num determinado momento, passou a falar. interessante pensar nessas questes porque refletimos e nos perguntamos a partir de qu ou do qu, o homem descobriu que possua, alm das existentes, a faculdade da linguagem. "a linguagem no apenas um instrumento de comunicao, mas tambm o prprio pensamento do ato. O conhecimento no se separa da forma lingstica em que se expressa, e por isso a linguagem tambm constitui o limite, ainda que mvel, do pensamento... A linguagem no se organiza apenas segundo princpios racionais. As palavras irradiam a capacidade de comunicao para os domnios mais amplos da vida e das foras que a integram, modificam-na e a expressam".
Herder, livro a Histria da Filosofia de Bernadeth Siqueira Abrao.

Assim, sabemos que fazemos uso da linguagem, da lngua que nos ensinada, falamos, s no sabemos, por que, justamente pela fala, que comunicamo-nos uns com os outros. Baseado nesses relatos e em outras pesquisas pode acreditar que a faculdade da linguagem articulada a forma que o homem descobriu para se auto-afirmar como

ser e dominar o mundo. O homem, ao nomear as coisas e objetos, passou a ter o controle sobre o universo, organizando o espao em que vive e superando o desconhecido pelo desejo de conhecimento. A tudo e a todas as coisas, o homem atribuiu sentido, designou funes, nomeou coisas e se imps perante os outros seres. No entanto, quando o homem penetra nessa realidade, ele domina o mundo e dominado pela linguagem, pela fala, pela forma de encarar as coisas a sua volta. Passa a criar algo que no existe na sua realidade, pelo pensamento e pelo conhecimento, e d nome a esse algo. A partir do conhecimento que se tem do objeto, ele deixa de existir para o mundo e o que passa a ter valor a palavra, o nome e no o objeto (ou ser) em si. Portanto, o universo do discurso da linguagem e da fala, uma caracterstica exclusiva do ser humano e por isso, fundamentais para alcanar a compreenso do mundo e das coisas a nossa volta. Criamos novos objetos e seres dentro e fora da realidade, nomeado o que nos cerca e fazendo de ns donos do real e do imaginrio. FUNES DA LINGUAGEM Para entendermos com clareza as funes da linguagem, bom primeiramente conhecermos as etapas da comunicao. Ao contrrio do que muitos pensam, a comunicao no acontece somente quando falamos, estabelecemos um dilogo ou redigimos um texto, ela se faz presente em todos (ou quase todos) os momentos. Comunicamo-nos com nossos colegas de trabalho, com o livro que lemos, com a revista, com os documentos que manuseamos, atravs de nossos gestos, aes, at mesmo atravs de um boa noite.
A comunicao confunde-se com a prpria vida. Temos tanta conscincia de que comunicamos como de que respiramos ou andamos. Somente percebemos a sua essencial importncia quando, por acidente ou uma doena, perdemos a capacidade de nos comunicar. (Bordenave, 1986.)

No ato de comunicao percebemos a existncia de alguns elementos, so eles: a) emissor: aquele que envia a mensagem (pode ser uma nica pessoa ou um grupo de pessoas). b) mensagem - o contedo (assunto) das informaes que ora so transmitidas. c) receptor: aquele a quem a mensagem endereada (um indivduo ou um grupo), tambm conhecida como destinatrio. d) canal de comunicao: o meio pelo qual a mensagem transmitida. e) cdigo: o conjunto de signos e de regras de combinao desses signos utilizado para elaborar a mensagem: o emissor codifica aquilo que o receptor ir descodificar. f) contexto: o objeto ou a situao a que a mensagem se refere.

CODIGOS E CIFRAS - A ORIGEM DA CRIPTOGRAFIA


Cdigos e cifras so to antigos quanto civilizao. Entretanto, comearam a ser usados com mais freqncia nas comunicaes humanas h cerca de dois mil anos atrs. Os cdigos foram responsveis pela ascenso, queda como morte de reis, rainhas e lideres A OPERAO VINGANA O almirante Isoruko Yamamoto foi um lder militar japons, e o responsvel pela organizao e desfecho do ataque surpresa a Pearl Harbor em 7 de dezembro de 1941, forando os EUA a entrar definitivamente na segunda guerra mundial. Com a perda da superioridade japonesa no Pacfico, pela sua derrota na batalha de Midway em junho de 1942, o almirante Yamamoto foi obrigado a reagrupar o que havia sobrado das suas foras. Em abril de 1943, decidiu fazer uma rpida visita de inspeo e, tambm, para levantar o moral das tropas japonesas em suas bases nas ilhas do setentrional arquiplago Solomon. Para tanto enviou aos seus pares os detalhes do seu itinerrio, cuja mensagem foi interceptada e decodificada pelo servio de inteligncia americano que naquela altura j havia finalmente conseguido decifrar o ento impenetrvel cdigo militar japons JN-25. Com estes dados disponvel, alto comando militar americano, liderado pelo almirante Chester Nimitz planejou uma emboscada area conhecida como "operao vingana" e, assim, a 7:44 h do dia 18 de abril de 1943, o avio que conduzia o almirante Yamamoto, um bombardeiro denominado no jargo militar americano como "Betty", foi abatido na altura da localidade de Bougainville por uma esquadrilha de caas P-38 que havia decolado da base de Handerson Field cerca de 400 milhas de distncia. Sem dvida alguma a criptoanlise mudou os rumos da guerra no Pacfico. Um dos primeiros conceitos de mquina de codificao assistida foi desenvolvido no sculo XV por Leone Battista Alberti atravs do seu conhecido disco de cifras. Em sua concepo bsica consiste de dois discos com dimetros diferentes montados concentricamente, onde esto gravados as escalas com o alfabeto de forma que ao move-los em torno do eixo comum, as mesmas se relacionam entre si. Assim, o disco de cifra permite de uma forma prtica e fcil mudar as cifras, pois ao se deslocar s escalas entre si uma letra pode ser representada de 26 maneiras diferentes dependendo inteiramente da sua posio em relao escala alfabtica do disco central. Para usa-lo necessrio primeiramente que a chave ou cifra chave seja designada. Por exemplo, a letra A no alfabeto convencional pode ser relacionada como G no alfabeto codificado. Sem duvida o disco de cifras inventado por Alberti permitiu o aparecimento do processo de codificao usando cifras polialfabeticas, bem como, mais tarde, vm influenciar outros em empregar o seu conceito de codificao assistida, como aquele desenvolvido em 1795, pelo ento secretrio de estado norte americano Thomas Jefferson.
Ilustrao do disco de cifras inventado em 1795 pelo ento secretrio de estado norte americano Thomas Jefferson. Cortesia :Nacional Security Agency EUA

A mquina de codificao assistida desenvolvida por Jefferson consistia de 25 discos de madeira os quais giram em torno de um eixo comum. Para torna-los individuais, em cada disco de madeira as 26 letras do alfabeto foram gravadas de forma aleatria. Apesar de ser um sistema de codificao assistido revolucionrio para a poca, no foi bem compreendido, de forma somente um sculo mais tarde foi reinventado pelo criptologista francs Etienne Bazeries. Conhecido como cilindro de Bazeries, era composto de um conjunto com cerca de 20 ou mais discos numerados onde em seus rebordos estavam gravados diferentes alfabetos codificados. Como so montados em um eixo comum, por sua vez os discos podem ser reordenados nas mais variadas seqncias numricas. Assim, cada nova seqncia se define a cifra chave do conjunto de discos. Para codificar a mensagem, o texto original reproduzido por uma determinada fila de discos. Em seguida por meio de outra fila selecionado o texto cifrado. Para a sua decodificao, os discos so colocados na mesma pr-estipulada seqncia numrica; em seguida eles so girados de forma que a mensagem codificada possa ser agora visualmente desmembrada em torno desta linha de discos. Na realidade a velocidade era a nica vantagem destes simples dispositivos de codificao. Como anteriormente visto, devido premncia das transcries, geralmente exigida pelo grande fluxo de mensagens nas comunicaes militares, cada vez mais Uma mquina de codificao assistida, compactas, semelhantes a os exrcitos e foras armadas sentiram a necessidade de novos uma mquina de escrever porttil no tipos de mquinas de codificao assistida. final da segunda guerra mundial. Assim logo aps a primeira guerra mundial elas foram Cortesia: Coleo Antonio Fucci. produzidas nos mais diversos pases e, a partir de 1935 atingiram um sofisticado grau de eficincia. Muitos destes aparelhos foi produzido na Alemanha e Sua, cujo conceito bsico era a codificao assistida por meio de substituio poli-alfabtica, empregando extensas cifras chaves, alguns com milhares de sries de letras incoerentes. Fornecidos em vrios tipos, os menores de operao manual no podiam imprimir mensagens enquanto que os maiores, eram eletricamente acionados e possuam um teclado idntico aos usados nas mquinas de escrever. No final dos anos trinta a maioria das grandes naes j possua em suas foras armadas mquinas de codificao assistida, muitas delas bastante compactas semelhantes a uma mquina de escrever porttil. Durante a segunda guerra mundial surgem as mquinas de codificao assistidas usando de teletipos ligados a uma caixa de codificao automtica. Dentre as mais famosas destaca-se aquela desenvolvida pelos japoneses, conhecida no jargo militar como "PURPLE".

A famosa mquina de desenvolvida pelos sob o nome de cdigo Cortesia: Nacional EUA.

codificao assistida japoneses e conhecida "Purple". Security Agency

Painel mostrando a chave de cifras de Operao eletromecnica da mquina de codificao assistida "Purple". Cortesia: Nacional Security Agency - EUA

Entretanto, todos os sistemas de cdigos, cifras bem como as mquinas de codificao assistida anteriormente comentados ainda operavam com o sistema lgico, conhecido como algoritmos de chave simtrica, no qual cifra-chave na forma de um algoritmo diferenciado, era necessrio tanto para codificao como decodificao da mensagem e, portanto, deveria ser mantido em sigilo. Algoritmo, em palavras simples consiste de uma seqncia de instrues bem definidas, necessrias para realizao de uma determinada tarefa. Etimologicamente o termo adveio de sobrenome do matemtico persa - Abu 'Abd Allah Muhammad ibn Ms al-Khwrizm. Definio conjunto predeterminado e bem definido de regras e processos destinados a soluo de problema, com um numero finito de etapas. (novo dicionrio Aurlio da lngua Portuguesa). Na dcada de 1970, surge um novo conceito de codificao conhecido como algoritmos de chave assimtrica. Nele, o criptograma feito por meio de chaves matematicamente relacionadas de forma que cada qual decodifica a mensagem usando uma outra. Desta forma algum dos algoritmos usado tem uma propriedade adicional onde um par de chaves no pode ser deduzido de outro por qualquer mtodo conhecido a no ser por tentativa e erro. Portanto, para um determinado criptograma ao se designar as duas cifras-chaves sendo uma sigilosa e, a outra como pblica, a transmisso pode ser feita por meio de qualquer canal de comunicao, pois enquanto perdurar o sigilo da cifra-chave, aquela definida como pblica pode ser usada indefinidamente sem comprometer a segurana da mensagem. Na realidade com algoritmos de chave assimtrica possvel comunicao segura atravs de um canal inseguro. interessante notar que este novo conceito de codificao desenvolvido em conjunto por Whitfield Diffie e Martin Hellman em 1976 ao popularizar o uso dos princpios da codificao deu novos rumos polticos a criptografia, pois sem dvida quebrou o longo monoplio at ento de competncia somente dos governos. Atualmente o domnio pblico da criptografia pode ser sentido em diversos avanos tecnolgicos modernos. Dentre eles se tem os sistemas de codificao: A5/1 e A5/2 usados em telefones celulares operando na tecnologia GSM; Content Scramble System (CSS) para codificao e controle de dados gravados em discos DVD ou digital video disc.

ILUSTRAO DE TIPOS DE MQUINAS DE CODIFICAO ASSISTIDA

Mquina de codificao assistida, SIGABA, tambm designada pelo cdigo ECM Mark II ou conversor M134 . Desenvolvida para operao pelo exrcito e marinha americana na segunda guerra mundial e, mantida em operao at 1950. Consistia de um sistema eletromecnico de rotores para a codificao das mensagens. Cortesia: National Security Agency

Mquina de codificao assistida porttil, ENIGMA usada comercialmente desde 1920 e, assim adotada pelos servios governamentais e militares de diversos pases. Consistia de um sistema eletromecnico de rotores para a codificao e decodificao de mensagens e, foi feita em vrios modelos e configuraes das quais a mais conhecida aquela usada a segunda guerra mundial pelas foras armadas alems. Neste modelo usado pelo exrcito alemo so mostrados detalhes do painel de comutao, as lmpadas, o teclado e, na parte anterior do painel o boto de acionamento dos trs rotores. Cortesia: Coleo Antonio Fucci

Detalhes do painel de comutao da mquina de codificao assistida ENIGMA . Cortesia:Coleo Antonio Fucci.

OS HOMENS POR TRAZ DAS CIFRAS E CDIGOS


A criptografia esta intimamente relacionada com os mecanismos da escrita e, desde cedo foi objeto de intensos estudos e pesquisas. Como anteriormente visto seu marco evolutivo ocorreu na renascena e, desde ento muitos foram aqueles que contriburam para o seu aperfeioamento dentre os quais se destacam: - Blaise de Vigenre Considerado uns dos pais da moderna criptografia, nasceu em 5 de abril de 1523, em Saint-Pourain, Frana. Foi diplomata e criptologista. Escreveu diversos livros. Em 1585 publica Traicte de Chiffres no qual descreve o emprego da cifra por autochave. - Charles Wheatstone Cientista ingls conhecido por muitas invenes dentre as quais se inclue-se o chamado mtodo de codificao conhecido como cifra Playfair, muito usado at a primeira guerra mundial. - Claude Elwood Shannon Matemtico e engenheiro eletricista americano conhecido como o pai da teoria da informao e pioneiro do desenvolvimento do circuito digital. Em 1948, publica o trabalho "A Mathematical Theory of Communication" que aborda novas tendncias para melhorar a codificao de informaes. - Etienne Bazieres Nascido em Port-Vendres, Frana em 1846. Criptologista militar, foi um pioneiro no desenvolvimento de mquinas de codificao assistida, atravs do seu dispositivo conhecido com cilindro de Bazieres, uma verso melhorada do congnere inventado um sculo antes pelo americano Thomaz Jefferson. Em 1901 publica o trabalho: Ls Chiffres Secrets Dvoils ("Secret Ciphers Unveiled"). - Frederick Marryat Oficial da marinha britnica. Em 1817 inventa um cdigo atravs do qual as mensagens eram transmitidas por meio de bandeiras. A ele denominou de semafrico. - Friedrich Wilhelm Kasiski Oficial de infantaria prussiana. Em 1863 publica o livro intitulado: "Die Geheimschriften und die Dechiffrierkuns - Secret Writing and the Art of Deciphering". Este foi o primeiro tratado publicado sobre a decodificao de mensagens usando do princpio de cifras por substituio com poli alfabeto, dentre os quais se tem o sistema de autochave inventado por Vigenre. Por isso Kasiski considerado como o precursor da moderna anlise criptogrfica. - Giovanni Battista Porta, ou Giambattista della Porta Matemtico napolitano, em 1565 publica o livro: "De Furtivis Literarum Notis". Nele, Porta aborda um sistema de cifras usando o princpio de substituio onde uma letra qualquer contida na mensagem original podia ser grafada de onze maneiras diferentes. - Herbert Osborne Yardley Criptologista americano; em 1931 publica o livro: "American Black Chamber" no qual foi a base para o desenvolvimento do servio de criptanalise americano e, tambm, responsvel pela decodificao do cdigo diplomtico japons, importantssimo para as negociaes na conferncia naval ocorrida em Washington em 1921.

- Johannes Trithemius Monge beneditino que viveu na Alemanha. Em 1518, publica o primeiro livro sobre criptografia intitulado Poligraphia onde aborda o emprego de cifras por substituio.

Ilustrao do livro Poligraphia Cortesia Nacional Security Agency - EUA

- Leone Battista Alberti Arquiteto, filsofo, poeta e criptologista italiano. Nascido em Genova em 1404, inventou o princpio de cifras usando o poli alfabeto, conhecido como cifra de Alberti e, ambm, uma das primeiras mquinas de codificao assistida, usando do seu disco de cifras. considerado como um dos precursores da criptografia ocidental. - Samuel F.B. Morse De origem americana, em 1838 inventa o telgrafo eletromagntico e concomitantemente o cdigo Morse. Na realidade um processo de no qual as letras do alfabeto so substitudas por pontos e traos.

O cdigo inventado por Samuel Morse, mostrando a transcrio do alfabeto em pontos e traos e a correspondente representao fontica.

Mensagens Secretas
Brincando de Espionagem! Vocs sabiam que um dos recursos usados pelos verdadeiros espies o envio de mensagens secretas escritas em cdigos? verdade, so as famosas mensagens secretas. Um passatempo favorito da Alzira! Vamos conhecer um pouqinho deste mundo dos cdigos secretos: Cdigo: Um conjunto de smbolos com significado especial usado para comunicar mensagens secretas. Cdigo cifrado ou encriptado: Um tipo de cdigo onde algumas letras do alfabeto foram trocadas propositalmente para confundir o inimigo. Codificar ou encriptar: Escrever uma mensagem usando um cdigo cifrado. Decodificar ou decifrar: Traduzir uma mensagem usando um cdigo que voc j conhece ou, com a ajuda de uma tabela de converso. Desvendar ou quebrar o cdigo: Descobrir o segredo do cdigo! , conseguir entender uma mensagem secreta onde no se conhece o cdigo. Este processo normalmente feito por tentativa e erro. Ou seja , na base do chute, da adivinhao e da deduo. Voc vai tentando letra por letra at que em algum momento, a mensagem faz sentido e o cdigo ento desvendado. Foi assim que a linguagem do Egito antigo, os Hieroglifos, foi desvendada. Criptografia: O processo de codificar e decifrar mensagens usando um cdigo secreto. Agora, vamos botar a cabea para funcionar e pensar no processo usado para desvendar um cdigo, no caso elaborado para o portugus. Vamos pensar um pouco mais sobre a nossa lngua: 1) A primeira coisa que devemos lembrar, de que normalmente no se leva em

conta a acentuao. Em cdigos secretos normalmente no se usam acentos ou cedilhas, ok? 2) Qual a letra que voc acha que a mais usada no nosso alfabeto? a letra E !!!! 3) Quais so algumas palavras bem comuns que usam apenas uma letra em portugus? O, A, E e 4) E as palavras de duas letras? Essas existem muitas, mas as mais comuns so: EU, TU, DE, DO e DA 5) A palavra mais comum de trs letras : QUE 6) A letra Q vem sempre seguida da letra U ! 7) A letra H, quando est no meio de uma palavra costuma vir depois da letra N ou da letra L ou da letra C, no mesmo? Pensando nisto tudo , a Alzira Zulmira, resolveu inventar um cdigo secreto e com ele escreveu a letra de uma cantiga da qual gosta muito para a Carminha. Encriptada, claro! A Carminha conseguiu desvendar o cdigo e acertou a cantiga! Voc quer tentar?

Carminha, aqui esta a letra de uma cantiga que eu gosto muito, tente desvendar o cdigo secreto:
Dica : a letra D = E -----------------------------------------------------------

OHQTJHSN PTD AZSD AZSD OHQTJHSN PTD IZ AZSDT PTDL FNRSZ CD LHL D DJZ D PTDL FNRSZ CDSZ RNT DT

1NT3R3554NT3
NOTA DEZ Fixe seus olhos no texto abaixo e deixe que a sua mente leia corretamente o que est escrito.

35T3 P3QU3N0 T3XTO 53RV3 4P3N45 P4R4 M05TR4R COMO NO554 C4B34 CONS3GU3 F4Z3R CO1545 1MPR3551ON4ANT35! R3P4R3 N155O! NO COM3O 35T4V4 M310 COMPL1C4DO, M45 N3ST4 L1NH4 SU4 M3NT3 V41 D3C1FR4NDO O CD1GO QU453 4UTOM4T1C4M3NT3, S3M PR3C1S4R P3N54R MU1TO, C3RTO? POD3 F1C4R B3M ORGULHO5O D155O! SU4 C4P4C1D4D3 M3R3C3! P4R4BN5!

INDICANDO LINGUAGENS PARA INICIANTES


inevitvel. Se voc est num frum, vai surgir a pergunta "Com qual linguagem eu comeo?". E incrivelmente indicam C,C++ ou Java. Particularmente j desisti de estudar tanta linguagem e vou me focar em banco de dados e teoria, afinal de contas, quando se entra numa empresa, as escolhas j foram feitas. Uma das poucas matrias da faculdade que posso citar que uma verdadeira mo na roda Estruturas de Linguagens de Programao. parte a semelhana com construo de compiladores, estuda-se as propriedades das linguagens sem desconsiderar o momento no qual elas surgiram. Tambm se conhece os podres de todas elas. E isso que deveria ser levado em conta ao se indicar uma linguagem de programao para iniciantes. A BASE DE TUDO Lgica. Se voc no sabe fazer chocolate quente ou cozinhar, de qu adianta ter um fogo? Obviamente voc pode pegar uma receita e segui-la,mas se no souber o que est escrito (ex.: banho-maria) no vai sair do lugar. o primeiro passo para algum que deseja saber programar. Porque mandar os outros fazer seu trabalho de faculdade e pedir para ficar online na hora da prova fcil. Quando voc estiver estagiando numa empresa ou trabalhando numa pesquisa dentro da universidade, a coisa comea a ficar difcil, pois o crebro no consegue perceber nem mesmo estruturas simples envolvidas no problema. Ao contrrio do que alguns falam, no tem como dissociar completamente estudo de algoritmos do estudo de lgica. Um algoritmo uma sequncia finita de instrues bem definidas e no ambguas, cada uma das quais pode ser executada mecanicamente num perodo de tempo finito e com uma quantidade de esforo finita. O conceito de algoritmo freqentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iteraes) ou necessitar de decises (tais como comparaes ou lgica) at que a tarefa seja completada. Um algoritmo corretamente executado no ir resolver um problema se estiver implementado incorretamente ou se no for apropriado ao problema. Um algoritmo no representa, necessariamente, um programa de computador, e sim os passos necessrios para realizar uma tarefa. Sua implementao pode ser feita por um computador, por outro tipo de autmato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instrues em mais ou menos tempo, espao ou esforo do que outros. Tal diferena pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que voc vista primeiro as meias e os sapatos antes de vestir a cala enquanto outro

algoritmo especifica que voc deve primeiro vestir a cala e depois as meias e os sapatos. Fica claro que o primeiro algoritmo mais difcil de executar que o segundo apesar de ambos levarem ao mesmo resultado.

LINGUAGEM Ao estudar algoritmos e lgicas j se utiliza uma linguagem: a linguagem natural. Infelizmente a linguagem natural ambgua e nem sempre possui os mecanismos para expressar corretamente alguma idia de forma que seja simples entender. Existem as pseudo-linguagens, que so uma espcie de Portugol (semelhana com o ALGOL no mera coincidncia). Considerar somente o que o mercado usa tambm no uma boa idia. Cobol, que muitos pensam estar morta, ainda existe, mas sofre da averso dos novos programadores. O motivo clssico: porque ningum usa. Smalltalk tambm uma linguagem antiga, presente no primeiro computador com GUI, na Xerox PARC. Mas d uma olhada na lista das empresas que ainda utilizam ou j usaram Smalltalk, desde 1998:

- Northrop (fabricante helicpteros)

de avies

- Lucent; - HP; - American Express; - Texaco; - Ford; - General Motors; - Texas Instruments;

- IBM (para monitoramento de rede) - Globosat; - Honda; - Departamento de Defesa dos EUA; - Fuji; - DaimlerChrysler; - Siemens;

Haskell, linguagem funcional, diferente de tudo o que voc vai ver na vida e provavelmente muito pouco utilizada fora do ambiente acadmico. Mas alguns nomes associados so conhecidos: ABN AMRO Bank, Nokia Research Center, Linspire e Galois Inc. Linguagens web esto no limbo. J mexi um pouco com PHP e, no entanto, no vejo muita diferena entre uma e outra. Javascript teve um boom novamente por causa do AJAX (Asynchronous Javascript And XML, na poca de 1997 comprava-se revistas com apostilas de Javascript), AJAX no uma tecnologia, mas um conjunto de tecnologias conhecidas trabalhando juntas, cada uma fazendo sua parte, oferecendo

novas funcionalidades. Quando a Sun lanou o Java, comeou a febre dos Java applets (Applets geralmente tem a capacidade de interagir com e/ou influenciar seu programa hospedeiro, atravs de privilgios de segurana restritos, apesar de geralmente no serem requeridos a faz-lo.). Pobres demnios de internet discada. Os primeiros compiladores so horrveis. Isso fato. Naquela poca, Java era lento demais. Hoje quem faz a linguagem ser lenta , em grande parte, o programador. Ano passado a Sun lanou o JavaFX, que possui uma sintaxe muito mais limpa p/ se fazer tanto applets como aplicaes desktop. Isso quer dizer que voc vai evitar todos os milhares de new AlgumaCoisaLayout e setQualquerPropriedadeMaluca. QUE LINGUAGEM ESCOLHER Comece pelo mais fcil: procedural. como fazemos as coisas. Esquea C++, Java e qualquer coisa que funcione no .NET. Mantenha os ps no cho. Se voc no sabe nem identificar estruturas num problema, a combinao "conhecimento inexistente + API (Application Programming Interface ou Interface de Programao de Aplicativos) complexa e gigante" no vai ajudar em nada. Se o assunto for Java, ainda existe o problema de se entender o que so classes abstratas, interface, contexto do sinal de atribuio, entre outros. A coisa fica mais confusa porque Java mistura tipos primitivos e wrappers(padro de projeto de software). Wrap = embrulhar . Ele serve para pr uma "roupagem" em coisas para que elas se adaptem ao que voc precisa. Diferente do Groovy (linguagem de programao orientada a objetos, utiliza uma sintaxe similar de Java,), onde no existem tipos primitivos. Pascal, apesar de todo mundo dizer que ruim porque no usado, boa para comear. Antes de comear com xiitismos desse tipo, conhea a histria da linguagem. Niklaus Wirth no projetou a linguagem para ser um sucesso de mercado. Quando j estiver entendo estruturas de dados, v para Orientao a Objetos e passe um bom tempo nisso. A programao Orientada a objetos (POO) uma forma especial de programar, mais prximo de como expressaramos as coisas na vida real do que outros tipos de programao. Com a POO temos que aprender a pensar as coisas de uma maneira distinta, para escrever nossos programas em termos de objetos, propriedades, mtodos e outras coisas que veremos rapidamente para esclarecer conceitos e dar uma pequena base que permita soltarmos um pouco com este tipo de programao. Orientao a objeto um conceito que esta relacionado com a idia de classificar, organizar e abstrair coisas. Veja a definio formal: O termo Orientao a Objetos significa organizar o mundo real como uma coleo de objetos que incorporam estrutura de dados e um conjunto de operaes que manipulam estes dados.

Vamos falar uma linguagem mais simples, para isto vamos para um ambiente que voc conhece bem: A sua casa ! Agora vamos olhar a sua estante, o seu guarda-roupa, o seu armrio, a sua cozinha. Em todos estes lugares voc classificou coisas no seu domnio e, somente de olhar para eles voc j sabe relacionar a classificao que utilizou em cada um deles e como classificou as coisas que esto nestes lugares. Na estante voc agrupou e organizou os livros, no guarda roupa suas camisas, calas, meias, ternos, etc. Todos os objetos que voc classificou nestes lugares foram organizados, baseado em alguma concepo que voc possua sobre eles. No contexto orientado a objeto a estante, o armrio, a cozinha so chamados de classes. No contexto de software podemos dizer que : Uma classe um gabarito para definio de objetos. Atravs da definio de uma classe, descreve-se que propriedades ou atributos o objeto ter. Uma classe mantm dois elementos importantes: estrutura e comportamento. Uma estrutura representa os atributos que descrevem a classe. Um comportamento representa os servios que a classe suporta. Na 'classe' do seu guarda-roupa, uma camisa amarela pode ser colocada em uma outra classe. A 'classe' camisa. Cada camisa tem uma estrutura que : a textura, a cor, o tamanho e o modelo. Cada camisa tem um comportamento que : ordenar, rasgar, desbotar. Se voc concordar que existe uma classe camisa. Vai concordar que existem diversos tipos de camisas com suas caractersticas, ou seja, existem diversos objetos camisas que podem ser criados a partir da classe camisa. Da, temos o conceito de objetos: O conceito de orientao a objetos abordado desta mesma maneira sempre. No contexto do software podemos ento dizer que: atravs de objetos que (praticamente) todo o processamento ocorre em aplicaes desenvolvidas com linguagens de programao orientadas a objetos. Primeiro voc classifica e abstrai os elementos no sistema para proporcionar uma certa ordem, e, ao fazer isto voc define uma classe ; Feita a definio da classe voc pode criar objetos desta classe. (instanciar) Vou citar aqui o exemplo clssico da planta de uma casa. - A Classe seria um gabarito (como uma planta de uma casa) - O objeto concretizao do gabarito (casas feitas a partir da mesma planta) Quando levamos estes conceitos para as linguagens de programao nada se altera. Existem alguns conceitos bsicos que esto vinculados ao conceito de orientao a objetos. So eles :

Herana Encapsulamento Polimorfismo A herana permite implementar a funcionalidade a sua classe de tomar emprestado o resto da estrutura e comportamento de classes de nvel mais alto. Pensemos na classe carro. Esta classe define os comportamentos e atributos de um carro; E existem atributos que sero comum a todos os carros. As rodas e o motor so atributos comuns a qualquer carro. J uma Ferrari possui atributos que somente ela possui : valor por exemplo A definio formal seria: Herana um mecanismo que permite que caractersticas comuns a diversas classes sejam agrupadas em uma classe base, ou superclasse. A partir de uma classe base, outras classes podem ser especificadas. Cada classe derivada ou subclasse apresenta as caractersticas (estrutura e mtodos) da classe base e acrescenta a elas o que for definido de particularidade para ela Encapsular significa "ocultar informaes" ele define que cada objeto contm todos os detalhes de implementao necessrios sobre como ele funciona e oculta os detalhes internos sobre como ele executa os servios. Quando voc acelera um carro voc esta enviando uma mensagem ao motor do carro usando o acelerador e o carro sabe que tem que acelerar. Voc no precisa saber como feita a acelerao no motor voc apenas pisa fundo no acelerador , a implementao de como feita a acelerao esta encapsulada do cliente. Polimorfismo significa muitas formas , na orientao a objetos voc pode enviar uma mesma mensagem para diferentes objetos e faz-los responder da maneira correta. Voc pode enviar a mensagem de dar marcha-r para cada objeto semelhante a um carro e cada um vai se comportar de maneira diferente para atender a sua solicitao. Uma definio mais formal diria: "Polimorfismo o princpio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar mtodos que tm a mesma identificao (assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referncia a um objeto do tipo da superclasse" Os principais problemas para um iniciante so: - Legibilidade; - Simplicidade;

Se a linguagem no ajuda em nada, como por exemplo a tal Brainfuck (brainfuck (tambm conhecido como brainf*ck, ou BF) uma linguagem de programao esotrica notada pelo seu extremo minimalismo, criada por Urban Mller, em 1993. Ela uma linguagem Turing completa, desenhada para desafiar e confundir os programadores, e no til para uso prtico. Pela sua simplicidade, o desenvolvimento de compiladores e interpretadores para essa linguagem muito mais fcil do que para outras linguagens. O nome da linguagem geralmente no-capitalizado, apesar de ser um substantivo prprio), esquea. Sintaxe se aprende depois, mas se voc nem ao menos consegue entender o que o programa faz para absorver uma idia diferente, jogue fora. A simplicidade faz bem. C no simples. Java s simples quando se aproveita a API.

MAS MEU PROFESSOR DISSE QUE LINGUAGEM TAL RUIM Esquea o que a maioria dos professores fala. Tem um na faculdade que diz que Java lento, mas conheo gente que faz programas em C que demoram uma eternidade para rodar e no se recuperam de falhas. Novamente: conhecer estruturas de dados e API faz muita diferena. Implemente a seqncia de Fibonacci em Java usando recurso com e sem mapas para ter uma idia. Se voc quiser e tiver pacincia para ler livros, procure estudar projeto de linguagens de programao. Talvez depois de um ano ou dois voc esteja menos radical.

Vous aimerez peut-être aussi