Linguagens de programação, qual devo escolher?

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

Segundo o mais famoso dicionário da língua portuguesa, linguagem pode significar:

Forma de expressão que é própria de um indivíduo, grupo ou classe, usada para a comunicação com outras pessoas.

Partindo do princípio de que uma linguagem deve facilitar a comunicação com outras pessoas e ajudar você a expressar seu conhecimento, vamos entrar no contexto do desenvolvimento de software e colocar em discussão um tema que gera muita confusão, acaba com longas amizades e até destrói casamentos.

Qual a melhor linguagem de programação?

Achar uma resposta para essa pergunta muitas vezes passa por encontrar todo tipo de argumento para defender a linguagem que você usa – o que pode ser um grande erro se fechar seus olhos para tecnologias que podem torná-lo um programador melhor.

O objetivo de uma linguagem de programação é permitir que um programador possa resolver problemas computacionais criando um conjunto de instruções que seguem um determinado padrão, por meio do qual se representam ações executáveis por um computador.

Isso pode fazer com que muitos pensem que a melhor linguagem é aquela que permite que um desenvolvedor possa se ?comunicar? da melhor forma com o computador. Outro grande erro. Para isso existem os compiladores.

Quem já trabalhou em um projeto razoável, já sofreu com problemas durante a reutilização do código – comentários que não comentam nada, códigos macarrônicos e outros fatores que atrasam qualquer projeto de criação de software.

Não existe nada mais estressante para um desenvolvedor do que perder horas, dias, semanas ou meses tentando entender um código que outro programador criou. Com isso você perde muito tempo de desenvolvimento, tentando ler códigos e corrigir bugs e perdendo produtividade.

Pensando dessa forma, uma linguagem de programação deve melhorar a comunicação entre desenvolvedores, facilitando a criação de códigos mais limpos, claros e que podem ser lidos facilmente por outro programador a qualquer momento.

Portanto ser o mais próximo de uma linguagem humana e intuitiva é uma grande qualidade e deve ser considerada na escolha de uma linguagem para começar a programar.

Então para de enrolar e diz logo qual devo escolher!

Sinto desapontá-lo, mas essa pergunta não tem uma resposta predefinida, pois depende de alguns fatores que estão totalmente incorporados à relação do programador com a linguagem.

Você deve escolher a linguagem que faça de você um programador melhor, que se divirta programando, que aumente sua produtividade e o anime a se aprofundar nos conceitos e na filosofia por trás dela. Mas cuidado para nunca ficar limitado a não conhecer as novas tecnologias que surgirem. É um erro grave que frequentemente acontece no mundo do desenvolvimento de software.

Antes de concluir o raciocínio, um exemplo interessante de que a linguagem melhor é a que fornece a possibilidade de se expressar melhor, acontece quando imaginamos um possível bate papo entre um brasileiro e um americano, por exemplo.

Muitas pessoas podem achar que o correto é o brasileiro falar inglês, outras acham que o americano é quem deve falar português e alguns que vai depender se o brasileiro está nos Estados Unidos ou se o americano está no Brasil.

Mas a forma como o brasileiro e o americano devem se comunicar é a forma em que ambos consigam se expressar de forma mais adequada e confortável, seja ela falar inglês, português ou tentar uma comunicação por mímica.

Portanto, procurem conhecer bem a linguagem que você programa ou está interessado em começar a programar e a comunidade por trás dela. Procure uma linguagem que te possibilite desenvolver seu conhecimento da melhor e menos dolorosa forma possível. Caso você consiga isso, ela é ideal.

Na verdade, a linguagem pouco importa. Você, o programador, é quem faz toda a diferença no final das contas.

Mas antes de finalizar, gostaria de falar um pouco sobre qual a linguagem tem sido ideal para mim até o momento. Essa linguagem em específico tem me tornado mais produtivo, mais apaixonado pelo simples fato de programar e me proporcionado grandes momentos de diversão.

