Ship dispatch 6
This commit is contained in:
165
static/archive/inkdroid-org-belior.txt
Normal file
165
static/archive/inkdroid-org-belior.txt
Normal file
@@ -0,0 +1,165 @@
|
||||
#[1]inkdroid
|
||||
|
||||
(BUTTON)
|
||||
* [2]Home
|
||||
* [3]About
|
||||
* [4]Tags
|
||||
* [5]Bookmarks
|
||||
* [6]Photos
|
||||
* [7]Podcasts
|
||||
* [8]Music
|
||||
* [9]Software
|
||||
* [10]Mastodon
|
||||
* [11]Talks
|
||||
* [12]Web Archives
|
||||
* [13]Feed
|
||||
* [14]🎁
|
||||
|
||||
Why I don't use Copilot
|
||||
|
||||
June 4, 2023
|
||||
[15]programming [16]artificial-intelligence
|
||||
__________________________________________________________________
|
||||
|
||||
TL;DR Don’t install Copilot. It rots your brain and destroys the
|
||||
environment.
|
||||
__________________________________________________________________
|
||||
|
||||
[rubber-duck.jpg] [17]A rubber duck in use by a developer to aid code
|
||||
review
|
||||
|
||||
[18]GitHub Copilot is a technology that is designed to help you write
|
||||
code, kind of like your partner in [19]pair programming. But, you know,
|
||||
it’s not an actual person. It’s “A.I.”–whatever that means.
|
||||
|
||||
In principle this sounds like it might actually be a good thing right?
|
||||
I know several people, who I respect, that use it as part of their
|
||||
daily work. I’ve heard [20]smart people say AI coding assistants like
|
||||
Copilot will democratize programming, by making it possible for more
|
||||
people to write code, and automate the drudgery out of their lives. I’m
|
||||
not convinced.
|
||||
|
||||
Here’s why I don’t use Copilot (or ChatGPT) to write code:
|
||||
1. Copilot’s suggestions are based on a corpus of open source code in
|
||||
GitHub, but the suggestions do not mention where the code came
|
||||
from, and what the license is. GitHub is stealing and selling
|
||||
intellectual property.
|
||||
2. Copilot lets you write code faster. I don’t think more code is a
|
||||
good thing. The more code there is, the more code there is to
|
||||
maintain. Minimalism in features is usually a good thing too. Less
|
||||
really is more.
|
||||
3. As more and more programmers use Copilot it creates conservativism
|
||||
in languages and frameworks that prevents people from creating and
|
||||
learning new ways of doing things. Collectively, we get even more
|
||||
stuck in our ways and biases. Some of the biases encoded into LLMs
|
||||
are things that we are actively trying to [21]change.
|
||||
4. Developers become dependent on Copilot for intellectual work.
|
||||
Actually, maybe addicted is a better word here. The same could be
|
||||
(and was) said about the effect of search engines on software
|
||||
development work (e.g. Googling error messages). But the difference
|
||||
is that search results need to be interpreted, and the resulting
|
||||
web pages have important context that you often need to understand.
|
||||
This is work that Copilot optimizes away and truncates our
|
||||
knowledge in the process.
|
||||
5. Copilot costs money. It doesn’t cost tons of money (for a
|
||||
professional person in the USA) but it could be significant for
|
||||
some. Who does it privilege? Also, it could change (see point 4).
|
||||
Remember who owns this thing.
|
||||
6. How much [22]energy does it take to run Copilot as millions of
|
||||
developers outsource their intellectual work to its LLM
|
||||
infrastructure? Is this massive centralization and enclosure really
|
||||
progress in computing? Or is it a [23]step backwards as we try to
|
||||
[24]reduce our energy use as a species?
|
||||
7. What does Copilot see of the code in your editor? Does it use your
|
||||
code as context for the prompt? What does it store, and remember,
|
||||
and give to others? Somebody has probably looked into this, but if
|
||||
they have it is always up for revision. Just out of principle I
|
||||
don’t want my editor sending my code somewhere else without me
|
||||
intentionally doing it.
|
||||
8. Working with others who use Copilot makes my job harder, since they
|
||||
sometimes don’t really understand the details of why the code is
|
||||
written a particular way. Over time Copilot code can mix idioms,
|
||||
styles and approaches, in ways that the developer doesn’t really
|
||||
understand or even recognize. This makes maintenance harder.
|
||||
|
||||
As far as I can tell the only redeeming qualities of Copilot are:
|
||||
1. Copilot encourages you to articulate and describe a problem as
|
||||
written prose before starting to write code. You don’t need Copilot
|
||||
for this. Maybe keep a work journal or write a [25]design document?
|
||||
Maybe use your issue tracker? Use [26]text to communicate with
|
||||
other people.
|
||||
2. Copilot is more interactive than a [27]rubber duck. But, it turns
|
||||
out Actual People are even more interactive and surprising. Reach
|
||||
out to other professionals and make some friends. Go to workshops
|
||||
and conferences.
|
||||
3. I could be convinced that Copilot has a useful place in the
|
||||
[28]review of code rather than the first draft of code. It wouldn’t
|
||||
be a replacement for review by people, but I believe it could
|
||||
potentially help people do the review. I don’t think this exists
|
||||
yet?
|
||||
4. Copilot makes me think critically about machine learning
|
||||
technology, my profession and its place in the world.
|
||||
|
||||
Maybe my thinking on this will change. But I doubt it. I’m on the older
|
||||
side for a software developer, and (hopefully) will retire some day.
|
||||
Maybe people like me are on the way out, and writing code with Copilot
|
||||
and ChatGPT is the future. Maybe programming has always been about
|
||||
increasing layers of abstraction and this is just the next logical
|
||||
layer. I really hope not.
|
||||
|
||||
I enjoy programming because it’s about reasoning, thinking, models,
|
||||
concepts, expression, communication, ethics, reading, learning, making,
|
||||
and process. It’s an art and a practice that is best done with other
|
||||
people.
|
||||
|
||||
Increasingly I think it’s imperative for programming to be done more
|
||||
slowly, more deliberatively, and as part of more conversations with
|
||||
more people. The furious automation of everything is eating the world.
|
||||
|
||||
Programs need to run more efficiently. Programs need to be well
|
||||
understood, by a more diverse and varied set of people. Programs need
|
||||
to be robust and resilient. Programs need to be easier to change.
|
||||
|
||||
Can Copilot help with these [29]goals? I think the answer is no,
|
||||
because it doesn’t actually understand anything, and more importantly,
|
||||
it doesn’t promote understanding.
|
||||
__________________________________________________________________
|
||||
|
||||
Update (2023-06-09): For another take on Copilot that uses this post as
|
||||
a jumping off point see Vivek Haldar’s [30]Re: Why I don’t use Copilot.
|
||||
|
||||
Unless otherwise noted all the content here is licensed [31]CC-BY
|
||||
|
||||
References
|
||||
|
||||
1. https://inkdroid.org/feed.xml
|
||||
2. file:///
|
||||
3. file:///about/
|
||||
4. file:///tags/
|
||||
5. http://pinboard.in/u:edsu
|
||||
6. https://www.flickr.com/photos/inkdroid
|
||||
7. file:///podcasts/feed.opml
|
||||
8. https://bandcamp.com/edsu
|
||||
9. https://github.com/edsu
|
||||
10. https://social.coop/@edsu
|
||||
11. file:///talks/
|
||||
12. file:///web-archives/archives/
|
||||
13. file:///feed.xml
|
||||
14. https://bookshop.org/wishlists/d7c0224f5440df8d2c174ad2cc38b3fca1aa813f
|
||||
15. file:///tag/programming
|
||||
16. file:///tag/artificial-intelligence
|
||||
17. https://commons.wikimedia.org/wiki/File:Rubber_duck_assisting_with_debugging.jpg
|
||||
18. https://en.wikipedia.org/wiki/GitHub_Copilot
|
||||
19. https://en.wikipedia.org/wiki/Pair_programming
|
||||
20. https://changelog.com/podcast/534
|
||||
21. https://www.wired.com/story/tech-confronts-use-labels-master-slave/
|
||||
22. https://dl.acm.org/doi/pdf/10.1145/3442188.3445922
|
||||
23. https://www.washingtonpost.com/technology/2023/06/05/chatgpt-hidden-cost-gpu-compute/
|
||||
24. https://www.jasonhickel.org/less-is-more
|
||||
25. https://en.wikipedia.org/wiki/Software_design_description
|
||||
26. https://graydon2.dreamwidth.org/193447.html
|
||||
27. https://en.wikipedia.org/wiki/Rubber_duck_debugging
|
||||
28. https://en.wikipedia.org/wiki/Code_review
|
||||
29. https://permacomputing.net/
|
||||
30. https://vivekhaldar.com/articles/re--why-i-don-t-use-copilot/
|
||||
31. https://creativecommons.org/licenses/by/4.0/
|
||||
Reference in New Issue
Block a user