69,558 karma · joined January 13, 2008
Formerly at kCura/Relativity, security. I do application penetration testing for hire these days. Happy to chat about application security, programming, and ham radio. My conversations about agriculture are not that interesting.
Security: https://ciexinc.com/ Of particular interest are the solarwinds articles at https://ciexinc.com/blog/solarwinds/index.html Old very fun projects: https://ciex-software.com
“Eventually, all things merge into one, and a river runs through it. The river was cut by the world's great flood and runs over rocks from the basement of time. On some of the rocks are timeless raindrops. Under the rocks are the words, and some of the words are theirs.
I am haunted by waters.”
Beware the anxiety industrial complex.
If one thinks of the history of programming, think about the IBM 1401. The first programming was done without the advantage of assembler. Once SPS was introduced, labels for locations were introduced, saving having to learn how to do this. Did one need to learn how to do it the old way to be a good programmer? Certainly not.
When Fortran and Cobol were invented, there were those that said you couldn't be a good programmer unless you first mastered machine language.
Mastering programming requires managing and overcoming complexity. Building the complex systems that we do today involves many levels of abstractions that few have mastered the totality of. Nor is it necessary. Unless you are Donald Knuth.
There was an exchange of opinions between Knuth and Dijkstra about the Goto following the letter titled "Goto Considered harmful". Knuth suggested that some of Dijkstra's later advice and opinions diverged from how Dijkstra himself had learned and practiced programming. I think this is a very common occurrence. We don't remember specifically how we learned to program, and recommend newcomers learn.
I think there are far more levels of abstractions in programming than are in music.
I suspect that you will get better results than telling it to make no mistakes at the beginning.
What is particularly useful is the comments about reasoning about new code added at my request.
(edit)
I asked it to generate a changelog: https://github.com/wglb/gemini-chat/blob/main/CHANGELOG.md
Yes, the LLM can produce code at a high rate, but you aren't going to learn at the same rate that it will produce code.
A better link to the research: https://academic.oup.com/res/advance-article/doi/10.1093/res...