Is it wrong to call all math operators, functionals and other things that take input and provide output just "functions"? I am more of a programmer than a mathematician, so in my mind a functions can take any type of input and can produce any kind of output. For example I see the derivative operator $\frac{d}{dx}$ as a function that takes a function as its argument and returns a function. Is this wrong in math?
 A: The only 2 things you need to be certain about is that for each input there is only one possible output. You can't have "$f(x) = y$ such that $y^2 = x$" because both $\sqrt(x)$ and $-\sqrt(x)$ are acceptable output.
and that the output for a give input is consistent: $f(x) = $ a random number: is not a function.
and, I should mention, a function must be well defined.  No matter how the input is expressed, its method of processing is clear and consistent.  $f(a/b) = a + b$ is not a well defined function as $f(1/2) = 3 \ne f(2/4) = 6$ and $f(\pi) = ??????$.
But to say $d/dx$ is a function that maps $f$ to $f'$ is absolutely correct.  In fact we consider the set of all real functions to be a topological space and we do study functions that map functions to functions.  That isn't considered strange or weird or incorrect at all.
===
The technical definitions is $f:S \rightarrow T$ is a function that maps elements of a set S to elements of a set T if it is a collection of ordered pairs $F = ${$(a, b) | a \in S, b \in T$} so that the "a" terms are unique; that  is to say.  If (a, b) and (c, d) $\in F$ and $b \ne d$ then $a \ne c$.
There is no limitation whatsoever what the sets $S$ and $T$ are.  They can be anything including sets of functions, sets of sets, sets rules or processes, programming points, whatever.
A: This is a perfectly reasonable view to adopt, especially when one is only working with the derivative of functions $\mathbb R\rightarrow\mathbb R$. For whatever reason, one more often sees the letter $D$ refer to the differentiation operator (which is basically another word for function), which is exactly the function you describe - it takes in a differentiable function and outputs the derivative. One can certainly express differentiation rules with this notation:
$$D(f+g)=Df+Dg$$
$$D(f\cdot g)=(Df)\cdot g + f\cdot (Dg)$$
$$D(f\circ g)=(Df)\circ g \cdot Dg$$
and really, most any elementary notion about differential calculus can be expressed perfectly well - which tells us that we won't run into trouble just by treating the derivative as an a function operating on functions. This idea actually asserts itself as being very important in certain branches of analysis, where treating $D$ as a linear map lets us use linear algebra to address the theory of differential equations. It's worth noting that it would not be incorrect to call this simply a "function" rather than an "operator", but the latter is a more specific term (referring to functions between modules or vector spaces).
In elementary contexts, one might avoid various errors by considering your notion - for instance, it forces us to distinguish equality of functions and equality of values, so we won't look at an equation like $x^2=1$ and differentiate both sides to get $2x=0$. This sort of ambiguity presents itself pretty frequently, since we're using letters like $x$ both to denote the argument of a function and to denote variables, but thinking of things like the derivative as operating on functions largely saves us from this.
It is worth noting that there are alternate ways of viewing the notation $\frac{d}{dx}$. For instance, one may use differential forms, where we treat $d$ itself as an operator to write statements like:
$$df(x)=f'(x)\,dx$$
which looks a lot like the notation
$$\frac{d}{dx}f(x)=f'(x).$$
This view tends to cover differential calculus just as well, but extend more neatly to integral calculus. For instance, they make it easy to express substitution rules - like, one can note that
$$\int_{x=0}^{x=1}dx=1$$
but substituting $2u=x$, we can differentiate to get $2du =dx$ in this notation and then actually substitute in for $dx$
$$\int_{x=0}^{x=1}2\,du=\int_{u=0}^{u=1/2}2\,du=1$$
whereas the analogous statement where we only have an integral operator acting on functions is harder to work with.
A: In my opinion, this is perfectly correct, and even mathematicians use this perspective sometimes: for example, in some contexts we will view $\frac{d}{dx}$ as being a function of type
$$\mathbb{R}[x] \leftarrow \mathbb{R}[x],$$
where $\mathbb{R}[x]$ consists of all formal polynomials in the variable $x$ with coefficients in $\mathbb{R}$.
