Skip to main content

Nobody talks about the real reason to use Tabs over Spaces

Brief
Posted as it is from Reddit Post

i've been slightly dismayed, that in every tabs-vs-spaces debate i can find on the web, nobody is talking about the accessibility consequences for the visually impaired
let me illustrate with a quick story, why i irrevocably turned from a spaces to tabs guy
  • i recently worked at a company that used tabs
  • i created a new repository, and thought i was being hip and modern, so i started to evangelize spaces for the 'consistency across environments'
  • i get approached by not one, but TWO coworkers who unfortunately are highly visually impaired,
    and each has a different visual impairment
    • one of them uses tab-width 1 because he uses such a gigantic font-size
    • the other uses tab-width 8 and a really wide monitor
    • these guys have serious problems using codebases with spaces, they have to convert, do their work, and then unconvert before committing
    • these guys are not just being fussy — it's almost surprising they can code at all, it's kind of sad to watch but also inspiring
  • at that moment, i instantaneously conceded — there's just no counter-argument that even comes close to outweighing the accessibility needs of valued coworkers
  • 'consistency across environments' is exactly the problem for these guys, they have different needs
  • just think of how rude and callous it would be to overrule these fellas needs for my precious "consistency when i post on stack overflow"
  • so what would you do, spaces people, if you were in charge? overrule their pleas?
from that moment onward, i couldn't imagine writing code in spaces under the presumption that "nobody with visual impairment will ever need to work with this code, probably", it's just a ridiculous way to think, especially in open-source
i'll admit though, it's a pain posting tabs online and it gets bloated out with an unsightly default 8 tab-width — however, can't we see clearly that this is a deficiency with websites like github and stackoverflow and reddit here, where viewers are not easily able to configure their own preferred viewing tab-width? websites and web-apps obviously have the ability to set their own tab width via css, and so ultimately, aren't we all making our codebases worse as a workaround for the deficiencies in these websites we enjoy? why are these code-viewing apps missing basic code-viewing features?
in the tabs-vs-spaces debate, i see people saying "tabs lets us customize our tab-width", as though we do this "for fun" — but this is about meeting the real needs of real people who have real impairments — how is this not seen as a simple cut-and-dry accessibility issue?
i don't find this argument in online debates, and wanted to post there here out in the blue as a feeler, before i start ranting like this to my next group of coworkers ;)
is there really any reason, in favor of spaces, that counter balances the negative consequences for the visually impaired?
cheers friends,
👋 Chase

Comments

Popular posts from this blog

Useful video links with Questions and Answers(.NET, SQL/Database, Azure, DSA, Docker, GIT, AI)

A) AI What is artificial intelligence (AI)? B) .NET SOLID Principles In C# With Examples Design Patterns In C# .NET (2023)   Design Patterns   Software Architecture And Patterns Shiva Kumar - .NET (Youtube)   Multithreading and multitasking Multithreading and asynchronous programming and parallel programming in C# (Youtube)   C) SQL/Database SQL Query Interview Questions - SQL Server Database (Youtube)   ACID Properties Of Transaction In DBMS (Youtube) D) Azure   Modules in this learning path - MSDN Susanth Sutheesh (Youtube)   E) DSA   Strivers A2Z DSA Course/Sheet F) Docker   Docker - Everything You Need To Know G) GIT   Start with Git & GitHub in Visual Studio Misc https://www.youtube.com/watch?v=aaUInV445BY Salary Negotiation - 10 tips on how to negotiate a Higher Salary    

npm install on windows 7 python2 not found error and node-sass@3.13.1 error #317

Before I write all, I'd like to say that before the update everything worked well; while updating node from version 7.2.1 to version 9.4.0 and npm from version 5.5.1 to version 5.6.0 in Windows 7 (64-bit) using the installer (https://nodejs.org/en/download/) and installing globally gulp-cli version 2.0.0, as far as npm install starts from the JointsWP folder I get the following error: $ npm install npm WARN deprecated babel-preset-es2015@6.24.1: รฐ  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue > uws@0.14.5 install C:\Users\Bob\Dropbox\Development\vhosts\mongoose-project\vanilla\themes\JointsWP\node_modules\uws > node-gyp rebuild > build_log.txt 2>&

Senior Software Engineer - .NET, Kathmandu

First Round (Decemeber 2022) ------------------------------- Brief: There were 4 people in the interview squad in the both round and each were experitise in their fields. .NET related questions were asked by .NET Expert. SQL related questions were asked by Database Expert. Front End related questions were asked by Front End Expert. Cloud Computing related questions were asked by DevOps Expert. First Round (December 2022) A. Question related to Exceptions & disposable. 1) What is the purpose of exception? 2) How is exception handling done in .NET?  3) What is the purpose of finally block? 4) What is the purpose of IDisposable interface?  5) Why we need to dispose object manually if it is automatically done by the framework? 6) Managed resource vs unmanaged resource? Unmanaged code vs managed code? B. Question related to LINQ or Lambada 1) what the purpose of LINQ or lambada?  2) What is lambad expression?  3) The method like First(), FirstOrDefault(), TakeWhile(), SkipWhile()? 4) IQ