this post was submitted on 19 Oct 2023
48 points (100.0% liked)

Programming

13373 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 1 year ago
MODERATORS
 

Honestly all this world looks really overwhelming, there's too much stuff going on: each program uses its own languages, its own compilers, uses different tools, libraries, dependencies, package managers and frameworks. You need specific instructions and documentation to learn new stuff at every single thing you deal with.

Whenever i open a project on Github i just feel overwhelmed because there will always be something new and i'm afraid i won't ever get out of that way of operate that "somehow makes things work" and really understand my code and program interactions..

Honestly it's really complicated because you use a program you need and you just see it from the surface, you don't have the time to learn how things work in a slightly more linear way, it would take ages considering the fact you probably need other 10 programs like that. To me it looks just like modern programming is about grabbing different pieces of fragmented knowledge all around web forums, wikis (or chatbots, which for me are just the next way of giving up our ability to learn) and somehow making things work.

I just get overwhelmed even when i take a look to a github page sometimes, even the frontpage has so much stuff you won't ever learn.

Another thing is the online community is the most sparse thing, far from actual real communities there is, you can work with people who won't ever even talk to, and their contribute can be as sterile as just creating a pull request and then leaving forever. You are mostly on your own striclty speaking of human connections and ability to share ideas and feelings.

I'm very fought because i somehow feel like i really love how certain ideals and creativity can be expressed with programming: i love that you can use something practical to solve idealistic, creative and technical problems. I love stuff such as digital etic, cypherpunk movemenet and all the work that opensource devs do to make the industry just a bit better, sometimes even receiving donations for their work, which for me is the highest form of payment, i've never seen someone more happy to pay for something as in the opensource community. But at the same time i'm starting to loathe technology and the internet because, adding on top of everything i said above about the sterility of the community, the difficulty to concentrate on a single thing and the dispersion there can be, i'm also dealing with a 10 years porn addiction since 5 years ago, progresses happens but are really slow and using my computer or phone is a huge trigger even if i'm trying my best to make them as minimal and not addictive as possible. Trust me, in a world designed to get you addicted to your hardware and software, being grown up used to doom scroll every day, it takes a huge amount of time and effort to have your things all sorted up to guarantee yourself a bit more privacy and software that is actually useful and doesn't want to keep you hooked, and at the same time don't be too much of a social outcast. You actually have to re-learn computer, or better saying, to actually learn computer for the first time, because you realize you can't just rely on having everything ready, set up, and just working from scratch without paying in some way, and the price that most big techs set is even higher, and far more subtle than just paying with money.

The software industry right now is shit outside of the few developers that are actually building products FOR users, and not for money, and of course that does mean that if i follow my ideals, i won't nearly have these much economical opportunities as every "usual" developer gets. It's a huge headache having to deal with programs even when i do it for myself, i can't even think of doing that for someone else right now (with all the work and continuity that this requires) and i'm thinking if i should really put my efforts somewhere else.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 1 year ago (1 children)

Frameworks come out faster than you'll learn them. Nobody knows the entirety of C++, how are you going to learn everything on top of that too?

[–] [email protected] 2 points 1 year ago (2 children)

And how you deal with that, how do you choose what to do and what not to do?

[–] [email protected] 4 points 1 year ago (1 children)

That's up to you! There's so many different disciplines within programming that you will learn some easier than others, and you will enjoy some more than others. You said you're learning web development right now - it may be that you don't like web development, not development. You could also try scripting, you could try databases or backend development. If you don't like Javascript, you may like Python.

If you desire the opportunity to peer-program, you know writing code with someone else together, then you may look for projects that have active Discord channels so you can join a voice/video call.

And your general anxiety about the state of the internet being controlled by a handful of massive companies isn't merely paranoia - a lot of people feel the same anxieties so you are absolutely not alone in that regard. Just make small things you like making - don't worry about what framework it has to be made in, or what language you used.

[–] [email protected] 1 points 1 year ago (1 children)

I'm actually curious on Rust, i don't like how dispersive can be JavaScript, i prefer to build smaller, maybe uglier things, but that work and are nicely stable, scalable and can be integrated on multiple different platforms. Also i love that almost everything runs on Cargo and i don't have to choose between 100 things that essentially cover the same target. I also think the Discord idea is quite good, i just want to find someone who is on my same level to grow / build cool things toghether, or small projects on which i can actively partecipate, there's also an association near me that promotes opensource projects and give free code lessons, i might give it a try as well and see if i meet someone there. I'm gonna give it another try before deciding of giving up, i think it is deserved.

[–] [email protected] 2 points 1 year ago

Good on you, and good luck!

[–] [email protected] 3 points 1 year ago

When physically building something with your hands, ex. fixing a drawer in your kitchen, notice that you don't walk into a hardware store and feel overwhelmed by all the different parts and tools in there. You don't feel like you need to buy and learn every single tool in the store just to fix your drawer. Instead, you understand what it is you're trying to do, and you think about what tool would best help you get to that goal. Maybe grab some wood, a saw, and a hammer, and then go home and get to work. Unless you have very unique drawers, you don't need to concern yourself with the lighting and plumbing aisles.

How familiar are you with x86-64 (or any other arch)? I think doing some assembly work might help, because at the end of the day, all these frameworks and languages and APIs are just attempts at creating the best sequence of asm instructions for the hardware they're targeting. Once you realize that, you see that everything is just a different imperfect tool that someone came up with to generate slightly less shitty asm.

The reality is, there are few new ideas under the sun. Some of these new frameworks are minor incrementations on existing ideas, and the vast majority of them are just doing the same thing in a new language with all the same pros and cons.

Experience isn't knowing how to use every tool, experience is being able to envision the final goal, hypothesizing what tool would make getting to that goal easiest, and then looking to see if that tool exists. If not, then try to find the closest approximation to that hypothetical tool, or build the perfect tool yourself (thereby adding to the infinite pile of tools out there).