Se você quer saber que linguagem milagrosa é essa? Ruby, uma linguagem dinâmica, totalmente orientada a objetos, open source com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita, assumindo a filosofia de tornar as coisas simples fáceis e as coisas complexas possíveis. Ruby surgiu em 1995, foi desenvolvida por Yukihiro ?matz? Matsumoto que tinha como um de seus objetivos tornar o ato de codificar algo mais natural.

Até por esse motivo, a linguagem que vou abordar com mais freqüência será Ruby e seu framework de desenvolvimento web Ruby on Rails ou simplesmente Rails. Porém, o foco principal deste modesto blog é discutir e compartilhar conhecimento na área de desenvolvimento de aplicações principalmente para web, se aprofundando em paradigmas de desenvolvimento, metodologias ágeis, web design entre outros assuntos relacionados.

Sendo assim, nosso foco não é uma única linguagem de programação; discutiremos ainda sobre outras linguagens e frameworks sempre que for pertinente. [Webinsider]

Em breve vamos comentar alguns temas, como a “orientação a classes” que existe na maioria das linguagens que se dizem orientadas a objetos, metodologias de desenvolvimento ágil, a verdadeira POO com Ruby, como se tornar mais produtivo adotando TDD e BDD, alguns mini tutoriais de Ruby on Rails e por aí.

Siga o Webinsider no Twitter.

.

Avatar de Dyego Luz

Dyego Luz (dyego@sitesfeitos.me) é fundador do Sitesfeitos, estudante de administração na UFRN onde cursou também ciência da computação. Fascinado por desenvolvimento de aplicações web, marketing digital e empreendedorismo. Mais no Twitter (@sitesfeitos) e no Facebook.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

