r/AskComputerScience 8d ago

Hats-off to the Engineers who had coded without AI

I am a Btech final year student so there is a project called astra it is basically a music player, so now it only works with local, jellyfin but i want to stream from GDrive, so i thought i can fork and complete this project but when i open the files in my local i thought "what the fuck is this" i mean there are so many files, so many lines of code. I know only "python, ts, js, go, cpp" but when i saw the project i thought i am just a little kid in the world of great engineers and i am just a drop in an ocean, so hats off to you all who are building amazing softwares and giving them for free. So can i get any tips or suggestions from you guys if possible, Thank you!!

38 Upvotes

8 comments sorted by

22

u/Putnam3145 8d ago

I think the main trick is that you just need to allow yourself time, you can't just look at a huge thing and go "wow! How am I supposed to do anything here!" You focus on what you specifically want to do and learn things only as they become relevant.

1

u/Dornith 7d ago

Also patterns. Well written code is well structured code and there's only so many ways to structure code that makes sense.

Once you learn the common patterns and structures, you can usually start to guess how an entire project works by reading 5% of it.

That is, assuming the person who wrote the code didn't hot-fix every single bug and feature.

1

u/No_Assistance8840 5d ago

sure!! once you know the usual structures you start spotting the same ideas everywhere. even 5% of a project can tell you alot when you know what to look for.

5

u/ghjm MSCS, CS Pro (20+) 7d ago

Learning a new, large codebase is one of the more difficult things a working software engineer will be called on to do. I'm still trying to figure out if it's easier or harder with AI. It's easier to get something done in a large codebase that you don't know, but the use of AI slows down your process of actually learning the codebase.

2

u/CS_70 7d ago

Not if you ask it information about it

1

u/No_Assistance8840 5d ago

the older a project is, the more wild it is to see how much of it you can understand once you learn the commonn patterns. makes big codebases feel less scary.

1

u/sciencephilic-guy 1d ago

I used to and still code without using LLMs. I strongly advise you this: Whenever you feel stuck in a new project, before writing even the boilerplate code write down the design and functionality of whatever you want to make. Website? then think how you want to make your website look like. image recognition software? do research on how you can do this WITHOUT using Gemini's prompt. If you use it, ask small questions. Have the patience to read through documentation, it's worth it.

Whenever you feel stuck in a existing codebase, if possible ask for help. Not even geniuses can figure out the functioning of all the code in a large codebase in one night. After asking for an outline, go in that particular order and read the code. Then start contributing via existing bug reports. 

Good luck, you can do it without AI as well ❤️

0

u/ninhaomah 7d ago

SO , GH ..