Pascal's version of 'braces at home'
Description
A three-part meme in the 'we have food at home' format, making fun of the Pascal programming language's syntax. The first line shows text from 'Pascal' asking its 'Dad' (Niklaus Wirth, the creator of Pascal), 'can I have {} like every other programming language?'. The second part shows a picture of an elderly Niklaus Wirth replying, 'No, we have {} at home'. The final part, the punchline, is labeled '{} at home:' and displays a code snippet with the Pascal keywords 'begin' and 'end;'. The joke humorously highlights the verbosity of Pascal's syntax for defining code blocks (`begin...end;`) compared to the concise curly braces (`{...}`) used by the vast majority of modern, C-style programming languages
Comments
43Comment deleted
Pascal walked so YAML could run
Still easier than explaining to management why your new microservice needs BEGIN, END, and a full Terraform module just to print “Hello World.”
After 20 years in the industry, I've realized Pascal's 'begin...end' blocks were just preparing us for Python's whitespace debates - at least Pascal let you see where the block actually ended without counting invisible characters
Pascal's `begin...end` is the programming equivalent of saying 'commence' and 'terminate' instead of just using parentheses - technically correct, impressively verbose, and a constant reminder that your language predates the C syntax hegemony. It's like driving a classic car: sure, modern vehicles have power steering and fuel injection, but there's something oddly satisfying about manually cranking your code blocks into existence while younger developers wonder why you're not just using braces like a normal person
Pascal's begin-end: explicit structure for codebases that outlive their authors, but good luck diffing nested changes without a brace-matching IDE
Pascal’s block syntax scales end; count with cyclomatic complexity, so every nested refactor ends in eight consecutive end; and one missing semicolon the compiler finds 600 lines later
Pascal’s {} at home: begin…end; - with a semicolon, because in this grammar blocks are statements; nothing like ceremony to make your diff look productive
Verilog things…. Comment deleted
Mmmmmm semicolons after end🥲 Comment deleted
Public Class Form1 Private Sub Form1_Load(sender as Object, e as EventArgs) Event Form1.Load MessageBox.Show("Visual Basic .NET") End Sub End Class Comment deleted
>microsoft Comment deleted
No its FreeBSD /s Comment deleted
Is this Pascal? Comment deleted
totally vb Comment deleted
I see. Thanks Comment deleted
it's a loop, just making new form instances totally looks like something that shouldn't even be legal to do Comment deleted
I can see the recursive call now Comment deleted
Lol I even mentioned it in the code Comment deleted
Sorry, I didn’t read it in details. And I know I don’t know this and I skip it. Comment deleted
Np Comment deleted
and python lacks the curly brackets and uses indents Comment deleted
As if there is anything wrong with begin/end. C/C++ were and are too US-centric if you look at the frequency if characters needed in typical source code. Lots of keyboards around the world don't make it very easy to type { or } and a number of other characters. Digraphs and trigraphs were added into the language for that very reason. Comment deleted
I can understand and it is really a historical reason that keyboard is in a different design that time. Comment deleted
They've recently removed trigraphs because nobody uses it Maybe replacing digraphs like && and || with 'and' and 'or' respectively would be nice (stares at chromeOS devs) but replacing curly brackets with begin and end today is useless Comment deleted
https://en.wikipedia.org/wiki/Niklaus_Wirth Comment deleted
Callback hell in pascal: end; end; end; end; end; ... Comment deleted
Same as store procedures like PLSQL and TSQL Comment deleted
Maybe those ends are trying to tell you to split up your huge functions? 😆 Comment deleted
Somehow they tell to end writing shitty code with callback hells Comment deleted
Or say "end coding, you cannot it at all" Comment deleted
In Delphi and pascal ppl just decrease font size and use tab size 2 or even 1, I know one person that does that Comment deleted
if fi Comment deleted
iffy Comment deleted
<if> </if> Comment deleted
the worst way Comment deleted
I know)0) Comment deleted
<iftree id="ift1" class="iftrees" name="checks evenness"> <if id="if1" class="ifs" name="is even" condition="round($a/2)%2==0"> <pass/> </if> <else> <print out="XML programming language - XPL?"/> </else> </iftree> I hate myself now Comment deleted
(if if) Comment deleted
{} at home: /**/ Comment deleted
while(1) elihw Comment deleted
For the sake of code readability, I always put comments about the closing curly brace: } // end if } // end for } // end function Class::Method } // end class Class } // end namespace NameSpace That's because the code is not always read and fixed from a full-fledged IDE with syntax highlighting, block folding and all that stuff, but from a bare console editor or debugger. Comment deleted
reminds me MFC's DECLARE_MESSAGE_MAP(...) --- END_MESSAGE_MAP(... /*same thing*/) Comment deleted
Lol I can remember being bothered when I switched to c# from vb but I don't have any problems now with code readability. Also I am switching to c++ Comment deleted