16 respostas

  1. Segue um post bem legal, com um piada sobre as diferenças entre as linguagens:

    As diferenças entre as linguagens de programação estão sempre presentes em calorosas discussões nos grupos de programadores, encontrei uma piadinha antiga criada originalmente para explicar as vertentes do Metal que foi reaplicada para as linguagens de programação e dar uma visão das diferenças entre cada linguagem.

    Confira no link abaixo

    http://regifelix.com/2013/04/23/linguagens-de-programacao/

    Abraço

  2. O assunto é de discussão vasta e foi bem defendido pelo Dyego, concordo tb com o Lex, Oliver e demais…, só que quem tem a visão do projeto está mais perto do êxito na boa escolha, mas em si tratando de opção para um mesmo projeto temos que ter neste caso, como disseram, a visão de analista e não apenas de codificador, eu tenho minha preferida, por gostar, mas para a empresa que trabalho a melhar sacada é a satisfação do cliente.

  3. Francisco, acho difícil você encontrar algo relevante sobre isso. É um assunto bastante polemico e geralmente cada desenvolver tenta puxar a sardinha para o lado da linguagem que ele utiliza.

    Acho que uma boa opção seria fazer um estudo sobre as principais linguagens utilizadas em um mercado, apontando o que levou alguns desenvolvedores a utiliza-las (pode entrevista-los), e sugerir alguns casos onde cada linguagem faz mais sentido.

    Pode seguir uma linha que separe as linguagens em características como produtivas, alta performance, didáticas… Enfim, acho que é um bom caminho.

    Obrigado por comentar, me segue no twitter, podemos discutir mais obre o assunto: @dyegoluz

  4. Dyego Luz, estou escrevendo um artigo com esse tema, mas não encontro textos ou bibliografias sobre o assunto, você saberia indicar mais fontes assim como a sua. Desde já obrigado pela postagem.

  5. Uma coisa foi dita e considero a mais pura verdade: devemos agir como desenvolvedores, não como meros codificadores.
    Acredito que a diferença de sintaxe é um obstáculo facil de ser superado, considerando que desenvolvedores conseguem criar soluções para problemas. A linguagem a ser utilizada é uma ferramenta para colocar essas soluções em pratica. Mas com certeza é muito melhor quando se pode fazer com a linguagem mais confortável para nós.

  6. Nossa concordo plenamente com o comentário do Dyego Luz. Faz lembrar os livro novos q adiquirimos recentemente na livraria e foleamos as primeiras páginas onde o autor ou outro convidado da área faz um brilhante esclarecimento desse padrão! Nós realmente somos os mestres, mas se achar o mestre e não estudar as linguagens de programação é sambar logo ali na frente!

    Abraço a todos!

  7. Bom! Comentando o primeiro comentário, suponhamos sim que dependa do projeto e não do programador e é claro da equipe que trabalha em conjunto também, o processo de diagramação, onde ficaria a criatividade de cada um ao desenvolver esse projeto e também o porem de muitas linguagens se interligarem através de suas rotinas.
    Temos clássicos como o PHP se juntar ao bom e velho HMTL e CSS, então na minha visão como diagramador de sites é incorreto acreditar que nós como individuos temos de devemos acompanhar o mercado que está sempre em expansão e mudança e ao mudar a linha de pensamentos mudar também!?
    Então seria conservador pensar que não podemos escolher uma melhor forma de nos agregar-mos a esse nixo de mercado por escolhermos uma unica linguagem com a qual nos sintamos mais tranqüilos ao desenvolver-mos nossos projetos!?
    Assim como em cada grupo, seja ele social, musical ou profissional temos a necessidade de ajuntamento e adaptação, agregando mais ao desenvolvimento.
    Somos indivíduos e temos características unicas o que nos faz acreditar que sim temos que escolher em quais linguagem e plataforma iremos desenvolver nossos projetos! Por que quer queiramos quer não tudo hoje em dia se interliga, quase que se tornando um padrão único de desenvolvimento!

  8. A forma como você abordou o assunto com certeza é a mais acertada.
    Existem tantas linguagens de programação porque cada uma resolve um problema diferente. E discutir qual é a melhor é como discutir futebol ou religião. No final cada um vai achar que a sua é a melhor e nada é resolvido.

  9. A conclusão que eu chego dessa história toda é que para as pessoas que como eu são novas nessa área, fica muito confuso escolher uma linguagem, pois existem várias e todas tem suas vantagens em relação a outra.
    No meu caso, programo em PHP e estou pensando no futuro estudar no minimo mais uma linguagem de programação.

  10. Bem pessoal, o propósito do artigo é tentar diminuir aquela ideia (das pessoas que estão começando na área) de querer buscar uma super linguagem e ao invés disso, focar mais no desenvolvedor. Nós somos os mestres já dizia o Matz criador da linguagem Ruby. Matz nos coloca como mestres e não as maquinas, linguagens ou frameworks, que devem ser nada mais do que nossos escravos. Se nos preocuparmos demais com a linguagem que estamos usando, principalmente no início do aprendizado em programação, acabamos nos esquecendo que quem faz a diferença realmente é o programador. A linguagem deve apenas ser uma ferramenta que te possibilite solucionar um problema específico de maneira mais produtiva e menos dolorosa. Então a melhor linguagem é a que verdadeiramente te torna mais produtivo na resolução de um determinado problema! Talvez isso é que não tenha ficado tão claro.

    PS: As críticas são importantes, continuem opinando e criticando os artigos para que possamos discutir e compartilhar mais conhecimento sobre desenvolvimento de software. Assim podemos nos aprimorar constantemente na área.

  11. Lendo os comentáros, acho que o negócio é o meio termo também, não posso deixar de concordar que é legal você gostar de determinada linguagem (quando for possível). O Oliver levantou um ponto excelente, eu mesmo quase nunca trabalhei fazendo sites na internet e sou desenvolvedor web há pelo menos 10 anos. E intranets e extranets são um mundo vasto e complexo.

    abraços a todos

  12. Tenho que discordar também, pois cada projeto tem seus requisitos e cada caso é um caso, não dá para generalizar e nem ser fã dessa ou daquela linguagem apenas por ela lhe fazer bem. Trabalho numa empresa de automação de maquinas e que também desenvolve aplicativos que rodam na web, dá pra construir tudo em uma só linguagem e esta deve ser a que os desenvolvedores gostam? Não. Dá pra fazer tudo com Java porque esse roda em qualquer dispositivo e em qualquer plataforma? Não. Usamos C, C++, Java e .NET cada uma para a necessidade do seu projeto, naquele momento e para aqueles requsitos.

    Acredito que hoje há um grande problema no mercado de internet, poís a maioria dos desenvolvedores sonham que o mundo se resume em fazer sites e portais e se esquece que há um universo muito grande lá fora, nem isso, há um universo gigantesco por trás de toda a web e por trás de toda as tecnologias que a sustenta.

    Enfim, prefiro continuar acreditando que a escolha da tecnologia está mais ligada a necessidade do projeto, as necessidades do cliente e dos recursos disponíveis e não do desenvolvedor, penso que há lugar ao sol para todos e todas as tecnologias, mas não acredito que devemos nos isolar numa única tecnologia apenas porque essa é a que nos agrada. O que nos deve agradar é ter a oportunidade de atender bem o nosso cliente e entregar um projeto em que podemos nos orgulhar, isso sim é o que vale no final.

  13. Concordo com o Lex Blagus. E um pouco com o Dyego também. Acredito muito no gostar e sentir-se bem com determinadas linguagem de programação. Mas, o projeto e suas pertinências influencia bastante sobre qual linguagem aprender e usar.

    No fim das contas acredito que o grande lance é ser poliglota, aprender a gostar um pouco ( ou um muito ) de cada linguagem, e nos projetos discernir qual a melhor opção ( que eu acredito, para a maioria dos desenvolvedores, é uma das partes mais sensíveis no projeto ).

  14. Bem, acredito que a matéria toca em algo muito intimo de toda pessoa que trabalha na área de softwares. Há linguagens que de fato são mais rapidas para desenvolvimento, outras para trabalho em equipe e assim por diante. O que tem que ser diferencial é o fato de o profissional lidar com várias linguagens de programação. Por mais que ele trabalhe com uma linguagem principal, tem conhecimento sobre várias outras. Tem que se ter uma visão de desenvolvedor e não um programador. Diferenças de sintaxe entre uma linguagem e outra se aprende em semanas. Já a capacidade de escolher a melhor forma de entregar um produto que atenda à necessidade do seu cliente é próprio de Desenvolvedores.

  15. Olá Dyego !

    Permita-me discordar. Acredito que a melhor linguagem de programação depende do projeto e não só do programador. Explico-me: um determinado projeto dificilmente terá uma única pessoa trabalhando, muitas vezes será com vários programadores e por mais que algumas linguagens sejam muito legais para um determinado programador, pode não ser interessante para o cliente. Exemplifico: a linguagem mais fácil para mim é o ASP3; ele é bastante literal e até pessoas que não entendem de programação podem compreende-lo um pouquinho. Mas ele é antiquado, não tem bons recursos (como upload, orientação a objeto e arrays) e cada vez menos pessoas o conhecem. Mas, existem ainda outros fatores:
    – O cliente para o qual o projeto se destina já adota uma detarminada linguagem ou plataforma ?
    – Para a linguagem que você escolheu para determinado projeto, há uma base sólida de desenvolvedores a disposição no mercado para que venham a lhe substituir ou ajudar no futuro ?
    – É uma linguagem solidificada no mercado ou somente um novo hype, ou ainda um produto ainda em beta ? Exemplo: GWT é genial, mas um produto muito crú para sair usando num projeto sério por aí (lembrando: GMail não é GWT, apenas o Wave o é). Projetos sem grande longevidade (um hotsite, por exemplo) pode até ser um bom laboratório de novas tecnologias.
    – A linguagem escolhida oferece os recursos necessários para a execução de determinado fim estipulado no escopo do projeto ?

    Acredito que seja um pouco simplista usar a analogia de linguagem verbal para a linguagem de programação.

    Espero que compreendam que meus questionamentos tem como objetivo promover a reflexão e não criticar o artigo de forma pejorativa.

    abraços

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *