Páginas

31 de maio de 2012

FM 2012...Entendendo os atributos da equipa técnica



Ataque

A sua competência na preparação física para o futebol atacante. Um atributo mais elevado não indica necessariamente uma preferência pelo futebol atacante, meramente que são bons a fazê-lo.

Preparadores Físicos de Guarda-redes

A sua capacidade para preparar fisicamente um guarda-redes e muito mais. Um atributo mais elevado significa que o preparador é melhor a preparar guarda-redes de nível elevado.

Defesa

A capacidade do técnico de preparar um jogo defensivo. Classificações mais elevadas indicam uma proficiência para trabalhar bem o lado defensivo do jogo.

Forma

Isto reflecte a capacidade de um preparador físico trabalhar a vertente da forma física e, como tal, deverá ser um dos atributos chave a ter em atenção ao contratares um Preparador Físico. Para melhor desempenho da equipa, contrata mais do que um Fisioterapeuta.

Gestão dos homens

A forma como esse membro da equipa técnica é capaz de lidar com os que o rodeiam e, particularmente, com os que estão abaixo dele. Esta é uma abordagem psicológica; um atributo elevado indica um técnico que é capaz de organizar e manter as pessoas satisfeitas.

Mental

A sua abordagem mental aos jogadores. Um preparador com um bom desempenho mental conseguirá observar e agir sobre o estado de espírito de cada indivíduo e reagir de acordo com isso.

Conhecimento Táctico

Indica o quanto é táctico e astuto é. Os técnicos mais tacticamente argutos conseguirão, não só gerir o lado táctico do jogo mais eficazmente, mas também qualquer conselho que ofereçam tem mais probabilidades de ser mais preciso e informativo.

Técnico

A capacidade do preparador físico ensinar os aspectos técnicos do jogo, trabalho com bola. Esta pode ser uma das áreas mais difíceis de treinar e, é provável que um antigo jogador seja particularmente útil neste campo.

Trabalho com Jovens

O grau de sucesso de um preparador no trabalho com jogadores jovens,especialmente os de 18 anos ou menos. Ter um preparador que é muito bom na promoção de jovens talentos, pode ser valiosíssimo, mesmo que só um ou dois se desenvolvam como jogadores úteis.

Mental:

Adaptabilidade

Um atributo de Adaptabilidade elevado permitirá a este membro da equipa técnica assentar rapidamente, sobretudo se tratar-se de um país estrangeiro mas, também ajudará bastante se tratar-se de um novo clube ou de uma nova função. Quanto mais rápido, ou seja, com classificação mais elevada, um elemento da equipa se conseguir adaptar ao novo ambiente de trabalho, melhor e mais depressa conseguirá fazer o seu trabalho.

Determinação

O desejo mental do técnico em ter sucesso. Este não é um atributo de treino em termos de preparar a abordagem mental de um jogador, aqui trata-se do técnico em si e da sua motivação inata para melhorar o seu próprio desempenho.

Avaliação das Capacidades do Jogador

Quando empregares um olheiro, estes dois atributos são as primeiras coisas que deverás ter em conta. Elevada classificação nos atributos destas duas áreas resultarão provavelmente em relatórios de observação mais precisos. A Capacidade de avaliação é importante se atribuíste a um olheiro a tarefa de observar jogadores que tencionas adquirir ou se estás a observar futuros adversários. A avaliação do Potencial é mais importante para os olheiros que tencionas encarregar de identificar a nova geração de talentos futebolísticos. Nos níveis de topo, uma classificação de 15 nestes atributos seria considerada um requisito mínimo mas, à medida que vais descendo na hierarquia de clubes, um bom olheiro pode ser um recurso de elevado valor.

Avaliação do Potencial do Jogador:

Nível de Disciplina

Isto reflecte o nível de disciplina que o técnico é capaz de impor na sua abordagem. Um atributo mais elevado significa que o preparador optará por uma linha mais dura na sua abordagem e que manterá uma disciplina estrita. Um valor mais baixo indica que o técnico será um pouco mais descontraído.

Motivação

A capacidade mental de um técnico para motivar os seus jogadores. Uma motivação elevada permitirá ao técnico incentivar adequadamente os seus jogadores não só para uma partida importante, mas também no dia-a-dia, manter um plantel motivado para os objectivos a alcançar é imperativo.

Fisioterapia

Este atributo destina-se exclusivamente aos Fisioterapeutas. Ter um Fisioterapeuta com uma elevada classificação neste atributo é algo que deverás sempre procurar conseguir. Se possível, recruta, pelo menos, três Fisioterapeutas com elevadas classificações neste atributo para garantires que os teus jogadores recebem tratamento de alta qualidade tanto para prever lesões como para a reabilitação das mesmas.

Conhecimento Táctico

O conhecimento táctico que um técnico possui. As suas experiências no jogo, onde estiveram e com quem trabalharam, irá afectar o nível de conhecimento que têm e, ao usar este conhecimento, poderão ter ideias com que menos treinadores se familiarizaram, o que poderá ser uma vantagem.

26 de maio de 2012

FM 2012...Entendendo os atributos dos jogadores




Guarda-Rede:


Jogo Aéreo = Capacidade do Guarda-Redes em lidar com situações em que a bola está no ar - socar e jogo aéreo. Guarda-Redes com maior classificação nestas características vão ser capazes de lidar com estas situações eficientemente. A altura do Guarda-redes pode ser uma vantagem, isto não querendo dizer que os menos altos terão mais problemas. Um guarda-redes que sai e soqueie uma bola, vai causar pânico entre os seus defesas. Esta característica é útil contra equipas que cruzam muito, ou usem a táctica de jogo comprido.

Comando de Área = Afecta a facilidade que o guarda-redes tem de comandar a área e trabalhar com a linha defensiva. Um guarda-redes que comande a área totalmente vai ser instintivo e tomar conta da área. Repara, no entanto, que uma boa classificação só aumenta a sua propensão para vir para os cruzamentos e não necessariamente ganhá-los todos. Um GR com bom comando de área mover se-á com mais facilidade pela área. Ele irá exibir esse atributo melhor em bolas paradas - sabe quando se fazer à bola e tem a certeza que a apanha quando o faz, e não sai e depois se arrepende, ou evita...

Comunicação = Facilidade que um GR tem em comuicar com a linha defensiva, e organizar a defesa. Uma classificação elevada reflecte uma melhor comunicçãor e permitirá aos seus cinco jogadores defensivos, ou mais, dependendo da sua táctica, trabalhar melhor em conjunto, garantindo maior estabilidade defensiva. Um GR com boa capacidade de comunicação é essencial.
Excentricidade = Este atributo representa a probabilidade do GR fazer o inesperado e típico, e agir ao contrário de um GR. Coisas como driblar fora da área serão comuns se o atributo de excentricidade é alto.Um GR excêntrico pode ser bom ou mau. Ele pode ser capaz de momentos de genialidade, mas também pode encontrá-lo a correr para fora da áerea sem nenhuma esperança de chegar à bola primeiro que o avançado adversário. Se você gosta de um jogador com um pouco de carácter, uma classificação baixa, na minha opinião, não é necessariamente uma coisa boa.

Jogo de mãos = O quão seguro é um GR agarrar a bola ao defender um remate ou a apanhar um bola perdida. Um maior manuseamento será benéfico em condições climáticas desfavoráveis?, mas, em geral, um GR que não desiste de ressaltos será útil. Este é o atributo para o qual você deve realmente olhar quando procura um GR.

Pontapé = A capacidade física de um GR para chutar a bola - esta puramente define a distância que ela pode alcançar. A sua classificação de Passe e Técnica vão definir a precisão dos seus pontapés. Se você jogar um estilo de jogo Largo, verique que o seu GR tem um bom atributo de Pontapé. Assim ele vai ser capaz de passar com maior precisão a partir da sua área. Se o seu GR tem uma má classificação de Pontapé, tê-lo a distribuir a bola directamente para a sua defesa não é uma má ideia.

Um para um = A habilidade do GR de enfrentar um jogador numa situação de Um para Um. GR com atributos elevados tentam imporem-se e ganhar a bola com confiança.

Reflexos = Quão bom o GR é em reacções rápidas de defesa. Se tem uma avaliação de reflexos alta o GR reagirá mais rapidamente e com mais sucesso a situações imprevisíveis. Este é um atributo realmente importante para o seu GR ter, principalmente porque definirá o quão bom ele é a fazer defesas instintivas, principalmente de perto. Isso combina com um bom jogo de mãos e agilidade para manter a sua contagem de golos sofridos reduzida.

Saídas = Quão bom o GR é a sair da sua baliza para defender remates ou situações semelhantes. O GR beneficiará de uma boa aceleração e velocidade. Esta é uma boa característica para se ter, se a sua equipa joga muito na marca de fora de jogo ou se a equipa adversária tem um avançado rápido. 

Tendência sair a punhos = Este atributo determina se o GR tem a tendência para apanhar a bola quanto pode ou se a afasta com os punhos. Uma classificação elevada reflete uma tendência para socar a maioria das bolas, mesmo quando possa ser possível agarrar a bola. Procurar este atributo num GR é estritamente uma escolha pessoal, socar a bola pode acabar com o perigo imediato, mas não deixa de ser um pouco arriscado. Não é recomendado para uma defesa fraca e pouco organizada, porque cria perigo, pode deixar a bola ao adversário, ou o adversário pode ter uma boa média distância.

Lançamentos = Capacidade do GR para distribuir a bola com as mãos. Uma classificação alta vai aumentar a precisão dos lançamentos, mas é a Força que determina o quão longe a bola vai. Se você gosta de jogar em contra-ataque é essencial uma classificação alta deste atributo. Quando o GR tiver a posse de bola vai pôr a bola na linha de meio campo para o seu avançado num ápice..

Técnica:


