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!
Everything else was built in the 90s or early 00s which was peak OOP
All commercial browsers are written in a mix of JavaScript OOP and C++, nowadays they might have some tiny percentage of Rust, which might be using traits and dynamic dispatch anyway.
Kotlin runs on top of a OOP based VM, and uses a OOP class library. Compose has plenty of classes on its implementation and Android Studio interop.
SwiftUI infrastructure relies on OOP code written in Objective-C and macOS frameworks.
People are usually so eager to bash OOP that they overlook the details.
Besides that what is really the point you are making? That you can write software using Smalltalk or CLOS or any of their bastard offspring? Yes, you can and people did and still do. So what?
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.
Other than the expectation JetBrains would make it cheaper than Embarcadero.
Well they could do a better Delphi with Kotlin Native, still waiting for it actually happen, instead of relying on Android and JVM, or trying to compete with React Native on iOS.
Prove that they actually don't need Java, as many Kotlin advocates parrot all the time.
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.
[1] https://resources.jetbrains.com/storage/products/mps/docs/La...
> 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.
Isn’t that literate programming or in similar vein?
trinix912•5mo ago
ourmandave•5mo ago