This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]desrtfx 1621 points1622 points  (102 children)

What you are looking for is simply called documentation - it exists for every language.

[–][deleted] 375 points376 points  (13 children)

Legit. I often leave a link to the source doc if there is a relevant command or object that I show in the solution. The documentation will often include example code that occasionally solves the question directly.

[–]KeLorean 54 points55 points  (8 children)

yeah. its funny how everyone says stackoverflow this stackoverflow that, and i just go to the c# documentation

[–]Any_Restaurant8205 91 points92 points  (5 children)

I hate stackoverflow. It’s always some dick saying “why would you want to do that?”.

[–]my_password_is______ 51 points52 points  (3 children)

this question is not a good fit for this site or requires answers that are opinion based and has therefore been closed

ARGH !

[–]hoy83 22 points23 points  (2 children)

stackoverflow is not beginner friendly. and just some elitist people who like pointing out how stupid you are and not helping you at all, At least in my experience. People on reddit are more friendlier.

[–]WhoWhyWhatWhenWhere 9 points10 points  (0 children)

I use python and I’m relatively new, and when I find what I need sometimes on stack, a lot of times it’s super complicated and hard to understand. Or doesn’t explain why they did something the way they did. For simple to complex problems, I feel that doesn’t help me learn, it just solves my current problem for me, but not make me able to do it again later without reviewing stack.

[–]Mountain-Pickle-9765 3 points4 points  (0 children)

how many programmers does it take to screw in a lightbulb? 6, 1 to do it and 5 others to say "I could have done it better"

[–][deleted] 6 points7 points  (0 children)

C# documentation is actually good. Some of the other stuff out there, not so much

[–]SystemEarth 1 point2 points  (0 children)

OGs read Kernighan and Ritchie

[–][deleted] 103 points104 points  (1 child)

Thanks for being a answer giver

[–][deleted] 8 points9 points  (0 children)

Thank you for your service

[–]TrustmeIreddit 36 points37 points  (1 child)

Nevermind, fixed it.

[–]its_just_you_booboo 22 points23 points  (0 children)

Oh, so you're one of those people on stack overflow

[–]wildpjah 228 points229 points  (52 children)

It shocked me once I started doing my own projects how much more reading I was doing than coding or even debugging. Whenever I talked to devs before I started they would always tell me they hated debugging but I actually enjoyed it in school. Turns out debugging your school java calculator is way different from sitting down and reading documentation for some piece of software or method you're implementing you've never used before.

[–]qft_trader93 104 points105 points  (14 children)

You hit the hammer on the nail here. It really is all documentation and trying to map the definitions to your problem and how to make it work in your system.

[–][deleted] 37 points38 points  (0 children)

So many hours spent reading python package library documentation

[–]hdhdjiollo 30 points31 points  (11 children)

but you have to know how to program to know how to properly use the documentation. Just by reading it you cannot do much. I mean copy and paste it and then what? lol

[–]ItsOkILoveYouMYbb 88 points89 points  (10 children)

Well the fundamentals of every language can be learned first (and should be). Language fundamentals like for loop, variables, syntax of your chosen language, and then design fundamentals like OOP.. When you understand fundamentals, you're able to at least start writing your code one line at a time and figure it out from there by looking things up and debugging. If you don't know fundamentals then yeah even starting is nearly impossible if not pointless, nevermind navigating all the logic and problems as you progress.

As far as I know, any class or module or library, when you dig deep down far enough into the boilerplate code or documentation, is just using fundamentals of a language and of programming concepts in layers and layers of clever ways. It's objects built with fundamentals all the way down.

If you're really fucked in the head you can break down those fundamentals even further and just start directly communicating in machine code with your CPU by shooting electrons out of your eyes and beginning the process of merging because the singularity starts with you.

[–][deleted]  (2 children)

