Companies who developed libraries and frameworks had to do proper technical writing, otherwise people wouldn’t be able to use their technology. Microsoft did amazing job writing their MSDN, but others did well, too. Linux man pages, Java JDK docs, and similar sources contained more than enough information for a motivated reader to start using their tech, get stuff done, and be productive.
A bit later, many of the vendors created their own Q&A forums, in addition to writing documentation. Such forums are focused on a single tech, so web developers don’t come to game dev forums to close other people questions they don’t understand due to lack of background. Happens every day on modern SO.
But even with pristine MSDN documentation and lots of (pre-SO) googling some problems were just very hard (or I was just inexperienced).
I think tools also evolved and it's not surprising that "HTML" won, even QT looks like cutting a tree with a kitchen knife sometimes
Modern SO doesn’t help with hard problems either, such questions often closed as “too broad”.
> even QT looks like cutting a tree with a kitchen knife sometimes
C++ is just too low level for GUI. Look at WPF or UWP, both are miles ahead of HTML even with modern webdev stuff like react, but they work fast.
I think the main reason why HTML won is Apple, and modern mobiles. Building multiple rich GUI applications for Windows, iOS, Android is too expensive for many people, the platforms are too different. Even before HTML5 arrived, it was possible to build a single web app: JS workarounds for cross-browser compatibility, and different styles/layouts to support both mobile and desktop browsers.
Oh my questions were very specific usually
(the hardest one I remember was how to put a borderless window inside another window (because it could change) and making it all work. Think some good amount of win32 quirkiness was needed for that to work the way I wanted)
What is the best way in C++ to calculate the coordinate of a rectangle (hyper-rectangle) in n-dimension? I have dimensions of the rectangle in a 1d vector like {1d_min , 1d_max ,2d_min,2d_max, ...., nd_min,nd_max}. For example, in 2d the dimensions are {1d_min,1d_max ,2d_min,2d_max}. And the coordinates will be {1d_min,2d_min},{1d_min,2d_max},{1d_max,2d_min},{1d_max,2d_max}. However, I want it for n-dimension.
For people with even minimal background in geometry, it’s obvious the OP wants coordinates of all vertices of an axis aligned hyper-rectangle. A good question in my book, and it has very simple and elegant answer which I wrote there (using bits from an integer vertex index to select min or max coordinates).
I found MSDN so filled with unexplained parameters and fields, hyper-linked to other unexplained classes, that I gave up and haven’t tried again.
Where did you find the well written documentation?
SO is on Wikipedia level of blessings to humanity. I wish every profession out there could have a resource like this.
People often share negative experiences asking question in SO but really, I can't fathom how that could happen. Just follow the composition rules, take a few minutes to write and research your question and you will be fine. Don't be so lazy.
If you have a question that hasn't already been asked, its worth it to take the time, follow the rules and do it properly. Don't think of it as YOUR question, its the community's question.
I think it's time to pick up my toys and go home. And never return here.
My opinion is that "Stack Overflow" vastly exacerbated the eternal September effect -- people went there for instant gratification (of both the question and the answer variety), instead of focusing writing better manual pages. Yes, manual pages. The ones written in nroff. Those.
"I like Linux because I can find an answer to anything within seconds on Stack Overflow" (a "UNIX systems administrator" once told me that to my face) is not a good reason to adopt any technology, any programming language, or anything at all.
From my point of view, "Stack Overflow" is one of the great evils of the information technology industry: nobody bothers to think about the problem and research it any more. It's all about instant gratification and non-existent or shitty documentation nowadays. Great evil befell us all.
So what if SO helped someone to get to the resume phase who perhaps shouldn’t be there? There’s only one way for them to figure that out, and it’s experience. Give them some constructive criticism and move on.
Nothing is perfect and SO has its warts — but it’s far better than anything we’ve ever had.
This meant you could keep scrolling and what do you see - a few pages after the blurred out answers were the real answers!
Then Perlmonks was like a Perl specific version of Stack overflow, with the difference that they encouraged discussion, leading you to a far deeper understanding of the language. I miss that.
(It still going, its pretty ugly but the content is better than SO). https://perlmonks.org/
I have a hard time getting into a flow state when I'm looking something up, but when I know the language inside and out it's easy for me to get into a flow state.
So much so, when I learn a language I try to know it well enough to never have to google for help. Of course, I still google around at times, but I find the less I have to the happier my day is.
SO is a blessing, but it's also a curse. Younger devs have no idea what they're missing out on.
Yes, I still have to look up libraries for, eg pip, and I haven't gotten to the level of knowing every compiler error yet.
But it is very much a doable goal. Especially given that knowledge transfers between languages and libraries. Once you learn the thought process of the dev who wrote it, you can guess how they did or are going to do everything after that, creating a short cut where you can guess and usually always guess the right answer. It's much quicker than using SO.
Is this because this Web programming innately needs lots of tools, etc. to work, or because the modern programming ecosystem (including stack overflow) has allowed it to grow to be this way?
Just to nitpick a bit, I would say that complexity grows quadratically - proportionally to the number of potential interactions between subcomponents.
I'm just trying to point out there's a difference between SO being a super useful resource when programming, and the voices in this thread that seem to literally say "I can't program without SO" -- to which I kinda want to say, maybe then you shouldn't write code for other people.
That may sound a bit arrogant but there's a real question behind it: Is it really true that SO allows large numbers of people to write code that they would otherwise be completely unable to write or finish? I mean, are the people who say they would get hopelessly stuck without SO, just not very good at reading docs, doing research and understanding systems? Or did they just never really try, because SO is right there on page one of the results?
So there are people who believe there are programming gods who live on SO, that are the only ones with the knowledge to answer certain questions ...
And let's not forget the fact that SO came to life in the time when web started to grow and improve a lot. It's not THE improvement; it's just one of the development improvements we grew to like.
Today it's a standard practice that 3rd party code (tools, libraries, frameworks) come with decently written docs. Specific for web development, MDN improved a lot, and it's a good summary of the full spec. Also finding data on these pages is easier than it used to be thanks to improved search engines. All of this is, in my opinion, is a reason why SO is not as important as it used to be.
The author has a good point. A great platform doesn't excuse the behaviour of its users. The least one could do is explain the downvote, to give some guidance for the future questions. They exercise their right (power) to "moderate", but not their duty to make it a better place.
Wow, I must have been a natural talent or something /s
But seriously, programming isn't that hard. Finding the answer on SO is just a shortcut, saving some time, but it's not like the information magically grows on SO. It came from reading the docs and having a good understanding of the subject matter.
I mean yes, SO is a blessing. Super useful. But it's not as if these things were impossible to figure out by yourself.
Now, programming in the pre Internet times ... you would borrow a book from the library that was an old software version or the wrong OS, but there might be some keywords in the book's index that you could blindly try out and type to see if they do anything with your version. Then I remember getting stuck.
Sounds like you couldn't program before SO.
Their creators should be canonized. You don't remember the pre SO times. You couldn't find anything to fix your problems and must read the source code or pay zillions for some sh*tty support. In the pre-internet times, you just would hit a wall and have to quit. I really love Jeff and Joel.