I was genuinely asking myself: 'Am I even a competent developer if I have to use the Internet every five minutes to code?'
How do you cope with this feeling, of tapping into the Internet hive mind to code properly?
When it did not existed, we used simpler technologies: A good book was enough to code a 1970/1980' microprocessor, or in C language (for example thanks to "The C language" of Ritchie and Kernighan).
Even 20 years ago, it was possible to code with a small desktop documentation on Internet standards. HTML4 [0] (~2000) was something simple to code, and as you know coding a TCP socket is something really trivial.
Developing Android, however, is entirely impossible without stack overflow, because the libraries and paradigms and hacks and workarounds make it impossible to produce something working.
For some trick I've never done before I'd either try to hack it out or adapt whatever to what skills and resources I have like don't use hamburger menus at all there's more than one way to do navigation. :-)
Nowadays if I'm going to be working from a train or plane, I download as much as I can ahead of time. But since modern libraries and apps don't come with docs, it's harder than it used to be.
Has anyone born after 1995 even written a man page before?
Occasionally I'd look stuff up on my phone, but since it's a Palm Phone with a 3.3" screen and not very much battery life, I didn't do it very frequently. Every so often I'd need to download libraries and whatnot, or I'd really get stuck on something, so I'd head home or to a coffee shop to continue.
But yes, I'd say more often than not, I had a great time programming without the internet, even though one of my targets was the web.
If you have a stack of library references next to you when you're programming, be the online, offline, or actual books, are you less of a programmer? Or are you leveraging information technology to best use by only mentally maintaining the index of where the thing you need to know is?
Although I can program without the internet, I much prefer having the internet at hand—-programming with the internet is a much better experience. So, my large library isn’t really necessary for the task.
[1] https://books.google.com/books/about/IBM_System_360_Principl...
Obviously, things have changed since then, but there was a time that not everyone had 24/7 always-on access to the Internet. Really, that's only a recent thing. How do you think programming took place -- across a generation or two -- before then?
In my case, it was 1999 before I was able to get an Internet connection that wasn't dial-up Internet -- but I lived in a small, rural town in the midwest, not in a major city. I was the first person in our area (perhaps a 30 mile radius) to have an "oh-my-$deity-this is-so-amazingly-fast" 768k/128k DSL line (besides the two guys who ran my ISP) as I knew them and they asked if I would, effectively, be a "beta tester" to make sure things were working as they 2were supposed to be before they started offering the service to customers.
So, yeah, before then it was possible to program without a Internet connection. That was the "default", normal situation, in fact. We had (dead-tree) books, for example, and could telephone other people, there was FIDOnet ("before Internet"), Usenet ("after Internet"), e-mail and mailing lists and, eventually, even the web (from 1991 on, of course). Plenty of programming happened without Internet access before then (in fact, all of it did, basically).
Of course, some programming is more complicated nowadays, when you need a library for every little thing you do, so I suppose programming without an Internet connection might not be possible if you need to download a library for for .. loops or something.
(By the way, when I was in high school, I'd write code on paper (whatever program I was working on at the time) while sitting in class. When I'd get home after school, then I could type it in on the computer.)
Of course, if you are one of those "programmers" who have to stop and Google something afte every five lines of code, well, it's probably not possible.
In the 90's I had a large book collection that I used for learning and for reference which served similar purposes. That plus the man pages and SDK docs you got with libraries was basically your goto. And even then, we still had programming forums (BBS) and usenet for finding help and samples.
Oh and if/when you did Microsoft programming keeping the MSDN docs on your machine was an option, which was like 4Gb if you installed it all.
FWIW: I do fairly often write code without internet but if I am using a library I am unfamiliar with or need to do something that is less common I'll save some docs or key web pages locally to help me.
It just means you are slowed down by the need to look things up. Do you consider speed part of competency?
The ability to look everything up on the internet didn't appear until the late 90's. I finished my BSEE + MS CompSci degrees before 1994, effectively without the modern internet. We had manpages. And enormous books. All that's really changed is most pop languages don't have manpages, but at least we aren't killing forests for the X specification printouts!
https://scholar.harvard.edu/files/dwegner/files/sparrow_et_a...
Just stick with it. Before long your router will shit itself, be off all day and you don't even notice. Have essential documentation like MDN offline.
Occasionally I need to do that, but for the most part, we get by without. We also make a point of having an offline copy of all reference manuals and other documentation we might want.
We also have source code of all of our dependencies, which helps.
1. Download documentation for offline use (https://devdocs.io/)
2. Create a local copy of SO posts (https://github.com/tools4j/stacked-off)