Programming concepts

What is the most advanced and difficult programming concept to understand?

Attached: ApplicationFrameHost_2018-06-30_00-59-13.png (251x284, 108K)

pointers

Wrong.

Callbacks.

Parallel Programming

I've been told this is something that even graduate students struggle with.

The lambda calculus.

Recursion

Goto

Wrong.

Closures.

closures are inner functions where you have access to variables from the outer function

think about this:

const prefix = '!';

client.on('message', message => {
if (!message.content.startswith(prefix)) return;
});

where in the message event/lambda function is prefix declared? nowhere, but it has access to the variable because it was defined outside of it

partialy defined functions

Made software for real world over overcomplex autism solutions.

Monad

It's OOP. And I'm not talking about a Java project with 3 classes, I'm talking about enterprise software with 1000+ classes.

>the most advanced and difficult programming concept to understand
avoiding bloated software

Monads are just pointed functors that can flatten. There's not much to them.

Recursion

If you think recursion is hard
Give recursion with an anonymous function a try

This, unironically, Most programming concepts are easy and intuitive, it's dealing with a shit ton of APIs that can be almost unfathomable, especially with deeply inherited classes.

Coroutines.

The ability to shift the burden of complexity from classes -> code, and objects -> stack, is mind-boggling. But it's also incredibly simple once you wrap your mind around it.

Just add some framework that will parse everything from xml file and annotations. That will make everything simple.

hahahahahahahaha

Attached: 1531528666006.png (640x600, 614K)

Code design :)
CIA niggers on Jow Forums will tell you that either OOP or Functional programming is the one true solution to everything. But really it's neither. It's a mix of the two. It's _knowing_ how to use aspects in functional programming in OOP. Stateless, unit testable, class methods. Separation of concerns in classes. Do one thing do it well. Facades, interfaces, strongly typed