this post was submitted on 15 Jun 2023
314 points (100.0% liked)

Programming

13345 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
 

After the (temporary) defederation announcement of earlier i checked the Lemmy repo to see if there was already a ticket on the federation limiting option like Mastodon's that people mentioned Lemmy doesn't yet have. Not only i didn't find it, i also saw that there's about 200+ open tickets of variable importance. Also saw that it's maintained mostly by the two main devs, the difference in commits between them and even the next contributors is vast. This is normal and in other circumstances it'd grow organically, but considering the huge influx of users lately, which will likely take months to slow down, they just don't have the same time to invest on this, and many things risk being neglected. I'm a sysadmin, haven't coded anything big in at least a decade and a half beyond small helper scripts in Bash or Python, and haven't ever touched Rust, so can't help there, but maybe some of you Rust aficionados can give some time to help essentially all of Lemmy. The same can be said of Kbin of course, although that's PHP, and there is exacerbated by it being just the single dev.

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

May I ask you more about your experience attempting to learn? I don't know if it's because I can program but eight years seems a long time. In return, I'd be happy to offer you a few pieces for advice that could help?

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

That's so kind of you!
I started by aiming for front-end web dev. I learned HTML & CSS (I know, we're not PROGRAMMING yet). At the time, that's all I was hearing it'd take to get into the role. Then it was "you should probably know some Javascript," and I wasn't ready for how big of a jump that was. By the time I started understanding it, it became "learn jQuery," which I learned and used for a couple of small websites, then came the libraries...
"AngularJS is the future" well now I need to learn Git, compiling, CMD...
ReactJS starts becoming a thing and I say "seriously? I've learned enough of these things, quit moving the goalpost, React isn't going to stick around"
Yeah...it definitely stuck around...but as an Open Source nerd, I got super excited by VueJS and started learning that. No jobs in that apparently, aaaand I no longer want to do web dev, especially since I never reached the point of enjoying coding, it was always a means to an end.

So there were two major issues for me: \

  1. I never focused on one language enough to truly LEARN to code, it was a constant sense of "I'm not keeping up". I may be able to write the syntax, I might know the basics about functions, vars, and looping, but never really got using it in a super practical sense other than to try a couple of personal challenging projects that my ADHD arse couldn't ever stick with. \
  2. Me and coding speak and think very differently. Stick with me here, I know, it's a language, but the way something should be written and formatted are different from how I think it should be, and this is a very hard one to explain to folks. The best example I can give is that I might say like (and this is a poor example because remember, I don't code and I'm not doing any active coding projects) \

var person = { userInput }
var num;

function findNumberOfLetters (person) {
    num = length(person);
}
function response(person, num) {
    findNumberOfLetters(person);
    console.log("Hello " + person + "! Did you know that your name has " + num + " letters in it? Numbers are rad!");
}


I'm sure I did things wrong, but again, this is just for the sake of example. So, I write something like this thinking that it's nicely structured and easy to read, and inevitably won't work. I pass this to a friend, and the answer seems to always be a less structured, more nested code. So for this example, something like \


(function response(userInput) {
    console.log("Hello " + userInput + "! Did you know that your name has " + length(userInput) + " letters in it? Numbers are rad!");
})


Obviously their answer is shorter and this isn't exactly a complicated program, but for some reason, making the thing that provides a response to the user to do any of the logic feels wrong and messy to me. It's a really hard thing to explain, I hope this makes some amount of sense, but I just process things very differently than code does, and it just ends up really incompatible. I'll beat my head for weeks over-complicating something because I want it to "be clean" only for someone I know to come up with something that actually works within seconds.
This isn't to compare my skills against them, it's to say that I'm thinking about it wrong, I'm organizing it wrong.
That said, knowing how code functions has helped me to know enough to be dangerous and apply it in other ways, such as building Azure Logic Apps to manage ticket intake, or building alert monitoring. So it's come in very handy in its own way, I just don't have to competency to actually make any contributions to Open Source projects, especially since I don't write in two of the coolest languages that I wish I could learn: Python and Rust.

No pity party here, I love what I do and I don't intend to change careers to coding, but I do end up feeling helpless in the face of instances like this where I wish so badly to contribute to a project that I care so strongly about and want to see thrive. I know there's other ways to contribute, such as providing graphics, UI, documentation, financial, hosting, etc. but coding always seems to be the most in need to keep up with demand, and with more and more projects coming out all the time, the more programmers are in need to see them through.

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

Here is a thing I found helpful in my >10 years of programming career: break your problem from top to down (aka Top-Down programming).

Consider this problem: I want to send a post card to my friend.

Now let's break down this problem into several steps:

  1. Obtain a post card
  2. Drop the post card at a post office

Next, each of those problems can be broken down even further.

Obtain a post card:

  1. Visit a store that sells a post card
  2. Select a post card to suit your taste
  3. Go to the cashier and pay

Now each of those steps can again be further broken down into even more sub steps:

Visit a store that sells a post card:

  1. Identify a nearby store that sells post cards by googling them and find their address
  2. Open Google Maps to plan a route to the store
  3. Get out of the house and enter your car
  4. Drive to the store

You see where I'm going? Break your problem down into actionable pieces you can solve in the programming language of your choosing. How deep you go depends on what programming language to use. If you're using a High Level programming language such as Python, you usually don't need to break down the problem too deep in order to solve it. But if you're using a Low Level programming language (e.g. assembly), you're going to need to break down your problem very deep into actionable pieces that can be solved in assembly.

Hope that can help you.

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

Thank you so much for your thought out response! I've been encouraged to give Rust another shot, and I'll certainly be taking this advice to heart.
One thing that I've noticed in many careers is that the ability to break things down is a mark of expertise, to know what things can be broken down to, and I'm hoping going through something as granular as Rust will help expose what many of those things are. It's what made Javascript oddly frustrating, is that granularity felt less like providing me with options, and more like riddling me with extra hurdles.
I'm excited to take another crack at it (as if I need another time sink, lol), and hopefully some day I can help contribute something of worth.

load more comments (6 replies)
load more comments (6 replies)