this post was submitted on 05 Sep 2023
166 points (79.6% liked)

Programming

17489 readers
45 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 1 year ago (1 children)

Tell me you develop with modern languages without telling me you develop with modern languages.

You say this like it's a bad thing?

Try linting perl, or bash.

If you're already writing Perl/Bash scripts then it would probably not take you long to write a git hook to check the beginning of each line of source to check if there's a space or a tab character and preventing the commit if the wrong one is found. Crude and far from perfect, but still better than nothing.

if you work on a modern JS/Python/C# project, whatever, whitespace is going to be autoformatted, so the tabs vs spaces debate does not matter AT ALL.

It does though. If you read the original article then you'd know that the advantage of tabs is that everyone can choose exactly how deep their tabstops are, which is an objective benefit over spaces.

[โ€“] [email protected] 1 points 1 year ago* (last edited 1 year ago)

It's not wrong to work with modern languages, but don't pretend that you have the answer to the debate if you don't work in a field where it applies.

Linting bash/perl is a TERRIBLE idea. Consider the following, extremely common piece of code (perl has equivalent syntax as well):

#!/bin/bash

cat > testfile < < EOF
    test1
	test2
EOF

(lol lemmy bug found, can't write the actual "left angled bracket - left angled bracket" syntax, it somehow truncates the comment)

OTOH if you use a modern auto-formattable language, then you can auto-format to tabs with a git hook or IDE plugin (and back for committing) if you want, so the debate doesn't matter in that case. It goes both ways.