Nenhuma linguagem de programação é simplesmente melhor ou pior. As linguagens podem ser melhores ou piores para uma determinada tarefa, mas não existe nenhuma linguagem perfeita. Acha realmente que sua linguagem é a melhor do mundo? Então quer dizer que você conhece todas as linguagens e consegue explicar porque a sua é melhor que todas elas?
Em Assembly você consegue fazer qualquer coisa, mas pode demorar muito tempo. Produtividade também é um recurso importante de uma linguagem, principalmente nos dias de hoje. A Microsoft fala insistentemente que uma das grandes vantagens do .NET é o aumento na produtividade do programador. Quanto menos tempo o programador precisar se envolver com detalhes de baixo nível, mais tempo ele terá para focar-se no problema que está resolvendo. Ao invés dele se preocupar se a função coloca o retorno no registrador EAX ou no EBX, ele usará esse tempo para criar mais uma tabela no SQL Server ou fazer mais uma reunião.
De alguns anos para cá, a área de desenvolvimento de software tem passado por uma grande evolução. Desde os anos do GW-BASIC até o C# e as managed runtimes, muita coisa mudou. Eu sei que ainda existem pessoas que continuam usando ferramentas de 10 anos atrás, como Clipper, mas isso já é outra história. A realidade é que hoje existem milhares de opções para desenvolver um software. Java, PowerBuilder, C++, PHP, Visual Basic, Delphi, Perl, Ruby, .NET, isso sem falar nas bibliotecas de cada linguagem. A quantidade é imensa.
A idéia que nos vem a cabeça vendo essa evolução é de que, a medida que o tempo passa, escrever software comum vem ficando cada vez mais fácil, cada vez mais rápido. Já pensou desenvolver aquele sisteminha de cadastro de clientes que você fez
Agora vamos mudar o foco: digamos que você é um programador da HP, e seu gerente acha que a BIOS (que está longe de ser um programinha) do seu fornecedor não resolve todos os seus problemas. Assim, você foi o felizardo escolhido para desenvolver a nova BIOS dos micros HP, onde a inicialização do micro será bem mais rápida e será exibido um logotipo da HP de altíssima resolução toda vez que o computador for inicializado.
Aí você pensa: “Isso vai ser fácil. Eu gravo o logotipo da HP
Nosso trabalho enfoca a linguagem de Programação Ruby. Abordaremos históricos, algumas curiosidades e o seu mercado atual.
História do Ruby.
Ruby se tornou reconhecida no meio especializado desde que Dave Thomas, conhecido como um dos "Programadores Pragmáticos", adotou-o como uma de suas linguagens preferidas e acabou por escrever um dos mais completos livros sobre a linguagem, o Programming Ruby. Com o advento desta publicação, a linguagem passou a contar com uma boa fonte de iniciação e referência em inglês, aumentando consequentemente o número de adeptos da linguagem no Ocidente.Ultimamente, devido a grande exposição de um framework web feito em Ruby, o Ruby on Rails desenvolvido por David Heinemeier Hansson, a linguagem tem sido foco da mídia especializada justamente pela sua praticidade.Esta mesma praticidade inclusive é um dos conceitos básicos desta linguagem. É possível fazer algoritmos que resolvam seus problemas, não necessitando se preocupar com as limitações da linguagem ou do interpretador.
Matz começou a trabalhar no Ruby em 24 de fevereiro de
Em 2004, David Heinemeier Hansson e colaboradores criaram a “killer application” que está alavancando a linguagem para uma linguagem de primeiro nível: o RubyOnRails.
Estamos felizes em anunciar que Ruby se tornou “Linguagem de Programação do Ano de 2006”. Ruby teve o maior aumento de popularidade em um ano dentre as linguagens de programação (+2.15%). Quem esteve próximo esse ano é JAVASCRIPT com +1.31%. Ambas as linguagens foram impulsionadas por seus frameworks correspondentes, Ruby on Rails e Ajax. Isso deve ser uma nova tendência. No passado recente era necessário ter uma grande empresa por trás da linguagem para aparecer nos holofotes (Sun com Java, Microsoft com C#), mas hoje em dia um killer app parece ser suficiente. Marketing viral pela Internet funciona! Os ganhadores dos dois últimos anos, PHP e Java, são os perdedores desse ano. Outras tendências observadas é o crescimento das linguagens dinamicamente tipadas e o fato de diferença na popularidade das linguagens diminuírem.
Características
Para manter a praticidade, a linguagem possui algumas características interessantes:A sintaxe é enxuta, quase não havendo necessidade de colchetes e outros caracteres.Todas as variáveis são objetos, onde até os "tipos primitivos" (tais como inteiro, real, entre outros) são classes;Estão disponíveis diversos métodos de geração de código em tempo real, como os "attribute accessors". Através do Ruby Gems, é possível instalar e atualizar bibliotecas com uma linha de comando, de maneira similar ao APT do Debian Linux. Code blocks (blocos de código), ajudam o programador a passar um trecho de instruções para um método. A idéia é semelhante aos "callbacks" do Java, mas de uma forma extremamente simples e bem implementada. Mixins, uma forma de emular a herança múltipla, sem cair nos seus problemas.Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente.
Finalidades de Ruby
Fazer o processo de automatização das operações e atendimentos do cliente na rede bancaria, disponibilizando um amplo meio ambiente com diversos elementos funcionais que tragam conforto e comodidade tornando a interação cliente/rede bancaria mais rápida e eficiente, diminuindo assim filas e esperas indesejáveis.
Quem está por trás do Ruby?
Ainda hoje, Matz é o responsável por todas as decisões não-consensuais do Ruby. Ou seja, qualquer divergência quanto à implementação de uma nova funcionalidade é resolvida pelo "ditador benevolente". Apesar desta "dependência", a comunidade é forte a ponto de sobreviver "caso o Matz seja atropelado por um ônibus espacial". Existem pessoas que estão tão inteiradas com o código quanto o próprio Matz. Diferentemente de outras tecnologias opensource, não existe uma empresa por trás de suas operações, bancando os custos. O projeto sobrevive de doações feitas pelos usuários satisfeitos e por empresas que conseguiram aumentar sua produtividade utilizando Ruby.
São tantos os critérios que podemos analisar em uma linguagem de programação que na maioria dos casos as tendências de desenvolvimento visam a economia financeira. Entendamos como Critério de Avaliação de uma linguagem de programação aquela característica que a diferencia de outra linguagem e que pode adequar-se melhor a um cenário de Aplicação.
Queremos criar um background job para monitorar funções de Software no ambiente Linux, claramente não podemos fazer uso da linguagem Visual Basic, pois esta é designada somente para a plataforma Windows, Queremos criar um site Web com características de atualização dinâmica diariamente, para isso não podemos fazer uso de Clipper, pois este não tem características Web. Assim sendo, sempre devemos escolher a linguagem de programação utilizada em um projeto baseado nas características oferecidas Pela própria linguagem.
Passada a primeira fase da escolha da linguagem, por algumas vezes nos depararemos com algumas opções diferentes, então, e agora? Qual usar?
Existem outros parâmetros a serem analisados, estes quais são importantes para a escolha da linguagem como Portabilidade, Manutenibilidade, Capacidade de Escrita, Legibilidade, os chamados Critérios de Avaliação. Podemos notar que nenhuma das linguagens pode se considerar perfeita nenhuma delas em quais quer quesitos, mesmo sendo muito boa, deve ser descartada, pois ao pertencer a uma seleção para o projeto já conta como útil a alguma aplicação.
O ruby além de ter perturbado o sono de muitos desenvolvedores tem trazido aquele sentimento muitas vezes de insegurança como também de empreendedorismo em investir em algo tão recente e exponencial, ao passar dos meses de pesquisa notamos o crescimento da busca de mais informações sobre essa nova linguagem principalmente de profissionais que gerenciam ou até mesmo desenvolvem projetos para implementação de sistemas tamanha essa procura que já é possível ver cursos e palestras sobre o assunto “nascer” entre o nosso convívio, o fato é que essa linguagem já passou do tempo da novidade para o tempo de procura por qualificação.
O crescimento de sua popularidade
A popularidade de Ruby cresce exponencialmente e com isso, mais e mais pessoas estão aprendendo a linguagem. Recentemente, mais de 400 interessados em se tornar desenvolvedor Ruby registraram para as Lições Grátis de Ruby na (http://rubylearning.com). O Ruby está criando sensação no mundo do desenvolvimento por conta da sua natureza orientada ao objeto, facilidade de uso e facilidade de lidar com as exceções. A maioria dos iniciantes em Ruby tem um monte de perguntas relacionadas à linguagem; oportunidades em Ruby; o futuro de Ruby Existem poucos desenvolvedores Ruby Rails no mundo. No Brasil são aproximadamente 453, mas como mostra o estudo realizado pela Evans Data em 2007, revela que o uso da linguagem de scripts Ruby no Brasil será o dobro em 2008, hoje os profissionais brasileiros são os mais atuantes no uso da linguagem
atualmente 15,6% dos desenvolvedores brasileiros utilizam o Ruby e a previsão é atingir um índice de 33% em 2008. Entre as empresas que já estão utilizando Ruby podemos citar algumas como Sun Microsystems, Jruby, NetBeans, Microsoft, Apple, Google, Measuremap, IBM, Oracle, Ebay, MicroPlace, amazon.com.
Um profissional que espera retorno de empresas pequenas ou médias porte o número de clientes da sua aplicação provavelmente não será enorme e então você não terá muitos problemas em relação a desempenho.
Numa empresa grande além de tudo aquilo que se faz na empresa pequena é preciso de números. Quem conhece bem o Rails sabe que faltam várias coisas para que ele se torne uma aplicação de nível “enterprise”. As grandes empresas geralmente estão presas nas tecnologias mais usadas no mercado e querem correr o mínimo de risco (isso é meio contraditório, pois hoje em dia você tem que inovar se quiser sair na frente). Se o projeto em questão é algo novo e experimental (algo não-crítico para a empresa), fica mais fácil você usar o argumento da inovação e importância de se estudar tecnologias novas.
Os profissionais de modo geral esperam que o desempenho das linguagens interpretadas (o caso de Ruby) se compare ou aproximes se das compiladas (C#) e das com máquinas virtuais (Java), o futuro do Ruby é promissor.
Um profissional que escolhi Rails pra uma aplicação na web, ainda que esta esteja na fase de estudos e experimental, terá um bom resultado apesar do mercado de internet brasileiro não ser enorme como o norte-americano, segundo o Ibope são 22 milhões de brasileiros com acesso à internet. A Web 2.0 no Brasil é ainda foco de Rails junto com outros frameworks moderninhos como Django, CakePHP e Seaside tem sido a escolha de muitos dos “startups” da chamada Web 2.0 pelo mundo.