Cantos = Este atributo reflecte a capacidade do jogador de marcar um canto. Aproveitar os lances de bolas paradas é importante, e ter um jogador com um alto nível de marcação de cantos pode ser essencial para colocar a bola naquela aérea-chave.

Cruzamentos = Indica a capacidade do jogador para cruzar a bola para a área a partir de zonas mais afastadas. Se você gosta de usar Alas e Extremos é vital que eles tenham esta habilidade desenvolvida para colocar a bola nos seus avançados. Não interessa um alto nível de cruzamento se os seus avançados são maus a receber bolas cruzadas. O programa de treino de cruzamento é importante para melhorar estes atributos.

Drible / Finta = Indica a capacidade de finta do jogador. Isto é puramente sua competência com a bola nos pés - a velocidade, aceleração, agilidade, equilíbrio vão ajudar a capacidade de finta em diferentes situações, um alto nível de finta sozinho não interessa. Juntamente com agilidade e equilíbrio, considero essencial que você tenha um bom dribbler no seu lado - especialmente nos papéis mais avançados com espaço para correr para os defesas. Tenha cuidado para você não ter muitos dribblers, pois irão procurar fintar em vez de passar. Embora um bom dribbler tenha o potencial para decidir um jogo, também pode perder a bola na sua área e fazer com que sofra um golo.

Finalização = Habilidade do jogador para colocar a bola no fundo das redes quando quando a oportunidade se apresenta. Um alto atributo de finalização vai colocar o remate no alvo a maioria das vezes, em comparação com um jogador com finalização mais pobres vai encontrar os lugares onde o GR não pode salvá-lo. Isto é puramente a capacidade do jogador para executar um remate preciso - a Compostura e capacidade de decisão também vai influenciar na capacidade de um jogador para marcar de forma consistente. Nada complicado aqui. Má Finalização = jogador falha constantemente. O seu jogador também tem que estar na posição certa para marcar um golo, por isso tenha em atenção os atributos Sem bolaequilíbrio e força.

Primeiro toque = Quão bom o jogador é no primeiro toque quando recebe a bola. Uma classificação mais alta irá garantir que o jogador pode interceptar a bola mais rápido e colocá-lo em uma posição útil para então agir. Jogadores com classificações mais baixas aqui vão lutar para controlar a bola habilmente e podem ser propensos a perder a bola, se confrontados rapidamente.

Livres = Reflecte a habilidade do jogador a marcar livres. Aplica-se tanto a livres directos como a passes em áreas perigosas a partir de uma posição mais ampla ou mais profunda. Um jogador muito bom na marcação de livres pode ser uma mais valia - marcar 5 golos de livres numa temporada e 5 assistências provenientes de livres é bastante proveitoso.

Cabeceamento = Competência do jogador no cabeceamento. Cabeceamento aplica-se a todas as situações em que o jogador cabeceia a bola mas apenas indica a capacidade do jogador de cabecear bem a bola. A impulsão e, também força, mas menos relevante, desempenha um papel importante bem como a altura de um jogador. Crucial para Jogadores Alvo bem como para defesas centrais. Qualquer equipa que jogue um jogo largo ou se veja enfrentando tal situação vai querer bons cabeceadores na sua equipa. Olhe para este atributo em conjunto com a Impulsão.

Remates de longe = Talento do jogador em rematar de longe - de fora da área de penalti. Se não rematar à baliza, nunca irá conseguir marcar. Alguns remates de longe de tempos a tempos serve para testar o GR. Se tiver um médio centro muito bom nos remates de longe, diga-lhe para tentar remates de longe. Também pode ser bom em livres directos..

Lançamentos longos = Capcidade do Jogador de realizar um lançamento longo, que pode ser favorável em situações ofensivas. É uma habilidade boa para um defesa lateral pois espera-se que eles façam a maior parte dos lançamentos laterais, libertando assim mais jogadores no ataque.

Marcação = Capacidade, de defesas normalmente, de marcar um adversário. A marcação é um atributo importante, mas lembre-se que existem outros atributos para uma marcação efectiva - Força, posicionamento e antecipação - vão desempenhar um papel na eficácia da marcação bem como na estrutura física dos dois jogadores. Se um defesa tiver uma marcação fraca não significa que não preste. Contudo, convém evitar a marcação homem a homem. Se os seus jogadores são fracos na marcação considere utilizar um libero ou uma defesa mais profunda. Um desarme mais duro condiz com uma forte marcação para suavizar a força opositora...

Passe = Capacidade do jogador no passe. A sua técnica e habilidade vão determinar o sucesso dos passes em grandes distâncias. Se tiver um médio muito bom no passe, seria bom usar passes curtos ou mistos para ter efeitos positivos. Contudo, os teus médios não devem ser assim tão bons, por isso escolhe uma táctica de passe longo.

Marcação Penaltis = Capacidade do jogador para marcar um penalti. Um jogador com uma boa classificação aqui será mais confiante e capaz. Embora este atributo fale por si, eu muitas vezes constato que um jogador com grande influência também virá a ser bom na marcação de grandes penalidades.

Desarme = Qualidade de desarme do jogador e capacidade de não fazer faltas quando desarma. Jogadores com uma classificação alta de desarme irão sempre ganhar a bola de forma mais limpa e ser um jogador mais capaz defensivamente.Se combinar este atributo com Força, marcação e particularmente agressividade e bravura, terá em mãos um excelente defesa. Essencial para defesas e médios defensivos.

Técnica = Técnica é a qualidade estética do jogo técnico de um jogador - quão refinado eles parecem estar com a bola. Um jogador com técnica alta será mais provável que saia de uma passagem complicada ou uma bola de campo cruzado com maior facilidade do que alguém tecnicamente inferior. Este por sua vez, afecta diversos atributos técnicos– uma fraca técnica vai deixar mal um jogador. Técnica é talvez um dos atributos mais importantes que um jogador pode ter e refere-se em grande parte à habilidade natural ao invés de uma experiência em uma determinada área ou cargo. Procure uma boa técnica nos seus jogadores de ataque se você quer impressionar a oposição.

Mental:


Agressividade = Reflecte a atitude de um jogador em termos de mentalidade de jogo mas não é necessariamente um indicador de jogo sujo. Um jogador mais agressivo vai tentar envolver-se em todos os incidentes e talvez apanhar um cartão amarelo ou dois. Um jogador menos agressivo pode fastar-se de situações e simplesmente cair na sua zona de conforto. Este atributo é uma medida de quão entusiasmado o jogador vai ser quando envolvido em um confronto com um adversário ou quando desafiador para uma bola de 50-50.

Antecipação = Quão bem um jogador consegue prever e reagir a um evento. Se um jogador tem um atributo alto aqui ele pode ler bem o jogo e reagir às situações mais rápido do que outros. Este atributo combina com o atributo Sem bola e Posicionamento. Se os seus médios centros têm boa antecipação, eles irão provavelmente interceptar mais facilmente a bola e portanto dar à sua equipa uma maior posse de bola. Uma boa antecipação é um ingrediente vital para os defensores e atacantes - Combina com Sem bolaPosicionamento e decisões.

Bravura = Quão comprometido e de facto, corajoso, um jogador é. Jogadores mais corajosos correrão um maior risco de lesão em algumas situações que um jogador menos corajoso se iria afastar. Eles vão onde dói e colocam-se à frente pela equipa. Bravura deve ser uma parte essencial do vocabulário de qualquer jogador. Uma classificação alta de Bravura vai aumentar a probabilidade do seu jogador vencer bolas 50-50. Como mencionado anteriormente, combina melhor com desarme.

Compostura = Estabilidade do jogador de espírito e capacidade, especialmente com a bola. Quando confrontados com uma oportunidade de golo grande ou grande pressão defensiva, um jogador com alta compostura será capaz de manter a cabeça e mais frequentemente do que não tomar uma decisão inteligente que é benéfico para a equipe.

Concentração = Reflecte o nível de concentração do jogador. Uma boa classificação aqui vai significar o jogador pode concentrar-se mais duramente por mais tempo e ser capaz de responder a incidentes no final do jogo tão bem como fez logo no início. Com uma menor concentração vai ver os jogadores perderem o foco e, talvez, tornar-se passível de erros em momentos cruciais do jogo.

Criatividade = Refere-se à visão de um jogador e capacidade de ver uma abertura potencial, não necessariamente explorá-la. Um jogador pode ser capaz de ver alguma coisa para aproveitar, mas também requer a proficiência técnica para a concretizar. Criatividade é a capacidade de fazer as coisas acontecerem. Você vai marcar mais golos se você tiver um médio centro criativo que opera no centro do campo. Pode ser proveitoso apoiá-lo com um médio defensivo também criativo, mas estes tendem a ser piores no desarme. Contudo, existem excepções.

Decisões = A capacidade de um jogador para tomar uma decisão correcta na maior parte do tempo. Este atributo é importante para todas as posições, mas talvez mais para DC e MC, visto que vão ter de tomar muitas decisões visto que se encontram frequentemente com a posse de bola. Raciocínio rápido é crucial num jogo agitado de futebol. Você quer jogadores que podem tomar as decisões correctas no calor do momento. Procure por um bom nível de decisão a ser combinado com passe, criatividade e antecipação, sendo esta menos importante.

Determinação = Um compromisso para o sucesso. Um jogador determinado vai dar tudo para ganhar. Está relacionado com a Bravura - jogadores com um alto nível num destes atributos podem também ter atributos similares altos. Determinação é uma medida do desejo de seus jogadores para vencer e, é um bom atributo de possuir toda a sua equipe. Você pode olhar para Determinação particularmente em jogadores se gerir um clube humilde e muitas vezes acham que você está tendo de voltar a partir de um golo ou dois. Jogadores com determinação continuarão lutando até ao apito final.

