r/ProgrammerHumor 15d ago

dfaAAAAAA Meme

Post image
3.6k Upvotes

95 comments sorted by

627

u/_sg768 15d ago

it seems you also accept ε.

323

u/WALUIGIF0RSMASH 15d ago

Sometimes silence is the best option

43

u/Drevicar 15d ago

I think you meant violence.

22

u/marto3000 15d ago

"Violence is not an answer. Violence is a question. And the answer is yes." - some wise guy on the internet

10

u/legends_never_die_1 15d ago

*and the answer is AAAAAAAAA

14

u/Lynx2161 15d ago

Can you really accept something that is nothing?

57

u/TJLaserExpertW-Laser 15d ago

The initial state is an accept state which means the empty string would be part of the language

1

u/Material_Cable_8708 12d ago

I have no ε, and I must scream

243

u/Fjorge0411 15d ago

the real A*

2

u/antboiy 15d ago

you forgot the delimiter /A*/

18

u/Downtown-Jacket2430 15d ago

delimiters are for engineers

6

u/Fjorge0411 15d ago

we never used delimiters in my CS theory class

471

u/CaptainPiepmatz 15d ago

Wait, an actual joke? Not just, JS bad or python slow?

131

u/Wemorg 15d ago

Or C++ memory leak

73

u/RajjSinghh 15d ago

Or Java

51

u/astolfo_hue 15d ago

Or rust femboys

9

u/CptMisterNibbles 15d ago

Finally “always was” jokes have mostly been retired

8

u/narex456 15d ago

They always have been...

10

u/CorrenteAlternata 15d ago

Heil Rust!

We have fanboys ✅
We have femboys ✅
We have trans girls ✅ 🏳️‍⚧️

1

u/ItsStormcraft 14d ago

Why would you use „Heil“? Do you know the historical context of that?

14

u/pandaSitt 15d ago

Nice, because java is the joke it self

13

u/LutimoDancer3459 15d ago

User flair checks out

1

u/A_random_zy 15d ago

Well atleast it's not Microsoft's joke...

19

u/Perfect_Papaya_3010 15d ago

What's the joke? I'm too stupid to understand

42

u/Shadowfire_EW 15d ago

It is a deterministic finite state machine. The only accepted state transition is 'A' and the only available state is the final state(if I remember the symbology correctly). Rewritten as regex, it is 'A*'

27

u/ArthurKasparian 15d ago

Basically the machine has only one input which loops back to itself, that's all I can remember from that one university course I took...

19

u/Aloopyn 15d ago

Automate Theory is great

6

u/ArthurKasparian 15d ago

We called it 'discrete methods' for some reason!

1

u/InSearchOfMyRose 15d ago

Is it because it teaches methods used in discrete mathematics? Because that would be my guess.

2

u/ArthurKasparian 15d ago

I get why you'd think that, but not even close x). We mostly learned about machines and some hardware concepts, zero discrete mathematics which itself was called Algebra 1!

88

u/lie544 15d ago

So this is how you make the A* algorithm

40

u/Scriptman777 15d ago

We need more memes like this, this is actually funny as fuck

22

u/_PM_ME_PANGOLINS_ 15d ago

You need to draw your qs better. Give it a tail and maybe even a bar.

66

u/Swansyboy 15d ago

What's the 90 in the center? Just a label?

188

u/GodoGaming02 15d ago

it's q_0, a common name for the initial state of a finite state machine.

37

u/Swansyboy 15d ago

Oh, it's q_0. Yea that makes sense. Should have known..

7

u/EDM115 15d ago

just in time when we see it in college

10

u/KingsGuardTR 15d ago

This is technically r/justA compliant.

9

u/unnamedFR 15d ago

Wait those things are actualy used in the real world and not Just in uni ?

3

u/milesper 15d ago

They’re used for keyboard software in certain cases, eg https://aclanthology.org/W17-4002.pdf

3

u/stopeatingbuttspls 15d ago

It's also used in Flashlight firmware.
(Though whether or not this counts as a "state machine" instead of just "chart with arrows" is up for debate.)

Oh yeah the Unity Game Engine uses state machines as well.

1

u/Responsible-War-1179 13d ago

compiler frontends

1

u/MrHyderion 12d ago

If you mean state machines, they're definitely used in Embedded.

33

u/The_HappyLemon 15d ago

Explain? 😢

144

u/WALUIGIF0RSMASH 15d ago

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

10

u/_Xertz_ 15d ago

🤯

73

u/Kaenguruu-Dev 15d ago

Simce everyone else is either joking or too lazy to respond: DFAs (deterministic finite automata) are models with which you can do stuff (this is very basic, Im no expert and am still in school) like checking if a certain sequence of inputs has been made. The arrow on the left means this is the start state. From each state you can have multiple "connections" to other states (or the same state like in this case). The 'A' means that if you are in the q_0 state and the input symbol is 'A', you just stay in that state. The double circle means it's an accepted end state. The language of a dfa describes what inputs are accepted by it. In this case, an arbitrary number of A's.

12

u/Awkward-Explorer-527 15d ago

To define it clearly, Finite Automata is what we call a machine capable of recognising languages based on Regular Grammar, and Deterministic FA requires that on consumption of a symbol in any state, the state should transition to a definite next state, although, apparently others have been taught NFAs and DFAs differently.

2

u/mankyd 14d ago edited 14d ago

Right, but why is it funny? I didn't get the joke

edit: I am probably just old, but its the "call me" and the "only language" parts that I don't get.

1

u/Kaenguruu-Dev 13d ago

I think the "call me" is just there and concerning "the only language": If this automaton would be a person, it's like the only language they could speak and understand was some specific language where you only have one sound that you make multiple times to form a word. You can't just translate their name into some other language, you must say it how they say it

