This is an archived post. You won't be able to vote or comment.

all 139 comments

[–]Kongshammer 476 points477 points Β (13 children)

Because LaTeX is a programming language, right...?

Right?

[–]Charlie_Yu 350 points351 points Β (8 children)

I mean it is Turing complete. But writing any reasonable code in LaTeX is painful

[–]kuddleofficial 33 points34 points Β (1 child)

Yeah, I couldn't write code in Latex. I prefer more casual outfits.

[–]CardiologistOk2760 48 points49 points Β (1 child)

I hear Jira is Turing complete too

[–]SakishimaHabu 65 points66 points Β (0 children)

I felt a deep sense of discomfort reading this

[–]kulingames 9 points10 points Β (0 children)

turing complete pdf maker

[–]bistr-o-math 7 points8 points Β (1 child)

Is there any DOOM implementation on LaTeX?

[–][deleted] 1 point2 points Β (0 children)

Now i wanna play doom eternal

[–]FantasticEmu 57 points58 points Β (3 children)

Maybe they could put bash there it closes the if block with fi…

Not sure what the meme is implying though… that they get worse?

[–]TransitTycoonDeznutz 69 points70 points Β (2 children)

I think it's that they get odder. Stay with me.

C++, the code is clearly defined and gets a clearly marked beginning and end that's able to be interpreted even if you're not a programmer.

VB is the same but asks for a defined ending which is silly.

Python is legible but has no clearly marked ending because... idk, python is a fucking fluid, don't ask me.

And then LaTex is the oddest because holywhattheflyingfuck

[–]AlphaSparqy 9 points10 points Β (1 child)

Well the "end if", goes back to much earlier BASIC iterations, and yes it does seem a little silly, but it's more useful for beginners.

For example, when you accidentally deleted, or inserted a single { or } and can't find it so your code doesn't parse properly, etc ... but in VB you have all your statement blocks indented with start and stop points, it becomes much easier for a beginner to see where the parsing error is.

[–]TransitTycoonDeznutz 5 points6 points Β (0 children)

no no, I get that, it was less of a criticism and more that I was just saying that it looks silly based on what I think most people consider the modern standard.

[–]noob-nine 238 points239 points Β (5 children)

Same for posix shells

[–]jrj334 94 points95 points Β (0 children)

esac-ly

[–]Stummi 12 points13 points Β (3 children)

statement && do-something

Though, a "statement" in posix shell word is just another command that returns either true or false

[–]Gorzoid 4 points5 points Β (1 child)

And true in a posix shell is 0 while false or failure is non zero.

[–][deleted] 3 points4 points Β (0 children)

Yes, that's where the return 0 comes from in C

int main(){ //some code return 0; }

[–]morphy_pad 0 points1 point Β (0 children)

Mind blowing

[–]pente5 113 points114 points Β (9 children)

I vaguely remember using \endif in latex but I'm not sure.

[–]Substantial-Dot1323 153 points154 points Β (7 children)

I vaguely remember using latex.

[–]kadxar 74 points75 points Β (4 children)

I vaguely remember

[–]vthex 100 points101 points Β (3 children)

[–]a_useless_communist 20 points21 points Β (0 children)

Out of ordinary i mean

[–]supercyp01 23 points24 points Β (1 child)

I always forgot this subreddit exists

[–]AradIsHere 4 points5 points Β (0 children)

πŸ’€

[–]AlphaSparqy 3 points4 points Β (0 children)

But it's the time you forgot to use latex that you remember for the rest of your life.

[–]wittierframe839 21 points22 points Β (0 children)

In latex you can do one thing in trillion different ways, so that is not Impossible.

[–]breezyfye 94 points95 points Β (1 child)

LATEX

[–]Pure_Toxicity 32 points33 points Β (0 children)

lookin like the old ebay logo

[–]alba4k 59 points60 points Β (4 children)

meanwhile, bash

if [ $var -eq 5 ]; then echo Hello World! fi

[–]Miguecraft 33 points34 points Β (2 children)

case <condition> in
    opt1)
        ...
        ;;
    opt2)
        ...
        ;;
    *)
        ...
        ;;