Imprevisibilidade = Um talento natural para a imprevisibilidade criativa e ocasional. Um jogador com uma grande quantidade de talento será um dos principais componentes de ataque em qualquer equipa mas, ao mesmo tempo pode ter restrição táctica para tirar o melhor proveito dele. Talento e Criatividade trabalhar bem juntos. Um jogador com uma grande quantidade de talento pode lhe causar muita frustração, mas igualmente pode ser um jogador decisivo. Haverá momentos em que você desejava que ele tivesse tentado o passe simples, em vez de um pontapé de bicicleta para as bancadas. Haverá outras vezes no entanto, quando você se levantará da cadeira e aplaudirá a melhor jogada individual que você já viu.

Influência = Influência é a capacidade do jogador de afectar os acontecimentos ou outros jogadores, sem qualquer esforço intencional. Jogadores com alta influência serão líderes em campo e os colegas de equipa tenderão a reunir em torno destes jogadores. Um jogador com um atributo de alta influência é, sem dúvida, um excelente candidato para o papel de capitão. Contudo escolhe cuidadosamente. Um jogador que tem grande influência, mas não parece merecer o respeito dos jogadores em torno dele não vai ser uma boa escolha. Lembre-se, mesmo quando você escolheu o seu capitão, é bom ter influência em todas as áreas do campo.

Sem Bola = O Movimento de um jogador sem a bola. Semelhante à antecipação, este é o quão bem um jogador, especialmente os de ataque, pode avaliar uma situação e então desmarcar-se, fazendo-se disponível para receber um passe em uma posição perigosa. Sem bola é talvez um dos aspectos mais negligenciados do jogo de futebol, no entanto no FM é considerado como um dos mais importantes. Um jogador com alto atributo Sem bola consegue atrair os defesas e geralmente causar problemas à equipa adversária. Tente encontrar um jogador que combina um alto atributo Sem bola com uma boa velocidade, Posicionamento e Antecipação.

Posicionamento = Posicionamento é a capacidade de um jogador de ler uma situação e se colocar na melhor posição possível para lidar com o desenrolar dos acontecimentos. Antecipação irá ajudá-lo na primeira etapa, mas em termos de seu posicionamento real, resume-se a este atributo. Uma classificação mais alta irá assegurar que o jogador ocupa uma posição melhor. Se você já acolheu a ideia de sua equipa jogar na armadilha de Fora de Jogo, você vai saber que o posicionamento é o principal atributo que você quer que os seus defesas tragam para o jogo. Combina bem com força e antecipação para criar um ar de solidez.

Trabalho de equipa = Quão bem o jogador segue as instruções tácticas e trabalha a favor e ao lado de seus companheiros de equipa. Uma equipa cheia de jogadores com uma média alta de trabalho de equipa vai funcionar melhor como uma unidade. Jogadores com classificações mais baixas irão relaxar, e não vão jogar para a equipa. Se você não é o tipo de pessoa que gosta de contar com um jogador para ganhar jogos, você vai precisar de jogadores com Trabalho de Equipa forte para obter a sua solidez de equipa. Com Trabalho de Equipa alto em toda a sua equipa vai ver o seu lado trabalhando mais em conjunto. Combina bem com uma taxa de trabalho alta e Determinação.

Índice de trabalho = Reflecte a unidade mental do jogador para trabalhar duro. Uma nota alta vai garantir que um jogador queira trabalhar do início ao fim, mas para tal terá de ter os atributos físicos necessários para realmente ser capaz de o realizar. No entanto, é um traço admirável para ter na sua equipa. Este é um atributo que complementa uma ética de Trabalho de Equipa alta. Se você gosta que a sua equipa pressione os seus adversários, então um atributo de alto índice de trabalho em todo o seu meio-campo será muito útil. Não se esqueça de garantir que os seus jogadores têm uma boa resistência.


Físico


Aceleração = Aceleração é a rapidez com que um jogador pode chegar à sua velocidade máxima partindo dum ponto inicial. Liga-se portanto muito de perto com a velocidade. Como uma medida de quão rápido um jogador pode atingir a velocidade máxima, a aceleração é um atributo indispensável para os alas, extremos e atacantes rápidos. Você também pode considerar ter defesas com uma boa Aceleração se enfrenta uma equipa que tem como objetivo jogar no contra-ataque. Boa resistência e elevada taxa de trabalho são essenciais.

Agilidade = A agilidade reflecte o quão bem um jogador pode arrancar, parar, e mover-se em diferentes direcções a vários níveis de velocidade. Combina com a velocidade, aceleração e equilíbrio para trabalharem em conjunto, em especial quando o jogador está a correr com a bola. A agilidade é um atributo que é mais necessário para os jogadores de alto calibre. Combinado com aceleração e finta um nível alto de agilidade faz um bom futebolista ofensivo.

Equilíbrio = O equilíbrio reflecte simplesmente o quão bem um jogador consegue manter o equilíbrio em situações com e sem a bola. Com a bola, refere-se à forma como corre quando está a correr com a bola e evadir-se dos adversários, sem bola refere-se ao equilíbrio quando enfrenta um jogador que se dirige a ele, ou a estabilidade com que muda de direcção e salta. É recomendado que os alas e jogadores atacantes tenham um alto nível de equilíbrio combinado com agilidade, finta ou força para serem difíceis de desarmar.

impulsão = Este atributo diz respeito a quão alto um jogador pode saltar de uma posição parada. Este é fácil. Combina um bom atributo de cabeceamento e joga um jogo largo com bastantes cruzamentos para que os teus jogadores saiam do chão. Se, por exemplo, os teus jogadores têm altos níveis de Bravura, agressão e impulsão, certifica-te que utilizas um desarme duro para dominares no ar.

Condição física natural = Condição física natural do jogador, nível básico de fitness. Afecta o número de jogos que pode jogar até ficar visivelmente cansado e estar mais susceptível a lesões.

Velocidade = Velocidade é a velocidade máxima que o jogador pode atingir. Considerando que a aceleração reflecte a rapidez com que um jogador pode alcançar a sua velocidade máxima, a velocidade é aquela velocidade máxima que, juntamente com a resistência e a condição física natural, é quanto tempo eles são capazes de manter esse ritmo tanto em acelerações rápidas como ao longo de uma partida. Um jogador vai ser naturalmente um pouco mais rápido sem bola do que com bola. A velocidade pode ser um pouco equívoca por isso cuidado. o teu jogador pode ser muito rápido mas nao interessa se não tiver técnica. Combina velocidade com talento, finta, agilidade e claro aceleração!

Resistência = Resistência é a capacidade de um jogador para suportar um alto nível de actividade física por um longo período de tempo. Com as exigências decorrentes durante a temporada, os jogadores com nível mais alto de resistência conseguem manter as suas exibições a um nível mais alto durante mais tempo. Está relacionado directamente com a condição física natural. A importância da resistência não pode ser sobrestimada – particularmente se pressionar muito durante o jogo. Você verá que, se a sua equipa tem um baixo nível de resistência em geral, você acabára por sofrer mais golos no perto do fim do jogo. 

Força = A força de um jogador é sua capacidade de exercer força física sobre um adversário em seu benefício. Um jogador com uma classificação alta de Força será capaz de usá-la para sua vantagem contra adversários mais fracos. A Força é uma questão importante na disputa da bola, assim você estará ansioso para ter alguns jogadores na sua equipa que podem ajudar quando as coisas correm mal. Desarme, Impulsão e marcação aumentam de acordo com a Força e verá que jogadores mais fortes não sofrem tantas faltas pois tiram vantagem da sua constituição.

25 de maio de 2012

So.cl, a rede social da Microsoft


Com o lema “Aprender e compartilhar como nunca antes”, a Microsoft colocou no ar a própria rede social, a So.cl – apesar da falta de vogais, pronuncia-se “social”. O site se define como “uma nova experiência de pesquisa voltada para ajudar a conectar estudantes com interesses comuns”.

Até agora, o So.cl foi aberto apenas para convidados e, por isso, muitos detalhes são desconhecidos do público. Um vídeo explicativo presente na plataforma, no entanto, reforça que a rede se organiza em torno de buscas – não por acaso ela foi desenvolvida pela Fuse Labs, laboratório de pesquisa da Microsoft e conta com o suporte tecnológico do Bing, buscador também da empresa de Bill Gates que tenta fazer frente ao Google.

Ainda de acordo com o site, a rede social permite que o estudante faça uma pesquisa, e os resultados, que podem ser páginas da web, imagens e vídeos, são organizados automaticamente pela rede e compartilhados no mural do usuário de maneira visualmente atraente. Em princípio, todas as buscas feitas na rede são públicas, mas o dono do perfil pode optar que sua pesquisa não seja disponibilizada para outros usuários.

A conta no So.cl pode ser sincronizada com o Facebook o que, aparentemente, demonstraria uma não concorrência com a maior rede social do mundo.

“O site foi desenvolvido para dar a estudantes a habilidade de trabalhar com os colegas, compartilhar informações de maneira rápida e construir suas páginas com informações vindas de dentro e de fora da sala de aula – transformando a web e as redes sociais em uma sala de aula”, disse a Microsoft em dezembro passado, quando a empresa anunciou que estava desenvolvendo a plataforma.

O site oferece também uma ferramenta de compartilhamento de vídeos e facilita a conferência de grupos. É possível fazer buscas e rapidamente reunir uma lista de vídeos para o estudante ver com os colegas.

O projecto ainda funciona de forma experimental com a participação de instituições selecionadas, como as universidades de Washington, Syracuse e Nova York. Os que não estão nesse círculo inicial e desejam fazer parte devem ser convidados por alguém que já faça ou se inscrever pelo site. Por enquanto, após o cadastro, o usuário recebe a mensagem de que foi inserido em uma lista de espera. 

