Open woliveiras opened 7 years ago
por que da escolha da linguagem
Fácil de começar
Ruby é uma linguagem que é bem fácil de começar, o hello world é puts "hello"
em um arquivo hello.rb
por exemplo.
Fácil de Instalar É muito simples de instalar, qualquer editor de texto da pra começar e a linguagem não entra na sua frente quando você tá pegando as manhas do básico (como Java por exemplo, que foi minha primeira linguagem).
Duck Typing
A pessoa também não precisa se preocupar muito com o sistema de tipos devido ao duck typing
, e quando se está começando ao meu ver isso é uma coisa boa.
Frameworks Excelentes Os frameworks também são muito bons, especialmente o Rails, Grape e Sinatra que para fazer apps fullstack ou APIs são excepcionais.
Comunidade Amigável A comunidade do Ruby é simplesmente uma das mais agradáveis e amigáveis, especialmente pra quem não sabe nada de nada. Slack, telegram, IRC a galera responde super rápido e ajuda a destravar.
Documentação excelente É muito fácil achar como funciona cada pedaço de Ruby e seus frameworks e achar exemplos de quase qualquer coisa que se queria fazer.
para que se usa essa linguagem
Ruby é uma linguagem de propósito geral, mas na minha experiência a maioria das pessoas usa com algum do frameworks citados acima para fazer:
quais empresas usam a linguagem
Algumas notáveis:
Uma lista maior: https://skillcrush.com/2015/02/02/37-rails-sites/ (2 anos atrás mas ainda a maioria da lista usa ruby/rails)
regiões do país (ou fora) daria para trabalhar com essa linguagem
Praticamente todas regiões / países tem empresas contratando devs de Ruby
No Brasil, pelo que vejo vagas se concentram mais em:
No exterior muitas vagas em:
Fácil aprendizado, uma linguagem onipresente, você pode desenvolver tanto back-end quanto front-end (claro que vai precisar de HTML e CSS), uma linguagem que esta ganhando cada vez mais espaço e força no mercado. Fácil utilização, apenas com um navegador ja é possível escrever códigos em JS, sem demais instalações, apenas um editor se necessário.
Hoje o JavaScript esta presente em quase todos os lugares, podemos trabalhar no back, front, mobile, desktop, ou seja, uma linguagem que esta em todos os lugares.
Acredito que todas as empresas que trabalham com web, meio impossível falar de web sem mencionar o JavaScript.
Acredito que todas (nunca pesquisei isso no mercado, portanto, não tenho esse conhecimento).
Livre e de código aberto: Não poderia deixar de mencionar isto como o primeiro item da lista. Python está sob a licença Python Software Foundation License, que é similiar a GPL com excessão de que pode-se distribuir os binários da linguagem sem necessitar anexar os fontes;
Multiplataforma: Por ser uma linguagem interpretada, Python roda em qualquer sistema que possua o seu interpretador. Além disso há “dialetos” Python como o já famoso Jython, uma forma de escrever Python para rodar na VM do Java;
Alto Nível: Python é uma linguagem de alto nível, de desenvolvimento rápido (RAD – Rapid Application Development) e que segue técnicas de DRY (Don’t Repeat Yourself) e KISS (Keep It Simple Stupid), é inteligível como o Inglês e sempre evita o implícito;
Orientada a Objetos: A orientação a objetos no Python é explícita e muito divertida. Aliás, tudo para o Python são objetos e pacotes (inclusive tipos “primitivos”), mas nada que impeça que você programe de uma forma estruturada ou funcional. Isto tecnicamente faz do Python uma linguagem multiparadigma;
Tipagem dinâmica forte: Isso quer dizer que você pode atribuir a uma variável qualquer tipo de valor e em qualquer momento do seu código fonte. Porém, Python não permite que você tente concatenar uma string com um valor inteiro, por exemplo;
Sintaxe: A sintaxe do Python é uma das suas mais fundamentais características. Em Python um bloco de código (por exemplo um if) é feito através de indentações. Isso força o desenvolvedor a indentar seu código fonte e garante uma boa legibilidade. Além de reduzir o uso de caracteres “esotéricos” como ->, ::, :=, {, }, etc. com Python você é capaz de escrever um for que testa uma determinada sequência e monta uma lista com (acredite) uma linha apenas;
Frameworks: Além de multiplataforma e multiparadigma, com o Python você é capaz de desenvolver para qualquer tipo de ambiente, seja desktop, web ou móvel. Para isso o Python conta com excelentes frameworks que auxiliam desde o desenvolvimento web, até o desenvolvimento de jogos ou algorítmos científicos de cálculos avançados;
Documentação: Este é outro ponto forte da linguagem. No site da comunidade brasileira você tem uma lista de fontes de estudos que é só um aperitivo do imenso conteúdo que você pode encontrar na Web;
Divertido: Acredite ou não, Python é extremamente divertido.
A COMUNIDADE! aberta, amigavél, acolhedora, divertida, inclusiva e com as melhores conferencias!
Resumo: Com Python se faz tudo! (até mesmo mobile com kivy e games com Pygame)
Python está em praticamente todo stack existente, alguns usam como linguagem principal outros como linguagem de apoio ou linguagem de integração ou de script.
Exemplos famosos:
Todas! principalmente remotamente Saiba mais: https://wiki.python.org.br/PerguntasFrequentes/SobrePython
Vocês estão representando demais nessas respostas! :heart:
Eu adicionaria aos pontos do @rochacbruno pro Python que o Python tem umas das melhores IDEs que já usei, o PyCharm (Da JetBrains, que faz o IntelliJ, RubyMine).
O autocomplete, linter, code styler, compiler, warnings, IntelliSense (sugestões de melhorias no código), detector de código morto, é feature demais.
Eu fui colocado num projeto de Python, e eu apesar de ter bastante experiência com backend, não tinha experiência com Python ainda, e pra mim o PyCharm foi uma supresa mega agradável: é uma surra de coisas pra te ajudar, auxilia demais especialmente pra aprender. ❤️
Python Se o @rochacbruno não te convenceu, eu não consigo ;-)
Mas se ele conseguiu te convencer e você precisa de ajuda é só chamar \o/
PHP, Ruby e JS. Por incrível que pareça, embora a demanda de vagas para Python tenha aumentado, as vagas nas linguagens que citei ainda são maiores. Python é a mais fácil, mas até que ponto lhe seria útil?
Qual linguagem de programação vocês indicariam para uma pessoa que deseja se tornar backend?
Devemos explicar em nossa resposta