Advanced coding in low-resource programming languages

(openai.com)

42 points | by sumnole 4 hours ago

12 comments

  • kragen 3 hours ago
    It's kind of insane that one of OpenAI's internal test tasks is now "reimplement SQLite from scratch, preserving binary compatibility with existing database files".
    • anonymous908213 2 hours ago
      There's nothing insane about writing a de/serializer for an open source format with tests telling you every time you get it wrong to fix in a loop. Insane would be if they were willing to entrust critical production data to their vibecoded replacements (in multiple ways).
      • favorited 2 hours ago
        Most of the SQLite test suite, TH3, is not open source or available to the public. You need to pay an undisclosed amount of money to access it, which would seem to defeat the already dubious proposition of vibe-coding a SQLite clone.

        https://sqlite.org/th3.html

        • fp64 2 hours ago
          I would think OpenAI licensed the tests, their availability might have been a reason for picking sqlite for this "benchmark" in the first place
        • anonymous908213 2 hours ago
          > which would seem to defeat the already dubious proposition of vibe-coding a SQLite clone.

          For an individual, but for OpenAI this would be a trivial marketing expense. The purpose is not actually to replace SQLite but to be able to claim your software is capable of it, to perpetuate the ongoing mania.

        • dist-epoch 1 hour ago
          OpenAI paid $15 mil to solve a math problem
      • kragen 1 hour ago
        If you had told me five years ago that OpenAI was going to be able to do this at all, much less that they were going to do it routinely as a test of new AI models, I would have thought you were being so unrealistically optimistic that I might have suggested that you up your dosage of antipsychotic drugs.

        I mean, if you had said they definitely would not be able to do this, I would also have thought you were probably kind of stupid. But we're definitely on the path that looks like AIs keep getting smarter with no limit in sight.

    • sarchertech 2 hours ago
      Have they released this publicly? This seems about on the same order of difficulty to anthropic’s C compiler project, which ultimately failed. I’m surprised if they can do SQLite they wouldn’t show up Anthropic with a real working C compiler.
      • kragen 1 hour ago
        Maybe C compilers are actually harder?
    • fnordpiglet 2 hours ago
      And they do it in powershell
      • Negitivefrags 2 hours ago
        And if you thought that was ridiculous, consider that the "best" implementation is the SQL database it wrote in PHP.
      • wiseowise 2 hours ago
        Isn’t powershell just a C# (.Net) with an ugly syntax?
    • dist-epoch 1 hour ago
      You missed the "solve unsolved math problem, because all other are too easy" tasks
  • raphlinus 2 hours ago
    I notice that assembly language is not on this list. I've been working on a modern syntax for assembler, with C-like types[0], something of a successor to qhasm. I've written a race-the-beam renderer[1], which is a good fit because of its incredibly tight performance constraints. I've been doing a combination of coding by hand and Opus 5.5. Anecdotally, I find Claude can code in it just fine, something I'd like to make more quantitative.

    Dan Luu has done that kind of evaluation[2], and found that LLMs do well in a range of languages, but do underperform in assembler. My hypothesis is that expressing programmer intent clearly, and having the compiler verify things like consistent placement of variables in registers, will fix the problems that hold LLMs back.

    This has been a hobby project, but it feels ready to break containment. I'm open to a research opportunity where I'd be able to work on it for real - get in touch.

    [0]: https://github.com/raphlinus/symbolasm

    [1]: https://github.com/raphlinus/vic-2350

    [2]: https://danluu.com/pl-tokens/

  • nicfio 1 hour ago
    Niche languages are fascinating, they recall a world that is disappearing, where it was necessary to think before writing, also because resources in terms of CPU and memory were scarce. I worked on IBM 3090 and the PL/1 language and I still remember the difficulty of getting print reports where you also had to calculate the number of columns needed to print a number. Now the arrival of data centers, and the birth of more modern languages like C# and Rust are replacing that world. Today speed is a fundamental element, and AI agents will end up replacing those who write code. But it is not the end, it is just the world changing. You are not a typist, but the one who thinks of new solutions.
  • dooglius 2 hours ago
    By "low-resource" they seem to mean "not much training data". I wonder if the fix for this was generic generalization ability, or just making a lot of training data for the specific languages involved. This distinction matters a lot for the question of whether new programming languages can be developed without having LLMs be bad at them.
    • dist-epoch 1 hour ago
      TBH not that different than humans. A good programmer can work in a new language in principle, but in practice the code will not be idiomatic, and it will need frequent access to a reference manual.
  • giancarlostoro 2 hours ago
    So, Lingo is the programming language for Director / Shockwave. Most LLMs know very little about it, since its been MIA for a while, however, there's a niche community of people reverse engineering games and the entire Shockwave runtime for years now, and LLMs are accelerating these efforts.

    In fact, because of these niche Shockwave communities, and they've admitted to it, the Habbo Origins client was able to be made. That effort was spearheaded by a player who reverse engineered their backend for years, and eventually built up a decompiler for Shockwave, and made their own game client run as a stand-alone EXE (Projector Mode for Shockwave iirc) which is what Origins did.

    More recently, a project named "Shockless" emerged that took the Shockwave client for Habbo Origins, and rebuilt it in JS w/ PixiJS (I think?) in order to be a more special-purpose Shockwave runtime. Some months later (this month I think), Sulake released Keystone a new Origins client, essentially doing the same thing, itself coded in C++ but it looks like it took a very closely similar approach. Really fascinating seeing LLMs push reverse engineering communities forward to help preserve old tech and games, and in some cases, niche games forward from the grave.

    I think the frontier LLMs have finally gotten to the point they can sort of pick up the syntax on the fly.

    I made my own .NET based language using Opus 4.6 and it knew how to write code for it, since the rules were in the context window. I havent gone back to that project, since I've been trying to build other more ambitious projects, but its impressive how much LLMs can pull off as of early this year.

    It is funny to me they mention Visual Basic, I've been on and off experimenting with rebuilding the VB6 IDE and eventually its compiler with a modern runtime using Claude, I've got a good chunk of the IDE, and I can load forms, I can even call VB6.exe to compile if you have it installed, but I had to pause since my old college copy of VB6 is kinda busted (I misconfigured something somewhere and it keeps crashing when I open a project).

  • vegnus 3 hours ago
    I thought LLMs had been good at this for a while? I vibed a language out and the LLM could write in it pretty well. I even got Qwen 3.8 to write it (though it was pretty slow, it managed to get it done)
    • ch4s3 3 hours ago
      Yeah GPT and Claude both write my language really well[1]. GLM and Kimi did OK as well, but I haven't tried Qwen.

      [1] https://march-lang.org/

  • kristjansson 2 hours ago
    I need to see SQLite implemented in PowerShell
  • etchalon 3 hours ago
    It is such a ridiculously cool thing that we're reaching an era where the programming language you chose is as temporary a choice as the name of a variable.
    • 4b11b4 3 hours ago
      That's.. not..
    • srivarun96 2 hours ago
      +1 ! We might actually have to rethink what are costly decisions for the post Agentic world. Truly sci-fi stuff
    • gonzalohm 3 hours ago
      How can that signal anything other than improper planning. You prefer a changing codebase over something that has evolved and is being tested over a long period of time?
      • retrac 3 hours ago
        It can also signal very good planning. If a program is properly specified and all the business logic correct then implementation language is basically as afterthought.

        I'm reminded of the software for the Gemini spacecraft. Does it still exist? We don't have any assembly or machine code. But much like today in the '60s the designers of the flight software, considered the assembly output to be an intermediate stage - a kind of temporary mapping from the real program. The real program was designed in "Math Flow 7" - a visual flowchart language for expressing logic. We still have the charts. Does that mean we still have the software? Is the set of charts the software?

      • gchamonlive 1 hour ago
        Yes but can you plan anything properly in advance? How many unknown unknowns aren't being accounted for? Maybe it's best to plan for improper planning. What to do when (not if) critical decisions start falling apart?
        • gonzalohm 23 minutes ago
          You go back to the design. A few critical changes in the requirements, that's expected. A codebase in which the critical parts change often, that's a red flag
      • malisper 2 hours ago
        This is equivalent to arguing that tech debt signals poor planning

        I would much prefer it to be easy to change a codebase and for people to make lots of changes to their codebase than for people to stick with whatever they built up front

      • awongh 3 hours ago
        Yes, and, many many billions (trillions?) of dollars have been lost because the programming language couldn't be changed. Both things can be true.
      • etchalon 3 hours ago
        New languages do in fact come out, and old languages get better, and old codebases are thing some people have to maintain.
    • wiseowise 2 hours ago
      As it should be. Foundational principles between languages are the same, I don’t understand why positions are gatekeeped based on implementation trivia.
    • Razengan 1 hour ago
      If you see magazines and computing TV shows from the 1980s, this is exactly what people expected computers to be able to do by the year 2000: Everyone would have a computer and write their own app for whatever they needed in a language close to plain English.

      The fragmentation between programming languages and proprietary operating systems is exactly what hindered that optimism from coming true.

    • manmal 2 hours ago
      Except for platform constraints, like needing to use JS or Swift/Kotlin, why would I use anything else than Rust? I can’t even properly read it, but the agents somehow make it work well and the code doesn’t look particularly cluttered; and it’s so fast.
      • wiseowise 2 hours ago
        > why would I use anything else than Rust?

        Because you don’t have an infrastructure to test all platforms and want to actually execute your code instead of waiting a decade until compiler is done?

      • Procrastes 2 hours ago
        I believe these words capture the zeitgeist of the 2020s.
  • vatsachak 3 hours ago
    Haskell got left out :(
    • devin 2 hours ago
      And Clojure. Perhaps these aren't considered low resource. I had good results in Clojure over a year ago.
      • bunderbunder 2 hours ago
        I would not be surprised if a much larger volume of Clojure source code is in publicly-visible repositories. I’ve not met too many COBOL or Fortran hobbyists.
    • Tanjreeve 2 hours ago
      Haskell community will be overjoyed.
    • dist-epoch 1 hour ago
      SQLite is not pure, it has side effects - the .sqlite file on disk
    • winwang 2 hours ago
      It's too good.
  • LoganDark 2 hours ago
    > Our second evaluation asks models to migrate COBOL programs to C++, Java, Kotlin, Python, or Rust while preserving what each program does.

    Reminds me of how Wall Street Raider [0] just simulates the original code instead of rewriting it.

    [0]: https://news.ycombinator.com/item?id=46954696

  • anonymous908213 3 hours ago
    > COBOL supports more than 40% of online banking systems, 80% of in-person credit card transactions and 95% of ATM transactions, while Fortran is used in weather forecasting and nuclear reactor safety analysis.

    Can we not vibe code foundational bank infrastructure and nuclear reactor safety software? Pretty please?

    • npalli 2 hours ago
      Like all software, vibe coding is not the hard part. Maintaining it is. I'm sure there there 100 times the number of people wanting to vibe code this in Rust vs wanting to maintain someone else's vibe coded Rust. So, usually the natural state is keep running the show as-is until it is the next guy's problem.
    • onlyrealcuzzo 2 hours ago
      It's a nuclear reactor, Michael. What's the worst that could happen? A meltdown?
    • waldrews 2 hours ago
      Soon enough, it'll be 'Could we not entrust our safety critical systems to those emotional error prone humans? Pretty Please?'
    • liendolucas 3 hours ago
      You forgot flight computers.
    • AnimalMuppet 2 hours ago
      When the last senior COBOL developer dies off and you need to update the bank's code to comply with this year's changes in banking regs, it might be good for the new people to have LLM support to at least understand what the existing code does.

      No, I don't want vibe-coded bank infrastructure. Yes, I do want LLMs that can work with COBOL.

    • bayindirh 3 hours ago
      > Can we not vibe code foundational bank infrastructure and nucelear reactor safety software? Pretty please?

      How can you power the "rogue" AI infrastructure and mistakenly funnel the funds needed for the operation otherwise?

      Matrix needs energy, Matrix needs money.

      VIBE CODE ALL THE TIHNGS! /s

  • tester756 3 hours ago
    [flagged]