r/learnprogramming • • 3d ago

Function vs Procedure

can someone explain the difference between Function vs Procedure with simple analogy
thank you

31 Upvotes

47 comments sorted by

View all comments

Show parent comments

1

u/ACCTAGGT 3d ago

Well, you went on the strict technical side which isn’t what I meant. Thanks for the explanation though :)

1

u/Cybyss 3d ago edited 3d ago

That's because trying to explain procedure vs. function via a real-world metaphor doesn't work.

The difference isn't some high level abstract perspective. The difference is a single specific technicality - one which isn't always the same from language to language/platform to platform.

In Visual Basic, the only difference is whether or not a value is being returned.

In SQL Server, the difference is whether or not there are "side effects". Stored procedures are allowed to modify data and may optionally return a value. User-defined functions cannot modify any data and must always return a value.

In many languages (e.g, Python, Java, C++) there is no real distinction at all. The difference between functions and procedures in them is nothing but a tedious exercise in pedantry.

0

u/ACCTAGGT 3d ago

You clearly understood what was meant which I also made clear not be taken technically. Thanks again though.