post
Hello World
Tudo começa por um Hello World, todos os desenvolvedores alguma vez na vida já escreveram um hello world ou se depararam com um código assim. Na programação e no mundo da computação tudo deve começar por um caso base para assim evoluir. O termo Hello World surgiu em 1972 em “A Linguagem de Programação C” (The C Programming Language) escrito por Brian Kernighan no primeiro capítulo e o código contido era:
– “Essa foi a maneira mais fácil e rápida de mostrar um exemplo na linguagem C com o printf”
Desde então o termo se tornou muito comum, utilizando normalmente para ensinar como exibir mensagens na tela em determinada linguagem. Você irá encontrar um exemplo em praticamente todas as linguagens de programação, no repositório Hacktoberfest-2018/Hello-world.
Nessa publicação pretendo arquivar meus estudos acerca das diferenças, vantagens e desvantagens entre as linguagens de programação. A critério ilustrativo irei exibir o Hello World da linguagem e abaixo os comparativos com suas fontes. Vamos lá:
Frontend
React
app.tsx
components/helloWorld.tsx
“O React (às vezes denominado React.js ou ReactJS) é uma biblioteca JavaScript de código aberto para criar interfaces de usuário. É mantido pelo Facebook, Instagram e uma comunidade de desenvolvedores individuais e outras empresas. De acordo com o serviço de análise de JavaScript Libscore, o React está sendo usado nos sites da Netflix, Imgur, Feedly, Airbnb, SeatGeek, HelloSign, Walmart e outros.[1].” Wikipedia
Vantagens
- Fluxo de dados unidirecional
- Boas ferramentas de depuração
- Fácil de reutilizar componentes
- Renderização do lado do servidor
- Fácil de testar e fácil de escrever testes
- Suporte para DOM virtual
- Rápido desenvolvimento mobile com React Native
- Maior liberdade para tomar as decisões certas e coloca mais controle em suas mãos. Unopinionated
- Independente do mecanismo de modelo (Template engine)
Desvantagens
- Verboso
- Pesado na memória
- Não há suporte para navegadores legados
- Não é uma solução completa
- Você tem que aprender uma nova sintaxe
Opinião Final
Informações Adicionais
Tamanho: a partir de 145KB quando minificado
VueJS
app.vue
components/helloWorld.vue
“Vue.js (commonly referred to as Vue; pronounced /vjuː/, like view) is an open-source JavaScript framework for building user interfaces and single-page applications.[4]” Wikipedia
Vantagens
- Baixa Curva de Aprendizado
- Fácil de Implementar no Projeto
Desvantagens
- Grandes concorrentes como React (do Facebook) e Angular (do Google)
- Muito material em idiomas asiáticos
Opinião Final
Informações Adicionais
Tamanho: a partir de 21KB quando minificado
Angular
app.js
index.html
“Angular (comumente referido como “Angular 2+” ou “Angular 2”) é uma plataforma de aplicações web de código-fonte aberto e front-end baseado em TypeScript liderado pela Equipe Angular do Google e por uma comunidade de indivíduos e corporações. Angular é uma reescrita completa do AngularJS, feito pela mesma equipe que o construiu.” Wikipedia
Vantagens
- Enorme ecossistema de componentes de terceiros
- Ligação de dados fácil e direta
- Suporte para uma arquitetura orientada a componentes componíveis com diretivas
- Enorme comunidade
- Fornece injetor de dependência
Desvantagens
- Curva de aprendizagem íngreme
- É quase obrigatório usar o Typescript
- Dificuldade em usar renderização do lado do servidor
- Configuração explícita
- O modelo HTML não está em conformidade com os padrões
Opinião Final
Informações Adicionais
Tamanho:
Backend
C-Lang
“C[2] é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, procedural, padronizada por Organização Internacional para Padronização (ISO), criada em 1972 por Dennis Ritchie na empresa AT&T Bell Labs para desenvolvimento do sistema operacional Unix (originalmente escrito em Assembly).[3]” Wikipedia
Python
“Python é uma linguagem de programação de alto nível,[4] interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991.[1] Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation. Apesar de várias partes da linguagem possuírem padrões e especificações formais, a linguagem como um todo não é formalmente especificada.” Wikipedia
Node (JavaScript)
“JavaScript é uma linguagem de programação interpretada.[2] Foi originalmente implementada como parte dos navegadores web para que scripts pudessem ser executados do lado do cliente e interagissem com o usuário sem a necessidade deste script passar pelo servidor, controlando o navegador, realizando comunicação assíncrona e alterando o conteúdo do documento exibido.” Wikipedia
“Node.js é um interpretador de código JavaScript com o código aberto, focado em migrar o Javascript do lado do cliente para servidores. Seu objetivo é ajudar programadores na criação de aplicações de alta escalabilidade (como um servidor web[1]), com códigos capazes de manipular dezenas de milhares de conexões simultâneas, numa única máquina física.[2] “ Wikipedia
Java
“Java é uma linguagem de programação orientada a objetos desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Diferente das linguagens de programação convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um bytecode que é interpretado por uma máquina virtual (Java Virtual Machine, mais conhecida pela sua abreviação JVM). A linguagem de programação Java é a linguagem convencional da Plataforma Java, mas não é a sua única linguagem.” Wikipedia
Ruby
“Ruby é uma linguagem de programação interpretada multiparadigma, que foi desenvolvida , originalmente em 1995, por Yukihiro “Matz” Matsumoto, para ser usada como linguagem de script. Matz queria uma linguagem de script que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python.[4] Ruby suporta programação funcional, orientada a objetos, imperativa e reflexiva. Foi inspirada principalmente por Python, Perl, Smalltalk, Eiffel, Ada e Lisp, sendo muito similar em vários aspectos a Python.[5] Ruby está entre as 69 linguagens mais velhas, de acordo com uma pesquisa conduzida pela RedMonca.[6]” Wikipedia
GoLang
“Go é uma linguagem de programação criada pela Google e lançada em código livre em novembro de 2009. É uma linguagem compilada e focada em produtividade e programação concorrente,[4]baseada em trabalhos feitos no sistema operacional chamado Inferno.[5] O projeto inicial da linguagem foi feito em setembro de 2007 por Robert Griesemer, Rob Pike e Ken Thompson.[4] Atualmente, há implementações para Windows, Linux, Mac OS X e FreeBSD.[3]” Wikipedia
PHP
“PHP (um acrônimo recursivo para “PHP: Hypertext Preprocessor”, originalmente Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web.[2] Figura entre as primeiras linguagens passíveis de inserção em documentos HTML, dispensando em muitos casos o uso de arquivos externos para eventuais processamentos de dados. O código é interpretado no lado do servidor pelo módulo PHP, que também gera a página web a ser visualizada no lado do cliente. A linguagem evoluiu, passou a oferecer funcionalidades em linha de comando, e além disso, ganhou características adicionais, que possibilitaram usos adicionais do PHP, não relacionados a web sites. É possível instalar o PHP na maioria dos sistemas operacionais, gratuitamente. Concorrente direto da tecnologia ASP pertencente à Microsoft, o PHP é utilizado em aplicações como o MediaWiki, Facebook, Drupal, Joomla, WordPress, Magento e o Oscommerce.” Wikipedia