Esta, que parece ser uma rede bem diferente de todas as outras conhecidas mas que também aparenta ir buscar um pouco de cada uma, tem várias funcionalidades para serem exploradas e, aparenta ser de fácil compreensão e utilização. Com um aspecto limpo e semelhante a uma mistura de bing, google plus e pinterest, a popularidade da rede social da Microsoft vai ser ditada nos próximos tempos, e veremos se esta vai ser apenas mais uma rede, ou será uma ´substituta´ para o gigante Facebook, que pelos visto ´irá retira-se do negocio´.

A companhia espera que os estudantes continuem usando as redes sociais actuais, como Facebook, Twitter e LinkedIn e sites de buscas como Bing e Google. O So.cl ajuda o usuário a achar e compartilhar páginas da web de interesse comum,  assim como os estudantes fazem quando trabalham juntos, de acordo com a Microsoft.

Além de proporcionar o compartilhamento de mídia - inclusive de vídeos em tempo real por meio de “video parties” -, o So.cl também ajuda os usuários a criar “postagens ricas”, fazendo montagens de conteúdo visual da web.


Saiba mais: www.so.cl

Mark Zuckerberg anunciou que o Facebook será encerrado no dia 15 de Julho de 2012


"O Facebook ficou fora de controle", disse Zuckerberg, numa conferência de imprensa fora de seu escritório em Palo Alto. "O estreasse da gestão desta empresa arruinou a minha vida. Eu preciso colocar um fim a toda a loucura." 

Zuckerberg supostamente passou a explicar que a partir de 15 de Julho de 2012, os usuários não poderão acessar as suas contas do Facebook. Isso dá aos usuários, e viciados no Facebook, algum tempo para adaptarem-se à vida sem o Facebook

"Depois ao dia 15 de Julho de 2012 todo o site se desliga", disse Avrat Humarthi, Vice-Presidente de Assuntos Técnicos no Facebook. "Então, se você quiser ver as suas fotos novamente, eu recomendo você levá-las fora da internet. Você não será capaz de recuperá-las após que o Facebook sair do negócio. " 

Zuckerberg disse que a decisão de encerrar o Facebook foi difícil, mas que ele não acha que as pessoas vão ficar chateada. 

"Eu pessoalmente não acho que é um grande negócio", disse ele em entrevista por telefone privado com uma fonte próxima a um amigo. "E para ser honesto, eu acho que é para melhor. Sem Facebook, as pessoas terão de sair e fazer amigos reais. Isso é sempre uma coisa boa. " 

Alguns usuários do Facebook ficaram furioso ao ouvir a notícia chocante. 

"O que eu vou fazer sem o Facebook?", Disse Denise Bradshaw, uma estudante colegial de Indiana. "Minha vida gira em torno dele. Eu estou no Facebook, pelo menos, 10 horas por dia. Agora o que vou fazer com todo esse tempo livre? " 

No entanto, os pais de todo o país têm vindo a experimentar uma sensação de alívio muito esperado. 

"Estou contente pelo fim do pesadelo Facebook", disse Jon Guttari, uma mãe solteira de Detroit". "Agora o rosto do meu filho adolescente não estará colado a uma tela de computador o dia todo. Talvez eu possa até mesmo ter uma conversa com ela. " 

Algumas pessoas no sector financeiro estão criticando Zuckerberg por se afastar de uma franquia multimilionária. O Facebook está actualmente classificado como uma das mais ricas empresas do mundo, com os economistas a estimarem o seu valor em torno de 17,9 bilhões. 

Mas Zuckerberg permanece imperturbável com essas acusações. Ele disse que vai ficar por sua decisão de dar Facebook o machado. 

"Eu não me importo com o dinheiro", disse Zuckerberg. "Eu só quero a minha antiga vida de volta." 

A Corporação Facebook sugere que os usuários removem todas as suas informações pessoais a partir do site antes do dia 15 de Julho de 2012. Após essa data, todas as fotos, notas, links e vídeos serão permanentemente apagados.

"Aprenda A Programar Em Dez Anos" por: Peter Norvig (Tradução Portuguesa)


Fonte: Peter Norvig, Teach Yourself Programming in Ten Years

Porque todo mundo tem tanta pressa?

Entre em qualquer livraria e, você encontrará o livro "Aprenda Java em 7 dias" assim como diversas variações oferecendo lições de Visual Basic, Windows, Internet e por ai vai, em dias ou horas. Eu fiz a seguinte pesquisa na Amazon.com:
pubdate: after 1992 and title: days and (title: learn or title: teach yourself) e encontrei 248 entradas. As primeiras 78 eram livros sobre computadores (número 79 era Learn Bengali in 30 days). Troquei “dias” por “horas” e encontrei resultados incrivelmente similares: 253 livros, 77 de computadores, seguidos de Teach Yourself Grammar and Style in 24 Hours no número 78. Do total de 200, 96% eram livros de computadores.

A conclusão é que ou as pessoas estão com muita pressa de aprender sobre computadores, ou computadores são extremamente fáceis de aprender, mais do que qualquer outra coisa. Não há livros de como aprender Beethoven, ou Física Quântica ou até adestramento de cães em alguns dias.

Vamos analisar o que um título como Learn Pascal in Three Days
pode significar:

Aprenda: Em três dias você não terá tempo de escrever programas significantes, e aprender com seu sucesso ou fracasso. Você não terá tempo para trabalhar com um programador experiente e entender o que é conviver neste ambiente. Em resumo, você não terá tempo para aprender muito. Logo eles só podem estar falando a respeito de entendimento supercial, como disse Alexander Pope, "aprender pouco é uma coisa perigosa".

Pascal: Em três dias você deve ser capaz de aprender a sintaxe do Pascal (isso se você já conhece uma linguagem similar), mas não vai aprender muito sobre como utilizar essa sintaxe. Em resumo, se você era, vamos dizer, um programador Basic, você pode aprender a escrever programas no estilo Basic usando a sintaxe do Pascal mas não aprender em que o Pascal é bom (ou ruim). Então, qual o ponto? Alan Perlis disse certa vez: “Uma linguagem que não afecta a maneira que você pensa sobre programação, não vela a pena ser aprendida”. Um ponto é se você precisar aprender um pouco de Pascal (ou algo como Visual Basic ou Javascript) porque você precisa interagir com alguma ferramenta existente para uma tarefa específica. Mas nesse caso você não esta aprendendo a programar, você está aprendendo a como resolver essa tarefa.
Em três dias: Infelizmente, não é suficiente, como veremos a seguir.

Pesquisadores (Hayes, Bloom) tem demonstrado que leva em torno de dez anos para desenvolver perícia em qualquer de uma variedade de áreas, incluindo jogar xadrez, compor músicas, pintar, tocar piano, nadar, jogar ténis e pesquisar neuropsicologia ou topologia. Aparentemente não há atalhos: até Mozart, que foi um prodígio musical aos 4 anos levou mais 13 antes de compor música de primeira classe. De outra forma, ou Beatles parecem ter disparado nas paradas em primeiro lugar com a aparição no show do Ed Sullivan em 1964. Mas eles estavam tocando em pequenos clubes em Liverpool e Hamburgo desde 1957, e mesmo que eles conseguiram uma aparição em massa, o primeiro grande sucesso mesmo, Sgt. Peppers, foi lançado em 1967. Samuel Johnson pensa que pode levar mais do que dez anos: “Excelência em qualquer departamento pode ser alcançada apenas com o trabalho de uma vida toda; não é possível compra-lá por menos.” E Chaucer reclamou: “vida tão curta, leva tanto para aprender.” Sim, é “tanto”, e não “tanto”, um dia você entende.

Então aqui vai minha receita para sucesso na programação:

Aprenda inglês: Leia o original deste texto. Essa tradução só está aqui para exercitar o meu inglês, não o seu. 

Se interesse por programação: Faça porque é legal. Tenha certeza que isso continue a ser legal para você dedicar dez anos nisso.
Converse com outros programadores; leia outros programas. Isso é mais importante do que qualquer livro ou curso de treinamento.

Programe: O melhor tipo de aprendizado é aprender fazendo.
Colocando de uma forma mais técnica, “o nível máximo de performace individual em um domínio é não é alcançado automaticamente em função de uma experiência extendida, mas sim aumentado mesmo por indivíduos extramente experientes por um esforço deliberativo de melhorar.” (p. 366) e “o aprendizado mais efectivo requer uma tarefa bem definida com uma dificuldade apropriada para o indivíduo em particular, dado que exista um retorno sobre a experiência e oportunidades de repetição e correcções de erros.” (p. 20-21) do livro Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, que é uma referência interessante deste ponto de vista.

Se você quiser, gaste quatro anos em uma Universidade (ou mais em uma pós-graduação). Isso lhe dará acesso a alguns empregos que requerem alguma formação e um grande entendimento do campo de trabalho, mas se você não gosta muito de ir para escola, você pode (com alguma dedicação) conseguir alguma experiência similiar sobre esse tipo de trabalho. Em qualquer caso, apenas ler livros não será suficiente.
“Educação em ciências da computação não faz de ninguém um génio em programação tanto quanto estudar pincéis e pigmentos não fazem um bom pintor.” diz Eric Raymond, autor de The New Hacker’s Dictionary. Um dos melhores programadores que eu já contratei tinha apenas o segundo grau, e ele produziu vários softwares incríveis, tem seu próprio grupo de discussão, e fez dinheiro suficiente em acções para comprar seu próprio clube nocturno.

Trabalhe em projectos com outros programadores: Seja o melhor programador em alguns projectos, seja o pior em outros. Quando você é o melhor você testa suas habilidades para liderar um projecto, e para inspirar outros com a sua visão. Quando você é o pior aprende o que os mestres ensinam e o que não gostam de fazer (porque eles fazem você fazer por eles).

Trabalhe em projectos após outros programadores: Esteja envolvido em entender um programa escrito por outro. Veja o que é preciso para entender e consertar quando o programador original não esta por perto. Pense em como desenvolver seus programas para que seja fácil para quem for mantém-los após você.

