O documento discute as características e aplicações de diferentes linguagens de programação como Java, PHP, Python, C e C++. Ele explica que cada linguagem tem suas vantagens e desvantagens dependendo do escopo do projeto, e recomenda C/C++ para projetos de robótica educacional devido à sua velocidade, robustez e quantidade de conteúdo online disponível.
O documento discute as características e aplicações de diferentes linguagens de programação como Java, PHP, Python, C e C++. Ele explica que cada linguagem tem suas vantagens e desvantagens dependendo do escopo do projeto, e recomenda C/C++ para projetos de robótica educacional devido à sua velocidade, robustez e quantidade de conteúdo online disponível.
O documento discute as características e aplicações de diferentes linguagens de programação como Java, PHP, Python, C e C++. Ele explica que cada linguagem tem suas vantagens e desvantagens dependendo do escopo do projeto, e recomenda C/C++ para projetos de robótica educacional devido à sua velocidade, robustez e quantidade de conteúdo online disponível.
Essa resenha crítica tem como principal objetivo apresentar parte do
conteúdo presente no material didático da disciplina de Noções de Programação, inserida no curso de Robótica Educacional da Faculdade Global. O material foi apresentado como conteúdo do quinto módulo do curso e tem como foco apresentar conceitos básicos das linguagens de programação, de forma generalista, sem se prender a nenhuma delas em específico. No conteúdo, podemos ser apresentados a algumas linguagens de programação e a aplicabilidade de cada uma delas. Podemos entender que o Cobol foi uma linguagem desenvolvida para profissionais alheios, simplificando expressões matemáticas para que se pareçam com frases em inglês, facilitando sua compreensão. Esse nível de abstração pode ser observado em outra linguagem, o SQL, utilizado para manipulação de bancos de dados e que pode ser executada sem ter a necessidade de expressões matemáticas e lógicas mais refinadas. Sendo assim, é possível perceber que dentre as inúmeras linguagens existentes - podendo chegar a mais de 2000, segundo o material fornecido -, cada uma tem suas peculiaridades, se tornando uma opção melhor ou pior para determinado escopo. Como comparativo, podemos citar três linguagens amplamente utilizadas pela comunidade acadêmica e comercial: Java, PHP e Python. A primeira linguagem, a Java, criada na década de 90 pela finada Sun Microsystems, foi desenvolvida para funcionar sobre uma máquina virtual (VM). Essa VM permite uma portabilidade simplificada entre sistemas operacionais, um problema grande da época. Independente do sistema operacional (SO), o código pré-compilado seria interpretado da mesma forma, cabendo a VM o trabalho de converter ao código interpretável pelo SO. Ao utilizar essa abordagem, o Java ganhava em portabilidade mas perdia em desempenho, já que existe um item extra no pipeline de processamento. A segunda linguagem do comparativo é o PHP. Essa ferramenta foi desenvolvida para trabalhar no âmbito da web, tendo de forma nativa uma série de códigos para facilitar comunicação entre máquinas (servidores) e acesso a base de dados. Criar um site simples que faz buscas em uma base de dados MySQL com PHP é extremamente trivial, sendo utilizado até mesmo em cursos básicos de programação web. Tentar executar a mesma tarefa com outras linguagens, como C ou Python tende a ser mais complicado e exigir mais conhecimento do programador. Mesmo com ferramentas que permitem o uso de PHP para aplicações desktop, por conta da sua forma de construção, ela não se apresenta como uma boa opção, uma vez que existe um bom desempenho da máquina onde ele está instalado (que seria um servidor). A terceira e última linguagem escolhida é o Python. Com uma escrita extremamente simples, podendo praticamente ser lida como um texto, o Python vem crescendo e pode se tornar a linguagem mais utilizada no mercado de trabalho. O seu problema, porém, vem exatamente dessa facilidade. Pode-se dizer que o Python dá uma corda para o programador. A escolha de fazer um balanço ou uma forca é totalmente do desenvolvedor. A ausência de uma série de “travas” presentes em outras linguaguens permite a um programador experiente desenvolver aplicações complexas em tempo recorde, mas também acaba criando confusões na cabeça de um programador novato quando os erros acontecem, já que ele não tem total domínio do que está implementando. Após esse comparativo, podemos então decidir qual linguagem é mais pertinente para determinados projetos. Se for necessário desenvolver uma aplicação desktop, com interfaces gráficas atraentes e simples de implementar, o Java é uma boa solução. Se a aplicação tiver a Internet como foco, o PHP é uma boa opção. Já se o desenvolvedor for experiente e precise de uma linguagem simples, que permita testar hipóteses de forma rápida e objetiva, o Python é extremamente útil. No contexto da robótica, principalmente a educacional, as linguagens C/C++ são muito utlizadas graças a sua velocidade, robustez e grande quantidade de conteúdo para estudos prontos na Internet. O módulo de robótica da Lego, o MindStorms, funciona em C++. O Arduíno, processador de pequeno porte amplamente utilizado em projetos de robótica simples, funciona com C++ e Python. O ROS, um sistema operacional desenvolvido para agilizar a produção de sistemas integrados para robótica, é, por padrão, feito para utilizar C/C++. A parte educacional do C/C++ é que a linguagem de obriga a fazer o processo correto de programação, senão simplesmente não funciona. E, quando não executa, ele informa ao usuário onde e porque não funcionou. Mais educativo que isso, só um professor sentado na cadeira ao lado. Em resumo, existem inúmeras linguagens de programação, cada uma com suas vantagens e desvantagens. Para escolher a melhor para seu projeto, deve-se analisar esses prós e contras. Caso o projeto seja de robótica, uma boa opção é o C/C++, já que existem inúmeras ferramentas e exemplos disponíveis online que permitem agilizar o processo de implementação do protótipo.