plynyo Posted March 16, 2023 at 07:31 PM Report Share #630448 Posted March 16, 2023 at 07:31 PM (edited) Boas, Depois de alguns anos em cursos relacionados a programação eu vejo que um dos principais problemas de termos poucos programadores é a falta de organização no que toca ao planeamento das unidades curriculares desse género. Vejo muita malta a fugir dos cursos porque a primeira linguagem que lhes ensinaram para programação geal foi um belo C++ para desktop ou PHP, MVC no desenvolvimento web. É óbvio que isto vai assustar os alunos, sem sequer primeiro terem a noção da lógica e outros tópicos interessantes como a própria algoritmia como é que um aluno se vai safar em linguagens desta dimensão? Quando um rookie olha para uma linha de código em linguagens destas ganha vontade de ser enfermeiro, o scratch é uma plataforma bastante útil mas pouco utilizada, também existe o pascalzim que tem uma interface amigável mas já é antigo, e come on, é Pascal. Aqui está onde eu quero chegar: tenho idealizado um compilador/interpretador de uma nova linguagem baseada noutra como o Java ou o Python, onde, com uma sintaxe mais intuitiva e uma interface amigável e moderna, os alunos pudessem aprender de uma forma mais controlada a magia da programação. Além da área de desenvolvimento de código, este software teria problemas de programação de vários níveis nessa mesma linguagem embutidos nele, alguns tutoriais e dicas. Isto seria diretamente direcionado para uso curricular, sendo utilizado principalmente nas escolas do país. Eu sei que a parte mais difícil daqui é fazer um compilador/interpretador (ainda não sei bem qual utilizar nem a diferença deles na prática) para uma nova linguagem na qual a sintaxe seja definida por mim, mas queria saber a opinião da comunidade sobre como começar, qual ferramenta/linguagem utilizar e qual o grau de dificuldade e demanda que este projeto é estimado levar. Todo o conhecimento é bem vindo, aceito sugestões de todos os tipos. Antecipadamente grato! Edited March 16, 2023 at 07:32 PM by plynyo Link to comment Share on other sites More sharing options...
pwseo Posted March 17, 2023 at 09:26 AM Report Share #630455 Posted March 17, 2023 at 09:26 AM @plynyo, Parece-me que estás a abordar o problema na sequência errada. Se não sabes ainda qual a diferença prática entre um interpretador e um compilador nem qual utilizar para o teu projecto, diria que primeiro precisas de te informar bastante sobre o assunto. Muito concretamente, antes de tentares fazer uma linguagem para outras pessoas aprenderem a programar, já precisas de saber fazer linguagens simples, que não será utilizada por outras pessoas, para teres uma ideia dos domínios envolvidos (lexing, parsing, árvores sintácticas, etc etc etc). Já existem linguagens interessantíssimas para quem está a dar os primeiros passos na programação (como referiste, e bem, Python é um bom exemplo). Para considerares fazer mais uma linguagem para que outros utilizem, é necessário que identifiques claramente os pontos fracos das que já existem e de que maneira a tua nova linguagem irá melhorá-los. Exemplificando: se considerarmos que um dos problemas de Python é a falta de exercícios com algoritmos e estruturas de dados, será que vale mesmo a pena fazer uma nova linguagem? Seria necessário fazer os exercícios e além disso criar toda uma nova linguagem. Não seria mais simples investir esse esforço em criar exercícios para Python? É difícil atingir o equilíbrio entre adicionar complexidade suficiente para tornar a linguagem útil vs remover complexidade suficiente para tornar a linguagem simples/divertida para programar; há linguagens que lutam há anos e anos para serem bem sucedidas nesta frente, e são esforços de décadas de várias pessoas. Não quero com isto desencorajar-te de criar uma nova linguagem (muito pelo contrário), apenas considero demasiado ambicioso o objectivo de criá-la para ensinar outras pessoas a programar (pelo menos para já). Ainda assim, recomendo vivamente que cries várias pequenas linguagens para resolver problemas concretos e treinar nos diversos aspectos que estão envolvidos na criação de linguagens de programação (interpretadas ou compiladas). Existe um óptimo livro online para te meteres no assunto, se quiseres: Crafting Interpreters. 1 Report Link to comment Share on other sites More sharing options...
pjmvc Posted May 30, 2023 at 03:04 PM Report Share #631146 Posted May 30, 2023 at 03:04 PM Na minha opinião, a melhor linguagem para começar a aprender a programar é o Visual Basic 6. Link to comment Share on other sites More sharing options...
thoga31 Posted May 31, 2023 at 01:39 PM Report Share #631156 Posted May 31, 2023 at 01:39 PM Em 30/05/2023 às 16:04, pjmvc disse: Na minha opinião, a melhor linguagem para começar a aprender a programar é o Visual Basic 6. Geralmente sou bastante agnóstico acerca das linguagens para iniciar (ao contrário de há uns anos em que tinha opiniões "fortes"), mas Visual Basic 6? Por que motivos consideras a melhor? Knowledge is free! Link to comment Share on other sites More sharing options...
M6 Posted June 1, 2023 at 09:25 AM Report Share #631164 Posted June 1, 2023 at 09:25 AM Também estou curioso em saber o porquê de eleger o VB6... 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now