4 ms·
> All I know is that computer programming is qualitatively an entirely different thing than it was six months ago Citation needed. My day to day has not change
by packetlost 3y ago
> All I know is that computer programming is qualitatively an entirely different thing than it was six months ago
Citation needed. My day to day has not changed one bit, even if I'm using Copilot and ChatGPT. I get marginally faster autocomplete and a buggy template engine. This type of comment is exactly what GP means when they say "grossly overestimated."
- jimsimmons 3y agoSomehow all the non programmers are in full force telling actual coders how their job is changing
- sublinear 3y agoThis is so blindingly obvious to anyone and I can't believe it's not said enough
- fnordpiglet 3y agoI use ChatGPT throughout the day. I don’t find code completion very useful, but I ask questions about esoteric areas I’m unsure of, or about some numerical technique I’m trying to recall. It unblocks me faster than anything I’ve ever used and I’ve learned more about some topics in the last six months than in the last thirty years. The fact I can ask elaborative questions and get answers that are fairly deep and nuanced is remarkable. Code it emits is often specious but fairly close to usable, more than enough to open a door for me in what used to be hours of fruitless searching and reading countless stack overflow answers telling the questioner they’re asking the wrong question and answering something unrelated instead. That you guys aren’t finding the value tells me you’re using the tool wrong and likely have already decided with prejudice, because I have primary experience that once you try to figure out how it’s useful, you’ll find remarkable utility waiting. It’s ok, man. I’m sure many folks found the computer useless too.
- packetlost 3y agoThe quality of answers goes down dramatically the more niche your questions are. Further, while it might be helpful for "research", the answers it gives will have very wide variations of accuracy and isn't very useful for the day to day work of an actual software engineer which involves much more than just writing code. It works great if you treat it like a freshman in college who loves hearing their own voice and bullshits answers, but not great at being a fact engine. And to be clear, I didn't say that it wasn't useful. I said that it didn't change my job in any meaningful way.
- fnordpiglet 3y agoThis explains fairly clearly a bit of rust that, while not the most obscure, is IMO fairly poorly explained in most resources I’ve found, and covers a lot of edges that are really useful to understand… I can keep digging and digging into the details presented. I find it absurd to say it’s like a freshman in college - I’d love to hire those freshman if you can point them out: > Explain when pin is important in rust when dealing with asynchronous code, particularly when dealing with Box<dyn> types. In Rust, Pin is a concept that is central to understanding the implementation of asynchronous operations. To explain why, let's first cover the basics. Asynchronous tasks often involve future types that encapsulate a computation that will produce a value at some point in the future. These futures may need to poll other futures, which in turn might not be ready, causing them to be suspended and resumed later on. This suspension and resumption is where the Pin concept comes in. By default, Rust allows moving types around in memory. However, when you have self-referential structures, like many of the future types in asynchronous programming, this can lead to problems. A future may hold a reference to another part of itself, and if the future is moved in memory, that internal reference may become invalid. Pin is Rust's solution to this problem. If a type is "pinned" (wrapped in a Pin), it is a guarantee that the memory location of the value inside will not change. This means that you can safely keep references to different parts of the same structure because you know they won't move around. Box<dyn Future> is a heap-allocated future object. Using Pin with Box<dyn Future> (i.e., Pin<Box<dyn Future>>) is common in async code because it guarantees that the future object will not be moved around in memory, making it safe to poll. However, one should note that simply creating a Pin<Box<T>> does not mean that the T will stay put; it's also necessary to ensure that T does not move itself or its interior around. The contract of Pin is such that, once a value has been pinned, it is not allowed to move or have its memory invalidated until it is dropped. For a type to uphold these guarantees, it must be Unpin or ensure that all its operations maintain these guarantees. Most native Rust types are Unpin and therefore don't need to worry about these guarantees. In short, Pin is important in Rust's async code as it provides a mechanism to safely handle self-referential structures, which are common in async programming. The Rust async ecosystem uses Pin to ensure that once a future begins executing (is polled), it will remain at a fixed location in memory until it has completed.
- yobbo 3y agoIt may give you explanations/code of numerical methods that run and look very plausible, but are subtly wrong; and you have to know both the language and methods in order to untangle the bug. But I have found asking questions like "how would I ..?" or "explain ..?" can be useful as long as you don't treat like a final answer. Programming is one of the fields were correctness actually matters in a binary way. But jobs where "sort of" or 80% is good enough can be replaced with language models.
- andresp 3y agoThe quality of the answers is often too poor to be used as reference.
- carlosjobim 3y ago> All I know is that computer programming is qualitatively an entirely different thing than it was six months ago ^ Your citation, sir.
- tunesmith 3y agoI am the primary source of my opinion, give me a break. I'm sharing my own personal experience; it is therefore not an "estimation". I will say that checking back a day later, I am stunned at how many smart programmer types are clearly not even close to getting how useful this tool is. For people that don't find it very helpful, to me that just means they're not asking enough of it yet. More people just need to spring for the $20/month and start asking GPT4 about any old technical subject they think they know well but about which they might also have holes in their knowledge. It's a tool that rewards creativity, so you kind of get out what you put in. Many folks here are too young, but back when search engines were coming out, there was a phase for many people where they only knew how to treat it as a toy. Like, search for their own web page to see if it showed up; search for a question they already knew an answer to to see if it was correct. It required a bit of a mental reset; a "click"; before each person would know automatically, without reminding themselves, that they could actually search for things they didn't know. It seems like there is something similar going on here. It's not a search engine so it's not exactly about stuff we do or don't know, but I gather that a lot of people thus far have not uncovered the advantages it actually gives them.