[HN Gopher] Show HN: I built an online programming language
       ___________________________________________________________________
        
       Show HN: I built an online programming language
        
       Author : sandes
       Score  : 62 points
       Date   : 2021-12-02 14:22 UTC (8 hours ago)
        
 (HTM) web link (codigo.so)
 (TXT) w3m dump (codigo.so)
        
       | fjfaase wrote:
       | I build a meta online programming language, where you can define
       | your own grammar ;-). See:
       | https://fransfaase.github.io/ParserWorkshop/Online_inter_par...
       | An example grammar is found at the bottom of the page.
        
       | ksec wrote:
       | Off Topic, at the bottom of the page;
       | 
       | >Backed by AWS startup programs
       | 
       | What does that mean ?
        
         | midwestemo wrote:
         | I think it's meaning this
         | 
         | https://aws.amazon.com/startups/
        
           | ksec wrote:
           | I was thinking something similar, because for a moment I
           | thought AWS are starting to fund startups.
        
       | Raudius wrote:
       | I built a similar (albeit less polished) javascript interpreted
       | language as a lockdown project.
       | 
       | https://github.com/raudius/homegrown
        
       | rmnclmnt wrote:
       | The french pseudo-code reminded me of my freshman year in
       | Computer Science degree, so much nostalgia! Completely forgot
       | about all that since then, but I wonder if using your mother
       | tongue to learn programming is truly effective, especially in
       | non-English speaking countries?
        
         | dgellow wrote:
         | Translating programming languages and computer science concepts
         | is IMHO a terrible idea. That creates fragmentation, which
         | makes it very difficult to get access to the broader
         | programming community and provides very little benefits for
         | students understanding. Based on my personal experience, in the
         | French speaking world almost everything is translated, which
         | makes it hard to find online references and creates a lot of
         | friction when you start to be confronted to the English
         | terminology. As an example, "a thread" is a term I can easily
         | search online and that everybody is using, where "un fil
         | d'execution" is used by absolutely nobody. You basically have
         | to learn everything twice.
         | 
         | Regarding programming languages, one of the first job I had was
         | with WinDev, using the French dialect. It was a horror to deal
         | with it, and makes it especially hard to switch to something
         | else if you get too comfortable with it. Something that people
         | pushing for translation miss is that a programming language
         | isn't an actual language where you have words that you compose.
         | It is a set of operators/keywords to express a logic or to
         | produce an effect. The actual operators/keywords do not matter
         | that much when you're learning: "for", "var", "while", "if" are
         | just keywords that you map in your mind to the actual effect
         | they produce. They could technically be replaced by shapes or
         | emoji without creating too much learning issues (terrible idea,
         | please do not do this). By learning the same English keywords
         | that everybody is using you can at least easily switch between
         | technologies and get access to the wider international
         | community.
        
         | sandes wrote:
         | :) Glad to hear this!
         | 
         | In teaching, simplification is really important. Take a look at
         | this [1] simple script in Portuguese and tell me if it seems
         | intuitive to you. This is the situation of most of the people
         | trying to learn to code here in Argentina/Latam using very
         | large and professional programming languages. I hope this can
         | help them.
         | 
         | [1]
         | https://codigo.so/editor.pt/fb3e08c2-e929-4379-81fa-c3126bbd...
        
           | rmnclmnt wrote:
           | Sorry, I do not speak Portuguese! However, I could easily
           | find-out what the snippet was doing by simple logic.
           | 
           | I have been teaching programming/data for the past 2 years
           | and you're right, simplification is of utmost importance for
           | students. Actually, when teaching programming with Python, I
           | go with them in the process of translating their logic to
           | English first then it's almost a 1-to-1 mapping with the
           | instruction set (for simple algorithms). Same goes for SQL.
           | 
           | Anyhow, nice concept here, curious to see where it goes!
        
             | sandes wrote:
             | Thank you for your feedback. I think codigo.so can be good
             | for non-English speaking students trying to learn to code.
             | 
             | For the HN audience it doesn't add much value.
        
       | alexvoda wrote:
       | Will you open source this? If yes, i would like to contribute
       | another language.
       | 
       | Also, since this is supposed to be pseudocode, maybe it would be
       | better to replace the atribution operator with something else,
       | and the comparison operators with their math variants.
        
       | SwiftyBug wrote:
       | Very cool!
       | 
       | As a native speaker of Portuguese, I think it would look nicer
       | the verbs were all in the same conjugation, simple present. You
       | have "retornar" (return) which is in infinitive form and
       | "escreva" write which is in the present imperative mode. I would
       | choose to put all the verbs in the simple present:
       | 
       | retorna => return faz => do escreve => print
       | 
       | I couldn't find the Portuguese version for "break", but in my
       | opinion it should be "quebra" or "interrompe".
       | 
       | If this project becomes open source, I'll be happy to contribute.
        
         | sandes wrote:
         | Thank you! I really appreciate this :)
        
         | Vox_Leone wrote:
         | Great project. Congratulations.
         | 
         | I am also a pt_BR speaker. To be completely frank, I would say
         | I'm more comfortable programming in English. In the "test"
         | example, for instance, I wouldn't know which alias to use,
         | whether 'verdadeiro' or 'verdade'. But it's pretty cool in
         | English. Kudos
        
           | SwiftyBug wrote:
           | I'd only choose "verdade" if its opposite is "mentira".
           | Otherwise, I'd go with "verdadeiro", which goes better with
           | "falso".
        
           | sandes wrote:
           | Thank you! Can you help me set the correct alias for each
           | word in portuguese?
        
             | [deleted]
        
         | rlf_dev wrote:
         | I also think having everything in the formal form makes it a
         | little bit jarring, like the sample code in the main page
         | having the keyword "faca" when "faz" would be much more
         | clearer.
        
       | clintonc wrote:
       | "Docs" is broken :) How can I learn about the language, aside
       | from the examples?
       | 
       | This scratches a peculiar itch that I have which isn't _quite_
       | addressed by other solutions (codepen, stackblitz, replit, etc).
       | Can you import libraries at all?
        
         | sandes wrote:
         | > "Docs" is broken
         | 
         | Yes, I'm building it, you can see some examples at
         | https://codigo.so/editor.en/ [Ctrl + Enter] list all built in
         | functions
         | 
         | > by other solutions (codepen, stackblitz, replit, etc)
         | 
         | No, codigo.so is a pseudocode interpreter specially designed
         | for people who don't speak English.
        
       | sandes wrote:
       | It's a multi-language pseudocode interpreter so you can write and
       | run code in English, Spanish, Portuguese and French in your
       | browser.
        
         | fruit2299 wrote:
         | awesome!
        
         | rabarbers wrote:
         | Link to documentation is broken: https://codigo.so/docs/ (also
         | link to community is broken, but I care more about
         | Documentation link).
        
           | sandes wrote:
           | Yes, I'm building it, you can see some examples at
           | https://codigo.so/editor.en/
           | 
           | [Ctrl + Enter] list all built in functions
        
       ___________________________________________________________________
       (page generated 2021-12-02 23:04 UTC)