XDC on the future with "AI"

Exactly, one example to show how you to have to ask, though the results on Xojo are surprisingly precise. They are not officially right, but I mean it is all about “intelligence”, the matrix knows the truth (hidden to us) :slight_smile:

Good news for MBS. And I asked for you too @thorstenstueker

and with a bit of pressure … :slight_smile:

Ha not even aware of plans ?
thats funny with the plans being the 7 years old ?

OH OH
poked the bear you have !

1 Like

There are plugins for VS Code and JetBrains from at least one vendor I ran across (Cody) that is supposed to be able to write unit tests for you and the like.

Yes, you have to check the output but you have to check your own as well, unless you’re infallible :wink:

I see a product like Cody that’s trained on the pubic open source code plus your own, as being able to do template-y stuff like that and relieve some drudgery, as well as assess your code and suggest changes. I do not plan to give anything like that free reign to run rampant through my code base anytime soon though.

Unfortunately (or maybe fortunately, for all I know) I’m still waiting for a product like this that has a Visual Studio 2022 plugin. Although I will say that sometimes within that product, suggested line completions are scary good.

https://spectrum.ieee.org/gpt-4-calm-down

For mobile Development with Java beside the option of Java for Android there is also for JavaFX the Option GluonMobile and for Java and Kotlin the Option to program with CodenameOne. Both, of course, supporting also IOS so both are a full stack mobile development platform if you want to see it so.

About Kotlin: yes Sir, it is a really nice language with tons of features and a great future. But it needs still time for development. As Kotlin can directly be native compiled it is usable for JVM based projects and native compiled projects without Java Background. As Kotlin can be compiled natively on IOS it is also a good option for IOS programmers and with the Kotlin Multiplatform mobile solution it is possible to write with one Logic Code and a native UI for both platforms native Applications for Android and IOS.

Yes, GitHub has also the AI driven Github Copilot. A nice product. And he is helping to rite tons of code really fast. But. Often it is so that he is not getting what I want really to do. That can be dangerous and if I am not controlling line for line and command for command I can land in a bitter situation.

At the end that costs me as much time as writing the boilerplate code by self. So I tested it and I am doing hat from time to time. But it is not able to write a complex business application. So it ends up.

Exactly. Half of the time it is completely wrong. Not usable for producing Software. It needs always a programmer between.

heh

And stop confusing performance with competence, says Rodney Brooks

hmmmmm think think think

It really depends. First it is important to use it from the beginning on in your project, then it is learning a lot. I agree that it is not perfect (yet) when asking for some boilerplate code, but it is surprisingly helpful, IF (you are learning how to ask the right questions) AND of course to review the suggestions. As much as one should review Stack Overflow and think twice if sudo rm -rf is a wise advice or not …

Are those systems already intelligent? Nope, you are right - as much as Google will not yet tell me what to do in the morning or at night, AI doesn’t help either, if you don’t know what to do in principle. But they are very helpful in autocompleting text for tooltips, comments, parts of your code … if used from the start.

Plus I can throw all those ugly words in the face of any AI system, which would result in a ban on Stack Overflow, reddit or TOF :slight_smile:

That will be the key … if you have to spend as much time engineering the prompts / instructions as you would writing the boilerplate, then write the boilerplate, I guess.

For it to be useful, a hypothetical AI assistant named Fred would have to turn a command like, “Fred, write unit tests for the public methods of the following 3 classes” into code that compiles, works, and covers all but the occasional edge case.

We’re not quite there yet, although I think there’s a way better than even chance that we will be shortly.

Fred was born in February 2023

Copilot from Github about to follow. It is hard to describe it, as it is crucial to get all those systems trained by YOUR code (aka the plugin). Over time ist is getting impressively good, again less from an intelligence perspective but in terms of accelerating those silly, annoying typing jobs.

I’m afraid it will have a huge impact on all of of us. Only Xojo will be a safe harbor until …

2 Likes

