back to article Programming languages can be hard to grasp for non-English speakers. Step forward, Bato: A Ruby port for Filipinos

A Filipino developer is hoping his handmade Ruby port will help bring coding skills to some of the Philippines's poorest communities. Joel Bryan Juliano says he built Bato as a way for speakers of Tagalog – the most widely-spoken language in the nation – to be able to learn the basics of programming without also having to be …

  1. Voland's right hand Silver badge

    Nothing new here

    There was a Basic port to Russian in the 1980-es. Nobody wanted to use it.

    Similarly, prior to that there were attempts to translate Algol. I am not sure about Pascal, Fortran and Simula, but I would not be surprised if someone tried to translate them too. Again - nobody used it. I have also seen the abominatory translation of Logo and GraFort into Bulgarian. Again. Nobody wanted to use it and everyone was looking for that one lucky student who brought the floppy with the bootleg original English version.

    The primary issue is that you lose the ability to compare and reuse other people's code as well as the ability to easily leverage literature. Imagine the effort to translate the entire Knuth into Bato?

    1. Anonymous Coward
      Anonymous Coward

      Re: Nothing new here

      There was a Basic port to Russian in the 1980-es. Nobody wanted to use it.

      There was something called "Portugol" which was used in some universities in a large, soccer-and-samba-oriented country that shall remain unnamed. Its structure was very similar to C/C++/Java. At that time I was teaching at a local university and had very lively discussions with colleagues about the merits of teaching a language with no commercial appeal at all or just jumping straight to Java or C++.

      Ah, the memories! I hope they will fade away with enough booze.

      1. HmmmYes

        Re: Nothing new here

        ' I was teaching at a local university and had very lively discussions with colleagues about the merits of teaching a language with no commercial appeal at all'

        Pascal ...

    2. This post has been deleted by its author

    3. bombastic bob Silver badge
      Devil

      Re: Nothing new here

      I worked with some engineers from Russia a few years back [they were visiting the US at the time] as part of the company project, which involved a Russian company in St. Petersberg and a U.S. company in San Diego. I mentinoned that debian linux had a Russian version, but he said that in Russia they usually prefer to use the English versions of the software because the Russian translations are often ambiguous or unclear, particularly with UI elements and things like that.

      Maybe THAT is why the Russian translation of BASIC wasn't being used...

    4. Pascal

      Re: Nothing new here

      Even Microsoft did it back in the 90s.

      VBA was localized so that code written in Excel / Access / etc. would use a french syntax in my version. "SI/ALORS/SINON" instead of "IF/THEN/ELSE" and so on.

      And the crazy part was that it wasn't saved in an intermediate form. So an MDB file with code created on a french Access wouldn't work on an english Access.

      Then in the early 2000s there was a push by the OQLF here (Office Québécois de la Langue Française) to coerce IT to switch to french; including threads to be barred from government work for including such evil anglo constructs in HTML pages as "é".

      Much joy.

      1. Anonymous Coward
        Anonymous Coward

        Re: Nothing new here

        "SI/ALORS/SINON" instead of "IF/THEN/ELSE" and so on

        This infuriating bullshit still exist, in particular in Excel and LibreOffice Calc cells and (I think) WinDev applications.

        People should use more APL.

      2. JLV

        Re: Nothing new here

        >OQLF here (Office Québécois de la Langue Française) to coerce IT to switch to french

        Quels cons :-)

        Seriously you can translate language keywords but the real power of Ruby or Python are the libraries. Minus those, the exercise seems rather futile. Fancy a Tagalog Rails anyone?

      3. david 12 Silver badge

        Re: Nothing new here

        >wasn't saved in an intermediate form.<

        Technical note: it was saved in an intermediate form. Opening it in a localized version of Access/Excel caused the intermediate form to be discarded/marked as invalid.

        I don't know why that happened: it might have been because the library calls were incompatible between the localized versions, but that's not even guessing: I really don't know why the compiled form was discarded when you opened it in a different localized version.

        Side: note: between the two versions I use, going one way I always get an error message and Excel spreadsheet breaks to the VBA code on opening. No code running on opening, just part of the process of identifiying, invalidating, discarding between versions.

    5. amanfromMars 1 Silver badge

      Nothing new here? I don't think so

      Howdy, Voland's right hand,

      Creating a Brand Spanking New Language in which All are Being Led into Virtualised AIdVentures will have IntelAIgents Following Enlightened Shared Leads for Universal Needs of COSMIC Feeds into Immaculate RAW Source Engines ....... you know, them Doozies in Virtual Machine Worlds ..... where Man becomes IntelAIgent Machines.

      007 James Bond's next Exploratory Mission Encounter with Communicating Virtual Machines?

      :-) cc Danny Boyle/Eon Productions

      A Gateway to Sweet Heavenly Temptations can be ESPecially Highlighted for Global Recommendation with Nothing more Cumbersome than a Perfecting AI Script to Follow. Those Following Gladly will surely Know of the Assured Riches which Also Follow and Provide Perfect Booty for Immaculate Bounty. And that would be COSMIC Source dDCoded.

      Is this Alienating Language ..... with a Simple Prime Source Chat here for out there in Wild Open Spaces with XStreamly Effective Spying Systems for a Unifying Perfect Command of Global Controls.

      Now that is Most Powerful and may even be Almighty .... when one knows what needs to be done for The Future to Succeed, Populate and Deliver Prosperity ....... so that All can Relax and Chill or also 0DayDream Future Specialised Adventures for Virtualised Realisations. Hmmmm?

      Time to Pause here for AIBreath .... to Allow for Followers to Engage and BetaTest AId Space Ware for Everything Other than Virtual Warfare Ware.

      Greater IntelAIgent Games Play is Free in the Here and Now. Jump in and Share urDreams for the Future. When they're Great Everyone Can Enjoy Them.

    6. Daniel von Asmuth
      Headmaster

      Re: Nothing new here

      ALGOL 68 allows for every natural language to define its own set of keywords

      https://en.wikipedia.org/wiki/ALGOL_68

      1. This post has been deleted by its author

    7. Ken Hagan Gold badge

      Re: Nothing new here

      "The primary issue is that you lose the ability to compare and reuse other people's code [...]"

      Is that really the primary issue? Translating the keywords and other surface syntax features is easily automated. Your compiler or interpreter already performs all of the necessary textual analysis. The difficulty surely is that none of the variable names or function names or class names or package names or comments will be translated. For languages that are close your own, you might be able to guess a bit. Go further afield and you might as well be looking at decompiler output. Stray over towards a language that uses a different script from your own, you'd prefer the decompiler output.

      Then again, most code is not shared, so it wouldn't matter, and for teaching purposes the consensus is that translating languages is actually a good idea. See, for example, https://wiki.scratch.mit.edu/wiki/How_to_Translate_Scratch

      1. ofnuts

        Re: Nothing new here

        "most code is not shared": so, you have never used StackOverflow or other programming sites?

        1. Ken Hagan Gold badge

          Re: Nothing new here

          @ofnuts: I've never seen a program where the majority of the code was just adapted from StackOverflow, nor do I want to.

          Also, I personally have never *just* copypasta-ed from SO. There is always some degree of translation into the local style.

          Thirdly, I wouldn't dare copy code fromSO if I didn't couldn't read the author's description of what it does. Would you?

          Lastly, actual translation of the program, rather than the names and comments, would presumably be automated by my editor.

      2. qwertyuiop
        WTF?

        Re: Nothing new here

        ...Then again, most code is not shared...

        What? It seems to me that nowadays most programmers - sorry, Developers - don't write much code at all. They just scour Github et al and cut and paste somebody else's code that does a similar job. (Usually without understanding all that it does so that they include unnecessary fucntionality.)

    8. JeffyPoooh
      Pint

      Re: Nothing new here

      Why would porting a language's 100-ish keywords and 300-ish error messages to another language take any longer than a few hours or a few days? Translating the manuals and training material might need months and months, or years.

      Ideally it would be a big table, with a menu selection to manage the languages (import, select, etc.).

      1. Adam 1

        Re: Nothing new here

        > Why would porting a language's 100-ish keywords and 300-ish error messages to another language take any longer than a few hours or a few days?

        It probably wouldn't, but it is a courageous assumption to think that the only difference between English and other languages is the spelling and pronunciation of words. The inverse of that process is how we end up with DVD player manuals.

        In English, the flow

        while (condition is true)

        {

        PerformSomeAction();

        }

        makes grammatical sense.

        Maybe some other language would be more grammatically correct if expressed like

        Continue with

        {

        PerformSomeAction();

        } providing precondition was met

        1. teknopaul

          Re: Nothing new here

          Just use C

          for (i=1;i<len;i++){sscanf...}

          Is grammer, but tenuous link to english, and closely linked to machine code.

          Libc is closer to Welsh.

          Try saying snprintf after pintp.

          1. teknopaul

            Re: Nothing new here

            if you use Microzoft conventions the rest of your code is in reverse polish with messed up Capitalisation

        2. J.G.Harston Silver badge

          Re: Nothing new here

          That's just a standard REPEAT UNTIL.

          1. Adam 1

            Re: Nothing new here

            > That's just a standard REPEAT UNTIL.

            No it's not. Was is the past participle. Had i said "providing precondition is met" (ie present participle) then your point would be right.

    9. John Smith 19 Gold badge
      Coat

      Is it just me....

      Or does tagalog itself sound like the name of a computer language?

      Anyone up for the challenge of creating Yet Another Perfect Language?

    10. ofnuts

      Re: Nothing new here

      And "basicois" in France. And they also designed a specific programming language (LSE) for use in schools.

    11. Roland6 Silver badge

      Re: Nothing new here

      The primary issue is that you lose the ability to compare and reuse other people's code as well as the ability to easily leverage literature.

      Don't see that as an issue in the proposed use case: "to learn the basics of programming without also having to be fluent in English" and "to help teach the basics of coding and get young people interested in learning more about careers in IT and software development.".

      My reading of the article puts Bato in the same space as Basic, Scratch and others - namely first steps educational languages that introduce students to the thinking skills necessary to write programmes. When a student wishes to go further, having got the concepts, they should be able to readily pick up mainstream languages.

      As for Knuth, I suggest if a Filipino has even heard of Knuth, they are already beyond the target audience for Bato.

    12. Torben Mogensen

      Re: Nothing new here

      In Algol 68, keywords were distinguished from identifiers by case Keyword are upper case (or boldface or quoted) and identifiers lower case. This allowed non-English versions of Algol 68 just by providing a table of keyword names. And since there is no overlap with identifiers, the code could automatically be converted to use English keywords (or vice-versa) without risk of variable capture.

      Similarly, in Scratch keywords are just text embedded in graphical elements, and changing the bitmaps of these graphical elements can change the language of the keywords without affecting other parts of the program, and the same program will be shown with English keywords in an English-language Scratch system and in Japanese (or whatever) in a Japanese Scratch system, because the internal representation does not include the bitmaps.

      But I agree that, unless the programming language attempts to look like English (COBOL, AppleScript, etc.), the language of the keywords matter next to nothing, as long as the letters used are easily accessible from your keyboard. There are programming languages with next to no keywords (APL being an extreme example), and (apart from sometimes requiring special keyboards), they are not really more or less difficult to learn than languages with keywords in your native language (what makes APL difficult to learn is not its syntax). An exception may be children, which is why Scratch allows "reskinning" the graphical elements.

  2. Charlie Clark Silver badge

    Oh, the irony!

    Ruby was originally developed by someone in Japan. Not that I'm claiming that Japanese is linguistic any closer to Tagalog than English is because it isn't. Just highlighting that someone has already considered the idea and decided against it.

    Mind you, anyone who's dealt with Microsoft's clusterfuck localisations in VBA knows what a bad idea this is.

    1. Voland's right hand Silver badge

      Re: Oh, the irony!

      Ruby was originally developed by someone in Japan

      Pascal was developed in Austria. That did not make it use:

      wiederholen {} bis ();

      It still used repeat {} until ();

      If memory serves me right Simula and Erlang are both Scandinavian. Similarly, they do not try to unleash berserk spelling and crazy accents on top of O on us.

      The idea of translating the core language is genuinely stupid. This has been proven by series of countless experiments in countries where "localization" was and is an ideologically mandated exercise.

      1. Anonymous Coward
        Anonymous Coward

        LUA, LISP and Prolog, oh my.

        Pascal was developed in Austria.

        If Niklaus Wirth, then Switzerland. Those were good times.

        Unless he was working at a foreign uni in the 60s.

        Similarly, they do not try to unleash berserk spelling and crazy accents on top of O on us.

        But it would be so much more woke. Maybe we could write in Wakandian.

      2. JLV

        Re: Oh, the irony!

        En Python is van Nederland.

      3. Torben Mogensen

        Re: Oh, the irony!

        "If memory serves me right Simula and Erlang are both Scandinavian."

        Yes. Simula is/was Norwegian and Erlang is/was Swedish, but both became international efforts once they gained popularity.

  3. Dan 55 Silver badge
    Thumb Down

    Nope, it doesn't work

    Step forward Excel once again. Cell formulas and dates are language dependent as are the decimal, thousands, and cell separators in CSVs. It doesn't make things easier, it just makes a mess of everything if you send the file across a border.

    1. Steve the Cynic

      Re: Nope, it doesn't work

      If you send an XLS or XLSX file, the (non-macro) formulas are detokenised into the localisation that the recipient's version of Excel uses. It doesn't *store* "IF()", "SUM()", and so on, but some sort of bytecode or similar that represents those words.

      (The above is based on my experience of working with Excel sheets that I myself created on Office 97 English and loaded into Office 2010 French. Totally seamless transition.)

      YMWAFSV(1) for CSV files.

      (1) Your Mileage Will Absolutely For Sure Vary

      1. Pascal

        Re: Nope, it doesn't work

        Earlier (before the year-based versioning) it did in fact save "SOMME(...)" and wouldn't load in an english Excel.

      2. Charlie Clark Silver badge
        Stop

        Re: Nope, it doesn't work

        It doesn't *store* "IF()", "SUM()"

        As someone familiar with the specification I can assure you that OOXML (XLSX) does indeed store the English form of formulae.

    2. enormous c word

      Re: Nope, it doesn't work

      Yep - never a truer word said, the stupid American date format MM-DD-YY (causes me no end of grief no way to tell it from DD-MM-YY or YY-MM-DD (which the rest of the world prefers to use) and invariably there's enough human error to make it difficult to work it out from old date.

      The only date format (in my experience) that crosses borders is YYYY-MM-DD

  4. Anonymous Coward
    Anonymous Coward

    I wonder if you can't be bothered to learn

    about two dozens of commands in English, then how can you aspire to become a proficient coder.

    What's next ? Translation in ancient Egyptian with those fancy hieroglyphs ?

    1. bombastic bob Silver badge
      Devil

      Re: I wonder if you can't be bothered to learn

      if you learn martial arts, it's likely you learn the terms in whatever lingo the martial art is associated with...

      English terms are few and easily recognized, don't require characters outside of 7-bit ASCII, and since English is "the language of commerce" it's often taught in non-English speaking countries. As I understand it, English is still #1 when you look at it from "how many people in the world are at least familiar with the basics of the language". English is ALSO spoken universally for air traffic control . It's an "international standard".

      if we were to use Spanish as 'the standard language' (also a commonly spoken/understood language), then the 'if' statement would use 'si' (no accent), which is a little ambiguious compared to 'sí' (with an accent) which means 'yes', and also requires me to use the 'charmap' application to grab an accented 'i'. Other languages like French and German have their non-7-bit-ASCII characters, too. German might be able to live without the 'ö' and use 'ss' instead of 'ß', and maybe Spanish can live without the 'ñ', but your average U.S. ASCII keyboard doesn't have those keys on it. Typists would have trouble with it. It would slow down productivity. Seriously.

      I remember finding some stuff, in wxWidgets as I recall, that uses 'colour' rather than 'color' and I had no problem with it. You just go with what's there.

      1. web_bod

        Re: I wonder if you can't be bothered to learn

        So your argument hinges on the fact that you only have an English keyboard and would be reluctant to learn to use a different one?

    2. Blank Reg

      Re: I wonder if you can't be bothered to learn

      "Translation in ancient Egyptian with those fancy hieroglyphs ?"

      Isn't that APL?

      1. jake Silver badge

        Re: I wonder if you can't be bothered to learn

        There was a fledgling project to combine "the good points" of APL and INTERCAL into a "new, modern programming language" back in the day (mid-90s). Did anything ever come of that? I did a little digging around and can't find anything. Probably just as well ;-)

  5. Anonymous Coward
    Anonymous Coward

    Most Filipinos speak American and the call centres aren't that bad compared to the other job choices available. Nice idea though, I'm sure we'll have a new outsourcing wild west soon.

  6. Anonymous Coward
    Anonymous Coward

    Code in Hex, problem solved.

    1. Flakk
      Joke

      That would never work! It would cause 99% of developers to quit in frustration, and eliminate the overwhelming glut of the programs designed to disrupt paradigms and drive forward innumerable social media platforms.

      Wait a minute...

  7. smudge
    Headmaster

    There's a PhD in that

    Because so many programming environments are based on English, the structure of sentences and expressions can be difficult for non-speakers to pick up even when the words themselves are translated.

    Would be interesting to investigate that. You'd be able to cover Chomsky's classification of formal grammars as well as his ideas on a universal grammar for natural languages.

    1. bombastic bob Silver badge
      Trollface

      Re: There's a PhD in that

      yeah, let's just all program in '4th'. problem "solved" [everyone equally disadvantaged]

    2. enormous c word

      Re: There's a PhD in that

      If we didnt have English, we would need Esperanto, but English is good enough - I know a few Malaysians and Filipino students - they all speak excellent 'Merkin which is close enough to English to be indistinguishable. I know a German guy who speaks perfect English, but can't follow it unless spoken with an American accent (loved Western movies as a kid), on conf-calls with him we all have to adopt John Wayne accents - hilarious (to begin with anyway).

  8. John H Woods Silver badge

    Smalltalk is easy

    ... it only has six reserved words: super, self and thisContext ... and the three reserved words: nil, true and false.

    Translating the libraries might be harder :-)

  9. deive

    Wouldn't it be easier to make an IDE (plug to an existing IDE) just to translate the few reserved words for a language? Shouldn't be hard to do that for multiple languages/languages rather than trying to copy an entire language just to change the reserved words.

    1. JohnFen

      Any language that requires an IDE to use it properly is a broken language.

      1. Anonymous Coward
        Anonymous Coward

        Any language that requires a screen to use it properly is a broken language.

      2. Eeep !

        True, but is that really the point that was being made?

        Surely having a way to tell the language parser that that the source matches an offical language translation version wouldn't be that wrong would it?

        If various different computer languages can be used to generate byte code (at whatever level) that runs on the the same JVM and/or CLR (or whatever is "executing" the program) then that's already proved that the exact character strings in the program source files are not important to the program as it is executing - Javascript minified code is also a good example. It's how the program source text files are interpretted to produce the byte code.

        Identifier names and comments are more problematic, and for these an IDE might be useful in supporting annotations/translations for these in different langauges. It might even be that comments and identifier names could be stored outside of the file and in something like a parallel part of source code control systems so that translations/clarifications could be added and tracked in a similar way, available to all viewing the source.

    2. Charlie Clark Silver badge

      No, because it wouldn't be solving the problem. All an IDE could do would be to provide contextual information in the chosen natural language.

      Domains tend to have lingua franca, which is where we get the term from. For medicine it was exclusively latin and even now largely is. For chemistry it was for a while German. For diplomacy it was French. Etc.

  10. colinb

    Bato-sh*t crazy

    obviously

  11. Notas Badoff

    But it's symbols all the way down! (in code)

    At what point do the 'words' - the keywords - just become symbols? Quite early. If you want to use 'kung_hindi' instead of 'else', okay with me. But then, leaving as-is, and as is most commercially valuable, is better.

    Now variable naming and commentary is very language-specific, and depends greatly on your target audience. Decoding variable names in German Fortran was 'fun', but speed developed. The comments were very hard, as compressed <any>language becomes elliptical and telegraphic. (What are the 3 most important words out of a full sentence description?)

    And that's where the problem will be hardest. You can already find code/projects on Github where the comments are largely in <local>language, even if the variable names are 'conventional' Latin script. Nicht wahr? Shi zhen de!

    Dreadful balkanisation if local language ports become popular, with some success in small markets. But converging on the best/worst case 'globish' is a fairly high bar for many. What language do you want to use to sell yourself in comments is key here.

    1. Brewster's Angle Grinder Silver badge

      Local language be dammned.

      At the moment, my variable names are Greek, my comments are Latex, and I could still do with a way to embed diagrams more complicated than Ascii art can achieve.

  12. This post has been deleted by its author

  13. Cynic_999

    It is NOT English

    Sure, in many programming languages some functions are invoked by words based on English, but when you are programming you are thinking only of how the function is used and what it does rather than how the word would be used in English. I doubt it would take me longer to learn a new programming language that was not based on English words than one that was based on English words. In fact it might even be faster because I would not be prone to mis-spelling or inadvertently substituting synonyms.

    Any programmer can use their native language for the labels choosen for routines and variables, and of course in the comments, which are the only places where it can make a difference to how easy it is for someone else to follow your program.

    1. bombastic bob Silver badge
      Devil

      Re: It is NOT English

      " but when you are programming you are thinking only of how the function is used and what it does rather than how the word would be used in English."

      hence, the occasional utility function named 'semprini'

  14. Anonymous Coward
    Anonymous Coward

    lol

    I'm acquainted with some Filipino developers. They all speak English.

    Latin, Greek, Russian, German, Finnish - to name a few - would also be fine languages for programming. If one of them were the lingua franca of programming, I would happily learn it - to the point of fluency, not just enough to type the reserved words.

    Hell, I'd even use (latinized) Tagalog if everyone else did.

    Ruby is a wordy language, to the point that one must recognize keywords to parse the structure of one-line constructs. Another point in favor of more symbolic C-family languages.

    In other words.... WHY?

    1. Paul Kinsler

      Re: I'm acquainted with some Filipino developers. They all speak English.

      But this isn't aimed at developers. It's aimed at -

      "bring[ing] coding skills to some of the Philippines's poorest communities",

      i.e. presumably people who very likely have effectively zero contact with any kind of programming, and a similar lack of English language skills.

      Although after a while I would assume that anyone who picks up the basics will shift to the standard english-based version of the programming language, it may well be that TO START WITH, re-skinning the programming language with words in the local/native language makes the idea of programming more accessible (or less daunting), and improves uptake.

      I mean, if all computer languages were (e.g.) Korean in origin, would we really be so negative if some guy tried out an english-based variant to help improve learning outcomes on some (e.g.) exceedingly grim $ENGLISH_CITY council estates?

      1. Anonymous Coward
        Anonymous Coward

        Re: I'm acquainted with some Filipino developers. They all speak English.

        >I mean, if all computer languages were (e.g.) Korean in origin

        A lot of scientific words are Latin and Greek, it's just the way it is because that was the tongue of the origin.

        Shampoo, pyjamas and bungalow are all Indian words in origin.

        1. Anonymous Coward
          Anonymous Coward

          Re: I'm acquainted with some Filipino developers. They all speak English.

          I always thought bungalow came from the first time a one story house was built and someone said lets bungalow roof on it.

          1. Anonymous Coward
            Anonymous Coward

            Re: I'm acquainted with some Filipino developers. They all speak English.

            >I always thought bungalow...

            The actual indian definition means a man with a large penis but no brains, i.e. everything downstairs but no upstairs.

      2. JohnFen

        Re: I'm acquainted with some Filipino developers. They all speak English.

        "if all computer languages were (e.g.) Korean in origin, would we really be so negative if some guy tried out an english-based variant to help improve learning outcomes"

        I would, yes. If you're going to teach programming, you should teach the languages that are being used in the real world. If those languages are based in, for example, Korean then I might consider attempting to teach an oddball English-based programming language to be counterproductive.

      3. Charlie Clark Silver badge

        Re: I'm acquainted with some Filipino developers. They all speak English.

        bring[ing] coding skills to some of the Philippines's poorest communities

        ah, bless, some condescending patronism. You obviously haven't seen how eagerly kids around take to new languages if, especially if it gives them an edge.

        A different question might be whether the technology improves their lives, to quote Carlos Fuentes' "Christopher Unborn": Mexicans industrialise: you may not live longer but you will live better. But just try and take their smart phones from them!

      4. Anonymous Coward
        Anonymous Coward

        Re: I'm acquainted with some Filipino developers. They all speak English.

        > But this isn't aimed at developers. It's aimed at -

        > "bring[ing] coding skills to some of the Philippines's poorest communities"

        Where do you think these developers came from? AFAIK they grew up pretty poor. (As do a lot of successful people everywhere. Spoiled brats = slackers.)

        > i.e. presumably people who very likely have effectively zero contact with any kind of programming, and a similar lack of English language skills.

        Well there's the ticket. Learn English, and/or Spanish, Chinese, or whatever trade language you need to make money.

        Programming, on the other hand, is NOT a sure ticket to prosperity anymore.

    2. bep

      So by extension

      you haven't associated with Filipinos who don't speak English but who would like to be developers. Foreign words seem more 'foreign' to some that to others. If you think 'everyone in country x speaks English' it's because you haven't encountered the millions of people in said country who don't speak English.

      1. jake Silver badge

        Re: So by extension

        You don't have to tell me twice ... I've lived in Blighty. The quantity of non-English speaking natives is staggering. I've also lived in the US "deep south", and it's just as bad ...

        That said, I rather suspect that in the Venn diagram of non-English speaking Philippinos, the sub-set who might be interested in programming is not null, but is still vanishingly small.

        Note that I'm not suggesting this guy's project be stopped, far from it. More power to him! However, I question the utility of spending time on it for anything other than as a learning tool, or perhaps what we used to call curiosity's sake.

        For example, I once wrote a C compiler in Sendmail's configuration language, just to prove to myself that I could do it. I don't recommend anyone actually use the kludge, though.

    3. disgruntled yank

      Re: lol

      Somebody wrote a Perl module to let one write Perl in Latin. I assume it is under the Acme tree in CPAN, but haven't the patience to find it.

      [Edit: https://metacpan.org/pod/distribution/Lingua-Romana-Perligata/lib/Lingua/Romana/Perligata.pm, not Acme after all. To quote from the "Descriptio" section,

      'The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)'

      Anyway, if you want to be extra sure that nobody in the office can read your Perl, the option is there.]

  15. JohnFen

    APL

    APL, your time has finally arrived!

    1. David 132 Silver badge
      Coat

      Re: APL

      I was about to suggest Perl or Brainfuck... on the basis that they're equally incomprehensible to English speakers. Or maybe what we need is an Esperanto of programming languages, that takes all the "best" bits from other languages (programming and spoken)...

      10 VOID MAIN()

      20 PRINTF($CMD[1]);

      30 ALLEZ AU LIGNE 10

      ...and so on...

      1. J.G.Harston Silver badge

        Re: APL

        Won't that cause a stack crash as you repeatedly jump to entering a subroutine?

      2. Charlie Clark Silver badge

        Re: APL

        @Dave132 looks like you're discriminating against us whitespacers! ;-)

  16. Teiwaz

    I'd assume that life in the Philippines poorest communities would have an awful lot of other hardships and difficulties that might hinder people coming from them in becoming IT literate other than a language issue inherent in most computer languages.

    It has been attempted before, last one I read of before this one, is one that flows like arabic (left-right, right-left, field plow style).

  17. handleoclast

    left-right, right-left, field plow style

    "Boustrophedon" is the word you were looking for.

    1. Teiwaz

      "Boustrophedon" is the word you were looking for.

      Nonsense. That's not a word anybody would go looking for.

      That's a word you might unluckily encounter in the dark, after you fire went out, on an island that time forgot, shortly after, bits of you would be passing through early mammal sphincter.

      1. jake Silver badge

        You're right, Teiwaz.

        No need to go looking for a word that's a normal part of my vocabulary. Strange how many ways farming, translating old text, and old printer repair cross paths ...

      2. J.G.Harston Silver badge

        For people with experience of house-to-house deliveries, or survey mapping, boustrophedon is common parlance, in contrast to odds'n'evens. Though gradually declining in favour of up'n'down.

  18. Anonymous Coward
    Anonymous Coward

    Many-many double-double words

    How about:

    kapag-kapag 1 > 0

    iprint-iprint "Kumusta mundo!"

    kung_hindi

    iprint-iprint "Mayroong sira"

    wakas-wakas

    :-)

  19. lucki bstard

    To quote my filipono colleague

    'Philippines speak English well. whoever wrote that article doesn't know filipinos'

    1. jake Silver badge

      Indeed.

      Every Filipino I've ever met is to all intents and purposes trilingual ... Spanish, English and one variation or another of Tagalog (please note that there are MANY variations of Tagalog ... One wonders which version Bato is based on).

      The first time I traveled to the Philippines, I met my friend Gil's family ... I was introduced to his Grandmother, and told "She only speaks the Batangas dialect of Tagalog". Until I offered to cook for the family on day three, when she very fluently cursed me up one side and down the other in English without once using an actual "swear word" ... That was HER kitchen, in no uncertain terms. I just grinned & said "Feed me, Grandmother". She's considered me one of her grandchildren ever since :-)

  20. doublelayer Silver badge

    I don't think this is best

    I want this to work, but I doubt it will. It's like all those people who came to me wanting to get into computer science and proudly announced that they could write in scratch. That began several years ago, and I had the two positions of not knowing what it was and later telling them that we don't use that. The result being that, while they understood the topics involved, they couldn't write in a language that was actually used. Worse yet, many of them considered their skills as extremely prodigious because they knew more scratch than did the standard user they could find on the internet. The fact that all users they found on the internet were being taught programming in secondary school came as an unpleasant surprise to many of them. I don't know if scratch is more used now or not, but I can say with confidence that you still can't get a job writing in it. Therefore, I always recommend that people start teaching in a subset of a real language. Python is considered easy to learn, so that's an option. I find that new coders may find the strongly and explicitly typed C-style languages more definite, as long as their teacher can help them understand the compiler messages.

    As for other languages, I realize that I have a benefit in that I am a first-language English speaker. However, I'm concerned that, if we intend for people who speak other languages to be able to get jobs in programming, their experience in non-English languages and therefore their inexperience in traditional ones will prove to be a problem for them. I would perhaps suggest that teaching these people a few of the English words involved would be more helpful, even if you stick with ruby in order to help with the syntax.

  21. David Gillies

    Standards are great; that's why there are so many of them

    It was a retrograde step allowing Unicode in variable names, never mind this.

    1. jake Silver badge

      Re: Standards are great; that's why there are so many of them

      But you never know when you might need a smiling poo emoji in a variable name! Especially when fixing some of the crap code that somehow get past QADevOps these days ...

    2. Anonymous Coward
      Anonymous Coward

      Re: Standards are great; that's why there are so many of them

      Allowing lower case was a retrograde step ... who needs more than 6 bit characters anyway ?

  22. Rusty 1

    Offshore semantics

    Perhaps for the benefit of incorporating the observed behaviour with certain offshore locations, some cross-language bindings could be introduced:

    bool doYouUnderstandTheRequriements() { return true; }

    bool areThereAnyProblems() { return false; }

    bool willYouDeliverOnTime() { return true; }

    bool whyIsThisLate(managementLayer) { return whyIsThisLate(managementLayer - 1 ) }

  23. James 47

    Just do Swedish!

    Bork! Bork!;

    1. hplasm
      Happy

      Re: Just do Swedish!

      ... with Bezerker spelling!

  24. d3vy

    Well I for one am looking forward to the UK localised versions on HTML and CSS

    I want to set my background-colour:grey; damnit.

    :)

    1. Alister

      Yorkshire coding

      #include yorkshire.h

      int main()

      {

      for (aint a = 0; a > 10; ++a)

      while (nobbut middlin) {

      std::cout << 'Ow much?';

      }

      const bool Gi_us_a_butty = b'aint likely;

      return 0;

      }

    2. cbars Bronze badge

      Dammit, or damn it, dammit!

  25. John Geek

    I can't wait for (pick your language) reimplemented in Chinese Han pictograms :-/

    1. Anonymous Coward
      Anonymous Coward

      reimplemented in Chinese Han pictograms

      Had history been different, there might instead be a Chinese language IT forum, with a whole slew of pictogram-fluent programmers making negative comments about some Russian guy trying out code written in the Cyrillic alphabet to help out his local community pick up coding.

  26. Anonymous Coward
    Anonymous Coward

    What a stupid idea.

    What an idiotic idea.

    Let's consider a scenario: your decide to outsource your software development to some place using Bato.

    You now have code that can only be maintained by a subset of the people who know Ruby who know Bato.

    None of your code quality tools will work. Neither will your libraries, because they all use that dirty English for their names.

    And of course it makes the assumption that programming can be done by any old moron and that it was just the language that was keeping those telephone answerers away from fulfilling their dreams writing world class code.

    Utterly moronic.

    1. doublelayer Silver badge

      Re: What a stupid idea.

      While I have also stated my opinion that this won't be very good for them, I don't think your reasons are valid. You seem to assume here that children in a large group of communities are just not capable of programming. I contend that this is simply wrong. Many of them will not enjoy programming, and others will want to be good at it but just won't get there. And then there are the very many people who may be brilliant at it but haven't been introduced. I think this could be improved by teaching them some keywords in English, sticking with ruby for the structural benefits in Tagalog, and making sure that they have people to teach them. I think that's the most important part. Even if good tagalog translations of each error message exist, they won't always understand them without help. Just ask any beginning programmer what an "expression" is, any second-year programmer what an "l-value" is, etc. and you'll get confusion, and we're talking about English speakers here.

      I wish all of these perspective programmers the best of luck learning to code. While I'm concerned that the way they are learning might not be the best, it's better than nothing. I don't doubt that some of them will make very skilled programmers in their time.

  27. Anonymous Coward
    Anonymous Coward

    Klingon translator

    The author also made a English to Klingon translator -- https://github.com/jjuliano/tricorder

    1. Anonymous Coward
      Anonymous Coward

      Re: Klingon translator

      Well, really. And yet /still/ there is no native Klingon programming language? This guy needs to get his priorities sorted out! :-)

      1. horse of a different color

        Re: Klingon translator

        You've clearly never heard of Perl. ;)

        1. jake Silver badge

          Re: Klingon translator

          Perl isn't Klingon, silly! It's Wallish.

  28. Tom 7

    Whats the problem?

    Most english speakers cant program even if the programming language is in english.

    But seriously the really hard bit about computing is computing. People invent different languages all the time and none of them make it any easier - they merely move the hurdles up and down the track but they still have to be jumped. Give people a version of a language in their language and they will have to jump the hurdle of learning the english equivalents when they start using libraries.

    From my own experience learning programming in non-machine code I had to learn the words I was using were not used in computing in the way they were used in common english.

    Treat computing like chemistry where you tend to learn German if you want to get past A'Level in it, and accept the lingua-franca is 'English'.

    1. Roland6 Silver badge

      Re: Whats the problem?

      Treat computing like chemistry where you tend to learn German if you want to get past A'Level in it, and accept the lingua-franca is 'English'.

      My brother (Chemistry BSc.Hon, MSc, PhD, published papers etc.) is now 50+ and he's never found a need to learn German.

      But taking your point (ie. assuming the correctness of it), what you are saying is that it is okay to only know English (or ANO language) to learn Chemistry to A-level. Thus if we treat Computing like Chemistry, it doesn't matter what language you use until you wish to go beyond A-level.

      Picking up on another point raised by other commenters (but seems sensible to address here, given the above). If we were to treat Chemistry like some here want to treat Computing then we would need to be teaching kids at Junior school German, so that they can study Chemistry to A-level; just in case any of them wished to take Chemistry further.

      I suggest using Bato for Computing has much in common with using English for Chemistry, it lowers the entry barrier and permits students to get a taste, those who wish to take things further will have the motivation to do so, including those who may not have flair for languages.

  29. Anonymous Coward
    Anonymous Coward

    "Unfortunately, says Juliano, many of the tech-related jobs available in the country are in call centers where long hours and poor working conditions are the norm."

    Welcome to the world. I've been a software developer for over 30 years, but the only thing anybody is prepared to pay me to do is, at base, labouring. Moving boxes from one floor of a building to another is not IT work just because the box has a computer in it, and hell as fuck is it a useful use of programming skills. So, whenever business scream blue murder that there's a shortage of developers in this country, you know plain and simple that they are lying.

  30. Torben Mogensen

    Someone (I don't recall who) once said something along the lines of "If they ever build a computer that can be programmed in English, they will find that people can't program in English". The point being that the level of precision required for instructing a computer is far beyond most people even when using their native language -- or maybe in particular when using their native language.

    As a side note, I recall that BBC BASIC had a a "colour" command, while most other BASICs had a "color" command.

  31. disgruntled yank

    A case for literate programming?

    It seems to me that something along the lines of CWEB could accomplish a gentle introduction to programming in whatever languages one cared to use.

  32. JLV
    Boffin

    I wonder

    When/if the Chinese are going to create their own language, and if so, in what alphabet.

    Think about it. English is a lingua franca, which provides it with critical mass and a large, relatively well off pool of interested parties. The US is also still pretty dominant culturally.

    Looking ahead to say 20 yrs from now and resurgence of Chinese economic and scientific capacity, would it be unthinkable for a hacker/group such as a Chinese Matsumoto (Mr Ruby) to choose to write a new language in Mandarin? They'll have the critical mass by then. There might also be national security motivations for a language barrier.

    Would it be in Romanized Chinese alphabet or Han? There'd be advantages to having complex language concepts/methods represented in 2-3 characters on small screens no? Concise but explicit.

    1. HmmmYes

      Re: I wonder

      Matsumoto is Japanese.

      Having a small alphabet thatll fit in a 7 bit character was a big advantage when memory cost $$$$$$$$$

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like