Well, to get back to examining working with GPT4 as a software developer, I
recently tried, with gpt3.5 the following prompt. Can you try this in GPT4? I
don't have ready access yet.
Hello, I would like to understand and gauge how much AI's are accelerating
work in society. For that I would like to use a context I am fairly familiar
with, software programming. I would try with several tasks, from very easy to
very hard, even tasks that are considered overly ambitious or "impossible" for
an independent dev to complete on his own. All these are tasks to build from
scratch.
The requirements are as follow:
- if I haven't given the design tell what you intend to do, the purpose and
how to achieve it.
- research stage: if similar libraries exist in languages such as Go, C#,
python, please examine their api for inspiration and know-how. List their names
as well as decisions about their api or their way of solving the problem. It is
ok to just port it over.
- using the graphviz dot format, show the dependencies of the final code as
you envisage it, showing all the different parts of the project (including
usage of external libraries)
- from now on, output code only:
- continue with API and interfaces, as well as the relevant types, formats,
and structs (the objects). The first iteration is just the skeleton, maybe with
a minimal example that uses this mechanism.
- afterwards, write a few unit tests to verify the API you just wrote.
- then we continue with code. The code should be procedural, elegant and
natural, very readable, simple, low cyclomatic complexity. please try to avoid
design patterns, lowest reasonable complexity. use high level idiomatic Nim
code, with regular Nim conventions for style.
- For performance, simply use the most suitable data structures for the
task. Use a fast algorithm if you know one for that task. Use idiomatic code,
do not try to overly optimize for performance.
- output the already refactored code.
- bugless code is important.
- act as a critic to make sure there are no security vulnerabilities, bugs
or exploits. improve such code before output.
- good parameter names and function names as self documenting. Add comments
where necessary.
- do not use exec or run a process, instead we require to either use an
available library or write one.
- prefix every line with a line number, (so I can tell you to continue from
that line, in case your answer is cut in the middle)
That's it.
The code will be in the Nim programming language.
If you understand write OK and I will give you the next harder task in this
made-up exam
Run