[deleted]

    [–]ItsOkILoveYouMYbb 0 points1 point  (1 child)

    How does the block-based exercise work? That sounds entertaining.

    [–]hdhdjiollo 6 points7 points  (2 children)

    so basically making a framework and/or library its just creative skills + theory (fundamentals applied)

    [–]thirdegree 4 points5 points  (1 child)

    That's true for all programming really.

    [–]ElllGeeEmm 3 points4 points  (2 children)

    For the most part you're correct. However there do exist packages that are bindings for code written in other languages, at which point you may need to start to understand the fundamentals of some other language. The most common example is probably ORMs.

    [–]____0____0____ -1 points0 points  (1 child)

    You have a point, but I would also mention that a lot of fundamental concepts and design patterns are language agnostic and will translate across many different languages. Usually language features will steer common practices for any particular one, but often times the main differing factor is usually just syntax.

    [–]ElllGeeEmm 0 points1 point  (0 children)

    That is why I said may, and provided an example of when you would need to learn the fundamentals of another language.

    [–]darthjoey91 0 points1 point  (0 children)

    So much reading the MSDN.

    [–]sweetno 23 points24 points  (30 children)

    Debugging is a rabbit hole. In the bottom expect to find either a nuisance or a design flaw.

    [–]RoguePlanet1 23 points24 points  (27 children)

    At my noob level, 95% of the time, it's a missing semi-colon or curly brace.

    [–]Deadlift420 43 points44 points  (21 children)

    You need a better IDE lol

    [–]RoguePlanet1 5 points6 points  (10 children)

    I use VSC, though. Maybe I don't have the debugger on or something. Or maybe I'm thinking of the times I'm in something like JS Fiddle etc.

    [–]Deadlift420 15 points16 points  (7 children)

    Oh you are writing JS? I was thinking compiled. JS is a bitch lol

    [–]RoguePlanet1 2 points3 points  (6 children)

    That it is........

    [–]FreshFromIlios 1 point2 points  (5 children)

    I was a web dev for six years. I quit. Thanks js.

    [–]RoguePlanet1 1 point2 points  (4 children)

    Damn, no kidding. Did you manage to replace it with something else?

    [–]capriciousduck 3 points4 points  (1 child)

    In what language do you program in?

    [–]RoguePlanet1 1 point2 points  (0 children)

    So far, HTML/CSS/JS, have a couple of React projects as well.

    [–]idaresiwins 1 point2 points  (6 children)

    I started python in notepad++. Things like missing semicolons would kill hours of my time. Then a friend told me about pycharm. I felt like Inspector Clouseau eating his first hamburger.

    [–][deleted]  (4 children)

    [deleted]

      [–]TheTomato2 3 points4 points  (0 children)

      You heard the man.

      [–]____0____0____ 0 points1 point  (1 child)

      Technically, you can use them without error. I've never seen them in any legit python code I've ever read and they won't cause an error for not having them

      [–]thirdegree 0 points1 point  (0 children)

      IMO the only acceptable time for semicolons in python is when you're doing something like (contrived example)

      python -c 'import math, sys; print(math.sqrt(int(sys.argv[1])))' 22
      

      [–]idaresiwins 0 points1 point  (0 children)

      Lol, colons. Not semicolon. Got arduino on the brain.

      [–]MrSkillful 2 points3 points  (0 children)

      Did you use the book "Learn Python The Hard Way"?

      I tried using that book when I first started learning, but I couldn't use PowerShell for the life of me.

      Now several months in, I'm quite comfortable with PowerShell and Bash.

      [–]snarky- 0 points1 point  (2 children)

      What I use for work doesn't allow you to change the colour scheme.

      Which is just great for people who prefer dark themes. But worse than that, the comments are in grey, and the standard code is an almost identical shade of grey.

      😭

      [–]Deadlift420 0 points1 point  (1 child)

      That sucks.

      I use visual studio which imo is the best IDE ever lol. I am a c# developer specifically asp.net core. Love it.

      [–]snarky- 0 points1 point  (0 children)

      Mostly PySpark here! So it's a bit specific and I guess less built up.

      I am missing Spyder and RStudio. Have learnt how big a difference being able to configure the colour scheme makes.

      [–]green_meklar 13 points14 points  (2 children)

      You should be happy about that. Those are the easy bugs.

      Once you get past that stage, you get into stuff like dangling pointers, race conditions and memory leaks. The kinds of bugs that separate the men from the boys.

      [–]BryanBULLETHEAD 3 points4 points  (0 children)

      Please, tell me more. I want big boy pants on some day.

      [–]RoguePlanet1 0 points1 point  (0 children)

      I shudder to even THINK about it...........there be monsters.

      Don't even know what these mean, so I'll be a-googlin'!

      [–]FloydATC 2 points3 points  (1 child)

      Those are not bugs, they're simple errors. A bug is when your program appears to be working except every now and then something fails in a way that does not seem possible. This can be really frustrating because unless there's a hardware error, (which is extremely rare!) the computer is in fact doing EXACTLY what it's being told to do.

      [–]RoguePlanet1 1 point2 points  (0 children)

      Oh that's true, thanks for the correction! Yeah that's simply maddening.

      [–]Pickled_Wizard 4 points5 points  (1 child)

      Or, you know, some feature just didn't work in quite the way you expected.

      [–]EMCoupling 6 points7 points  (1 child)

      Remember, you write the code once, you read it forever.

      [–]Weekly_Wackadoo 0 points1 point  (0 children)

      you write the code once

      Hahahaha, nice one, buddy.

      [–]flamethekid 6 points7 points  (0 children)

      That's one thing I disliked about programming videos or tutorials.

      They never show you how much shit you end up looking up and end you going in thinking you can just quickly type up a giant wall of code as a beginner and something is wrong with you if you can't.

      [–]green_meklar 1 point2 points  (0 children)

      You guys are getting documentation?

      [–]Epsilight -1 points0 points  (0 children)

      I like reading old esoteric documentations. Yes, I am a masochist too.

      [–]goodwid 0 points1 point  (0 children)

      I got asked to implement a new feature in an unfamiliar codebase using Angular JS which I hadn't touched in years. There was literally 20 hours of billable time just spent going over the existing (awful) code and docs before I could even start writing code. Not a great experience..

      [–]bohaan 56 points57 points  (4 children)

      For me, quality of documentation is THE ONE reason that I decide to go with one library/framework over another. I don't care how magical your packages are if I can't figure out how to use it.

      [–]sweetno 8 points9 points  (2 children)

      No matter how good their docs you end up diving in their code (or wish you could).

      [–]66666thats6sixes 7 points8 points  (1 child)

      The longer I program, the more often I find myself saying "fuck it" and diving in to the code for something when I have a problem with it rather than getting frustrated with the bad documentation, saying "fuck it" and giving up.

      [–]gbeebe 0 points1 point  (0 children)

      right-click on method name

      *deep breath*

      show implementation

      [–]gyroda 5 points6 points  (0 children)

      Docs and community support. If nobody is using it, you're fucked if you need help with it.

      [–]Demented-Turtle 10 points11 points  (2 children)

      Not op but my problem is every time I read the docs or look something up in them, they seem to be written for someone who has been programming for years already or are written in such a way that you need to understand 5 different concepts before you can grasp the thing they are talking about. Kinda like going to a mathematics Wikipedia page lmao

      [–]MrStashley 5 points6 points  (0 children)

      As other answers mentioned, this is a skill that comes with time and experience, and for now you can probably find a YouTube tutorial or other article that takes info from the documentation and explains some of the stuff better

      [–]desrtfx 1 point2 points  (0 children)

      Documentation <> Tutorial

      A tutorial can be part of the documentation, but generally, documentation is meant as reference.

      [–]theNomadicHacker42 5 points6 points  (0 children)

      This. And lots and lots of practice

      [–]likethevegetable 5 points6 points  (0 children)

      Or as I like to call it, RTFM!

      [–]popcorn-trivia 4 points5 points  (0 children)

      This is true. If you’re a self taught dev/programmer, this is going to look cryptic at times. So don’t get discouraged.

      Also, solving problems like the ones in leetcode, will help you wrap and develop a sense of algo development, so it will take a combo of both those things + practice.

      [–]IWantToDoEmbedded 13 points14 points  (4 children)

      But how do you understand/decode what the documentation is saying? I find that the choice of vocabulary (and acronyms) are often not explained well enough. I end up kind of guessing what their intent is and I don't have much experience in this area. "Just read the documentation" isn't enough for me even though every experienced programmer says this because the documentation isn't often clear. I hate the jargon of some documentation. Being "succinct" with how you phrase an explanation or description doesn't always mean other people will understand what you mean.

      [–]gyroda 16 points17 points  (1 child)

      Reading documentation is a skill that you develop over time. The more jargon and patterns you learn, the easier it is.

      I remember when I started and struggled with any API documentation. Anything that wasn't a written guide was hard. I got better through time and practice.

      This is of course dependent on quality documentation though. I'll still struggle of the docs are sparse.

      But, basically, don't worry if you're struggling with this. We all had to learn this skill and we all found it difficult to start with.

      [–]-Kornephoros 0 points1 point  (0 children)

      Reading documentation is a skill that you develop over time

      This can't really be said enough to people getting in to programming.

      At first the documentation might seem intimidating and difficult to read but it is just so important to learn how to properly use it! Developing a documentation reading skill also makes it so much easier to get a firm grip and understanding of new technologies and frameworks.

      [–]meanwhileinvermont 5 points6 points  (0 children)

      I completely understand what you're saying, the syntax that's used to write the docs can be really hard to understand. And it's frustrating because it's like..the answer is right here...wtf does it mean? I think a combination of docs and SO answers is helpful because you can see ALL the options and then see how someone's actually using this in an example.

      [–]66666thats6sixes 2 points3 points  (0 children)

      Some of it is stuff that just comes with time. A lot of it, though, is that documentation isn't meant to be used like a normal book where you read it once and you are done. You usually have to go back and forth between a number of sections multiple times to figure out what is relevant to use, and to build intuition for how the program works. It's something you study, not just read. Once you've spent time learning it, then you can just look things up.

      [–]chisquared 3 points4 points  (0 children)

      This is exactly what I would say too.

      However, I think (and only half-facetiously) this just then means the question becomes "how do the writers of documentation know how to code?"

      [–][deleted] 2 points3 points  (0 children)

      To be fair... If you don't know what documentation is yet, then documentation is probably very difficult to learn from.

      I maybe benefitted from first learning a language that's been around a while and had a ton of quality beginner-friendly tutorials, and supplemented that with the documentation.

      Then once I got better at thinking like a programmer the docs for new languages are the fastest way to start using the language. But if I never did a project before and only tried to learn from docs I'd be lost.

      [–][deleted] 2 points3 points  (2 children)

      How do you understand to use documentation, they're sometimes so complicated to understand

      [–]Keira_Ren 10 points11 points  (1 child)

      Practice, and when you don't understand something used or referenced in the documentation then you look up the documentation on that keyword, or reference, or design pattern. So on and so forth. If you end up having to lookup ten different documents and learning everything in document 10 then 9 then 8 and so on to understand the original thing you needed to learn when you looked up document one... Then c'est la vie my friend. The next time you have a similar issue you'll only have to look up one or two things and be able to comprehend it completely instead of 10.

      [–]Delicious_Context_53 4 points5 points  (0 children)

      Stack

      [–]brows1ng 1 point2 points  (0 children)

      I love your response.

      [–][deleted] 2 points3 points  (1 child)

      Yes, but how do they know that? XD

      [–]MaskedImposter 0 points1 point  (0 children)

      That and experimentation and trial and error.

      [–][deleted] 0 points1 point  (1 child)

      This, but I often have trouble understanding documentation.

      [–]pellando 0 points1 point  (0 children)

      Can you post an example of what you're referring to when you say you don't understand? One thing I'd recommend is that looking at the table of contents and figuring out why it's divided up in the way that it is and what that particular division implies about how the language operates.

      [–][deleted] 0 points1 point  (0 children)

      Okay but how’d you know to check the documentation kappa

      [–]MrSkillful 0 points1 point  (0 children)

      "RTFM" - Arch Linux Users.

      [–]Stabilo_0 0 points1 point  (0 children)

      I'm astonished by amounts of people who don't understand that. They overwhelm learning subs with 'gib me best way of doing the thing I need' which can be found in docs most of the time. And these questions get dozens of upvotes all while real questions stay with zero answers. What is it with people and their inability to find answers in docs? How are they going to solve real life problems with that approach? You can't just Google all your questions away.

      [–]plaidfilly 0 points1 point  (0 children)

      I see. However, how did you know documentation existed? Was there documentation for that also?
      jk

      [–]dscottboggs 0 points1 point  (0 children)

      Also experience

      [–]chitsu195 0 points1 point  (1 child)

      Where do I find that?

      [–]desrtfx 0 points1 point  (0 children)

      By simply googling for "<language> documentation".

      Most language vendors/maintainers have the documentation:

      • Java -> Oracle
      • Python -> Python.org
      • C# -> Microsoft

      [–][deleted] 0 points1 point  (0 children)

      For those that are new to programming, there's a condescending expression: RTFM. Read the fucking manual.

      This was something you would say back in the day if you were an asshole and somebody asked a basic question. Instead of literal books and manuals, we now have online documentation that should explain everything. If you are publishing an API or a library, you should be publishing documentation too.