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

Programming

17402 readers
145 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 !webdev@programming.dev



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] JackbyDev@programming.dev 3 points 1 year ago (1 children)

You're confusing using tabs for indentation and spaces for alignment with using tabs and spaces for indentation. This means each line starts with tabs. Next you optionally have spaces for alignment with previous lines. Then you have content (like code or comments). Because you never have a tab following a space the alignment is never destroyed by adjusting how wide a tabstop is.

[–] zagaberoo@beehaw.org 0 points 1 year ago (1 children)

I am not, it's easy to find examples where tabs first then spaces breaks down.

[–] JackbyDev@programming.dev 3 points 1 year ago (1 children)

That example is using tabs for both indentation and alignment. The article you linked even says not using tabs for alignment is a solution.

  • Do not use tabs for alignment. In such case given example should look like:
fun foo x =
--->let val abs = if x > 0
--->              then x
--->              else -x
--->in
--->--->(* ... *)
--->end
[–] zagaberoo@beehaw.org 0 points 1 year ago (1 children)

Yes, but keep reading. That strategy is a pain to maintain especially across editors.

[–] JackbyDev@programming.dev 1 points 1 year ago

Many styles are difficult to maintain, I'm not saying it is or isn't. I'm saying that using only spaces for alignment will not let your alignment get messed up with various tabstops settings.