Hello everyone! For many years, I have been coding every once in a while and actually learned a lot. I especially liked C and C-Like languages and building useless stuff just for fun and for the sake of the intellectual challenge that came with it, but since when AI became decent enough, it just kinda ruined the passion for programming and computers as a whole. Thing is, I am in university now and need to go back to using C and program regularly, but now that AI does everything 20000 times better than I ever will I always either cede to temptation to use it (thus nullifying learning) or just get bored so quickly I just turn off the computer to do something different.

is there a way to revive the interest for programming and building projects? I am doing my best to stop using AI but heck I really am self-indulging. please help!

  • 87Six@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    22 hours ago

    All AI did was move the bar up SLIGHTLY for new devs.

    You’re alright.

    Don’t know how to escape that though…

  • OnLawn@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    23 hours ago

    I’ve been thinking of all the places computers have democratized industries. Music is produced by someone on a laptop now more than a collective group of practicing and talented performers. 3d printing produces objects of great sophistication without really any craft skills at all. Chess is a bigger industry now than it was, and no one can beat a computer.

    But even then, sports have been something that anyone can participate in to various degrees, yet we still admire people who reach the pinnacle of performance.

    Before starting my own aquarium, a wise person said “Aquariums aren’t about keeping fish, they are a hobby for people who like to keep water, and the fish are just enjoying that”. Every craft, every sport, every performance has practice and maintenance that itself has to bring the enjoyment, the puzzle, and the promise.

    I see that for programming. It will be for someone who desires the craft of computing more than the outcome of the application, and they will achieve things that are simply beautiful. Because they love the craft.

  • DutchJ@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    The main issue here is that googling becomes less and less attractive due to the emergence of copycat AI generated articles. Oftentimes, you have to wade through several identical copies of an original tutorial with ads crammed every other line before you find an actual resource.

    What I find to work reasonably well:

    • IF I use AI, I instruct it to never change files or run console command, but instead explain to me what to do and why
    • If not straightforward advice, I will check with official documentation pages and correct if needed

    This way, AI acts as glorified Google that can read your local context. For me it works quite well and I learn a lot. Nonetheless I find myself often wondering if I am doing the right thing.

    • wewbull@feddit.uk
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      I’d suggest actually disabling your write, edit, and bash tools if that’s what you want. If you just instruct it you’re risking it ignoring you.

  • kunaltyagi@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    Do stuff that you find interesting. I can buy good looking cups, but I still run the pottery wheel to make something by my own hands. It’s wonky, not perfect, but it’s made by me and I’m proud of that

  • TheUniverseandNetworks@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    A very long time ago I was taught that the lifecycle of a program is 20% design, 10% coding and 70% maintenance. The LLM can do some of the design & coding for you (which is the stuff you need to learn) but it’s going to (if it works) produce functional but impossible to maintain (for which read - change later for any reason) code. You’re training your brain to know how to do this stuff, and that’s important in and of itself.

  • Dry_Monk@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    Put it in coaching modę. Write the code yourself and only invoke it when you need a principal explained. AI doesn’t understand things, but you do. Use what it’s good at — writing text in statistically predictable ways to help you get better at what you’re good at.

  • teddy2021@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    1 day ago

    I have found a few of my friends doing the same, and I have used AI on occasion. What I would suggest as someone who went through post secondary education without AI is to limit it, and see it as a tool. You can use it for more than code generation. I’ve used it to lay out plans in formats I don’t care to learn, but work well with CLI tools, help with debugging, and generate trivial code, like boilerplate or refactors. I admittedly am a bit of coding addict, so your mileage may vary, but i do think that it can help adjust the challenge you deal with, and, by that, give you the sense of achievement that will build a lasting joy from the process.

    • Tollana1234567@lemmy.today
      link
      fedilink
      arrow-up
      0
      ·
      1 day ago

      im not tech, but i only used it a couple times out of curiosity of a quesiton and never again, after it gave mixed answers. but one of my bros did use it heavily to answer almost every of his questions, and even hallucinates answers on a obscure aspect. for how bad some forums or reddit it is, usually has the question or close to what im asking without looking AI.

  • matcha_addict@lemy.lol
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I always either cede to temptation to use it (thus nullifying learning) or just get bored so quickly I just turn off the computer

    This just sounds like a question of discipline, and AI is likely not the issue.

    I can relate. Whenever I wanted to learn programming, it felt like a chore to sit down and do it. This happens when you’re kinda compelled to learn it — such is the case in university.

    There is no magic trick. The answer is discipline and fighting your urges. Just tell yourself you’re gonna sit down for 90 minutes or however long, and you will work on X task without using AI (or whatever other guardrails you decide on). When you explicitly tell yourself that, and set up explicit boundaries and guard rails, you will do it. You just keep at it until it works.

    As I said earlier, this is how I felt even before AI. After a few months of persistence, it suddenly clicked, seemingly overnight. I became addicted. It became more difficult to stop doing programming. You just need to get in the flow long enough for programming to become natural and enjoyable to your brain.

  • NewDawnOwl@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    have a vision and a project that you want to actually control the design of. Have a goal about being able to re-use and re-learn from your project when you look at the source of again, so that things are as well structured and as re-usable as possible. Make your goal to be a better programmer and to fully understand your code.

  • UnfortunateShort@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    You can understand things in principle, implement them once and still use AI afterwards. That’s basically how uni will work from now (at best). I don’t mourn programming on its own tbh, because in the field you rarely do exiting stuff. And the exiting stuff you will likely still have to do, because it is the hard stuff

  • bignose@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    @super_user_do@fedd.it, don’t fall for the (insanely voluminous) hype around LLM capabilities.

    LLMs aren’t better than you even today. They will extrude mediocre code, far too verbosely, and inevitably lose track of what they are supposed to be doing. When asked to make a change, they will frequently change far too much. They will make a mess that no one understands, least of all the LLM.

    You can do better than them, today and in the future, by being curious, reading to understand, intending what you write, and improving from mistakes. LLMs can do none of this, their design does not allow them to.

    • Lux18@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      1 day ago

      I honestly feel like I’m going crazy. Everybody is constantly telling me that LLMs are so good and capable, and a lot of people even consider them superior and talk about that like it’s a known fact. But I just don’t see it.

      I tried to use them lot of times, but the results were simply not good and I always end up just wasting my time. And everybody is always like “well you have to write the right prompts, they have to be like this and this” or “well it might be that you’re not using the right model, try this and this model” or whatever.

      One guy even suggested that I might not be advanced enough to recognize it as good code, because again, LLMs are just so good and that’s a fact. Which, to be fair, I fully admit to not being advanced or very experienced, especially in C++ which I am currently using and trying to learn. So I’m not rejecting this notion outright, it might actually be true. Although, I am experienced and I’d even say advanced in Python, and there I can say for sure that the code written by LLMs is just bad, convoluted, and unmaintainable.

      A lot of times that I talk to people about this and explain my experience, and manage to convince them that I tried different prompts, models and everything, they always land on the same conclusion - that the code doesn’t actually have to be readable and maintainable. LLMs are a new interface for coding, thus the code only has to be good enough for the LLM to be able to work with it.

      And I honestly can’t even say that this is such a ridiculous idea. That may very well be the path we’re headed towards. And if that is the case, then my insisting on not using LLMs just puts me at a disadvantage since I’m much less productive (assuming that people who use LLMs are actually more productive - which I haven’t seen conclusive studies about). I’ve read a little about this topic on reddit and stuff, and a lot of people really do agree with this - if you don’t use LLMs, you’re just too slow and it will only get worse. And this is coming from people who are (claiming to be) experienced software devs.

      My situation is a little bit different though - I’m writing research code and I definitely DO have to be able to read and debug the code. If I don’t, my results might be completely false and come from bugs or wrong functionalities. So I strongly reject using LLMs in my code, at least in the 95% of the code that actually implements my methodology.

      But even still, I haven’t had success with getting good code out of LLMs for the 5% that doesn’t deal with the research, so what the hell is going on? I seriously feel like I’m going crazy since it seems to me like I’m the only one who isn’t satisfied with the “capabilities” of LLMs. I can admit that my prompting needs work and that I don’t exactly put much effort into it, but at some point, where do you draw the line? How many paragraphs do I have to write to ensure that the LLM does exactly what I want, before it becomes more work than actually doing it myself? I swear, some of the tips I get from people on prompting are crazy - writing .md files with instructions, writing out every single detail, explaining exactly how to do it and on and on and on. Its honestly easier and quicker just doing it myself.

      And another thing - when did it happen that people stopped being embarrassed about heavily using LLMs to code?? Like this just flipped at some point and now people proudly talk about not having written a single line of code in a project (and I mean this literally, I’ve had multiple people tell me this). I cringe so hard every time in these conversations.

      So I really have no idea what to think anymore. In any case, I won’t be using LLMs in my research because the main goal is for me to actually learn something, as well as to produce reliable code and results. I’m still early in my research, so there’s no problem with me doing that right now. But there will probably come a time where I will have learned enough about the topic to allow for “blackbox” code because I will be able to verify the functionalities and results, and I certainly expect higher pressure to use LLMs then. I have no idea what I’ll do then.

  • 👍Maximum Derek👍@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    The satisfaction you’re looking for comes from the process of learning and doing, not having the final product explained/handed to you. You have to remind yourself that the joy is in the making, not the final product.

  • MagicShel@lemmy.zip
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    It can do classroom bullshit because it’s well-defined, small in scope, and generally isolated. If an entire app can be expressed in 1000 lines of code, AI can probably do it faster and better than you. But when you’re talking about a full microservice or game, it can’t.

    Coding skill is about knowing what to build and levels of abstraction. Writing the code itself is more tedium than skill. If you can understand code well enough to see AI output and edit it to repair the bullshit and keep the boilerplate, you’re doing great.

    The challenge is AI code looks really good while sucking hind tit. Even I go through this after thirty years of experience. AI writes code that looks great because the stupid stuff it does is largely hidden from you — it is stupid decisions it made and then wrote code consistent with that decision. You haven’t thought through the hard bits so it’s solution looks simple and right. But it did the thing wrong.

    I use AI all the time, and I find it helpful, but it’s FAR from perfect. So very far.

  • whotookkarl@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    Don’t use LLMs to learn, if you insist on using them use them to automate things you already can do yourself. Treat university like a 40 hour a week job, you need to put that time in to build knowledge & retain it through practice if you want to develop your knowledge and intuitions. If you’re going to dedicate that time to it you’ll be less inclined to take shortcuts since saving time won’t matter because you’ll spend the same time working at it either way.

  • terabyterex@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    2 days ago

    These models can create apps that are great for a single person with no skill but they all miss something. its a great tool for analyzing. but it misses in style and domain.

    here is my best analogy. i love mesding around with suno the ai music creator. it offers similar fun as mad libs does for me. i plug dhit in snd see what i get. well i am 50 and miss 90s alternative rick/grunge music. i try to see what suno can come up with. recently i tried to have it mimic the wallflowers. it created a song thay seemed technically the same but didnt have the same feel.

    a non dev can plug shit in and have an app but it takes skill to use that tool to make a solid piece of software.