Recursion useless according to Sup Forums

So Sup Forums was telling me that recursion is just a useless meme with no practical application besides showing off. Are they right or I being memed?

Attached: recursion.png (744x368, 16K)

Other urls found in this thread:

en.wikipedia.org/wiki/Primitive_recursive_function#Limitations
stackoverflow.com/questions/15976333/stack-overflow-caused-by-recursive-function
slideshare.net/mobile/naughty_dog/statebased-scripting-in-uncharted-2-among-thieves
all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/
youtube.com/watch?v=oSmqbnhHp1c
github.com/airbnb/javascript
google.github.io/styleguide/cppguide.html
boost.org/development/requirements.html
chromium.googlesource.com/chromium/src/ /master/styleguide/c /c .md
wiki.openjdk.java.net/display/HotSpot/StyleGuide
racket-lang.org/
kernel.org/doc/html/v4.10/process/coding-style.html#functions
python.org/dev/peps/pep-0007/
googleprojectzero.blogspot.com/2016/06/exploiting-recursion-in-linux-kernel_20.html
twitter.com/NSFWRedditGif

>listening to NEET losers
en.wikipedia.org/wiki/Primitive_recursive_function#Limitations

Searching tree hierarchies via depth first is best done using recursion

I tired telling them it's useful for exploring data trees/ other non linear data structures but they told me "theres literally NO reason to ever use recursion for games"

They are wrong, most people who say this think that recursion is used in lieu of loops and have trouble grasping it as most people usually struggle at least conceptually with recursion at first, the truth is, some problems are inherently recursive and therefore can only be solved (at least efficiently) using it, a good example is Quicksort, you can write it iteratively but you're still using recursion you're just doing it with loops but conceptually you are still using recursion.

AI pathfinding is done via depth first searches

Recursion is normally useless for anything where processing power and memory is a concern like video games. But some problems are naturally recursive.

Quick question brainlet who thinks this shit is used heavily beyond interviews, do you know what a stack is and do you know what happens to it when you do recursion?

Yes I know what a stack is, yes Im aware recursion is a stack of method calls. Whats your point

Some dumb people think that they're geniuses because they know function calls have overhead. And you know they're stupid when they think using something as simple and natural as recursion is "showing off." Several problems are easily expressed recursively and require extra data structures to perform iteratively. Recursion is extensively used in functional languages because recursive calls allow you to perform computation without holding a mutable state.

tail call optimization

>Functional languages
>Useful in the real world

Attached: 1496719315916.png (292x257, 100K)

tail recursive calls nigga

Recursion needs to use the call stack to keep track of recursive calls. That's a O(n) space operation. Using a pointer to keep track of your position in a tree is O(1) with almost no code clarity loss, so it's objectively better. But not all functions are primitive recursive, and non-primitive recursive functions can't be turned into iterative functions unless you implement a stack somewhere to do exactly what the call stack does in an iterative style.

> Tail recursion
A special optimization case that rarely is encountered in the real world.
> mfw you so easily spot the academic brainlets who are reading from lecture notes as they post

The point is that this shit is rarely used in the industry for this reason.. I'm guessing you never understood why the fucking helpme site of brainlets is literally called :
Stackoverflow ....
stackoverflow.com/questions/15976333/stack-overflow-caused-by-recursive-function
> stackoverflow.com
Pro-tip brainlets : You're never going to be allowed to write recursive code in a production level environment unless you have a graduate degree in C.S and work for a specifically focused algo team that writes infrastructure level code for the rest of the corp. In the case that you end up using it otherwise, you're likely the reason why a company has shitty code/security holes everywhere

> unless you implement a stack somewhere to do exactly what the call stack does in an iterative style.
Far more readable, secure, and scalable and thus is what is often done. I'm not surprised at the commentary found elsewhere in this thread... These are the kind of academic retards who ace interviews only to complete blow up a company's code base.
> RECURSION DAWG

t. exponential fibb

Do you have any actual examples of someone destroying a company code base from using recursion? Literally no one here is saying to use recursion for every problem, only when it's the natural solution

Attached: 1520224394716.jpg (365x346, 20K)

>You're never going to be allowed to write recursive code in a production level environment unless you have a graduate degree in C.S
If recursion was grad level work at your school, you need to go back there and demand a refund, then quit your job and never write software again.

