No momento, há uma grande quantidade de linguagens de programação, cada uma das quais tem suas próprias peculiaridades e padrões. Neste artigo, vamos discutir um deles.
Ruby como uma linguagem de programação já existemuito tempo atrás. O trabalho na primeira edição deste idioma incrivelmente popular começou hoje no distante 1993 e a primeira versão oficial data de 1995. O criador da língua, Yukihiro Matsumoto, era um entusiasta da programação desde os dias dos alunos, mas a idéia de criar seu próprio instrumento apareceu muito mais tarde. Então, o que é tão notável sobre essa linguagem de programação que hoje ocupa uma das principais posições na arena mundial de desenvolvimento de software?
Quando você cria sua prole, Matsumoto, gostaum fã dedicado e entusiasta da programação orientada a objetos, criou uma certa filosofia para programadores que desejam aprender seu idioma. Assim, a linguagem de programação Ruby foi projetada para criar aplicativos simples e, ao mesmo tempo, compreensíveis. O foco principal de Ruby não é sobre a velocidade do programa, mas sobre a simplicidade e legibilidade do código.
O que é "Ruby" como uma linguagem de programação? Esta é principalmente uma linguagem orientada a objetos. Não há tipos primitivos - todas as estruturas e unidades de dados são objetos (ao contrário do mesmo idioma Java, existem estruturas de dados primitivas). Cada função em "Ruby" é um método. Muitas propriedades e recursos são trazidos por criadores de outras linguagens de programação, para que você possa dizer com segurança que Ruby (idioma) absorveu o melhor de muitos outros idiomas e tecnologias.
Respondendo a pergunta sobre o que é "Ruby"linguagem multi-paradigma, você pode de repente encontrar-se no calor da disputa. Afinal, esta linguagem permite que você use qualquer um dos paradigmas de programação igualmente bem sucedido: um estilo de procedimento de programação, a abordagem funcional e orientada a objetos. O desenvolvedor é livre para escolher para si o paradigma de que é mais perto dele, e suas ferramentas de este não será restrições ou mais fraca. A linguagem de programação "Ruby" só incentiva essa opção.
Se falamos de frameworks populares queexistem hoje no mercado, entre os quais se destaca Rails. Muitas pessoas, quando perguntado sobre o que é o "Ruby", intuitivamente implica RubyOnRails. Este conjunto de componentes de software se tornar um padrão da indústria entre os desenvolvedores. Ele constantemente mantido, desenvolvido e complementado pela comunidade de programadores, mantendo-se livre. Este quadro descreve os componentes de aplicações web como parte do padrão MVC (Model-View-Controller), mas também fornece integração pronta com o servidor de aplicativos e uma interface para acessar o banco de dados. Estes 3 componentes, de fato, permitir que algumas horas para escrever e executar um simples blog na Internet ou uma página web privado.
Outro componente importante do ecossistema da linguagem Ruby,e sua parte orientada para a web, são estruturas e bibliotecas para escrever testes. RubyOnRails prega a filosofia do BDD (desenvolvimento orientado a comportamento), o que significa que primeiro o programador cria uma sequência de testes que descrevem o comportamento esperado do programa e cria o código que deve passar com êxito nesses testes. Um padrão não resolvido nessa área é o RSpec - esse framework permite que você escreva casos de teste de forma compreensível, mesmo para desenvolvedores inexperientes.
Graças ao padrão detalhado, quedeve cumprir com todos os pacotes e bibliotecas em Ruby, o desenvolvimento de add-ons não é difícil. Portanto, entre as gemas chamados (do Inglês -. Gem) módulos podem ser encontrados em praticamente qualquer aplicação - desde a integração com redes sociais e serviços de terceiros para a plataforma acabada para e-commerce. Tudo que você precisa usar uma biblioteca de terceiros - é descrever a dependência de seu projeto de alguma biblioteca, localizada em um repositório remoto ou local, e durante a próxima compilação esta biblioteca é automaticamente carregado no aplicativo. Também simplifica a migração entre os desenvolvedores do projeto, já que não há necessidade de compartilhar manualmente dependências para construir o projeto.