Natural Language Programing Language

https://dtc-wsuv.org/hgebhart23/fibonacci/

Since I have access to the WSU server from my web design classes, I went ahead and posted what  ChatGPT created for me to the server, so you all can see it too if you would like.

I am majoring in data analytics with a minor in computer science. My statistics, data, and CS classes all heavily incorporate programming. Modern statistics and data analytics have too much data to do by hand, so programming is an essential role of what I do.

In my experience, you have to have some idea of what you want and an understanding of what the code is doing to do anything substantial. Sure, I can create this website with next to no programming knowledge, but if it had generated something I didn’t want or wanted to edit it in any way, I would have to understand how it works to make any changes, and if I make anything in the real world, I will most likely have to edit it at some point in time.

In addition, it tends to struggle with following “good practice.” I have seen it get very over-the-top with simple problems. When I have used it to do programming for more complicated problems, it and myself goes through so many revisions and back-and-forth. If I feed it the result to itself on a blank chat and ask for feedback, it finds all sorts of issues in the code and basically refactors all of it. I have asked for feedback on code I’ve written myself, and know adhere to good practice, and it gives me bad advice.

It is really good at writing common algorithms or simple code. It is really bad about employing practices and logic that actually make good computer scientists good at computer science.

Where I have found a lot of success is making it explain code that I don’t understand and for finding simpler functions or algorithms to a specific, small, goal I have (shuffling a list for a bigger project, for example). If there are computer science concepts I don’t understand, it is phenomenal at explaining them in a way I understand it. In this, it is a fantastic teaching tool, but it only works as a teaching tool if I am spending time to make sure I understand what it’s trying to teach me.

There’s already a sort of shift to “human-readable” programming. It was one of the main draws of Python, which is a widely used language that is on the up-rise for the time being. However, Python is built with another language called C, which is also widely used. New programmers like Python because it is more flexible than a lot of other languages, including C. However, because it is written in C, there are quirks to how certain things function, including how data is stored, that the programmer has to know in order to be successful. I have found that ChatGPT doesn’t  always use these quirks to its advantage (Python/C are just one example). My point here is that even though we are shifting to “human-readable” programming, the essence of what makes a good programmer remains. Someone still needs to make sure the output code makes sense. All it does is shorten the learning curve.

Leave a Reply

Your email address will not be published. Required fields are marked *