I get the impression from the link that it learns as you use it with your code, but it seems to me it could simply digest your existing code base and while it would doubtless improve some from your continued work on the code base, it should be able to in a matter of minutes come up to speed with the existing code. Maybe their site is just not worded very well, or I’m too literal-minded.

This does point up another issue with such products, though, which is that to whatever extent the bot phones the mothership, you might leak proprietary secrets into the cloud. I would hate for example to train an intelligent agent how to write rules for business name and address correction and then find my competitors who might later use the same product for the same purpose would be surprised at how capable it is in that regard.

1 Like

Sure, security is one reason why TabNine is less “competitive” than others, as they actually collect your coding style solely locally. But copyright concerns and security are an own huge topic.

As for how good (or bad) those tools are working there is no other way to use and try it by your own. The own experience reveals more than any article about AI, especially as most authors seems to copy from each other.

Again it is most of the time NOT related to what we would call real “intelligence”, but very helpful to avoid a lot of repetitive typing.

For instance if you have something like this:

btnOK.setTooltip(new Tooltip(“Save entries and close window”));
btnCancel.setTooltip(new Tooltip(“Close window without saving entries”));
btnFocusAll.setTooltip(new Tooltip(“Select all entries”));
btnFocusNone.setTooltip(new Tooltip(“Deselect all entries”));

I basically only typed btnOK. setTo… and it had learned from my code that I had already written that I’m saving data and closing the popup window. I pressed to accept the proposal and for the next line and it proposed me immediately the code for the remaining 3 buttons on that window …

And that’s what I meant with “you have to use it from beginning on”. All the systems I tried seem to be less good in analyzing existing code but they excel if they were part of the project from the beginning.

For those systems to work best it is important to comment your code, that’s a nice side effect. I always try to comment a lot, but not I’m forced to :slight_smile:

Visual Studio 2022 already does the sort of autocompletion that you’re describing. Whether it’s, strictly speaking, AI or not, I’m not sure. I do recall answering a prompt when you install the product, giving permission for it to analyze/digest your local code base, so there’s some kind of model being trained.

I find it more useful than not, sometimes scary accurate, sometimes comically wrong. Once in awhile it does introduce errors if my attention wanders, but it’s a net gain. I think something with the power of these recent LLMs would improve it though.

I’m a minimalist about commenting … so much commenting just states the obvious. I try to make the code more self evident so it doesn’t need a lot of comments. That said, I make extensive use of documentation comments – the kind that show up in autocomplete to explain the purpose of a method call and the arguments, etc. And I’d imagine that’s the sort of comments where AI would be most helped.

It will be interesting to see what aspects of coding and practice end up being changed by AI.

If you would try Github Copilot you would get: that is 10 times more than Visual Studios Autocompletion is doing. Exactly that’s the point. This form of autocompletion you mean is normal in Java IDE’s since decades. But Github Copilot serves you several variants you can choose between. And not only Code completion but also in recognizing what will come as the next with complete boilerplate code.

2 Likes

And that is precisely what you can observe today, even with Visual Studio (unsurprisingly, since Microsoft naturally supports its products with CoPilot).

As always, you have several options: you can gain theoretical knowledge, or you rely on opinions from specialist journals or books, or you can simply try it out for yourself. This applies to new programming languages, frameworks, and technologies.

Particularly when it comes to emotionally charged topics, I believe it is crucial to form your own opinion and to get your hands dirty.

However, it’s important to do so systematically and over a certain period. That’s why my strong recommendation is to use it in an entire project. The likelihood of wanting to work without such assistance afterwards is probably low, which will undoubtedly delight every MS shareholder :slight_smile: .

If you don’t want to use a MS product like Github CoPilot you can try tabnine in Visual Studio:

2 Likes

Well … for better or worse I’ve installed GitHub Copilot and we’ll give it a fair whirl.

@bgrommes
I hope it works as good as it works with IntelliJIdea for Java. Then it makes fun. But also: not a ready written Software but boilerplate runs faster out of your brain when no need to write line for line…