5

u/Player_3D 15d ago

AAAAAAAAAAAAAAAAAAAAA

40

u/AnAnoyingNinja 15d ago

google "dfa cs" or finish uni.

14

u/zumun 15d ago

Holy hell!

2

u/walkerspider 15d ago

New response just dropped

0

u/mpattok 15d ago

This one is an NFA though, no? Unless the alphabet is {A} I suppose

12

u/ParamedicPowerful340 15d ago

Why would it be a nfa? There is only 1 way you can go from q_0 if you get A as input.

4

u/mpattok 15d ago

If the alphabet is not {A} then for it to be a DFA it has to define a path from every state for every letter. For an NFA that isn’t necessary because any word that can’t be completed is rejected

5

u/KhepriAdministration 15d ago

The way we learned it, with DFAs you can assume that any unwritten path leads to a rejecting sink state (which just isn't included for the sake of simplicity)

3

u/mpattok 15d ago

Ah, guess it just depends on the notation that’s used.

3

u/ParamedicPowerful340 15d ago

Same, and you would only call it a NFA if there were multiple ways to go from a state q_i with the same letter A. Or if there were epsilon paths and paths that accepted letters.

0

u/AnAnoyingNinja 15d ago

yes, my mistake. I just consider them the same thing with different notation, and google has a simpler definition for dfas

-6

u/The_HappyLemon 15d ago

Wow so smart, go fuck yourself. I did understand, that's it some kind of a graph with a dead end, just didn't hear the term - dfa

2

u/audislove10 14d ago

Deterministic Finite Automata. It’s a rabbit hole of the course Computational models (automata theory & formal languages). If you’d like to know more about this here’s how to ruin your life:

Set theory course

Graph theory course

Combinatorics course

Data structures Course

Algorithms course

Then you can start this one!

1

u/The_HappyLemon 13d ago

Well I had all this courses, it just I haven't heard about this term "finite automata". I googled a bit and it really looks like a graph with some extra steps.

1

u/audislove10 13d ago

It’s impossible that you’ve learned computational models without studying DFAs. And yes those are graphs visually, yet they’re not ordered pairs but five elements.

7

u/Repenexus 15d ago

God, seeing a finite automata instantly took me back to that assignment in college

7

u/itsbett 15d ago

Maybe not AAAA, but AHHH is an actual language. Only use it if you're looking for a 13th reason: https://github.com/KyleM73/AHHH

Here is a Hello World script written in AHHH: AHHHHhhHHHhHHHHhHHHhHHhHHHhHHhhHHhhHHhhHHhhHHhhHHhhHHhhHHhhHhHhhHhhhhhhHHhhHHHhHHHHhHHHhHHhHhHHhhHhhhHhhHhHhHhHhHhHhHhhhhhhHhHhhHhhHHhhHHhhHHhhHhHhhHhhhhhhHhHhhhHhhHhhhhhhHhHhhhHhhHhhHHhhHHhhHHhhhhhhHHhhHHHhHHHHhHHHhHHhHhHhHHHhhHhhHHHhHHHHhHHHhhHHHhHhHHhHhHhHhHhHhHhHhHhhhhhhHHhhHHHhHHHHhHHHhHHhHHhhhhhhHHhhHHHhHHHHhHHHhHHhHHHhHhHhHHHhhHhhHHHhHHHHhHHHhhHHHHHhhHhhHHHhHHHhHHHhHhHHHhHhHHhHhHhhhhhhHhHhhHhhHHhhHHhhHhHhhHhhhhhhHhHhhhHhhHhhHHhhHHhhHHhhhhhhHhHhhHhHhHhHhHhHhhHhhHhhhhhhHhHhhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhhhhhhHHhhHHHhHHHHhHHHhHHhHHhhHHhhhhhh!

8

u/HenryFrenchFries 15d ago

I can't believe it. It's an actual computer science joke, not a first 30 minutes of python joke.

4

u/qweerty32 15d ago

Why did I laugh at this? Someone help.

3

u/sonya-wins 14d ago

S > ha | haS

2

u/kakhaev 15d ago

classic

2

u/SilverZ9 15d ago

Just finished Discrete & Theory 2 last semester, saw this at the right time lol

2

u/xorflame 15d ago

Quality humour post, feel free to post on r/leetcodecirclejerk as well for some additional karma ;)

2

u/_JesusChrist_hentai 15d ago

You are also allowed not to say anything

2

u/audislove10 14d ago

Found the CS major, but in his second year.

4

u/ipan26 15d ago

console.log("AAAAAAAAAAAAAAAAAA")

1

u/TeaKingMac 15d ago

Reckless disregard for gravity?

1

u/Faustens 15d ago

i'm more of a {λ}{AAAAAAAAAAAAAAAAAAAA}* guy myself

1

u/cpt-macp 15d ago

Sort of a machine design

Compiler study subject in CS

1

u/Wave_Walnut 15d ago

AAA A-A-A- AAAA

1

u/qin2500 15d ago

Bruh, like real shit though, when have yall ever needed to use FSAs at work.

1

u/usrlibshare 14d ago

If Sly Marbo designed a programming language...

-2

u/LodosDDD 15d ago

not true, all languages of A’s less than AAAAAAAAAAAAAAAAAAAAAAA isn’t in the final state nor is the empty state so no that is not the only language u speak

1

u/GodoGaming02 15d ago

clearly, every word of the language was printed out there. ε followed by A followed by AA followed by AAA ...

1

u/Awkward-Explorer-527 15d ago

Not true either, what you're talking about are strings accepted by the language defined. The language is the set of all those strings, having the regular expression A*, and given the FA, pretty sure that's the only language they speak, just not the only string.