Attached: file.png (1502x314, 33K)

I find it hard to believe that a codebase can be destroyed by using recursion.
"oh no we blew the stack using recursion whatever are we going to do?"
"if only we could just locally implement tail call optimization"

> Do you have any actual examples of someone destroying a company code base from using recursion?
The point was to reflect that you're ignorant of how dangerous recursion is, how it functions, what its limits are, and what resources it strains. If you have to ask this question, it reflects how ignorant you are of how a computer functions and what kind of restraints you are under in production level code environments. I've never in my professional career reviewed non library recursion code from a software engineer. I work in the bay area. What you're not understanding is that most recursive bullshit can be implemented using less memory via carefully constructed data structures and iterative loops. In production code, people want explicit visible code not New Grad's funky ass recursive bullshit...
> Literally no one here is saying to use recursion for every problem, only when it's the natural solution
It's never a natural solution in any production code.
It's literally a meme.
Bring some recursive bullshit code commit into a code view meeting and watch everyone's eyes roll

Recursion isn't grad level work brainlet.
However, a corporation wont entrust some dumb fuck w/ a Bachelors to write recursive code in a production level environment.
> mfw you detect the faggot who has never worked in industry and posts job interview/meme code

What does your location have to do with code?

>Literally no one here is saying to use recursion for every problem
I'm 100% positive Lisp shills think that's a great idea.

You are so confused man. You are acting like everyone is using recursion to solve every single problem and getting stack overflow errors everywhere. No one is saying recursion is a perfect solution for every problem, just that theres specific problems where its the best solution. Anyone who isn't a self taught programmer and has any clue about algorithm efficieny will know when and when not to use recursion

>It's never a natural solution in any production code.
Enjoy using your O(n!) algorithim for traversing data trees

You can traverse a tree without recursion in O(n)

>mfw you detect the faggot who has never had to interview brainlet code monkeys like himself
first of all, "recursive code" is a completely asinine classification. At most you'd need only a handful of recursive functions in any given module of code, if the problem even requires recursion at all. Having a single recursive function hardly makes much of a fucking difference, and the difference it does make isn't big enough to suddenly make a whole thing out of it and call it "recursive code". If you can't handle something as "abstract" as recursion being applied on one small aspect of a real world problem domain in a production environment, you're the brainlet that needs to either learn their shit or be fired. At worst, it'd just be an inefficient function implementation and be marked with a TODO to refactor it later. If your job seriously micromanages that shit and puts a blanket ban on recursion just because pajeets struggle to comprehend it, you need to switch jobs.

If you were talking about functional programming, that'd be an entirely different matter, and your argument might actually make some sense. Nevermind the fact that functional code ultimately costs less to maintain, switching paradigms on your unsuspecting coworkers would certainly be a bad for production. But that's not even remotely on the same level of the literal nothingburger you're complaining about here.

If you have to ask this dumb ass fucking question, it explains why I stated it.

>Anyone who isn't a self taught programmer and has any clue about algorithm efficieny will know when and when not to use recursion
Cool story.

>I work in the bay area.
As someone who also works at a big company there, I sure as hell hope to god I never end up having to work with your retarded holier-than-thou ass. I've never seen Dunning-Kruger be so accurate.

recursion is the lazy man's tool at the expense of stack space and push/pops

so you stated it because you're a lazy fuck that likes using fallacious arguments?

t. a professional programmer of 12 years, all of them also in the bay area.

recursion is nice
you end up rewriting things iteratively in game dev, though

So, for their purposes, it is.

>If you can't handle something as "abstract" as recursion being applied on one small aspect of a real world problem domain in a production environment, you're the brainlet that needs to either learn their shit or be fired
Dear dumb fuck.. This is the only reason why recursion comes up. It's a common interview question to see if you're dealing with a brainlet. Beyond that, you'll get laughed out of code review meetings if recursion comes up in non-core code that absolutely needs it.

So, for the rare cases recursion is used, it's literally a meme.
Stop trying to be a white knight by pretending the majority of the posters here didn't just discover recursion this week and think all hard problems are solved by it.

And stop behaving like some wet behind the ears idiot with a bachelors degree is an expert and has enough wherewithal as to know when to use recursion, when not to, and how to properly do so in a production level professional work environment.

> If your job seriously micromanages that shit and puts a blanket ban on recursion just because pajeets struggle to comprehend it, you need to switch jobs.
It's called a code review. You'd be laughed out of it if you brought some shit tier recursion solution into one. I'm also guessing you work at a pleb tier office that doesn't have an infrastructure team that handles algos/runtime performance code. You're likely literally at a pajeet farm where every other dingus is writing recursive code for stepping through a 100 item list

Attached: 1521147220961.png (1149x643, 532K)

> Gets blown the fuck out... Reaches for liberal pseudo-intellectual quips :
I've never seen Dunning-Kruger be so accurate.
> I sure as hell hope to god I never end up having to work with your retarded holier-than-thou ass
Would never happen ... I don't author framework API calls in python for a living like (you)

You still need to simulate a call stack though.

Based
> so you stated it because you're a lazy fuck that..
No user, I don't used recursion to solve problems. So, I am not a lazy fuck.
> t. a professional programmer of 12 years, all of them also in the bay area.
Lets meet for lunch and discuss the many ways you use recursion to solve problems. I'm off pagemill. Btw, what language do you develop code?

>listening to what Sup Forums says about anything
but besides that, it's worth noting that one of the most notable game dev shops out there, heavily uses a language that's optimized for recursion and actively encourages it:

slideshare.net/mobile/naughty_dog/statebased-scripting-in-uncharted-2-among-thieves

all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/

youtube.com/watch?v=oSmqbnhHp1c

>So Sup Forums was telling me that recursion is just a useless meme with no practical application besides showing off. Are they right or I being memed?

They're right. You should just use a loop or your own stack data structure. Recursion is only good for writing pseudocode.

It's more memory efficient because you're explicitly declaring and managing your data structure vs being a lazy nigger that relies on the bloated stack.

>Recursion is only good for writing pseudocode.
What does this even mean? Why would you use recursion in your pseudocode but not in your final?

Induction begin base design algorithms/datastructure and algorithms/DS begin bases all systems.

But recursion using implicit stack call could had bad performance and crash on low memory.

Use explicit Array to store state on recursion.

>I've never in my professional career reviewed non library recursion code from a software engineer
Because you never had a professional career.
Here are a bunch of style guides by companies in the Bay Area. Please tell me where in any of them it mentions recursion is banned.
github.com/airbnb/javascript
google.github.io/styleguide/cppguide.html
boost.org/development/requirements.html
chromium.googlesource.com/chromium/src/ /master/styleguide/c /c .md
wiki.openjdk.java.net/display/HotSpot/StyleGuide

>a language that's optimized for recursion
>a language that's optimized for recursion
> racket-lang.org/
> Lisp-Scheme family
> Racket, a dialect of Lisp commonly used for both teaching and language research.

Fully noted

BTFO

Attached: file.jpg (975x1024, 242K)

First off, drop Javascript. Next off, drop C++
Post C style guides. Boost is a fucking joke.
Chromium is a hot mess. Java .. nigger please.
Style guides aren't programmatic guides btw, do you work in the bay area or not? There are typically 3-5 binders of guidelines for a software engineer. Style guide being the least important. The most important being the proprietary infra level code that typically has all of the major algorithms implemented and proof'd w.r.t to run-time performance and security. If you need to do a tree search, there's about 100 pages of guidelines on how to use the company's internal API.
> Because you never had a professional career.
Quit larping faggot.

>Post C style guides
That's how I know you don't work in the industry. C is rarely used. But just to humor you.
kernel.org/doc/html/v4.10/process/coding-style.html#functions
python.org/dev/peps/pep-0007/

But you're just going to turn around and say
>but I work on some secret internal project that I can't give details on, that's how it works there!

Even so, your assertion that that's how things work in the industry are completely bullshit. Keep larping.

>drop C++
>Boost is a fucking joke
>Java .. nigger please
it's like you don't even realize you're in a thread about Sup Forumsidya gaymes, defending a region that's largely clueless web devs. If you're expecting NASA caliber code everywhere, I'm sorry to disappoint you, but the real world isn't anywhere near as neat and tidy as you're making it out to be.

Well, it's not needed for Turing completeness.
You can use iteration instead.

> mfw pic is (you) and the 12 year developer
> mfw the average soyboy fag making framework API calls in Python in the bay area
> mfw the reason why so much software run like shit
> mfw recursion dawg .. App uses 6GB of Memory
> Open tons of windows
> close all but one.. App is still using 5.4GB
> App using 6 cores burning through CPU cycles
> Recursion dawg... Its what's for lunch
> Did you see the style guide? Javascript/C++/Python ?
> A pretty based engineer showed us why our shit tier software stack runs like ass today but me and my soyboy liberal friends got together and got his Dunning-Kruger ass fired for offending us by stating the truth
> We hired someone w/ 80 different hair colors.. She mentioned that she dreams about recursion every night. I think she'll be a great fit. She has a great new idea of spawning 15 threads per tab

Attached: 1520380803290.jpg (515x597, 39K)

>mfw pic is (you)
i want to be the little girl

>still larping this hard
Post a timestamped photo of NASA employee ID and I'll send $100 worth of Ethereum to you. You can hide out your picture and any other personal details.

>recursion useless according to Sup Forums
>according to Sup Forums

Attached: 32.jpg (625x340, 44K)

>DONT USE THE CALL STACK RECURSION YOU FUCKING BRAINLETS
If this kind of recursion is such a problem, why does every language bother implementing it?

> If you're expecting NASA caliber code everywhere, I'm sorry to disappoint you
I'm not disappointed. I could tell very early what caliber software engineer I was dealing with. I just wanted you to admit it.
> but the real world isn't anywhere near as neat and tidy as you're making it out to be.
I never claimed it was. I simply wanted to differentiate between someone who slaps together shit whose performance is not an issue vs. a software engineer who writes critical code and doesn't use shit like recursion for various industry standard reasons that don't have to be explained to someone who works at such a level software engineering.
> Boost is a fucking joke
> C++/Java/Javascript ... My comments remain.

>What does this even mean? Why would you use recursion in your pseudocode but not in your final?

Have you never read an algorithms book?

In Artificial Intelligence we use recursion a lot.

It's generally not the most memory efficient or fastest solution.
But it is often the most straightforward or most elegant.
And writing AI is complicated enough without squeezing out a few % extra performance.
Processor time is a lot cheaper than developer time.

(And yes, we look down on low level programmers who are too brainlet to grasp recursion)

Prove to me that you work for NASA and I will send you $100 worth of Ethereum.

I feel like I was a female in a previous life. I was white and I was a big slut.
> NASA
As if there aren't private companies that get into far more serious shit...
> CALL STACK RECURSION
> this kind of recursion
> this kind of recursion
Mfw this nigger doesn't know what a call stack or recursion is.

No, im taking algorithims next quarter. But from what Ive learned your psuedocode is supposed to resemble your final code

>haha I work at this super secret private company working on this super secret project in pure C where we ban recursion
>this is totally how things are in the rest of the industry despite numerous style guides being presented that show otherwise
Yeah, fuck off larper.

Wow.

Sup Forumstards really have levels of autism Sup Forums can only dream of.

Here's a couple I can think of off the top of my head:

(1) Some things, like dealing with inductive data structures such as trees is pretty naturally represented using recursion. If your data structure can be defined as a base case and inductive cases, recursion might make it easier to represent operations on it.

(2) People often say iterative algorithms are better than recursive algorithms. This *can* be true, but if you have a very large data structure, you might actually hit stackframe limits if you try to load it all into memory. This is highly unlikely on standard computers, but it *can* happen (this has been witnessed in say, compilers).

The absolute state of posters on here. To think some of these fags work in the bay area.
> Meme learning
Of course you brainlets use recursion.
> It's generally not the most memory efficient or fastest solution. But it is often the most straightforward or most elegant.
top kek
> Processor time is a lot cheaper than developer time.
The absolute state of modern day software.
> we look down on low level programmers ...
> who are too brainlet to grasp recursion
Low level software excludes brainlets like you who abuse recursion because its straightforward, easy, and doesn't require much developer time.

I don't work at NASA.

Attached: muh_dick.jpg (1280x719, 880K)

They're as rerarded as Sup Forums but completely lack any practical skills and just talk out of their ass about everything. Sup Forums is retarded but at least most Sup Forumstards have some sort of technical knowledge to back up their autistic ranting

>Low level software
Is an OS kernel considered low level software to you?

> Is a Software Engineer who authors code in C
mfw brainlets can't relate to the standards a C developer lives by.
mfw its so foreign to them that they think its LARP
The absolute state of framework soyboys and OO fags

Attached: this_faggot.gif (284x234, 1.6M)

What C compiler do you use?

Yeah and what does an OS Kernel have to do w/ Meme learning as that was the person who I was responding to? In the case that this wasn't you or such that you're forking a new conversation...

As for Kernel code, enlighten us all by posting up examples of recursion present at the Kernel level. It should provide a wealth of material for discussion in this thread.

googleprojectzero.blogspot.com/2016/06/exploiting-recursion-in-linux-kernel_20.html

Attached: le_merchant.gif (341x376, 1.81M)

recursion is like haskell, a rite of passage and nothing but
it weeds out the brainlets from the real programmers but you're not going to use that in the real world

it's like those african tribes that make male teens wear mittens filled with angry ants to enter adulthood

>The absolute state of posters on here. To think some of these fags work in the bay area.
I was honest, I said I havent read an algorithims text book, Im a cs freshman. Why would you write pseudocode in recursion but not use recursion in your real code?

Some times recursion can be unrolled in to a loop. It is however harder to set it up. Recursion is just as important a technique as many others.

QuickC 2.51

Attached: qt.jpg (683x1024, 246K)

So you don't use Linux at your company at all? After all, wouldn't want the security risk from the use of recursion.

Literally using a proprietary compiler 28 years old. God knows what security vulnerabilities are there.

Attached: 1521342630.png (547x401, 29K)

Ah', comment wasn't directed at you then.
As to why you'd write recursive psuedo code and not use recursion in real code, it has to do w/ the thought process required for recursion. It forces you to think of the initial conditions, initiation, middle step, end, and corner cases of your particular algorithm. It's about conditioning and stretching your mind before you engage in the real thing. It's like having a pre-fap before smashing.. You're going through the motions and tuning your body so you can perform for the real action. Alot of the shit you learn in school is to simply stretch and mold your mind. Interviews are even as such. When it comes to actually writing production level code, its a completely different world/ball game. Bachelors especially the earlier courses are meant to stretch and mold your brain so that you become conditioned as to how to approach and resolve abstract problems in your later schooling. The bulk of what you learn is never used in a professional environment. Your stretch out cognitive walls are.

Attached: 1518581667854.jpg (403x395, 19K)

>God knows what security vulnerabilities are there.
ANSI C is already a huge vulnerability.

>I never claimed it was.
bull shit. your entire autistic screeching here has been about how recursion would never happen in the industry because of highly strict low level coding standards that are hardly universal. You were making a very specific claim about an entire industry that you know damn well is filled with pajeets, and you're getting called out on it for being bullshit. Everyone here already knows java/js/c++ are memes, but you're the one that doesn't know how to make a consistent argument that's worth a damn. Don't get mad just because you have too much autism to notice your own inconsistency.

Attached: file.gif (480x360, 580K)

> mfw he took the bait
Asking me what kind of fucking compiler I use like a goddamn brainlet on a fishing expedition.
> mfw you get HOOKED

Attached: bait.png (625x626, 146K)

Call Stack OverFlow
Bad cache by using call stack means low performance

C is still the best language. Every iteration where they try and remove freedom from a language to make it safer for people weakens it. I only miss classes and closures. You can mimic them but it isn't the same.
It is true that knowing about higher level techniques improves your lower level code.

>le I was just pretending to be retarded

>Bad cache by using call stack means low performance
Nope. Objectively false. Any decent C compiler will optimize out tail calls. So the only thing that we are left with are algorithms where you need to use a dynamic stack, either through your own data structure or the implicit call stack. The call stack is one contiguous section of memory, cache performance is the best it is going to get. Whereas with a hand rolled stack structure, you're going to have to either reserve a bunch of unneeded memory ahead of time or deal with dynamic resizing which hurts performance either more. Stop embarrassing yourself.

Well, recursion is never required to solve a problem and most of the time problems can't be solved by simple recursion. But for some problems it's the most straight forward solution even if not the most performant, and some languages have optimizations that allow zero overhead recursion under specific circumstances. So I guess the answer would be, it depends?

wew lad. I know I completely busted out your ballsack but don't get salty about it. Recursion is a meme. It's why every other google search result states this :
> Does anyone actually use recursion?
> Is recursion used in production level code?
> Is recursion a meme?
> I got fired for using recursion
> Stackoverflow.com Literally the name of the most used website for brainlet devs

Breh, you haven't said fuck all in our exchanges. I'm literally laughing at the idea that you think you've made a point. If you don't consider recursion to be a meme, you've automatically out'd yourself as a brainlet. And sure there are cases when it should be used BUT NO ONE BY AND LARGE USES IT BECAUSE SUCH CASES ARE RARE THUS WHY ITS A MEME.. THUS WHY IF YOU SAY (BUT DAWG I KNOW EXACTLY WHEN TO USE IT AND HOW TO USE IT) YOU'RE A LARPER NIGGER BECAUSE NO ONE USES IT OFTEN ENOUGH TO BE PRACTICED IN IT

Now, are you really going to keep posting trying to push the dam recursion meme into legitimacy?

Attached: 1506158153018.png (713x611, 26K)

If you work with a language where tail recursion is not optimized out you would really want to express your final code in iterative form

Agree 100% with everything you just stated. I am experienced in a wealth of languages and the higher level ones do indeed broaden the scope/considerations I make when authoring in C. It is indeed the best language thus why many others are implemented in it.

QuickC is considered to be one of the worst C compilers of all time. It doesn't seem as though you caught the reference... newfag.

Attached: 1514312947918.png (300x300, 11K)

>in our exchanges.
You're arguing with a strawman user, because I just read the thread and posted that as my first reply to you here, so clearly there are multiple anons calling you out on your nonsense. I don't care what others are trying to counter you with, but I know bullshit arguments when I see them, and nobody else seems to be arguing your same inconsistent ass points. Just give it up, because you're clearly just projecting your butthurt now.

>not all functions are primitive recursive
name two

>le I was just pretending to be retarded
Keep larping buddy. Name the C compiler you use that has no recursion then.

Ackermann
Any infinite loop

Its for more entertaining to troll the shit out of you and expose how shallow your history/understanding is of the subject matter even as you try to fish for the depths of mine. This is why you stay on topic as opposed to fishing expeditions especially when you are unaware of when you're being baited.

Attached: derp.png (851x995, 752K)

>First off, drop Javascript. Next off, drop C++
What kind of deluded ass vision of industry programming do you have man?

Attached: 1516181592440.jpg (1280x720, 70K)

>> Processor time is a lot cheaper than developer time.
>The absolute state of modern day software.

I certainly hope that's the state we achieved, yes.

Look, if the code is very time critical or called a lot then it pays off optimizing for speed.
But that's nearly always only true for a tiny fraction of the code base.

For the vast majority of the code you want quality over speed.
The more complicated you make things the higher the chance of introducing bugs.

And you could spend a month reducing an algorithm that takes 10 seconds down to taking 9 seconds.
But if you spend that month on improving the results instead you'll likely have a better product.

Just because multiple anons are attempting to bust my balls doesn't mean
> They've been successful
> Aren't exposing themselves as brainlets
Recursion is a meme. If you disagree, you're likely a brainlet. This is tried and true knowledge of any seasoned Software Developer. At the moment you disagree, you're disagreeing with a time tested truth of Software Engineering. You can try to squirm and defend yourself all you like... You've already out'd yourself.

> Recursion is a meme
No one has yet to prove otherwise.
The only people but blasted are those arguing that recursion isn't a meme and I'm carefully blowing each and every one of them the fuck out

Attached: black_or_white.jpg (719x462, 53K)

You claim that your argument comes from the your industry experience. That's the only assertion you ever made. I'm just proving that you are a larper.

Probably some no-name embedded trash with no decent compiler.

I'm from the future user

Attached: 1519001963107.png (404x274, 181K)

There's no wonder why modern software runs like shit. I don't deny that
> Processor time is a lot cheaper than developer time.
I only want to point out that when this becomes a development guide for the industry, there's no wonder why programs run like shit and consume tons of resources. Yeah, I mean.. to a nigger there are tons of resources available and why burden yourself when you can put the burden on your consumer... But I'm not talking about nigger tier software development.

> Time tested and proven truth of industry
Dumb fuck tries to refute it with brainlet arguments.