Imagine for a moment that something has taken out your phone line, cell, and fibre connection so you have no internet. For some of you this may even be reality, but go with it and imagine yourself deciding to use your unexpectedly disconnected lockdown time pursuing that code project you always promised yourself. You pull out your laptop and fire up a code editor. Can you write code that works, without the Internet as a handy crib sheet? [Austin Z. Henley] couldn’t, when he tried writing a straightforward web app. He uses it as a hook to muse on the nature of learning, and it’s certainly a thought-provoking subject.
It has become an indispensable tool for the engineer and the coder alike, to constantly refer to online knowledge. This makes absolute sense, as it provides a reference library that will be many orders of magnitude in excess of anything an individual can possibly hold personally.
This holds true whether the resource takes the form of code snippets from StackOverflow or GitHub, or data sheets from TI or Microchip. Even our calculations have moved online, as it’s often much quicker to use an online calculator on a web page to derive for example an impedance calculation. This is not necessarily a bad thing, instead it’s an enabler; skills that used to take months to master due to slow information access can now be acquired in an afternoon. But it does pose the interesting question, in the Internet age what is the measure of an expert coder? Is it the ability to produce the code effectively with whatever help is available, or is it a guru-like mastery of the code? Maybe it’s both. If you have the Internet, give us your views in the comments.
I can on a microcontroller unless I’m doing something strange, but not on a computer.
Same, a datasheet is enough for me for a micro but can’t do the same for something like Java or JavaScript
I actually end up using my previous code as templates more than what I find online. This does make my whole scheme a little more robust, but the majority of _that_ code started off as a copy-paste from the good ol’ Interwebs.
I tend to download (and sometimes go aa far as printing and binding) the datasheets for microcontrollers I intend to use in several projects (and while I always download all the data sheets, eratta, etc. at the outset I often only print out their pinouts, pin mux config, and any peripherals I intend to make heavy use of). I do this not out of fear that google will go down, or that my local copy will disappear, but so I can mark them up with my circuit, relevant parameters, initialization, etc. for quick reference not just to the MCU and its quirks but to the MCU and its quirks *as they apply to my project*, e.g. even if the GPIO peripheral and the bus matrix + DMA controller happen to be fed literally the same clock in my project, if the MCU allows non-integer multiples there I habe to either turn off the synchronizers *or* figure in the right number of clocks ahead to schedule the DMA to start to ensure my bit pattern DMA’d to the GPIO port lands at the right time.
Yes I could save some paper and try to keep all those details straight in my head but I’ve proven to myself enough times that I always forget or invert or transpose a step that a three-rimg-bound reference on my lap I cam glance down at while I code is invaluable.
I’m still a big fan of reference books and handheld calculators (my trusty HP16C), so I’d be fine without the web. I’d have previously downloaded the instruction set references so I’d have my MSP430 or PIC instructions handy. With the PDF documents on the computer and books (Javascript, HTML) I’d have what I needed.
There’s reference code, the code I write, data sheets, and web pages to deal with. While I grab as much as I can, sorting it can be an issue.
Do I sort by part, by project, or document type? What about application notes that cover multiple parts, or parts used in multiple projects?
Example: thanks to SDR, my ADC circuits often need to refer to RF circuits – which use filter design notes / calculators. And this is before the data gets crunched in a microcontroller / FPGA, which will have it’s own notes on DSP etc. Shortcuts and links can help, but I still need to regularly purge my library of duplicated content.
Know what you mean. I know I have a ‘calculator’ app on my Linux workstations, but I am always reaching for my trusty HP 16C or 15C instead…. I too would be fine with the web as I like my reference books on the languages I use the most and electronic books. There are times though when a quick lookup on DuckDuckGo is just ‘handy’.
Meant to say ‘without’ the web.
My workshop is off-grid (by necessity), with power supplied by solar panels and a battery bank. No internet access there either. I do have a laptop there that I can use sparingly, being mindful of the power consumption, so I very much rely on downloading datasheets and saving webpages to a USB drive at home, then offloading to the laptop for use at the workshop.
This definitely slows down some projects, as I often don’t have immediate access to information I would like. Because of this, I more often still use the reference books I keep there. It also makes me very appreciative of what we have in a 1st-world society, and very mindful of what much of the world does without.
Reference Books….that is what really does separate the young from the old. I agree 100%, manuals and an algorithm book, and of course K&R “C”…that’s all I’d need. Thing is if Borland would have survived the 1990’s we’d have actual great self contained IDEs’s and such. I learned to code in college with a dual floppy system, “K&R “C” book, and an algorithm, library book.
I’m not sure if reference books separate the young from the old so much as separate the older processes from the newer – a good reference book for anything from the previous century is almost certain to exist, probably very many more than just one good book… Lots of newer stuff doesn’t seem to have anything much but online documentation, often quite fragmented.
Certainly a change in how we work too – and the real youngsters may not really know how to operate a book any-more…
I think I know THIS Dave!
You’ve been in that workshop, Christian! Actually you gave me the laptop also!
In Australia it having google is potentially a reality anyway.
That aside I have been attempting to learn nodeJS and despite been young enough to have had access to the internet at home for more than half my life I still look for physical books. ( which ironic given I’m working on NodeJS)
Back in the 80s, I used to have a bookshelf of treasured programming books. The internet has helped rfree up shelf space from outdated material. Since then I have avoided buying IT books unless absolutely necessary. They are often bulky and expensive.
Nowadays all my crib sheets and code are sitting on free space in the cloud. When you go for job interviews, you often get tested, and even sometimes have to code on paper without google. This sorts the men from the boys, but its not a real life test.
Most of the code I write nowadays accesses internet resources, via soap etc. Even my microcontroller code is mostly IOT based. with very little standalone code.
Github and Stackoverflow are my gotos for help. Its hard to code anything nowadays without online help as all the apis and class libs are often documented on the web. Gone are the days of MSDN on cds, thankfully! Even compilers now often depend on the web. Theres no opton to go back.
And then there’s things like O’Reilly’s online library, among other things.
https://www.oreilly.com/
Coincidence perhaps but this week I decided to throw out my books on the Motorola 6809 family and the Microsoft Visual C and all the other hard copy stuff. I think the Internet is stable enough now for me to trust it.
The Z80 stuff stays, I still worship that particular gem.
Can’t argue with emotional attachement ;)
Throw out all the psychology books. :-)
Ha, I don’t think so not anymore. Still why not gets you to your goal so much quicker
I haven’t used Google for coding in over two years! I’d be lost without DuckDuckGo, though. :)
I think that DuckDuckGo has gotten a lot better recently. I used to always use Google for any searches about coding but I am using DuckDuckGo a lot more for that. Don’t know about Bing or anything else.
Bing does pictures better ( https://youtu.be/C3OMZq3rGZM ).
Comes in handy when looking for schematics and diagrams.
DuckDuckGo is using Bing search results. So nowadays it’s just a proxy for Bing, just like Startpage is for Google.
But apart from that I use DDG only too. I don’t know if i just got used to it, but often the search results just seem to be better for the stuff I need.
I only use DDG too. Never looked back.
I still buy reference ‘books’ as I still like them to look things up, get ideas, and fall back too when away from my desk. Heck, I still have my o’ Cobol and Fortran books from College from the 80s. My memory isn’t that great, so DDG does fill the need for ‘quick’ checks on how to do something in say Python or Linux while I am in the ‘thick of it’.
I must say, I rarely buy any Linux related books any more. No need.
Books still have there place. Electronics and Robotics for example simply doesn’t go out of date….
“Books still have there place. Electronics and Robotics for example simply doesn’t go out of date….”
Spot would like a word with you. :-)
Superseded does not mean invalidated, especially for industrial robotics that might be still usong mechanics from the mid 90s
When a subject is new, magazines and books cover it well. But with time, “everyone knows” the details, so the information gets compacted. Especially when something becomes “obsolete”. It becomes like broken telephone, a garbling of a garbling of a simplified explanation.
Sometimes the old can be useful in some other form, but you have to go back to the early days and start afresh, not tack onto the current approximation.
good to test and see how far you can go without referring the internet.. an interesting experiment sort of
The “Second-system effect” is still very common for open-source projects, and it seems the more popular a project gets… the more pronounced the issue becomes.
For stuff you regularly use already… search is irrelevant. Yet for modern APIs with constantly evolving syntax (or worse the data structures themselves), than doxygen alone is unlikely going to resolve documentation issues.
For example, every time I see a heavy Qt or Boost dependency in a project, I know it is going to pose a long-term maintenance issue. And while it does make many problems trivial, it also adds some of the worst version compatibility issues with legacy code. This means one is knocked back to dealing with the basic core libraries, and building a large maintainable application is rather unnecessarily laborious.
All these tasks should be trivial, but inevitably constrain how much time people can invest into maintaining complex projects over the long-term. This inevitably leads to common solved build issues reemerging if you depend on an API area that permuted, and thus only likely documented on git/stack-overflow/forums by other users.
Google has an awful signal-to-noise ratio for similar reasons. The more obscure the search… the worse it becomes…
Wouldn’t it be nice if there was a facade for GUI things, like you have slf4j to pose as a facade for all other logging frameworks? That way, you could swap QT for something else, when needed.
I hear you saying, hang on, QT does more than GUI stuff. And you’d be right. That needs to be sorted out into distinct groups of API that can be swapped out individually with facades.
I don’t have much experience with QT itself, so I might be grossly overestimating it, but I have seen the agony that it (the lack of a facade) brings forth, so I really hope this will some day be achieved.
“imagine yourself deciding to use your unexpectedly disconnected lockdown time pursuing that code project you always promised yourself. You pull out your laptop and fire up a code editor.”
Laptop? No pencil and grid paper? You’re far too spoiled. I only use the text editor so others can read my horrid hand writing without accidentally summoning the great old ones.
I was just looking at my bookshelf the other day, and I can’t remember opening any of the books to remind me the proper way to format a call. Even man pages are mostly ignored.
Nope, stack overflow and cplusplus.com are pretty much what I google.
The difference is simply whether you’ve prepared to be working offline or not.
When I come across some information I know I might be using later on, I download it and put it aside so I don’t have to search for it again, because by experience I have found that information online tends to disappear after a while – your bookmarks go stale – or you forget the exact search terms and you can’t find it any longer, or it gets swamped by newer results for the same terms which has the same effect.
The thing you found 5 years ago is now swamped in search by links to Pinterest and the original source is long gone, so trying to find it again from the cyberspace is an exercise in futility. Therefore, if you find it, you better keep a copy of it.
One reason I’ve never erased my browser history.
Treat emails the same. The oldest email in my inbox is “Welcome to Ximian” dated 25th of June 2002. :)
12,000 kept there since then.
That is not including the backups that have absolutely everything on with no deletes at all.
I still have my emails from the 80’s, and 12K emails (not including spam) is only a couple of months worth.. I only delete spam..
Once I was trying to find the pinout of a very specific and rare cable (Sega Genesis to Miracle Keyboard). For a time the only known copy of that info online was on an obscure personal web page, but archive.org never got it before it disappeared. I was able to find someone who had used it to create a different cable from the same info. He didn’t save it, but he had printed it out (!) a few months earlier, and was able to get me the info from what he had printed.
So then I did the obvious thing, I posted the info on Usenet.
Usenet is another search option, even though it can be hard to find things sometimes.
Definitely. I also never trust search engine results to stay static, as these do change – and very often too.
I worked 7 years in Sahara in the middle of nowhere at petroleum drilling well sites. No internet, no gsm, nothing. The only new information came monthly by camels or every 3 months by helicopter.
All servicing and maintenance was done using the old-school method called “RTFM”. Sometimes I had to improvise with vacuum tubes I found in abandoned trash dumps – imagine “Tatooine”, it’s almost the same.
All repairing, improving and coding stuff is based on internal neural memory inside the brains, that’s why I get the big bucks after each mission. There’s no google to ask, no Stack Overflow to be inspired and no GitHub.
By the way – who needs that anyway? Oh, the owner – Microsoft – to be inspired woth fresh new ideas every day! Even Raspberry Pi is pinging Microsoft during RPI-OS updates.
“Imagine for a moment that something has taken out your phone line, cell, and fibre connection so you have no internet. ”
Power failure, winter storms. One doesn’t need lots of imagination. Our infrastructure is fragile.
But on the good side modern storage has gotten to the point a NAS can store a great amount of reference so internet down shouldn’t matter as much. Never mind all the tools needed. Even sync when everything comes back up.
I hear you!! I have an NAS that has a copy of everything on it. isn’t plugged in until I NEED it.
Yeah I was recently looking at tape for the offline backup type storage of my NAS (as what is the point of having a copy of everything if you can’t access it on any of your devices – plus it lets me keep the bulk storage spinning rust and its annoying noises away and cheap small solid state for everything)… Was shocked to find that per TB the tapes were actually more expensive (at least where I was looking) than spinning rust now.
Probably still technically better, as archival quality tapes will last decades and have no parts to fail, so all you need is to not loose your drive – and any compatible tape head mechanism can read it.. Where if the board on your HDD dies, even the same model number drive might not have compatible control board, and should the disk crash the whole lot is probably lost – where a little bit of mangled tape from a failure in the mechanism shouldn’t loose you more than that one mangled section. But still I was shocked to find just how pricey they have become relatively..
Talking home server … My off-site backup is simply an External HDD. Usually, one per year, so they aren’t used like a normal drive would be. Buy a USB HDD drive (4TB is relatively cheap), format to ext4, rsync server data to drive, and move drive off-site. Should last a long time, although really one only cares about the ‘last’ one if ever needed anyway…. Knock on wood, haven’t ever had to restore from one yet. I have had to restore from local external drives, when the server spinning rust gave out. Can’t wait until SSD prices come down enough to justify an internal 4TB SSD for the server data drive.
Some countries’ infrastructure much more so than others…
As noted elsewhere, while the Internet is very stable,1) there are people out there who mean us harm, and 2) natural disasters can take out infrastructure and the people who manage it. My cable provider tells me that remote working due to COVID19 has placed such a strain on their system that it has seriously slowed my Internet connection.
I would advise you all to make some semblance of a contingency plan for the not-so-remote chance that the Internet goes down, and for a long time.
Mine is not perfect, but I’ve gradually invested in multiple redundant RAID-enabled Network Attached Storage (NAS) devices. Except during a brief weekly incremental backup, only one NAS is powered up, to physically block ransomware from spreading to the others (as JW describes below). My compiler is on my PC hard drive. As I did before the Internet, I maintain a library of physical reference books. As I encounter resources on the web that I think may be of use in the future, I download them to the NAS to allow me to keep working in the event of an Internet outage.
My cell phone connects me to other programmers, independent of email and forums if need be. I have a battery backup system, and a small generator in my garage which can charge my phone and power my PC and NAS in the event of an extended electrical outage.
If the Internet ever does go down for a long period of time, I may be handicapped, but not dead in the water, at least no worse that I was before Gore invented the Internet. My approach may not be practical for everyone, but doing nothing is not prudent.
In terms of my downloading tendencies, I have a recurring habit of making sure references that I may need later are available locally, because there’s always a chance…
You might say I’m even a little backup-crazy.
Yus, every data sheet for anything I have in hand, goes to spinning rust the moment I find it. If I’m just idly perusing I might not, unless I have a firm intention to acquire said shiny thing. The impermanence of the internet will sink home by the time you’ve been through a few geocities, aol hometown, megaupload type disappearances of tech pages or driver downloads.
If I see digitized copies of books I own, I’ll download them. I guess as backup for the paper books. I’ll never scan those books myself, but there matpy ge a time when I can’t keep all those books.
Coding expertise has always gone beyond just knowing the right words to type on a screen. Knowing the tools (language features, libraries, coding styles, etc etc) you have available, understanding the permutations of how they can fit together to solve a problem, and having the experience needed pick a good combination out of all of the many, many bad ones… I think that’s the measure of an expert coder.
I have all my datasheets, programming reference on local copy. As long as power is still on, I am okay. Most of the code I write are bare metal and hardware by my own design, so I don’t need to look beyond that. I rarely look at other people’s code as it is a bigger mess to sort out. Nor do I need online help forums.
The bigger question is if I would sit around coding while my main line of communication is not working. Nope.
I haven’t found an editor I like, so I write code with pen and paper, and then scan it in with an OCR system.
Bet it insures natural modularity.
Depends on the language. For css, javascript, and php there is so much crossover I have to look up their different naming conventions. PHP especially. For things like C where the language is basically just syntax and functions are include-based I can get by looking through headers and libraries if I’m unsure.
Regardless of any, if I’m working in one for a good stretch I don’t need reference
Without access to the current sum total of easily accessible human knowledge (paywalls reducing access to mostly publicly funded research is wrong), things are slower, but not impossible. Instead of cloning chunks of freely available dodgy code by others, you sit down with a pencil and paper and work stuff out by hand, it is much much slower, but the end result is usually better (depending on your personal depth of knowledge and years of experience). But that is only easy for people who have either had long term intermittent access or someone who has been online for a very long time SMTP/FTP/NNTP/gopher/archie/… (pre-HTTP).
The current generation who have never lived without permanent 24/7/52 Internet access, it is probably impossible even to imagine how to function without access.
Whether Google today, or books in the past, it’s always been more important to be able to research and learn as you need it than it has been to know everything without using references. Back in the ’80s, while in college, there was an entire class on how to research technical problems in a college library, as well as other places (such as manufactures reps) to learn about a technical skill or component that you find yourself needing.
When I worked as a Unix Sysadmin, I worked (at first) for a really cool boss who liked to compliment us. He once bragged that I was the best person he knew at rapidly learning something new by researching it. That felt good. (It’s a shame that his replacement was a first-class jerk)
That said, if I expect to have to do something non-obvious in the future, I do take notes in a .txt file and save it on a local drive, no need to start over again.
Probably not I always forget complicated things like case operations.
If I have all the source code (to the tools, libraries, everything), then I would be able to get the job done. Being able to do a quick web search and get an answer or hint just saves so much time.
Of course, I feel sometimes it turns out to waste time rather than save time:
https://xkcd.com/979/
> https://xkcd.com/979/
I seem to come up with errors that are that esoteric that nothing appears in search results. So I’ll ask about it in the relevant mailing list.
A week passes, I’ll check back in the search engine, and it lists one result! Great… progress… I click the link, and it takes me straight to my own question!
Amazon book suggestion and search can be the same way when it feeds back to you your own lists and purchases. But your post does point out the fatal flaw in free help.
And then if you solve it and answer the ancient post for future lost souls, you get forum rats scurrying in to screech at you for bumping old threads
Of course I can, I have DuckDuckGo.
Now seriously, depends on the platform. When I program for proprietary POS systems, search is useless, there is no documentatin online. But when I program for web or Android I use seatch all the time…
Btw the last language book I bought is Java 6.
I’ve found duck duck go to be utterly useless as of about a year ago. Their new algorithm ignores keywords even if you “force” them consistently retiring irrelevant results
It depends. Microchip/TI no problem, I can live with the datasheets. C on a Linux box no problem. C on Win32 – offline docs or online MS document library. HTML + JS is such a mess that I need to look up something on Google all the time. Frameworks like React – I basically use Google search as my IDE.
It works the other way too, documentation or the lack thereof is something creators of frameworks often rely on, that the community will write example code, workarounds for idiosyncrasies you’d be hard pressed to find yourself, or just the correct programming pattern to use for a certain class or method.
So without the internet, the community to support your code writing will grind to a halt quite quickly.
Except of course for platforms that have a small enough bubble, like home computers in the 70-ies and 80-ies, which where well documented most of the time. Or microcontrollers when you’ve got a printed datasheet and user manuals for the compilers etc.
So the internet is now named “google”…
Do they edit ST’s microcontrollers reference manuals also?
I don’t think the writer of this article knows the meaning of “coding”.
Well, google is a part of the Internet, and it tends to be the first part of the Internet that one visits when one needs a specific piece of knowledge.
(unless, of course, you use Bing or some other search engine, Google is just a prime example)
And yet we have people that don’t even know how to use a search engine. I am not talking about older folks, but people (mostly the younger) that freqent social media asking questions that a 10 seconds on a search engine would yeold more direct result. Even then they don’t know how to ask questions and providing the necessary details up front.
We also have people that are too lazy to read a 100 pages manual and instead want to rely on information regurgitate and “simplified” by others or spend hours watching somepne on youtube.
So while we have a lot of information on the net, yet there are people not taking more use of it.
I had senior high school students who would rather watch a 40 minute video than read a 3 page datasheet. Scared the hell out of me.
Recently I had internet outage in job for an hour. I realized that I can do less without google but in contrast I always have some waiting tasks which require more of quuiet thinking then googling and it was perfect time to solve one of these. But I have seen two younger colleagues which just freezed until the internet was back
yeah that’s just how i think of it too. i *can* do, for example, even android app development, falling back on the documentation that’s stashed away somewhere in the SDK, but if i’m looking to fill time while the world’s gone missing i’m gonna work on something that doesn’t require so much reference. I’ll work on an algorithm problem or maybe something in C or embedded where i’m already used to using the local copies of the manpages / reference manuals. if somehow all i have is a 1990 dos machine with gwbasic or pygmy forth, i can find games to play with that even!
No problem. I used to program my own little tools without any internet connection since I was a kid.
I technically had access to CompuServe forums also (do you remember WinCIM and “GO something”?), which at the time was the place to look if you needed drivers, code snippets and contact to developers. No fancy TCP/IP needed, no HTTP, no WWW. The networks around the globe connected via X.25 partially, which many of you probably never heard of.
And I had access to books, many books. In fact, the local libraries still have many, many of them. Both recent ones (2-3 years old) and old-school stuff dating back way down to tge 1970s..
And plenty of CDs, tutorials on DVDs etc. And I’m no boomer. Technically, I’d rather fit in the millenials category. Not sure if this makes things better or worse, though. 😭
Please people, let’s stop being so simple minded. 😉 The modern internet is fine and dandy, but it’s not the world’s greatest invention. It would be nice if we would appreciate the bit of independence that’s left. There are alternatives, still, like Packet-Radio (AX.25) or HamNet. And other forms of media. E-Mails can also be sent via WinLink (amateur radio), for example.
This ad brought to you by Google and Verizon?
Let’s just say if the internet goes away we’re in much bigger trouble than not being able to program optimally
It’s bad enough to hear people every day say “WiFi is the Internet” and now having to deal with HACKADAY call the Internet Google….
and 5G is cancer!
I tend to refer to local source from my previous coding efforts or other projects I build from source for syntax clues if I am a bit vague on a construct.
Plenty of books on the shelf too.
I don’t use big external libraries / dependencies though, preferring to code what I need, which reduces the need to hit the net for ever changing APIs.
And yes, we don’t need no stinking internet if doing ASM on a micro.
Click-bait article. I don’t see anything in the article relating to “can you code without google”. Google IS NOT the imternet. I distance myself from google everyday because the search results are more and more fake links to fake websites to search results that have NOTHING to do with my search terms. I don’t need google to code.
Looks like HAD will soon be resorting to titles with “Britney Spears” and ads for online pharmacies.
Would you code without any book at hand?
The big advantage of having documentation is that you can code faster and with broader tools… Basically you can achieve more complex projects that you would 20-30 years ago… I have been programming (not super pro) for longer than that, and I can tell I was progressively able to do bigger things and also more variated ones (low level, high level, IoT, machine learning, gui, web)
trouble is the decline of documentation. Companies intentionally skimp on released docs hoping the community will find all the answers and propagate them.
Google/DuckDuckGo simply provide a searchable manual, and manuals have been an essential part of programming since forever. Using a manual to check details, such as call parameters, is way quicker than trying to debug a wrong assumption in using a library. Sometimes, even electronic copies of relevant information locally does not substitute for the Internet, because of the searchability of online resources.
Back in the paper manual days, feet of shelf space was a useful measure of how much effort would be required to find something in the manuals, and micro fiche indexes made it quicker to find things when you had yards of manual to search. Also, magazines that published a yearly index were much more useful in the long term than those that didn’t. So the question of can you code without Google come down to what volume of information do you need access to to support your coding effort. The larger the volume, the more useful that Internet connection is, even if you have copies of all documentation locally, because it acts as a single index to the information needed.
So, ripping the Wiki’s to HDD would be the best way to keep the info searchable?
One can always check to see if the respective wiki has a bulk download option, and load that into one’s local wiki.
wget ftw
There’s that as long as it’s not interpreted as a DDOS. Plus some sites don’t like scrappers.
Well Google wasn’t invented until 17 years into my coding career, so yes.
Though I have never really done a lot of coding, and even less since I moved off grid over 10 years ago, my interests encompass far too many areas to keep in my older brain anymore (the obscure details anyway). Since near the beginning of the “digital” portion of my education it became apparent that web pages, data sheets, and even entire generations of information will suddenly disappear online (for ex.- a company that used to have scans of even “ancient” print only data sheets on their past products was bought by a major world-wide manufacturer that immediately scoffed at the cost of retaining the old data, now the only data available is the supposed replacement-except you don’t know whether is it a correct or “drop in” replacement until you get it and find it is not). So I hoard information for reference by carefully renaming by subject (I wont remember what TI part SLAxxx refers to 5 years from first read) and organizing by directories and using a simple tool like one of the dir- to -html to give me a clickable directory/file index. had hoped to modify the index to make it more searchable still, but no time, so it serves basic needs and is backed up redundantly. Not infallible but works for me, at least I can support things I have worked on previously, (wiring schematics, plc programs, obscure testing targets/methods, etc.)
Does writing BASIC programs on a Commodore 64 count?
Documentation is a crucial part of programming. Google has just made that documentation more readily available, and highly searchable. So insofar as the documentation is available, yes I can code without using google. I certainly coded before google.
“My general working style is to write everything first with pencil and paper, sitting beside a big wastebasket. Then I use Emacs to enter the text into my machine.”
–Donald E. Knuth, Professor Emeritus of The Art of Computer Programming at Stanford University, and the author of the multi-volume work The Art of Computer Programming.
Might I make a recommendation, how about someone make an archive of commonly searched coding tasks for every major language, that way you can have an offline copy to consult if you can’t get to google.
Thank you for posing the question. I don’t think a lot of digital natives stop to think about this
I don’t write enough code to have a personal offline stash of notes (hard copy or saved files). I probably would build such a thing if I coded more often – it’s going to keep a familiar reference you know how to use under your own control.
But to answer the question of how to tell a good coder from a bad one in the age of instant search results: Anyone can download a snippet of code, compile it, and see if it works. Not everyone can skip the “compile it” step.
Yes without Google but not without the Internet. The simple reason is that most documentation is not available offline anymore.
I would argue that this is where the internet fails.
Circa 1996, when “freenets” (ie community networking) were a thing, some people thought it was about information, and they needed to control it because “the poor” needed help.
I saw it as power, giving a voice to people. “We own the words, we own the space”.
But it became a delivery system, amazon and music, books and movies. And instead of people being content creators, they were consumers. They want information at their fingertip, so the internet gets more focused on cellphone use.
This post isn’t about google, but the shift from going to the library or having references at home, to having an answer at your fingertip. Of having a foundation to “I don’t want details, I want the answer”. The end becomes more important than the path.
But the result is like viewing the world through a telescope. Fine detail nice and large, but no context. You get a result, but how do you know if it’s viable, or some other result better?
It doesn’t matter if it’s google or people asking questions, they get a result, but value it because it’s there.
I read endless magazines as a kid. Some things I wasn’t interested in, but it all gave context, and a foundation. If someone isn’t reading as much as they can in what interests them, but relying on some obscure paper that has to come from a search result, they aren’t in a better place because of the internet.
Even looking up words in the dictionary would cause you to pause on another word, or start searching for some other word, “surfing”. The same with encyclopedias and Leonard Maltin’s movie book. Not so direct, but it broadens you.
“Even looking up words in the dictionary would cause you to pause on another word, or start searching for some other word, “surfing”.”
Sounds like TV Tropes. And yes that can end up as a never-ending black-hole once one gets going.
I’m used to write a code without an internet connection, because my workplace location ,it’s hard but I have my Technics. It’s doable and I think it improves my coding skills
Having a stereo does help. I prefer Pioneer, myself.
its good to have reference material, and in this day and age that’s google. but if you have some programming books for reference, you can get by without the internet, and might actually write more code since you aren’t watching cat videos.
Well, when I was a kid, there were these buildings called “libraries”.
I would have to go to one of these libraries, and look at an alphabetical
listing of 3 by 5 cards to find a particular bunch of papers between
two pieces of cardboard. :) I still remember one book that I have called
B-Trees For Basic which actually used a BASIC with line numbers.
I lost the little floppy disk with the source code years ago, but
I still have the book. I bought it from Powell’s Books in Portland.
When the C64 and Apple //e were around and bulletin board systems were plentiful
and you had to connect to them with a modem and phone line, you could either
download source people had typed in from magazines like “Conpute” or you’d
spend a weekend typing in source code to get the program you were interested in
running. As for me, I’ve been fascinated with a program called Diversi-Dial.
Almost 50 years later, it’s still an interesting piece of work.
There are times I miss those days, but the internet has made things easier.
I use duck duck go and it’s enough for 90% of my reference lookups.
man man ? No one?