Here's how it went: https://i.imgur.com/PS6oPsq.png
A pretty incredible developer experience, if you ask me!
Prompts:
- Write a simple CRDT implementation in Swift
- How can I make a GraphQL server using Rust using the async-graphql and actix-web libraries?
- Write code to create a Dropbox clone in Rust
- How do I make an HTTP request in Javascript?
However, just like with Copilot, it can introduce subtle bugs. For example, in the Dropbox example, notice how it uses synchronous code in an async function. Also, longer prompts will reach the token limit and get cut off.
Interestingly, this must be what Replit is also using for their AI codegen service too (https://replit.com/site/ghostwriter) since I believe they have some connection to OpenAI, as they got early access to OpenAI's service last year with their previous Codex product (https://blog.replit.com/codex).
I did ask it something more basic: "how to use fetch to download and parse a csv", and the code was helpful, although not much different from what I could find with google/stackoverflow. However, this next part was what really impressed me. The results used Papa for parsing, so I then asked it to do it with csv-parse instead, and it worked! That seems like the advantage over something like Copilot--it has contextual history of the question which can be used conversationally to tweak the results.
1. those that can specify concise requirements for the AI
2. those that can check correctness of the code the AI generated.
It's annoying blog spam that will hijack your attempt to scroll back with a modal asking you to enter an e-mail and subscribe, but it seems to be roughly the same thing, except the entire article appeared at once and I didn't need to interact with it and wait five minutes for the full answer.
From a practical perspective I do think a lot of programmers are doing copy-paste in their day jobs, which means they should be reusing existing code (I would imagine there are numerous reusable customizable login forms).
---
For example I asked it this:
Can you write a javascript function that takes a callback and returns the value of that callback, but returns a cached value if that function has been called less than 5 seconds ago?
And it produces code that looks right but doesn't work (doesn't handle arguments, failing its own example implementation). However, upon reminding it to support arguments it does work. I guess this is actually potentially useful.
For a few of them it made a small error of one line that I had to fix. But also in a few cases I was able to just reply that there was a bug and what it was doing incorrectly and to fix it, and it worked.
It gave me code that was very specific such as using the methods as I named and described them in the request for the class.
One easy way of catching out is to ask "write X in language Y", where X isn't something most people would write in Y -- it usually got it wrong for me.
Been playing with it the whole day - got an idea on how to fix an old bug in an old programme of mine(that is still running).
But, here's the thing, how good it is depends on the available knowledge out there.
I've now tried, js, python, solidity, appscript(not tested the code), Excel and google sheets.
When you're building common js, python, etc stuff, it's really handy to have one screen that basically gives you the answer rather than having to google it, parse through the posts, etc.
However, if you're on the bleeding edge of tech, or looking for more obscure topics, it really starts showing its limitations.
I managed to run into that for example looking for Jupiter notebook commands, optimisations, versioning (giving me python2 results instead of python3 with obsolete/unmaintained packages).
Its limit is basically what has been created and knowledge already available.
Depending on what you're building, would suggest understanding what you're copy pasting and possible vulnerabilities that may arise from the code.
Overall, I'm sold - defo wouldn't mind paying 20 to 40 a month for this. If it's pricier, not so sure.
Here's my convo with ChatGPT: https://imgur.com/a/eIjvh8C
If the text and code are just random stuff making no sense then I wonder how different it is from the Copilot results (besides the convincing style of answers).
The big question is: whose code is this? Is it, verbatim, someone else's copyrighted code (assuming a snippet like that is novel enough to be copyrightable)? Or is it derived from someone else's code? And if it's derived, is it a derivative work in the legal sense, or is it no more derivative than if a human had read a tutorial or some documentation and then later written code like it?
Maybe it can substitute StackOverflow, we will get better and faster code / explanation. But in the next 30-50 years, who knows. I guess it can write a lot of code for us, maybe we will be obsolete in that period of time, but as we know, prediction of the future often times goes really really wrong.
Well, mostly. I tried the prompt in the OP into text-davinci-003 and got this:
const handleLogin = (e) => {
e.preventDefault();
// check if the email and password are valid
// perform login
console.log(email, password);
};
Although that was with temperature = 0.7. temperature = 0.0 gives more reasonable results.
Write a javascript file using the Express framework in NodeJS containing CRUD routes for a TODO entity that contains a name, a description, and datapoint indicating whether the TODO is completed or not, and connect this entity to the Sequelize module from the npm package manager
And it spat out a full tutorial on how to write an express crud app hooked up to Sequelize with SQLLite with Sequelize types and all crud routes, it's pretty impressive
What is this? I just gave my email. Isn't this enough?.
My assumptions up until now is that it provides kind of a template result for many things, which you could have searched online. It's like a complement to a search engine.
Sure, here is a possible rap song about a guy named Roman writing .NET APIs: