Allman is very practical for JSON
196
Be sure to follow the rule before you head out.
Rule: You must post before you leave.
Allman is the way.
Finally, someone understands that Allman is not that great, and that Kernighan & Ritchie is the way to go. Also, Haskell, my guy, you good? Lisp, are you ok? Do I need to call your parents?
Do I need to call your parens*
Allman all the way baybeeee
I've written Haskell quite a bit, and I don't fully understand why this is called Haskell style. Haskell code looks nothing like this, the syntax is completely different. For Haskell's syntax I think it works fine, because I never noticed something weird. But this code in "Haskell style" looks absolutely insane
It's sometimes called comma-leading style where you move all the special characters to the front of the line and it is exceedingly common in Haskell, possibly due to how Haskell treats significant whitespace. You've surely seen list definitions that look like this:
someList =
[ 1
, 2
, 3
]
or a data definition like this:
data Color
= Red
| Green
| Blue
| RGB Int Int Int
deriving (Show, Eq)
or a list of module exports like this:
module Foo
{ bar
, baz
, quux
}
Or in a long function type declaration where the arrows are moved to the start of the line, or a record definition, etc. etc.
All of those are heretical. The one True Language is Brainfuck, where the coding syntax for Hello World is
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Allman looks fine to me. But I'm a C# dev so maybe I'm just used to it.
It's not my favorite but it's fine.
idk, Allman is very readable. Easy to scan vertically to find the matching open brace. Not quite as vertically-space efficient as the best way, but it's not offensive.
Plus one for Allman gang
In my first ever programming class textbook was using Allman. Probably for this reason, it is easy for a beginner to match braces. It is a lot loss common industry to my knowledge.
No line breaks. Just one long line of code.
All line breaks. Just one tower of code.
class
HelloWorld
{
public
static
void
main(String[]
args)
{
System.out.println("Hello,
World!");
}
}
as always, c++ lets us do better in breathtakingly elegant fashion:
#\
i\
n\
c\
l\
u\
d\
e\
\
<\
i\
o\
s\
t\
r\
e\
a\
m\
>
finishing out hello world is left as an exercise to the reader, but the advantages and superior performance of this format should be obvious
why not
...
System
.out
.println(
"Hello,
...
?
Tell me you're a Java developer without telling me you're a Java developer.
Noone writes Haskell like that. People generate Haskell like that because layout syntax is a fickle beast to generate and outputting braces means you can make mistakes in layout without breaking things, the way the braces and semicolons are output emphasise how they actually don't matter, they're also easy to delete in a text editor.
Also it matches up with other Haskellisms, e.g. lists:
let foo = [ bar
, baz
, quux
]
See how it's immediately apparent that you didn't miss a single comma? It's also trivial to match up opening and closing brackets like that, even in deeply nested situations.
Not doing that is actually my main pet peeve with Rust's standard formatting.
Allman is the only other one that has some sanity.
Allman is objective the correct choice
That's not Lisp...
(while (== x y)
(func1)
(func2)
)
What kind of monster writes lisp with the closing bracket on its own line.
Allman or even horstmann I could still deal with, the rest would be difficult.
Though none are as bad as whoever came up with right aligning all the brackets to make any code look like python until you spot the deranged line of brackets on the right…
I cannot for the life of me find it now but the dude put it on GitHub
I found this from ~9 years ago on imgur, “A Python programmer attempting Java”
People code like that????
People indent braces more than the line before and less than the line after?
Words cannot express my displeasure
Looking at them all, I don't hate whitesmiths. Keeps all the associated block on one line which makes it a bit easier to parse
I use Allman for control statements and K&R for declarations
If you have ADHD, your coding style is a combination of all of these, and sometimes none of the above.
oh so you hate Richard stallman?
Based
Some of those made me physically ill.
Like. You do WHAT with your whitespace?!
Go is a very opinionated language which is why I was so lucky for their opinion on this (and other things) to agree with mine.