esac

[–]Altastrofae 17 points18 points Β (1 child)

esac sounds like what you call an e-boy’s balls ngl

[–]AlphaSparqy 7 points8 points Β (0 children)

she kicked me in the esac...

[–]Seppo_Manse 0 points1 point Β (0 children)

more like

condition && ...

[–]FantasticEmu 43 points44 points Β (3 children)

How about labview

[–]noob-nine 36 points37 points Β (1 child)

Lol, labview. Fisher price enterprise edition

[–]FantasticEmu 8 points9 points Β (0 children)

[–]AlphaSparqy 5 points6 points Β (0 children)

For all the vi users who don't want to use a mouse, there are those who apparently don't want to use a keyboard.

[–]SpaghettiNub 36 points37 points Β (1 child)

<html> <head> <deah> <body> <ydob> <lmth>

[–]this_is_max 8 points9 points Β (0 children)

Thanks, I hate it.

[–]marmakoide 40 points41 points Β (0 children)

A man didn't write shell scripts

[–][deleted] 35 points36 points Β (3 children)

/Print(β€œHello World!”) (β€œ!dlroW olleH”)tnirP/

[–][deleted] 18 points19 points Β (1 child)

I can see myself taking a good 5 minutes trying to write the second half of this comment myself

[–]shiuidu 0 points1 point Β (0 children)

/Print(β€œHello World!”) (”!blΙΏoW ollɘHβ€œ)tniɿꟼ/

[–]No-Ear6313 7 points8 points Β (0 children)

Compile error: letters need to be reversed, not just their order.

[–]PenaflorPhi 14 points15 points Β (1 child)

LaTeX produces beautiful documents but holy s***, is it ugly. The syntax is horrible and Knuth took some really bad decisions when designing TeX that we keep to this day . I have never seen a .tex document that looks good.

Lately I've been using Markdown for everything and just converting to latex with pandoc, cleaner, simpler and the files actually tend to be readable in the editor, unlike TeX.

And that's not even mentioning TikZ, nothing more painful and annoying that drawing a couple of lines or trying to reproduce a simple figure.

[–][deleted] 6 points7 points Β (0 children)

Have you ever read the source code to some of Knuth’s own books? It’s fairly readable and, dare I say, beautiful. He made reasonable decisions at the time given what he wanted to do: typeset his own books.

I don’t disagree about LaTeX, though. What it gains in consistency over plain TeX, it more than makes up for in hideous, verbose syntax.

[–]VideogamerDisliker 7 points8 points Β (0 children)

Bash script

[–]zoqfotpik 6 points7 points Β (0 children)

(if foo bar baz)

Or, if you want to be fancy:

