I haven’t had much time to really experiment with it but I feel that the typescript xstate library would in theory be a great fit for LLMs as it allows them to break a problem into states and state transitions and then focus on on one state at a time.
> “So instead of writing three applications, you write it in a special programming language, which is basically English, which describes how you want to see this application in a very specified way, and then AI agents, together with JetBrains tooling, will generate the code of all of these platforms,”
Is the process of generating code for each platform from the high-level specification deterministic, predictable, and obeying some natural invariants? Or is it a stochastic and unpredictable? If Alice publishes her open source project with the specification code, and Bob has access to a slightly different set of models at a later date, will Bob be able to reproduce the same generated artifacts that Alice did?
If you _can_ make everything deterministic and well-behaved, does it need to involve AI agents? Or can this effectively turn into an DSL which happens to be English-like, and a code-generation tool?
LLMs are pretty code at compiling clear descriptive or prescriptive instructions in English down to a programming language.
Stopped reading here. Good luck with your shared mutable state! Enjoy!
Are we just talking about prompting with some enforced structure, or is it a programming language?
I'm intrigued by the idea, but my major concern would be that moving up to a new level of abstraction would even further obscure the program's logic and would make debugging especially difficult. There's no avoiding the fact that the code will need to be translated to procedural logic for the CPU to execute at some point. But that is not necessarily fatal to the project, and I am sure that assembly programmers felt the same way about Fortran and C, and Fortran and C programmers felt the same way about Java and Python, and so on.
Whether or not this is the solution, I don't know, but it feels like the right direction.
Only half joking, though. Dogfooding is big at the place I work at and they should do it too.
I have difficultly determining what this company wants to deliver. I know what I actually give them money for.
There are a bit too many lingering bugs in their product offerings, and they are branching out instead of cutting back and improving what's already there. VSCode is eating their lunch, and they seem to have focused to compete with the things VSCode does, for a while, and now on the AI race (like all companies).
It baffles me that they don’t offer a way of creating my own JetBrains IDE from the pile of features available across their IDEs and other tools. I pay for the “all products pack” and have started to question whether it’s worth it. Even if I am working in an IDE like PyCharm, it’s not much work to also work with a pre-compiled language in the same project. The distinction between the different IDEs grows less so year over year.
The only exception off the top of my head is .NET support, which isn’t available as an extension.
https://simianwords.bearblog.dev/so-you-want-to-create-a-new...
TL;DR the overhead in learning the new abstraction and dealing with the inevitable edge cases (known or unknown) must be taken into account.
All abstractions sound good until you account for these things.
The new language can work if the edge cases of this language are known and minimal.
COBOL, you're inventing COBOL.
PHB ignores observation by Dilbert and approves $40M expenditure to reinvent the wheel anyhow.
> So instead of writing three applications, you write it in a special programming language, which is basically English, which describes how you want to see this application in a very specified way, and then AI agents, together with JetBrains tooling, will generate the code of all of these platforms
i take it to mean no more kotlin multiplatform if ai will just generate platform specific code....?Right now I think I'd bet that whatever this is won't ultimately impress me much, but not at very extreme odds.
Also, I do not believe in magic carpets.
Also, I do not want even more higher-abstraction level that will come with even more layers of bloat.
And in fact, software is made out of little interacting boxes already. They’re called “functions” and “classes.”
It started as a purely functional language, but the authors are adding some escape hatches, such as imperative for loops, for cases where the functional approach is too complex (e.g., implementing quicksort). And it is pragmatic like Go when it comes to simplicity, compiling fast, and running fast.
AI programming and a compiler that catches bugs through good language design make a great match.
trinix912•3h ago
ourmandave•2h ago