Aprenda pelo menos meia dúzia de linguagens de programação: Inclua na lista uma linguagem orientada a objectos (como Java ou C++), uma que seja de abstração funcional (como Lisp ou ML), uma que suporte abstracção sintáctica (como Lisp), uma que suporte especificação declarativa (como Prolog ou C++ com templates), uma que suporte co-rotinas (como Icon ou Scheme), e uma que suporte paralelismo (como Sisal).
Lembre-se que há um “computador” em “ciência da computação”. Saiba quanto tempo leva para o seu computador computar uma instrução, carregar uma palavra ad memória (com e sem cache), ler palavras consecutivas do disco rígido, procurar por uma nova posição no disco.
Se envolva no esforço de padronização de uma linguagem. Pode ser o comite ANSI C++, ou na padronização de programação na sua empresa, se utilizaram indentação com 2 ou 4 espaços. Em qualquer caso, você aprende o que outras pessoas gostam em uma linguagem, o quanto eles gostam e talvez um pouco do porque eles gostam.
Tenha o bom senso de cair fora desse processo de padronização tão rápido quanto possível.
Com tudo isso em mente, é questionável o quão longe você pode ir apenas lendo livros. Antes que do meu primeiro filho nascer eu li todos os livros de "Como Fazer" e ainda me sentia como um novato. Trinta meses depois, quando nasceu meu segundo filho, voltei aos livros para relembra? Não, ao invés disso resolvi utilizar minha experiência pessoal do primeiro filho, que se tornou muito mais útil do que milhares de páginas escritas por especialistas.

Fred Brooks, em seu trabalho No Silver Bullets identificou um plano em três partes para encontrar grandes projectistas de software:

Sistematicamente identifique os melhores projectistas o quanto antes.

Atribua um orientador de carreira responsável pelo desenvolvimento cuidadosamente de um plano de carreira.

Promova oportunidades para desenvolvedores em aprendizado interagir e estimular uns aos outros.

Assumo que algumas pessoas já possuem as qualidades necessárias para ser um grande desenvolvedor de software; o grande trabalho é apenas coloca-los no caminho correto. Alan Perlis coloca de forma mais sucinta: “Qualquer um pode ser ensinado a esculpir: Michael Ângelo poderia ser ensinado a não esculpir. É o mesmo com grandes programadores”.

Então vá em frente e compre aquele livro de Java; provavelmente você terá algum uso dele. Mas isso não vai mudar a sua vida, ou o seu conhecimento como um programador em 24 horas, dias, ou meses.

Referências:


Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.

Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.

Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.

Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.

Respostas...

O tempo aproximado de execução de várias operações num PC típico de 1Ghz no verão de 2001:

executar uma instrução simples 1 nseg = (1/1,000,000,000) seg
extrair uma palavra da memória L1 2 nseg
extrair uma palavra da memória RAM 10 nsec
extrair uma palavra consecutivamente do disco rígido 200 nseg
extrair uma palavra de uma nova posição o disco (busca) 8,000,000nseg = 8mseg

Apêndice: Escolha de Linguagem
Muitas pessoas tem me perguntado sobre qual linguagem devem aprender primeiro. Não há resposta, mas considere estes pontos:

Use os seus amigos: Quando me perguntam “que sistema operativo devo usar, Windows, Unix ou Mac?” minha resposta geralmente é: “use o que seus amigos usam”. A vantagem é que você poder aprender com os seus amigos vence qualquer diferença entre sistemas operativos ou linguagens. Considere também seus futuros amigos: a comunidade de programadores que você fará parte se continuar. A sua escolha possuia uma grande comunidade de usuários ou apenas uma comunidade morta? Existem livros, sites e fórums para encontrar respostas? Você gosta das pessoas desses fórums?

Mantenha-se simples: Linguagens como C++ ou Java são desenvolvidas para utilização profissional por um grande time de desenvolvedores experientes que estão preocupados com a eficiência de execução de seus códigos. Como resultado, essas linguagens possuem partes complicadas desenvolvidas para essas circunstâncias. Você esta focado em aprender a programar, não precisa dessa preocupação. Você precisa de uma linguagem que foi desenvolvida para ser fácil de aprender e lembrar.

Interaja: Como normalmente você aprenderia piano: de modo iterativo, no qual você escuta uma nota logo que pressiona uma tecla ou de um modo atomizado em que você escuta cada nota quando a música termina de tocar? Claramente, aprender interactivamente é muito mais fácil, e assim é com a programação. Insista em uma linguagem com um modo interativo e use-o.
Baseado nesses critérios, minhas recomendações para uma primeira linguagem seria Python ou Scheme. Mas as suas circunstâncias podem variar, e existem outras boas opções. Se a sua idade ainda tiver apenas um dígito (menores do que 10 anos), é melhor escolher Alice ou Squeak (aprendizes mais velhos podem gostar também). O importante é você escolher e começar.

Apêndice: Livros e outros recursos

Muitas pessoas me perguntam em quais livros e páginas elas devem aprender. Eu repito que “apenas ler livros não é suficiente” mas eu posso recomendar o seguinte:

Scheme: Structure and Interpretation of Computer Programs (Abelson & Sussman) é provavelmente a melhor introdução a ciência da computação e ele faz ensinando a programar enquanto você aprende computação.

Você pode ver vídeos de aulas desde livro, assim como o texto completo. O livro é desafiante e talvez algumas pessoas precisem de outra forma de aprendizado.

Scheme: How to Design Programs (Felleisen et al.) é um dos melhores livros sobre como projectar programas de forma elegante e funcional.

Python: Python Programming: Uma introdução a computação (Zelle) e também a linguagem Python.

Python: Vários tutorials online estão disponíveis em Python.org.
Oz: Concepts, Techniques, and Models of Computer Programming (Van Roy & Haridi)parece ser um sucessor moderno para Abelson & Sussman. É um tour pelas grandes ideias da programação, muito mais amplo que Abelson & Sussman, mas mantendo uma certa facilidade de leitura. Ele utiliza uma linguagem, Oz, que não é muito reconhecida mas serve como base para outras linguagens.

Notas:
T. Capey informa que a página de Complete Problem Solver na Amazon agora possui “Teach Yourself Bengali in 21 days” e “Teach Yourself Grammar and Style” na lista de livros que “Consumidores que compram esse item também costuma comprar estes”.
Eu imagino que um grande parte das pessoas que visualizam esse livro vem dessa página.

10 Linguagens Que Você Deveria Aprender

Fonte: http://www.aprenderprogramar.com.br/




Em 2006 foi publicado o artigo "10 Linguagens Que Você Deveria Aprender". Este artigo imediatamente ganhou certa fama na Internet. Embora o artigo tenha seu mérito, existem dois problemas básicos com ele:
1- É de 2006, e as coisas mudam; e
2- É focado na popularidade das linguagens e, principalmente, no mercado de trabalho.

Sim, eu creio que recomendar o aprendizado de linguagens baseando seu argumento na popularidade ou mercado de trabalho como falho.

Para ilustrar o motivo, entre as 10 recomendações do artigo indicado acima temos:
- C#; VB.NET e Java; 

Estas 3 linguagens são todas orientadas a objectos baseadas em classes. Todas as 3 carregam conceitos muito próximos. Se você programa muito bem em C#, aprender Java não vai mudar sua vida e nem ampliar verdadeiramente seus conhecimentos. O inverso também é igualmente verdadeiro.

“Uma linguagem que não afecta a maneira que você pensa sobre programação, não vela a pena ser aprendida” – Alan Perlis.

O que eu quero dizer é que se deva aprender linguagens que sejam diferentes entre si ou que, ao menos, lhe ensinem conceitos novos. É claro que se o trabalho exige que você aprenda alguma linguagem afim à alguma que você já domina, vá em frente e você tirará a missão de letra pois você já conhecerá os princípios que regem aquela nova linguagem.

Não sou o único a sugerir que um programador deva aprender sempre linguagens que lhe ensinem novos conceitos – e não simplesmente uma nova linguagem. No altamente recomendável artigo "Teach Yourself Programming in Ten Years", Peter Norvig, indica que um programador deveria conhecer ao menos 6 linguagens. Porém, utilizando uma das afirmações de Alan Perlis lembra que: “Uma linguagem que não afecta a maneira que você pensa sobre programação, não vela a pena ser aprendida”.

Baseado na premissa acima, segue agora a minha versão da lista “10 Linguagens Você Deveria Aprender”. Retirei a palavra “Imediatamente” porque se você acessou os artigos indicados acima, já deve ter percebido que a pressa não é uma boa amiga nesta hora. E se você seguir a recomendação do livro “O Programador Pragmático” que sugere aos programadores a meta de se aprender uma nova linguagem por ano, segue abaixo uma sugestão de trabalho para os próximos 10 anos!  (Isso não rima com o artigo “Aprenda a Programar em Dez Anos”?)

 ATENÇÃO

Não é tão simples quanto parece definir uma linguagem de programação. Para fins deste artigo considerei como linguagem de programação qualquer linguagem padronizada, que sirva para expressar instruções para um computador e que, necessariamente seja Turing Completo. Isto deixa de lado linguagens como SQL, HTML, CSS, XML e JSON que, embora tenham grande importância no mundo de hoje, ficam de fora do escopo deste artigo.

Índice das Linguagens Recomendadas:

1.C – Para aprender ‘como as coisas realmente funcionam’;

2.Java ou C# – Orientação a Objectos e entrar no mercado de trabalho; 

3.PHP ou Python – Programação Web em uma linguagem Script;

4.JavaScript – Orientação a Objectos baseada em protótipos. Programação web do lado do cliente;

5.LUA – Para aprender co-rotinas;

