I wasn't really sure where to ask this but I know C pretty decently and I've also been having to use other languages like python, javascript, and C# and I've noticed this odd phenomena where those languages create "new" constructs such as delegates (C#), decorators and closures (python), "first class functions" (javascript/python) etc...
Yet, all of these things are very obviously just function pointers being passed into functions as args, something that has been in C forever and totally not new to programming at all... Yet these things have cute little names and are marketed as being "new" and "cool."
Does anyone who has been around the block for a while know why this is? These languages are obviously just using pointers over and over but are simply walling their users in and hoping to prevent them from abusing pointers. Again, sorry if this question sounds silly but I had to ask a group of C programmers for obvious reasons.