BBC Basic Is Back In A Big Way

The BBC has a long history of teaching the world about computers. The broadcaster’s name was proudly displayed on the BBC Micro, and BBC Basic was the programming language developed especially for that computer. Now, BBC Basic is back and running on a whole mess of modern platforms.

BBC Basic for SDL 2.0 will run on Windows, MacOS, x86 Linux, and even Raspberry Pi OS, Android, and iOS. Desktop versions of the programming environment feature a BASIC editor that has syntax coloring for ease of use, along with luxury features like search and replace that weren’t always available at the dawn of the microcomputer era. Meanwhile, the smartphone versions feature a simplified interface designed to work better in a touchscreen environment.

It’s weird to see, but BBC Basic can actually do some interesting stuff given the power of modern hardware. It can address up to 256 MB of memory, and work with far more advanced graphical assets than would ever have been possible on the original BBC Micro. If you honed your programming skills on that old metal, you might be impressed with what they can achieve with BBC Basic in a new, more powerful context.

If you’re passionate about the BBC and its history with computers, we’ve talked plenty about the BBC Micro in the past, too.

[Thanks to Stephen Walters for the tip!]

70 thoughts on “BBC Basic Is Back In A Big Way

  1. A long time ago, I found a guy on the net who said he wrote one of the 1st, if not the 1st game of Go program. It was in BBC Basic, and he only had a print-out that he had scanned. So I downloaded it, and typed it in, but the emulator I found only seemed to fake tape images. Someone had code to fake those, but it was in Python. So that is how I started in Python. I got the program into the emulator, and found some bugs in my transcription, then had the joy of running it for the 1st time in years. Beautiful graphics for the 80s. Guy seemed grateful, but his site is gone. Hope he’s OK. the code is [probably] on my computer in storage. If BBC Basic is popular again, maybe it’s still out there too.

  2. BBC Basic had a defining moment as the best BASIC ever, as it was totally able solve recursive problems. This totally differentiated it from all the other “toy” BASICs, Bill Gates, eat your heart out. It was a “tour de force” yet to be surpassed .

      1. You’re talking about languages that came about many years later, and which actively took inspiration from BBC Basic.

        BBC Basic was one of those “old line number based eight bit BASICs”, but absolutely none of those adjectives are why the contemporaneous BASICs were less capable.

        1. “The original to QBasic, Quick Basic 4.x, existed in 1988 already” True, in the sense that “already” means “seven years later”. What are you talking about Willis?

          1. Okay. I try to write more understandable now.

            There was QBasic.
            QBasic was popular for many users of DOS.

            QBasic was included in MS-DOS 5.0.
            MS-DOS 5 was released in 1991.

            The ancestor of QBasic was called QuickBasic 4.5x.
            It included a compiler, too!

            But QuickBasic 4.5 was released years earlier, in 1988!

            Unfortunately, not many users of DOS had heard of QuickBasic before.
            They only knew QBasic.
            That’s why I’m writing. To tell users about QuickBasic.

            Thank you for reading this.
            Many greetings.


      2. The original to QBasic, Quick Basic 4.x, existed in 1988 already and was a fully integrated IDE, including a compiler.
        It supported SUBs, labels and didn’t require line numbers. It was almost Turbo Pascal like, in terms of features.
        Borland Turbo Basic was equally nice.

  3. Okay, maybe. I mean, I can write a program on my x86_64 laptop and run it on my ARM Android, if I’m getting this right. I’d be happier if it had an IDE that ran in Android. But I guess I could just write on a text editor on the Android. I tried writing something directly on the Android, but I had to use line numbers or it would just run the commands immediately. And there’s an example program called, but it doesn’t seem to do anything.
    Now all I have to do is figure out where it saves files on my phone…

    1. You’re not the first to claim that “does nothing”, but that only appears to be the case because it’s the program that you are already running – it’s what provides the user interface in the mobile and in-browser editions! It has some elements of an IDE, for example a program editor with syntax colouring and auto-indentation, but obviously not with the sophistication of the desktop IDEs.

      If you’d run ‘’ it would have told you how to create and edit a program on a mobile platform without recourse to line numbers. But probably the best way is to connect your Android device to a PC also running BBC BASIC, via USB, then you can mount it as an external filesystem in Windows or MacOS or Linux then use the desktop IDE to directly edit programs on the mobile device.

      It’s worth noting that all the BBC BASIC IDEs (the two that are supplied with the desktop editions and the ‘touch IDE’ for the mobile and browser editions) are themselves written in 100% BBC BASIC.

  4. Basic was the language that took me into computers, in the early 80’s, on an Amstrad CPC464.
    Then I moved to Z80 assembly (on a CPC464 too) and to GFA Basic on Atari.
    Many decades later (I’m 51) I’m still enjoying software development (mainly Python and C/C++ these days).

  5. I always found basic to be a horrible language. In attempts to make it simpler, they actually made it more difficult. Take for example the addition of a newline at the end of each print statement. (also a horrible python anti feature). I did a bit of basic, first on the DAI (same era as C64) and later on the atari (GFA, Omicron) but I quickly abandoned it and I bought Borland turbo C++ as the first program for my new PC. I think I was around 16 years old back then. And I still quite like programming in C. It’s syntax looks a bit strange to beginners, but it is a quite simple language and it works straight forward.

    I find it abhorrent whenever I try to use a language that does not need to declare your variables before you can use them, a simple typo invents a new variable, and this can easily become a half an hour debug session if you don’t remember to check those variable names. C catches such things at compile time.

    This article also reminds me of pascal, a language I was forced to learn at school, and never did anything with afterwards. You had to put “end” with a dot at the end of the program. Without the dot you got and error and the program would not run. That was a weird and silly quirck. I did a bit of programming in Delphi long ago. I think it also needed that dot. But Pascal / Delphi has been in decline for a long time. Basic too I guess. You don’t hear much from it in this century.

    I still believe C is a good language when starting to program, because it works in such a simple way. A book like Kerninghan & Ritchie is all you need to learn C.

    But if you want to start a programming course and don’t want to use C or C++ for some reason. Then Python would be a much better choice. I do not like python much myself (silly line indent loops are a horrible invention) but apart from a few of such bad things python is a quite capable scripting language, and it is also used as a scripting language in a lot of programs. (KiCad, FreeCAD, LibreOffice, Blender just to name a few).

    Another big reason to steer away from Basic, is it’s lack of standardization. Everybody uses their own dialect, and this makes it a nuisance to port software that was written for one flavor of basic to another flavor. There are already far to many languages out there, and at least 3/4 of them should be buried and forgotten. Even if this “new basic” is somewhat capable, can address 256k (not impressed here) and has some nice graphic features. So do many other languages. Use Qt, wxWidgets, or some Python game programming libraries (or improve those) if you want to contribute, and make something that is useful to a bigger group of people. Basic is a small niche language and improvements will be usable to a small group of interested people. Basic will probably die together with the people who started with it on the hobby computers in the ’80-ies

    1. You complain about the “quirk” that Pascal had requiring a . at the end of the program.

      Consider what happens if you leave } out of a C program. You get an error and the program won’t compile. Oh. Just like Pascal.

      Is indenting on Python any more of a chore than matching curly braces in C? I think not.
      C has this stupid thing where it allows you to put a single statement after an IF without using curly braces – this has caused many really nasty bugs.
      Python only has one way – always with indentation.

      I personally find C and related languages ugly – reading them is like sandpapering my eyeballs with all the “scratchy” curly braces.

      Languages all have warts. Some worse than others. They also all (almost all) have their advantages.

      Use what’s fit for purpose.

        1. I like C++ because if I write business logic (algorithms, etc.) with it, it will work on all system supporting C++. Can be easily ported.

          For writing user-interface stuff, not so. But… User-interface stuff is hardly ever portable anyway. So, I like to write all the stuff that I want to easily be used between systems in C++, and turn it into a library. And then write custom user-interfaces for every platform, in the best tools available for that platform.

          I see all these people writing their business logic in e.g. Kotlin, and then hiring some contractor to port it to Swift, and then to C#, and then to whatever. Wasted time and money! People are only doing it because they consider themselves ‘Android developer’, or ‘iOS developer’, and lock themselves up in their own fortresses. …and damaging their business with that.

          Learn C++ next to the language of your chosen fortress! It’s never a waste of time to learn C++.

      1. “Python only has one way – always with indentation.”

        You can do a single line if without indentation in python:
        if a==b: print(a)

        But it is unlikely to lead to bugs, just loss of readability.

        1. Right. You can do this:

          a = 1
          b = 1
          if a==b: print(“equal”)

          That gives you the expected result. “equal”

          If you try this, you get an error message:
          a = 1
          b = 1
          if a==b: print(“equal”)
          print(“What happens here?”)

          The print is indented, but by the rules isn’t allowed.

          In C, you can do this:
          a = 1;
          b = 1;
          if (a==b)
          printf(“What happens here?\n”);

          That also gives you the expected output, except that in comparison to Python you get both lines.

          If you do this, you get something else:
          a = 1;
          b = 2;
          if (a==b)
          printf(“What happens here?\n”);

          What happens here?

          That’s correct by the written code, but it is far too easy to expect something else. If you need to add something to be done in the if clause, then you have to go back and add the curly braces. Not everybody does, not every time.

          It’s an easy mistake to make, to the point that even experience programmers make it. There was a fairly major bug introduced to (I think) openSSL that way.

          That “quirk” in C is also in C#, leading to a low level battle at work between those who always put things in curly braces in the if clauses, and those who only use curly braces for more than one line in the if clause.

          1. Although the original 1981 BBC BASIC was a “line numbered 8-bit BASIC” those line numbers were only needed for editing. As one of the first (if not the very first) ‘fully structured’ BASIC, line numbers weren’t actually needed at run time (for example as the destination of GOTO or GOSUB).

            It’s a credit to the designers of BBC BASIC (jointly Acorn and the BBC, plus its advisers from academia) that the language – although now somewhat extended – is still very capable 42 years later. That’s due in no small part to choices like integers being 32-bits, arrays having any number of dimensions, and arbitrary-length variable names, which were not common in 8-bit BASICs of the 1980s.

          2. > If you try this, you get an error message:
            > a = 1
            > b = 1
            > if a==b: print(“equal”)
            > print(“What happens here?”)
            > The print is indented, but by the rules isn’t allowed.

            The thing here is that all your indent was eaten and, so, your code turned to something you didn’t intend. With braces it’d be ugly but parseable.

            That said, I agree with you that the brace-less if was a mistake. Python got that bit right.

      2. Matching braces, (ellipses, brackets, whatever) is simple and straight forward. And even Python uses it in various contexts.

        When I was interested in Python, I looked at the source code for MeldMerge, because I found an annoying bug in it and I wanted to both hone my Python skills, and contribute to an open source project.
        It turned out that a few spaces were missing. A line of code that should have been in a for loop, was not a part of the loop anymore. Python is not able to detect such things. I (and a lot of others) also always use braces for single line if statement for simplicity and uniformity. During refactoring single line if statements often turn into multi line and vice-versa, so always using braces makes it consistent, and consistency helps with reliability and robustness.

        Your only counter argument for C is that you find it “ugly”. You do have the right to have that opinion of course, but I find it a very personal and also quite silly argument.

        1. I didn’t say I didn’t use C, just that I find it ugly. That’s just as subjective as the people who dislike Python because it uses indentation.

          I use C. I use C#. I use Python. I use whatever language fits the task.

          I just find C and related languages ugly.

    2. You rightly talk about BASIC’s “lack of standardisation”, but then you criticise ‘BASIC’ in general for features which not all dialects share! For example BBC BASIC, as discussed here, does *not* have the characteristic that a mistyped variable name will go unnoticed, unlike most BASICs it will throw an error: ‘No such variable’.

      And as for being a “new basic”, BBC BASIC has been around since 1981! ;-)

      1. In most BASICs, if you end the PRINT statement with a ‘;’, the newline is suppressed. I always check that, first thing, and have only found a couple of exceptions.

        Probably the worst thing about BASIC is that it is so simple, anyone who wants to can write an interpreter for it. Which I think is the main reason standardization is so lacking.

    3. Same as you, i hate Python’s intendation crap.

      So i looked for an alternative and found Julia language.

      I’ve done some smaller programs with it and so far looks usable. And you don’t need to give up Python completely, it can interface with Python, C, C++ and other languages. I have not used such features, but it is there apparently.

      I don’t want to repeat too much about it’s features, because i don’t have that much experience with it, but it seems kind of like Python redone with knowledge of Python’s shortcomings. But one feature is the run time speed, which is apparently much much faster than Python’s.

      But take a look at it yourself if it meets your needs.

    4. Hi there, I think you commit a fallacy here..

      You seem to like C for all the “bad” reasons.

      The reasons you mention are characteristics of assembly language,
      rather than a true high-level language, such as Pascal (Turbo Pascal), Basic or Fortan.

      C, as such, resembles a “Super Assembler”.
      It’s a Macro Assembler with a large library of standardized macros.

      That’s why it is so useful for writing operating systems or portable code.
      It’s a powerful, yet dangerous tool, just like a macro assembler.

      C (and C++) language doesn’t have good memory handling, because it’s not part of its nature.
      Just like a debugger, a hex editor or an assembler – it is very good at fiddling with memory in all the “wrong” way.

      With a bit of humor, when could sas that all in all, C is a bit like a cross between DOS’ debug.exe and (batch interpreter). 😉

      1. Making such a strong distinction between C and Pascal suggests a lack of experience with at least one of these languages. C and Pascal are practically identical. You can take any Pascal statement, change the syntax slightly, and make it a C statement, or vice-versa.

    5. “I still believe C is a good language when starting to program, because it works in such a simple way. A book like Kerninghan & Ritchie is all you need to learn C.”

      I’m with you on this one.🙂👍
      I like K+R C, too, because it’s so straightforward and down to earth, yet not without elegance.

      Turbo C++ was a fine product, too.
      I was more of a Power C user, though, I guess.

  6. I heartily endorse projects like this. Not every programming language needs all the bells and whistles. There is a time and place for simpler languages that are easy to set up and get coding in. It’s also an old language so people who were familiar with it can start coding right away without having to spend a bunch of time learning the ins and outs of a new language. Not to mention all the old BBC basic programs around that can be used on newer hardware now.

  7. “If you honed your programming skills on that old metal”

    I love this line! I’ve always loved the idea that, in the end, computers are just rocks that we’ve formed to do math. This line captures that same sentiment.

  8. While its nostalgic to look back at the BASIC language, I (and most all CS majors) quickly moved on after high school and never looked back. In my day, Pascal and then C was the languages of choice. To this day, I don’t see any value in the Basic language (other than running legacy code) with so much better choices out there for those who code professionally. That said, BASIC did spark my interest in programming back in high school on the VAX, kudos there, but then it was quickly discarded once I was introduced to better languages for very obvious reasons.

    1. I guess you’re looking at this from a US perspective (correct me if I’m wrong) but the situation in the UK has been somewhat different. Until as recently as about 5 years ago, BBC BASIC was one of the languages recommended for teaching in schools, by one of the major examining boards here (Oxford, Cambridge and RSA). Indeed the teaching of BBC BASIC in schools in the UK continued from the early 1980s to the late 2010s, so there is a large cohort of ex-pupils who are very familiar with the language.

    2. One thing I’d like to add is that BBC BASIC is not ‘just’ a programming language, and judging it solely on that basis rather misses the point. The strength of ‘modern’ BBC BASIC isn’t that the language itself is somehow ‘better’ than other BASICs, or Python, or C etc. (even though it does have some nice features) but more in its exceptional cross-platform support.

      With BBC BASIC, and its associated libraries, you can write programs using graphics (2D and 3D), sound and music, physics simulations, shader programming, networking etc. which work without any modification in Windows, MacOS, Linux (including Raspberry Pi), Android, iOS and in a web browser. You would be hard put to find any other language with that capability.

      As an illustration this Pinball program runs on all those platforms without any platform-specific code at all:

      1. I am in USA. Basic was the language for us High School students (I graduated H.S. ’82). Basic was what the teacher knew, I think, rather than a ‘requirement’ for programming intro. Not sure about other high schools of course. As for our state colleges and universities, Pascal was ‘the’ teaching language for all classes like ‘Data Structures’ for us CS majors. This was on a VAX computer too. Sometime in there the ‘fast’ Turbo Pascal was introduced when was ‘great’! I could write/debug my assignments at home (not have to fight for a terminal at the school) and then with a modem send it up to be compiled on the VAX. Fortran was still be used by the Engineering departments. Of course as a CS major, we touched on quite a few of the languages of the day for a well rounded education. Basic wasn’t one of them (other than using a C64 in our Physics Electronics Lab — remember peeks and pokes back then to interface to hardware). I learned ‘C’ on my own (looked like an exciting new language as the time) which was a good thing as the company I went to work for used ‘C’ (and assembly) for the hydro/substation/etc. automation projects (RTUs and Masters) we were building. I still enjoy programming in ‘C’ to this day. However, I use more Python now as it fits most of my use cases at work .. and at home. I really think Python is the ‘new’ Basic as it does things so much better as a structured object oriented interpreted language… and all programs are cross platform too for the most part. Modules are easy to construct, plus there are ‘lots’ of them out there to easily integrate as needed. Use it a lot for RP2040 boards and RPIs as well. When I really need speed, I drop to ‘C’ and am off an running. At work even the Engineers are familiar enough with Python to do useful work. Never hear of VB being used much anymore as the IT department usually uses C# (yes, there are mostly a M$ shop).

        1. If you like to write Object Oriented code, you can in BBC BASIC because there’s a supplied library ‘’ for that. It’s not my cup of tea, but it’s there if you want it.

          On the cross-platform credentials of Python, try writing a Python program which uses the GPU shader to create the graphics and which runs in a web browser. Can you do that?! It’s easy in BBC BASIC, here’s such a program:

          1. Never needed and never tried in Python :). Always use/used JavaScript for any Internet apps that I’ve had or wanted to do. As well as Java Applets back when that was a thing :) . I like to think I use the appropriate language for the task at hand. I’ve used Python on the ‘back end’ of Internet servers though a few times and used ‘flask’ in Python for simple servers. Using Pygame (SDL2) right now for a project I am working on for a simple animated graphics app. Works fine in Windows (work) and Linux (home) . That said, there is always ‘something’ that works for ‘x’ platform and not for ‘y’, no matter what language you use. But, for what I work with, Python has risen to the challenge in every case I used/needed it for. And always have the option of dropping to bare metal ‘C’ when needed.

        2. Like others of my vintage, BASIC was the first accessible language for me. I even had a BASIC Programming cartridge for the Atari 2600, which is where I did my first programming. It was so horribly limited that even I could tell that it was, but it sure was cool to see the stuff I wrote do things on my TV. Not very many things, but things.

          “” was so unlike the predecessor VB that all of the VB devotees I knew just went to C# eventually.

          VB took a lot of abuse as being a less than capable language, but I built many successful business and industrial applications with it, and found it to be faster to develop in than what came after. I guess I just have a simple mind.

          1. Don’t know about less than capable, but it was messy, messy, messy! When I first started here (an Electric Utility) 9 years ago now, a lot of people used VB as the ‘glue’ code within Excel and Access. I found it very hard to follow when looking for bugs/changes needed being the go to software guy. Plus they’d stop working after awhile for some reason, or a new Office suite was introduced and would break something…. So one of the first tasks I did was rewrite the tasks in Python and my maintenance cost went to almost zero. With modules like openpyxl, I could still output reports and such. Took a couple of years to convert all of them… Now we only had to look at them when say an IP address changes, data changes, or shared drive changes, etc. Not very often.

          2. People like to diss BASIC, but then they’ll write short programs as “shell scripts” in BASH, or even as .BAT files. I haven’t found a shell language yet that compares well with BASIC for functionality or ease of use. Of course, you need a BASIC that can read directories to use it for simple shell programming.

          3. For very short programs (copy this to here, copy that to there, or setup a VNC session, etc. ), batch and bash make some sense. But for anything more I have to agree that a higher level language makes more sense… Even Basic :) That’s where Python and even Perl come into the picture. To add to what I said above about VB, I also replaced a lot of batch files as I could do all the logic in ‘one’ Python script including the copying, renaming, and deleting rather than call Excel, wait for VB to finish, finally do this and that in calling batch file. Simplify is the name of the game.

      1. To be fair BBC BASIC never went away. Ever since it was released on the BBC Micro back in 1981 it has been around on several computer. During the 80s a Z80 version was created for the BBC Micro as the Z80 second processor in CP/M as well as software for the Tatung Einstein and inbuilt for the Cambridge Computers Z88. An 8086 version was created for PC Compatibles and the RM Nimbus. It was also on the Acorn Archimedes and the follow up RISC PC series until the early 2000s.

        BBC BASIC for Windows has been around since 2001 and BBC BASIC for SDL 2.0 has been around since 2016 (although V1.00 was released in 2019).

        Even back on the BBC Micro, BBC BASIC was fast and feature rich. It would run Benchmarks many times faster than other 8bit computers (and even faster than BASIC on the 4.77Mhz 8088 IBM PC) on the market and had more features than BASICs on popular 8bit computers in the USA.

        It’s been improved tremendously since then and can be used to write a lot of good software probably easier than using modern languages.

        1. “Even back on the BBC Micro, BBC BASIC was fast and feature rich. It would run Benchmarks many times faster than other 8bit computers (and even faster than BASIC on the 4.77Mhz 8088 IBM PC) on the market and had more features than BASICs on popular 8bit computers in the USA. ”

          Beware, an 8088 CPU @ 4,77 MHz never was something to write homr about. The multiplexed bus unit was very slow, too.

          In fact, many 8-Bit Z80 systems ran circles around an 8-Bit 8088 at same clock speed.

          Also, there was more than one BASIC on PC.

          Hobby grade interpreters like Cassette BASIC, BASICA, GW-BASIC..

          And professional versions like Microsoft BASCOM (based on MBASIC), QuickBasic, PDS 7, VBDOS etc.
          These had compilers, included, too.

          Also, Locomotive BASIC v2 (GEM) ran on DOS PCs like the Amstrad PC 1512/1640.
          Both of which are great products from the UK, just like BBC Basic. 🙂👍

    3. Since you mentioned Pascal..
      Both Turbo Pascal v3 and MBASIC were very popular in the lste CP/M days.
      Turbo Pascal v3 had existed for CP/M-86 and MS-DOS, too, making porting applications possible.

      BASIC.. Basic went a long way since the Dartmouth days.
      By the mid-80s, we had QuickBasic and TurboBasic, which had a big Turbo Pascal influence.

      Along with Pascal, they continued to be very popular up until the early 2000s.
      Schools in Germany teached QBasic, as well as Turbo Pascal.
      Turbo Pascal was a favorite among IT teachers.

      In the 1990s, Turbo Pascal on DOS and Visual Basic v3 on Windows were very popular.
      Shareware CD-ROMs often had source code written in those languages included.

      Many sophisticated DOS programs had used Turbo Pascal, also because of its good features and drivers.
      By comparison, C was insignificant here.

      There also was Turbo Pascal for Windows, which tried to attract Windows 3 users.
      It was a bit limited, but nicer than writing C code.
      Borland Pascal 7 included a successor to it.

      Btw, what most of you bed room programmers in the comments seem to ignore is the business world.
      XBase language was very popular among dBase database systems, for example.
      Clipper was a popular compiler for it.

  9. Am I the only one who remembers when they would play the recording of some of the games over the airwaves at night. I am sure I didn’t dream it and remember taping the program but can’t remember for the life of me what it was. I was probably about 10 at the time. 1053 AM also rings a bell 🛎️

    1. I don’t know about the US (bc of 1053AM), but in E-Germany it used to be true.
      There were radio shows for the youth which had aired Basic programme over radio.

      FM band radio (broadcast radio 88-108 MHz) is compatible with the datasette format used by C64 and other home computers (1200 Baud FSK or AFSK).

      On shortwave radio, RTTY, Pactor and Packet Radio are being used by amateurs, too.

      Just like the datasette format, these digi modes do fit into the 3 KHz bandwith provided by most radio/telephone systems.

  10. And if you want retro hardware to go with the retro BBC Basic, I whole-heartedly suggest the Agon Light or Console8!
    An eZ80 based single board computer with VGA output that runs BBC Basic natively.
    It also has Forth.
    And can run Infocom games.
    And also can run CP/M.
    And MSX support is being worked on extensively.

  11. Two types of BASICs?

    1 Run under OSs.
    2 Boot into a BASIC + Basic OS.
    Embedded Controller BASICs.

    Intel MCS BASIC-52 best example?

    Embedded Controller BASICS implemented with ~50< machine gcc c portable
    instruction modules can be software certified?

  12. 10 PRINT “I AM COOL”
    20 GOTO 10

    As a kid in the early 80’s, I’d run around shops in the mall typing a similar message in ;)
    It was the first example of code I taught my child too.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.