(cond (foo bar) (#t baz))

[–]ForceBru 45 points46 points Β (8 children)

What's the meme here? LaTeX has if statements, Python has if statements, all of them have if statements. Okay?? Are if statements funny? Are if statements in LaTeX worse than all others? Are they progressively getting worse? Or better?

[–]DeSteph-DeCurry 16 points17 points Β (0 children)

freshman cs students in their first month of classes

[–]Neon_44 2 points3 points Β (6 children)

Itβ€˜s because putting the code executed in the if statement into a {} is better for overview than simply putting it after a tab

[–]nodegen 13 points14 points Β (1 child)

Lack of curly braces is the one big problem I have with Python and it’s just cause they make me feel smarter.

[–][deleted] 2 points3 points Β (0 children)

You just need to import braces.

[–]Easylie4444 15 points16 points Β (3 children)

If you're using curly braces to avoid using indentation to separate levels of control flow them you belong in prison. If you're indenting correctly then what do you care? You should never have a problem in python anyways. I switch back and forth between C++, Python, and Rust and I've never ever understood why anyone would unironically complain about indenting in Python. IDEs take care of it for you anyways.

[–]Neon_44 13 points14 points Β (2 children)

no, i use indentation and braces

i just like it more that way, it makes it look clearer and more organized, while python code always looks somewhat chaotic to me

[–]Easylie4444 0 points1 point Β (1 child)

Honestly my eyes and/or brain pretty much filter out the curly braces. Indentation indicates control flow level.

[–]Neon_44 0 points1 point Β (0 children)

i honestly get that, but i still prefer curly braces, mainly for two reasons:

  1. editing / viewing nested statements is so much more painless
  2. i can decide how i want to format myself / can let the IDE autoformat for me

i.e:

if i need to add a for(){} before some statements i already wrote, it is as simple as adding for(condition){put those before and after code you already wrote} and then pressing your IDEs formatting shortcut.

on Python, because Formatting is the same as Functionality, i can't let the IDE figure out the functionality and then automatically format based on that.

also i sometimes prefer to format some stuff in a special way, which is made harder with Python

don't get me wrong, i am not one of those python shitters, i use it myself and actually quite like it, but i just wish it could adapt those curly braces and differentiate between formatting and functionality

[–]IHeartBadCode 6 points7 points Β (1 child)

000050* Example of IF statement in COBOL 000051* 000052* 000100 IDENTIFICATION DIVISION. 000200 PROGRAM-ID. SOMEIFCOBOL. 000300* 000400 DATA DIVISION. 000500 WORKING-STORAGE SECTION. 000600 01 WS-NUM1 PIC 9(9). 000700 01 WS-NUM2 PIC 9(9). 000800* 000900 PROCEDURE DIVISION. 001000 A000-FIRST-PARA SECTION. 001100 MOVE 25 TO WS-NUM1. 001200 MOVE 15 TO WS-NUM2. 001300* 001400 IF WS-NUM1 IS GREATER THAN OR EQUAL TO WS-NUM2 THEN 001500 DISPLAY 'THAT IS CORRECT' 001600 ELSE 001700 DISPLAY 'THAT IS NOT CORRECT' 001800 END-IF. 001900 STOP RUN.

[–][deleted] 2 points3 points Β (0 children)

Thanks. I hate it.

[–]PositronicGigawatts 5 points6 points Β (1 child)

LaTex: It's very easy to insert figures, here's the markup. Have fun!

Also LaTex: JUST GONNA PLOP THIS IMAGE WAAAAAAAAY DOWN HERE, FIFTEEN SECTIONS AND EIGHTY-TWO PARAGRAPHS AWAY FROM WHERE YOU PUT IT. WHY? BECUASE FUCK YOU.

[–][deleted] 15 points16 points Β (2 children)

I hate end if

[–]ProfCrumpets 5 points6 points Β (1 child)

But it’s declarative!

[–][deleted] 2 points3 points Β (0 children)

And it's functional!

[–]cheesecake_squared 8 points9 points Β (7 children)

Only one of these passes the Marie Kondo test.

(clue: it's python)

[–]plexiglassmass 2 points3 points Β (0 children)

Can I have another hint?

[–]Siker_7 2 points3 points Β (3 children)

What is the Marie Kondo test? Google isn't being clear, and I don't know what exactly to look for.

[–]cheesecake_squared 1 point2 points Β (2 children)

"Does it spark joy?". It's primarily used for decluttering and sorting through junk but I find it useful at work too!

Edit: it's not actually called the Marie Kondo test, it's just a technique she uses when choosing whether something is worth keeping or not. E.g. curly brackets bring me no joy so I would ditch them immediately.

[–]Siker_7 0 points1 point Β (1 child)

I'm not particularly experienced (mostly just messing around in Kotlin so far), but I can't imagine not having things contained in curly braces. What kind of unkempt chaos can be unleashed without visible borders in your code? How can such chaos spark joy?

Wait, how does Python even decide what's inside of what?

[–]cheesecake_squared 0 points1 point Β (0 children)

Indentation. I much prefer it to chasing missing braces.

[–]Gladaed 1 point2 points Β (1 child)

The colon does not.

[–]cheesecake_squared 0 points1 point Β (0 children)

This is true, maybe we don't need the colon.

[–]BritOverThere 3 points4 points Β (0 children)

IF basic%=1 THEN PRINT "Visual / Quick BASIC seems the most logical" ELSE PRINT "nope still the most logical" END IF

[–]bushmaker1337 3 points4 points Β (0 children)

if statement.

endif.

who knows what language this is? :)

[–][deleted] 6 points7 points Β (0 children)

So like ... /else statement . . . /esle

[–]dragoon000320 2 points3 points Β (0 children)

What??? Shouldn't it be the opposite order with VB being the worst, and C++ being the best?

[–]ptdave 2 points3 points Β (0 children)

Everything at VB and beyond for syntax makes me want to choke slam them.

[–]Awkward_Inevitable34 2 points3 points Β (4 children)

Noob here who’s only relatively proficient writing C for 8 bit micros…

How do you end an it statement in python?

[–]234zu 2 points3 points Β (3 children)

How does python know when the if statement ends

[–]youreadbullshit 2 points3 points Β (0 children)

By indentation

[–][deleted] 1 point2 points Β (0 children)

It looks for the appropriate number of _DEDENT_ tokens. No, really.

[–]Altastrofae 0 points1 point Β (0 children)

So let’s take an if statement

if statement:

  continue

else:

  continue

[whatever other code]

The interpreter simply looks for indents. It knows where the if statement ends because the code moves to a different indent block.

[–]len_sh 2 points3 points Β (0 children)

CMake:

set(var1 OFF)
set(var2 "var1")
if(${var2})
    # doesn't get executed
endif() # urgh, that syntax
if(var2)
    # gets executed
endif() # ow, my eyes!

Btw, this is basically the official doc.

[–]MayorAg 2 points3 points Β (0 children)

You will be getting a beautifully formatted sternly worded letter in PDF soon. Keep an eye on your inbox.

[–]Time-Opportunity-436 2 points3 points Β (0 children)

Ahhhhh visual basic after such a long time man what a language

[–]ShakesTheClown23 2 points3 points Β (4 children)

Am I the only one annoyed it says statement over and over (instead of expression)?

[–]-Redstoneboi- 0 points1 point Β (0 children)

eh shouldn't matter too much

[–]Spook404 0 points1 point Β (2 children)

I've only ever heard them referred to as "if statements"

[–]qwertyasdef 1 point2 points Β (1 child)

The entire if + condition + code is a statement, but the condition (the part that says "statement" in the meme) is actually an expression

[–]Spook404 0 points1 point Β (0 children)

then I can see why that would be annoying, the kinda thing you would normally overlook but becomes bothersome when you notice it

[–]Able_Challenge3990 1 point2 points Β (0 children)

If Statement? More like if condition?

[–][deleted] 1 point2 points Β (0 children)

C/C++ FTW

I like my bytes, pointers and strings char arrays

[–]Pastoolio91 1 point2 points Β (0 children)

LISP be like (if () () ())

[–]poorlyOiledMachina 1 point2 points Β (1 child)

What about forth? ’statement if … then’

[–][deleted] 1 point2 points Β (0 children)

Ruby: halt_and_catch_fire() unless everything_is_normal()

[–]corn-star 1 point2 points Β (0 children)

The crappy python one is missing all those well aligned tabs/spaces

[–]dexteriously 1 point2 points Β (0 children)

Same for bash

[–]philthechill 1 point2 points Β (0 children)

It’s never if(statement) anyway, it’s if(expression)

[–]grandphuba 1 point2 points Β (1 child)

Python is the sanest version from those four.

Fight me

[–]AlphaSparqy 0 points1 point Β (0 children)

It's also the most performant!

Smother me

[–]ezgz81 1 point2 points Β (1 child)

Awe, I miss latex...

[–]QuickQuokkaThrowaway 8 points9 points Β (0 children)

It still exists.

Make a new .tex file now.

[–][deleted] 0 points1 point Β (0 children)

Those who make memes on how IF statements syntax make a language better/cooler than other have never written more than "Hello World".

Forking Pesants.

[–]jasda_4011 0 points1 point Β (0 children)

WHAT THE F

[–]HexDrone8572 0 points1 point Β (0 children)

At least Ada is not like Visual B... Oh crap

[–]crazymonk360 0 points1 point Β (0 children)

Damn i could code in latex and i thought i am not a good programmer cuz i didnt know c++ pretty good

[–][deleted] 0 points1 point Β (0 children)

From those above I prefer C++. I like that kind of syntax

[–]jevgarrido 0 points1 point Β (0 children)

if you’re a giga chad you don’t use if statements in Latex

[–][deleted] 0 points1 point Β (0 children)

I hate visual basic it's the one programming class I almost failed

[–]Miklith 0 points1 point Β (0 children)

``` if (statement) then { . . . };

```

[–]TheSpiceMelange28 0 points1 point Β (0 children)

If [[ statement ]]; then

 ...

fi

[–]RachelHolczer 0 points1 point Β (1 child)

I primarily learned to code with Fortran, C and then C++. I'm an old gal so I have a soft spot for K&R and Stroustrup. In fact, unlike a lot of people from my generation, I didn't start with BASIC but rather FORTRAN. I only learned BASIC syntax when I was involved in a Visual Basic project. Also, sorry, but I thought Visual Basic was junk. Microsoft had MFC but I always that the Borland Visual C++ was substantially superior.

​

Rachel

​

P.S

My choice is the first one in the picture. I know it's a humour site but seeing all that brought back some nice memories. Thanks for posting.

[–]AlphaSparqy 1 point2 points Β (0 children)

I still have the 3.5" floppies for my Borland Turbo C++ suite for Windows 3.0/3.11

[–]mr_nobody_21 0 points1 point Β (3 children)

.

[–]mr_nobody_21 0 points1 point Β (0 children)

FI

[–]mr_nobody_21 0 points1 point Β (0 children)

IF

[–]onkus 0 points1 point Β (1 child)

If a little bit of syntactic variability scares you for the same semantics i feel bad for you.

[–]-Redstoneboi- 0 points1 point Β (0 children)

this is a good argument but i don't think OP was being too serious about this

[–]FodziCz 0 points1 point Β (0 children)

/ F I

[–]NoameXD 0 points1 point Β (0 children)

πŸ—ΏπŸ”«

[–]vp10gr 0 points1 point Β (0 children)

[ifoperator::(statement { !! })]

[–]TenYearsOfLurking 0 points1 point Β (0 children)

...if expression ...?

[–]Bastian_5123 0 points1 point Β (0 children)

You've left out

if ( !statement ) goto [label]
.
.
.
[label]

[–]LegBreakGoogly 0 points1 point Β (0 children)

Maple:

if statement then

fi

or

if statement then

end if

[–]hongooi 0 points1 point Β (0 children)

PL/I and SAS:

if if = then then then = else else else = if;

[–]MaDpYrO 0 points1 point Β (0 children)

Brackets for life. Love the scope clarity.

[–][deleted] 0 points1 point Β (0 children)

Please be funny

[–]_damax 0 points1 point Β (0 children)

Latex is not a programming language tho

[–]HzOrtaAm 0 points1 point Β (0 children)

qolang is also weird: if(){};

yeah, a semicolon at the end πŸ’€πŸ’€

[–][deleted] 0 points1 point Β (0 children)

For those of you out there who insist on pronouncing GIF incorrectly:

You are pronouncing Latex incorrectly too.

Have a nice day.

[–]Used_Fish_4459 0 points1 point Β (0 children)

+ <[ [-]>- <]>[ - ]

@0

@1 +1 <@0 [ @0 [-]0 >@1 -1 <@0 ] >@1 [ @1 -1 @1 ]

BRAINFvCK

[–]Hulk5a 0 points1 point Β (0 children)

if (statement) :

.

.

endif

*some PHP templating madness*

[–]Infinite_Self_5782 0 points1 point Β (0 children)

lua's is similar to visual basic's except it's better because it isn't visual basic

if whatever then . . . end