6.Smalltalk – Linguagem orientada a objectos pura. Sintaxe baseada na troca de mensagens entre objectos;

7.Lisp/Scheme ou Haskell – Programação funcional. Força a trabalhar com recursão;

8.Prolog – Programação Lógica;

9.Sisal – Programação paralela. Apresenta a programação orientada a fluxo de dados; e

10.Rebol – Linguagem funcional – não pura – rica sintaticamente e altamente económica.

Linguagens

C
Não existe uma linguagem de conhecimento obrigatório. Mas se existisse esta linguagem, seria o C. Não seria exagero afirmar que a base da tecnologia hoje está, em sua maior parte, construída em C.  Também não recomendo ninguém começar a programar por ela. Mas seria uma óptima 2a ou 3a linguagem.
C está apenas uma camada de abstração acima do chamado código de máquina. Então é uma linguagem importante para você aprender ‘como as coisas realmente funcionam’.
Outro forte argumento para aprender C é que no mundo da programação, a cultura C impera. C influenciou e/ou foi utilizado para criar várias outras linguagens. Isto significa que a sintaxe C está espalhada por várias outras linguagens como C++, Java, C#, PHP ou Javascript. Logo se você aprende C, várias outras linguagens passam a ser familiares.

O próprio C++ inicialmente era compilado para C e, utilizando o compilador C, era compilado para linguagem de máquina. Embora hoje tenhamos compiladores C++, em geral compiladores C++ também compilam as instruções em C. E facto é que esta dobradinha C/C++ tem criado e inspirado várias outras linguagens. Para dar um exemplo, baixe o código fonte do PHP. Veja que ele é construído em C. 

Se com C construímos o interpretador e bibliotecas da linguagem PHP, logo tudo o que pode ser feito com PHP também poderia ser produzido com C. Com C poderíamos até dispensar o Apache fazendo com que nosso programa responda directamente as requisições que chegam pela porta 80. É claro que nunca sugeriria que alguém fizesse isso. Utilizar o PHP para desenvolvimento web é muito mais prático. A linguagem PHP é focada em desenvolvimento web. E, caso seja necessário, pode-se criar novas extensões para PHP utilizando a linguagem C. 

Outro ponto é que a possibilidade de acessar diretamente endereços de memória, faz com que teoricamente tudo possa ser feito com C. Como consequência, C é a escolha lógica para com deseja construir um novo sistema operativo. C está na base dos sistemas Windows, Linux, Unix, Minix etc.

Em resumo, não seria exagero afirmar que a base da tecnologia hoje está, em sua maior parte, construída em C, directa ou indirectamente.

Java, C# se já não souber C++

Se você busca por uma boa colocação no mercado de trabalho, escolher entre Java ou C# é uma óptima ideia. Estas são, sem sombra de dúvidas, as linguagens que geram mais oportunidades de emprego da actualidade. Mas como falei a idéia deste artigo não é limitar a nossa analise no mercado, mas sim buscarmos conceitos.

A indicação aqui é que você escolha uma linguagem orientada a objectos, baseada em classe, compilável (mesmo que para bytecode) e tipagem estática para aprender a programar. Eu recomendaria você escolher entre Java e C# para entrar neste mundo. Mas, caso você já saiba C++ você poderia pular para o próximo grupo de linguagens. Se você é contra a Microsoft escolha Java. Caso a ame, vá de C#!  

