Ruby

### **Cronograma Histórico da Linguagem Ruby**

Ao contrário da maioria das linguagens de programação que seguem o eixo Europa/Estados Unidos, Ruby é uma linguagem originária do Japão.

Ruby surgiu a partir de discussões de Yukihiro Matsumoto (Japão, 1965), também conhecido como Matz, que desejava uma linguagem de scripts uja fosse verdadeiramente orientada a objetos e fosse sintaticamente simples, portável e que tivesse outras características que pudessem aumentar a produtividade dos usuários da mesma.

Matz já programava em Perl, mas não gostava dela porque ele achava que não parecia ser uma linguagem séria e também conhecia Python, mas ela não era exatamente orientada a objetos.

Ele queria uma linguagem com a qual fosse divertido programar e não um pesadelo. Essa linguagem deveria ser primordialmente compreensível por humanos e em segundo lugar por máquinas.

Como Matz não encontrou a linguagem ideal, ele resolveu criar uma. Ele passou vários meses escrevendo um interpretador e em 1995 divulgou seu trabalho em newsgroups no Japão. Para definir a linguagem ele buscou inspiração nas melhores estruturas e conceitos de Smalltalk, Perl, Ada, Eiffel e LISP.

Outras versões saíram em 1996 e 1997, mas só em 1998 foi lançada uma versão verdadeiramente estável, a 1.2. Nesse ano também ele começa a divulgar sua linguagem fora do Japão ao criar uma lista de discussão sobre Ruby em inglês.

Em 1999 Matz e Keiju Ishitsuka publicam o primeiro livro em japonês sobre Ruby, cujo título traduzido para o inglês era: “The Object-Oriented Scripting Language Ruby” . Um livro em inglês foi publicado no ano seguinte: “Programming Ruby” . Nessa época a linguagem já era mais popular do que Python no Japão e começava a se espalhar pelo mundo.

Em 2005, com o framework Ruby on Rails, um ambiente de desenvolvimento rápido de aplicações que permitia uma grande produtividade por parte dos programadores, Ruby fica realmente popular. Esse ambiente é muito usado na comunidade de criadores de aplicações Web. Ele foi criado por David H. Hansson (Dinamarca, 1979) em Ruby, e graças a ele, Ruby tornou-se uma das linguagens mais usadas hoje no mundo, estando em 11º lugar na tabela Tiobe em fevereiro de 2016.

Ruby foi projetada para seguir o princípio conhecido como POLA, “Principle Of Least Astonishment”, o que significa que as estruturas da linguagem não devem surpreender os programadores. Em muitas linguagens de programação encontramos essas surpresas, como estruturas que funcionam de forma inesperada.

Eventualmente Matz foi criticado por pessoas que diziam ter programado sempre com outras linguagens e que ficavam surpresas com alguns comportamentos de Ruby, mas ele esclarecia que o princípio só se aplica a quem já é programador Ruby; quem vem de outras culturas de programação certamente vai achar algumas coisas estranhas. Ele observa que outras linguagens, como C++, por exemplo, continuavam surpreendendo mesmo quem já as programava a muitos anos e era isso o que ele queria evitar que Ruby fizesse.

Um dos maiores problemas, porém, sempre foi a velocidade final do código implementado, mas cada versão subsequente de Ruby procurava melhorar um ou outro aspecto desse problema.

**Ruby O MELHOR AMIGO DO PROGRAMADOR**. **Histórias de sucesso**. Disponível em:https://www.ruby-lang.org/pt/documentation/success-stories/ Acesso em 17 de setembro de 2018

**Vanius Zapalowski. Análise quantitativa e qualitativa de linguagens de programação**. Disponível em: https://universidadedatecnologia.com.br/linguagem-de-programacao-criterios/ Acesso em 14 de setembro de 2018

**Sultan S.Comparing Selected Criteria of Programming Languages Java, PHP, C++, Perl, Haskell, AspectJ, Ruby, COBOL, Bash Scripts and Scheme Revision 1.0**.Disponível em: http://www.periodicos.capes.gov.br/?option=com\_pmetabusca&mn=88&smn=88&type=m&metalib=aHR0cDovL3JucC1wcmltby5ob3N0ZWQuZXhsaWJyaXNncm91cC5jb20vcHJpbW9fbGlicmFyeS9saWJ3ZWIvYWN0aW9uL3NlYXJjaC5kbz9kc2NudD0wJnBjQXZhaWxhYmlsdHlNb2RlPWZhbHNlJmZyYmc9JnNjcC5zY3BzPXByaW1vX2NlbnRyYWxfbXVsdGlwbGVfZmUmdGFiPWRlZmF1bHRfdGFiJmN0PXNlYXJjaCZtb2RlPUJhc2ljJmR1bT10cnVlJmluZHg9MSZmbj1zZWFyY2gmdmlkPUNBUEVTX1Yx&buscaRapidaTermo=Sultan+S.Comparing+Selected+Criteria+of+Programming+Languages+Java%2C+PHP%2C+C%2B%2B%2C+Perl%2C+Haskell%2C+AspectJ%2C+Ruby%2C+COBOL%2C+Bash+Scripts+and+Scheme+Revision+1.0. Acesso em 14 de setembro de 2018

**Blog, Linguagem de Programação.Linguagem de programação: critérios**.Disponível em:<https://universidadedatecnologia.com.br/linguagem-de-programacao-criterios/>Acesso em 15 de setembro de 2018

**Desenvolvimento web com Ruby e Rails. Tópico 3 - Senta que lá vem história: ruby, a linguagem de programação da terra do sol nascente**. Disponível em: https://sites.google.com/site/webroread/topico-3---senta-que-la-vem-historia-ruby-a-linguagem-de-programacao-da-terra-do-sol-nascente/Acesso em 15 de setembro de 2018

***Ruby* (linguagem de programação)**.Disponível em:https://pt.wikipedia.org/wiki/Ruby\_(linguagem\_de\_programa%C3%A7%C3%A3o)/Acesso em 17 de setembro de 2018