Ambas as linguagens apresentam uma rica biblioteca de classes para os mais variados fins (contando com a biblioteca do .NET no caso do C#). São linguagens de propósito geral podendo ser utilizadas para criar aplicações desktop assim como aplicações web.

A grande vantagem do Java é que a sua aplicação será independente de plataforma. Servidores Linux são bastante utilizados em empresas e neste ambiente Java possui grandes vantagens. Por outro lado, C# é uma linguagem mais nova, quase 10 anos, e isto, nesta área, é muito tempo. Então C# traz muitos conceitos que Java simplesmente não implementa. Não vou me deter na comparação entre as duas, mas para uma analise mais profunda, visite o artigo Comparação entre Java e C Sharp. Então se seu objectivo é simplesmente aprender novos conceitos, C# trará mais benefícios. Por exemplo C# traz suporte a Expressões Lambda e “Closures”, sendo possível:

Fazer com que um método retorne uma função que faz referência a uma variável fora de seu escopo:

(...)
Adder CreateAdder(int addend)
{
return delegate(int augend)
{
return addend + augend;
};
}
(...)

Ou ainda passar uma função como parâmetro:

var evens2 = numbers.FindAll((int n) => { return n % 2 == 0; });

Outro factor em favor do C# é que, por razões óbvias, opera melhor em conjunto com outras soluções Microsoft o que em determinados cenários pode ser uma grande vantagem. 

Mas apesar da aparente vantagem para a linguagem da Microsoft, não desconsidere Java. Afinal Java é a linguagem mais utilizada – segundo o índice TIOBE – e aprender a linguagem que a maioria fala é tentador. E se você pensa em sistemas verdadeiramente independentes de plataforma, Java é a escolha. Sem falar que, mesmo sendo seu objectivo aprender novos conceitos, estes mesmos que o C# implementa pode ser encontrado em outras linguagens listadas abaixo.

Um outro factor em relação a Java: Se você considerar Java como não apenas uma linguagem mas como uma plataforma, existem outras linguagens que rodam sobre a JVM, como o Groovy, e que suportam estas e outras funcionalidades de linguagem script e/ou tipicamente funcionais. Se você já conhece Java, e principalmente se você só conhece Java e é apaixonado pela JVM, talvez aprender Groovy seja um bom caminho.

E porque não aprender ambas, Java e C# ? Bem, eu continuo defendendo que, mesmos diferentes, elas ainda são muito próximas. Ambas são inspiradas em C++, sem falar que Java foi a grande inspiração de C#. É lógico que ao final você poderia as duas. Mas recomendo que escolha uma e vá aprender outras linguagens. Se um belo dia tiver necessidade da outra, você aprenderá fácil.

PHP ou Python

A recomendação é para que o programador tenha também alguma experiência com programação para web com uma destas linguagens scripts (PHP ou Python). A lógica é bem diferente do que ocorre com a programação para desktop. Depois de termos passado pelas linguagens orientadas a objectos usualmente compiláveis e de tipagem estática, o passo natural é conhecermos agora alguma linguagem ainda orientada a objecto, porém interpretada e de tipagem dinâmica. E estas duas são exactamente isto: linguagens scripts, de tipagem dinâmica, orientadas a objectos, bastante utilizadas no desenvolvimento web embora as duas possam ser utilizadas em ambiente desktop.

Mas a recomendação aqui é principalmente para que o programador tenha também alguma experiência com programação para web com uma destas linguagens scripts. A lógica é bem diferente do que ocorre com a programação para desktop. Normalmente, ao programarmos para desktop, a nossa aplicação fica instanciada ‘rodando’, até que o usuário feche a aplicação. Não raro, principalmente em programação com C, temos uma rotina principal que implementa um loop quase eterno, e tudo ocorre dentro deste loop. Por exemplo:

while(!saiu_do_programa) {
/* Aqui são capturado e tratados os eventos, as rotinas para redesenhar a interface são chamadas etc. */
}

Embora em Java e C# não tenhamos a necessidade de criarmos tal loop, a idéia é que o programa fica em execução. Os dados são persistentes e o foco da programação fica no tratamento dos eventos que o usuário gera ao interagir com os elementos de interface. Por exemplo, numa clássica aplicação desktop, implementaríamos uma rotina determinando o que deve ocorrer ao se clicar em um certo botão.

Já uma aplicação web nestas linguagens, a idéia é muito diferente. Seu programa não ‘fica rodando’ a espera dos eventos do usuário. Sua aplicação nasce e morre em cada requisição do usuário. O foco não é mais nos eventos do usuário, mas sim nas entradas de dados/acessos que estes usuários fazem. Os dados não são persistentes, então em cada acesso, você deverá redefinir as constantes, variáveis, conexões com o banco, ler a entrada do usuário, decidir o que fazer com ela, criar uma página html, enviar o html para o navegador e terminar a aplicação. Em resumo, cada acesso é uma vida inteira.

Destas duas linguagens listadas, PHP é a que tem o foco para web mais bem definido, enquanto a outra tenta se posicionar como uma linguagem de propósito mais geral. Talvez por isso PHP seja a linguagem mais utilizada neste meio. A grande maioria dos CMS existentes é construído em PHP. E isto inclui nomes de muito peso como o WordPress, Joomla, Moodle e Drupal. Portanto se você pensa em focar no desenvolvimento de Sistemas Web, e/ou ainda dar suporte ou customizar os CMS listados acima, considere o PHP. Vale ainda dizer que o próprio Facebook é em sua maior parte PHP. Só para deixar claro eles criaram um compilador de PHP para C++, o HipHop. Com isso eles uniram o foco e agilidade do PHP para desenvolvimento web com a rapidez característica de uma linguagem compilada.

Por outro lado, das duas PHP é a mais pobre em recursos – leia-se conceitos. Faltam para linguagem construções como threads que normalmente temos como algo básico em outras linguagens. Talvez a maior motivo disto seja exactamente seu foco bem definido para Web onde a necessidade de criação de threads é algo bem mais raro do que costuma ocorrer com aplicações desktop. 

Python, por sua proposta mais generalista, é uma ótima escolha como linguagem para prototipação de sistemas construídos em linguagens, digamos, mais burocráticas como C, C++, C# ou Java. Mas, vale lembrar, o Python pode ser utilizado sozinho, como a linguagem escolhida para o desenvolvimento de um grande sistema, web ou desktop. Por ser simples e de propósito geral, é também uma óptima linguagem para o aprendizado de programação, onde o aluno pode aprender directamente lógica de programação sem perder muito tempo com as já ditas ‘burocracias’ das linguagens acima.

JavaScript

JavaScript não tem concorrentes. Ela é simplesmente a linguagem de programação web no lado do cliente. Por isso vale aprender, e aprender bem. A Orientação a objectos está obrigatoriamente ligada ao conceito de classes, correto? Resposta: Não!
Enquanto as linguagens do grupo anterior são baseadas em classes, JavaScript é uma linguagem orientada a objetos baseada em protótipo. Assim, conceitualmente, tudo é objecto e não temos classes. Ter contato com este outro paradigma é o primeiro motivo para conhecer a linguagem. Vale comentar que, em relação a criação e definição de objectos, JavaScript é, em geral, muito mais expressivo do que linguagens baseadas em classes.
O outro motivo é que Javascript é uma linguagem importante por definição: É praticamente impossível falar em desenvolvimento web sem falar em Javascript. Quase todos os navegadores possuem um interpretador Javascript. Logo, virtualmente, Javascript está presente e pode ser executado em praticamente todos os computadores do mundo. Sem falar que com as novas implementações do HTML5, a utilização do Javascript do lado do cliente, no contexto web ganha uma grande força.

Douglas Crockford fala, em seu artigo, que Javascript é a linguagem mais incompreendida do mundo. E entre seus argumentos um deles aponta o amadorismo que envolve a linguagem. De facto, se por um lado a maioria das pessoas que criam/utilizam pequenas rotinas em JavaScript não são programadores da facto, JavaScript é uma das linguagens mais flexíveis. Ou seja, temos muito sendo JavaScript sub-aproveitado.

Para dar uma idéia desta flexibilidade/dinamismo, em JavaScript:
1- Embora não tenha classes, você pode programar como se tivesse;
2- Pode-se implementar herança simples, múltipla ou até parcial, ou seja, selecionando os métodos que se quer herdar;
3- Pode-se adicionar ou substituir os métodos para as ‘classes’(na verdade seriam protótipos). Isto afecta todos os objectos, actuais ou futuros, funcionando retroativamente; e
4- Pode-se adicionar ou substituir os métodos para apenas um objeto específico.

Por fim, vale lembrar que, diferente do que ocorre com outras linguagens que normalmente concorrem entre elas: Java vs C# ou PHP vs Python, JavaScript não tem concorrentes. Ela é simplesmente a linguagem de programação web no lado do cliente. Por isso vale aprender, e aprender bem. 

LUA

Que tal aprender sobre co-rotinas utilizando uma linguagem brasileira que está perto de alcançar o TOP-10 das linguagens mais utilizadas do mundo? Na linguagem LUA, as co-rotinas são construções completas. Uma das recomendações do artigo “Aprenda a Programar em Dez Anos” é que entre as linguagens que o programador escolha para aprender, inclua uma com suporte a co-rotinas. 

Para quem não sabe, uma co-rotina é uma generalização de rotina/função/procedimento que permite que a execução da mesma seja suspensa temporariamente passando o controle para outra rotina. E em algum ponto no futuro, ao retornar o controle para a co-rotina inicial, sua execução é restabelecida no ponto onde havia parado e tendo seu contexto local recuperado.

Na linguagem LUA, as co-rotinas são construções completas. Em outras palavras, nesta linguagem elas são construções stackfull de primeira classe. Ser stackfull significa que em LUA as co-rotinas podem ser suspensas mesmo enquanto executam uma função aninhada. Ser de primeira classe significa que as co-rotinas podem ser livremente manipuladas pelo programador, podendo ser invocadas em qualquer ponto do programa ou ordem. Isto, por exemplo, oferece um grau de expressividade muito maior do que encontramos na implementação dos geradores de Python (que também é um exemplo de implementação de co-rotina).

Mas LUA possui outros factores que fazem valer a pena o seu aprendizado. Possui um tipo de dados básico muito versátil chamado de tabela. Embora LUA não seja originalmente uma linguagem orientada a objetos, a flexibilidade encontrada neste tipo de dados permite que ela se comporte como se o fosse, caso isto seja necessário.

Outro factor é que o foco de LUA é diferente do foco das linguagens vistas até agora. Lua nasceu para ser uma linguagem de extensão incluindo funcionalidades/facilidades de uma linguagem script em linguagens como C, C++ ou Java. Embora LUA também possa ser utilizada em modo standalone ou ainda como linguagem script para web.

Smalltalk

Smalltalk é uma linguagem orientada a objectos pura. Um programa em Smalltalk se resume em objectos e em trocas de mensagens entre eles. O maior benefício de se aprender Smalltalk talvez seja começar a fugir da ‘cultura C’. Sua sintaxe é bem diferente das linguagens tradicionais. Smalltalk é uma linguagem orientada a objectos pura. Isto significa que tudo é objecto. Mesmo os tipos primitivos como o inteiro. Até mesmo a classe é um tipo especial de objecto assim como os métodos ou blocos de código. O próprio nome da linguagem, ‘Papo Furado’, mostra bem como este conceito de troca de mensagens entre objectos é importante nesta linguagem. A idéia é que os objectos fiquem ‘batendo papo’ ou melhor, troquem mensagens entre eles.
Como tudo é um objecto, tudo em Smalltalk é um objecto, tudo em Smalltalk também é um elemento de primeira ordem. Isto significa que um inteiro é encarado da mesma forma que um bloco de código e que ambos podem ser atribuídos a uma variável.
Da Wikipedia, seguem os conceitos trazidos pela linguagem:

•Tudo é representado como objectos. (De longe, a regra mais importante em Smalltalk).
•Toda computação é disparada pelo envio de mensagens. Uma mensagem é enviada para um objecto fazer alguma coisa.
•Quase todas as expressões são da forma .
•Mensagens fazem com que métodos sejam executados, sendo que o mapeamento de mensagens para métodos é determinado pelo objecto recebedor. Os métodos são as unidades de código em Smalltalk, equivalente a funções ou procedimentos em outras linguagens. 
•Todo objecto é uma instância de alguma classe. 12 é uma instância da classe SmallInteger. ‘abc’ é uma instância da classe String. A classe determina o comportamento e os dados de suas instâncias. 
•Toda classe tem uma classe mãe, excepto a classe Object. A classe mãe define os dados e comportamento que são herdados por suas classes filhas. A classe mãe é chamada de superclasse e suas filhas, subclasses.
Como você poderá observar neste exemplo de Hello World abaixo, A sintaxe de Smalltalk é bem diferente das linguagens tradicionais.

publish
Transcript show: 'Olá Mundo!'

Entenda o código acima como sendo o envio da mensagem [show: 'Olá Mundo!'] ao objecto Transcript. Esta instrução definem o método publish.

Vale ainda dizer que o padrão MVC que conquistou o mundo e que inspiraram o chamado MVC Web ou MVC 2 que viraram moda, saiu do Smalltalk. Isto mostra o como estudar novas linguagens e, principalmente, o como estas resolvem seus problemas, nos tornam programadores melhores e podem nos inspirar a reaplicar conceitos muito utilizados em uma linguagem em áreas bem diferentes da aplicação original.

Lisp/Scheme (e/ou talvez Haskell)

Uma grande vantagem do aprendizado da programação por meio de uma linguagem funcional é que o programador obrigatoriamente aprende recursão já em suas primeiras aulas e passa a ver este conceito como algo muito natural.Um programador que queira abrir sua mente deve considerar fortemente a possibilidade de aprender a programar numa linguagem funcional. Mesmo que, cada vez mais, linguagens classicamente imperativas e/ou orientada a objectos estejam importando conceitos funcionais, aprender a montar os problemas seguindo uma lógica funcional é um diferencial.

Um programador adaptado a linguagens imperativas ou orientada a objectos, estranhe práticas adoptadas em uma programação funcional como:
- Ausência de Atribuições;
- Ausência de comandos iteradores como for, while e until;
- Ausência de alocação explícita de memória; e
- Ausência de declaração explícita de variáveis. 

Para qualquer “programador imperativo” as ‘ausências’ listadas acima fariam uma falta absurda. São atributos normalmente entendidos como fundamentais em uma linguagem. Isto significa que aprender uma linguagem funcional lhe dará uma nova visão sobre como resolver problemas computacionais.

Uma grande vantagem do aprendizado da programação por meio de uma linguagem funcional é que o programador obrigatoriamente aprende recursão já em suas primeiras aulas e passa a ver este conceito como algo muito natural. Normalmente, ao se utilizar uma linguagem imperativa, como Pascal, ou orientada a objectos, como Java, numa matéria introdutória, este conceito só vai ser visto, se muito, ao final do 1o período. Porém, não raro, a matéria ainda é empurrada para um 2o e 3o período. Resultado: temos profissionais que simplesmente ainda não trabalham bem com recursão, ou pior: não a entende completamente. O que é uma limitação grave para um profissional. Citando novamente Alan Perlis: “Recursão é a raiz da computação(…)”.

Prolog

De todas as linguagens listadas neste artigo Prolog é a mais diferente. Mas não deixe que a linguagem te engane pelo estilo. De facto Prolog é uma linguagem Turing Completa o que significa que pode implementar qualquer algoritmo. De todas as linguagens listadas neste artigo Prolog é a mais diferente -sempre comparando com um mundo imerso numa ‘cultura C’. E não estou falando apenas de sintaxe, mas sim em relação ao paradigma da linguagem: Prolog é uma linguagem lógica, além de declarativa como as outras linguagens funcionais. Alguns perguntariam:
- “Ué? Mas toda linguagem, não é lógica?”  Veremos com um pouco mais de detalhes.
Para programar em Prolog devemos:
1- Enumerar os factos verdadeiros do mundo – estou falando do mini-mundo que iremos abstrair. E não do mundo inteiro, claro!;
2- Ditar as regras existentes entre estes factos.
3- Realizar a pergunta certa para o interpretador que te responderá.
Bem diferente das outras, não?

– Exemplificando –
Factos:

gato(tom).
rato(jerry).

Com o exemplo acima definimos dois factos: Tom é um gato e que Jerry é um rato.

Regras:

come(X,Y) :- gato(X), rato(Y).

Resumidamente, definimos acima a clássica regra de que gatos comem ratos.

Perguntas/Avaliações:

?- come(tom, jerry).

E o interpretador retornará yes.

Mas não deixe que a linguagem te engane pelo estilo. De facto Prolog é uma linguagem Turing Completa o que significa que pode implementar qualquer algoritmo. Por exemplo veja o algoritmo da Torre de Hanoy implementada nela:

hanoi(N) :- move(N, left, centre, right).
move(0, _, _, _) :- !.
move(N, A, B, C) :-
M is N-1,
move(M, A, C, B), inform(A, B), move(M, C, B, A).
inform(X, Y) :-
write('move a disc from the '),write(X), write(' pole to the '), write(Y), write(' pole'),
nl.

Sisal

Peter Norvig, em seu artigo, sugere ainda que entre uma daquele mínimo de seis linguagens que um programador deveria conhecer, tenha alguma com suporte a paralelismo. E é aqui que entra a indicação de Sisal. Outro motivo para aprende-la é que você poderá conhecer um outro paradigma de programação: Programação orientada a fluxo de dados (diagramas). Sobre o paralelismo e como este conceito pode ajudar a você novamente mudar o como você vê a programação, é melhor mostrar através de um exemplo. Veja e analise o código abaixo:

for i in 1, quantidade_produtos
preco_final:= preco_liquido[i] + incremento[i]
returns array of preco_final
end for

Reflita e responda, o que você espera que este código faça? Bem, claramente ele soma um ‘preço líquido’ de algum produto e o soma com seu respectivo incremento e o atribui a um ‘preço final’. E, claro, já que estamos num for ele repetirá o processo para todos os produtos. Só que se você estiver atento talvez diga que há um erro no código: todas as somas estão sendo atribuídas para uma mesma variável. Logo cada operação sobrescreverá o resultado da operação anterior, correto? Não!

No Sisal temos dois tipos de Loops e um deles é feito para casos onde as iterações são independentes entre elas. Este costuma ser um óptimo caso para paralelismo e é isso que Sisal faz. Ele não faz uma operação após a outra. Ele faz todas, idealmente, ao mesmo tempo!

Se tivermos 50 produtos ele criará 50 instâncias independentes, do corpo da iteração. Ou seja preco_final:= preco_liquido[1] + incremento[1] e preco_final:= preco_liquido[50] + incremento[50] estarão coexistindo em regiões diferentes da memória.

Ao final a operação returns array of preco_final junta todos os valores preco_final destas instâncias e monta num array. Diferente de uma programação imperativa, não?  

Rebol

“Rebol é uma linguagem moderna, porêm com algumas idéias muito semelhante ao Lisp. Mas Rebol é muito mais rico sintacticamente. Rebol é uma linguagem brilhante e é uma pena que não seja mais popular, porque merece ser.” – Douglas Crockford. Que tal conhecer uma das linguagens que inspiraram a criação do padrão JSON? REBOL é uma linguagem multiparadigma, com traços bem fortes de linguagem funcional e programação simbólica, criada por Carl Sassenrath, o arquitecto e principal desenvolvedor do AmigaOS. A linguagem teve inspirações de Lisp, Forth, Logo e Self.
Pelas palavras de Douglas Crockford, falando sobre as influências de JSON: “Outra influência foi Rebol. Rebol é uma linguagem moderna, porêm com algumas idéias muito semelhante ao Lisp. (…) Mas Rebol é muito mais mais rico sintacticamente. Rebol é uma linguagem brilhante e é uma pena que não seja mais popular, porque merece ser.”

REBOL apresenta conceito de dialectos que é a capacidade/facilidade de se criar linguagens para um domínio específico. De acordo com seu próprio criador, este é o aspecto mais importante da linguagem:
“Embora possa ser utilizado para a programação, escrevendo funções, e executando processos, a sua maior força é a capacidade de facilmente criar linguagens de domínio específicas ou dialectos. ”

Outra característica interessante do REBOL é que ela é uma linguagem económica. Eu fui apresentado ao Rebol entre 2002/2003 por um colega de trabalho, que havia implementado um programa de Instant messaging para a empresa num tempo relativamente curto. Para se ter idéia de quão econômica esta linguagem pode ser, baixe o interpletador e execute o código abaixo:

REBOL[title:"Demo"]p: :append kk: :pick r: :random y: :layout q: 'image
z: :if gg: :to-image v: :length? g: :view k: :center-face ts: :to-string
tu: :to-url sh: :show al: :alert rr: :request-date co: :copy g y[style h
btn 150 h"Paint"[g/new k y[s: area black 650x350 feel[engage: func[f a e][
z a = 'over[p pk: s/effect/draw e/offset sh s]z a = 'up[p pk 'line]]]
effect[draw[line]]b: btn"Save"[save/png %a.png gg s al"Saved 'a.png'"]btn
"Clear"[s/effect/draw: co[line]sh s]]]h"Game"[u: :reduce x: does[al join{
SCORE: }[v b]unview]s: gg y/tight[btn red 10x10]o: gg y/tight[btn tan
10x10]d: 0x10 w: 0 r/seed now b: u[q o(((r 19x19)* 10)+ 50x50)q s(((r
19x19)* 10)+ 50x50)]g/new k y/tight[c: area 305x305 effect[draw b]rate 15
feel[engage: func[f a e][z a = 'key[d: select u['up 0x-10 'down 0x10 'left
-10x0 'right 10x0]e/key]z a = 'time[z any[b/6/1 < 0 b/6/2 < 0 b/6/1 > 290
b/6/2 > 290][x]z find(at b 7)b/6[x]z within? b/6 b/3 10x10[p b u[q s(last
b)]w: 1 b/3:((r 29x29)* 10)]n: co/part b 5 p n(b/6 + d)for i 7(v b)1[
either(type?(kk b i)= pair!)[p n kk b(i - 3)][p n kk b i]]z w = 1[clear(
back tail n)p n(last b)w: 0]b: co n sh c]]]do[focus c]]]h"Puzzle"[al{
Arrange tiles alphabetically:}g/new k y[origin 0x0 space 0x0 across style
p button 60x60[z not find[0x60 60x0 0x-60 -60x0]face/offset - x/offset[
exit]tp: face/offset face/offset: x/offset x/offset: tp]p"O"p"N"p"M"p"L"
return p"K"p"J"p"I"p"H"return p"G"p"F"p"E"p"D"return p"C"p"B"p"A"x: p
white edge[size: 0]]]h"Calendar"[do bx:[z not(exists? %s)[write %s ""]rq:
rr g/new k y[h5 ts rq aa: area ts select to-block(find/last(to-block read
%s)rq)rq btn"Save"[write/append %s rejoin[rq" {"aa/text"} "]unview do bx]]
]]h"Video"[wl: tu request-text/title/default"URL:"join"http://tinyurl.com"
"/m54ltm"g/new k y[image load wl 640x480 rate 0 feel[engage: func[f a e][
z a = 'time[f/image: load wl show f]]]]]h"IPs"[parse read tu join"http://"
"guitarz.org/ip.cgi"[thru]i: last parse my none
al ts rejoin["WAN: "i" -- LAN: "read join dns:// read dns://]]h"Email"[
g/new k y[mp: field"pop://user:pass@site.com"btn"Read"[ma: co[]foreach i
read tu mp/text[p ma join i"^/^/^/^/^/^/"editor ma]]]]h"Days"[g/new k y[
btn"Start"[sd: rr]btn"End"[ed: rr db/text: ts(ed - sd)show db]text{Days
Between:}db: field]]h"Sounds"[ps: func[sl][wait 0 rg: load sl wf: 1 sp:
open sound:// insert sp rg wait sp close sp wf: 0]wf: 0 change-dir
%/c/Windows/media do wl:[wv: co[]foreach i read %.[z %.wav = suffix? i[p
wv i]]]g/new k y[ft: text-list data wv[z wf <> 1[z error? try[ps value][al
"Error"close sp wf: 0]]]btn"Dir"[change-dir request-dir do wl ft/data: wv
sh ft]]]h{FTP}[g/new k y[px: field"ftp://user:pass@site.com/folder/"[
either dir? tu va: value[f/data: sort read tu va sh f][editor tu va]]f:
text-list[editor tu join px/text value]btn"?"[al{Type a URL path to browse
(nonexistent files are created). Click files to edit.}]]]]

Considerações Finais

Não existe saída para um artigo como este. Mesmo que existam linguagens ‘hors concours’, é inevitável que muitas linguagens boas acabem ficando de fora. Não ter mencionado Ruby entre PHP e Python é algo que será notado e questionado por muitos. Ter incluído Rebol entre as 10 e ‘esquecido’ Erlang como um belo exemplo de processamento paralelo pode ser encarado por muitos como algo discutível. Em resumo, decidir quem entra e quem sai é uma decisão difícil e extremamente pessoal. Até incluir Forth como exemplo de programação baseada em pilha foi considerado. Sem falar que é humanamente inviável conhecer todas as linguagens. Então, por estes motivos, ao fim, a minha seleção foi esta apresentada acima.
Para compensar esta falta, gostaria de tornar este post um ‘post aberto’. Fique livre para, nos comentários, criticar a seleção, apresentar uma linguagem que tenha sido ‘injustamente’ esquecida ou, ainda, apresentar a sua própria selecção. Se este post tiver a capacidade de inspirar você, e se você quiser escrever um post semelhante em seu blog, contendo a sua própria selecção ou simplesmente apresentando melhor uma linguagem que você acredite que vale apena o aprendizado, me informe que eu porto o link sem problemas. 

Abraços e espero que tenham gostado!