In loose terms, #e^x# has a very special derivative because it is strongly linked to growth. The number #e# is constructed so that it can measure the amount of growth over time. And the derivative is exactly that, how fast a function grows over time. So if you try and measure how fast the function #e^x# increases, you will just find that it increases at a rate of #e^x#, because #e^x# is already measuring growth.
We can of course prove this using the derivative definition too.
I want to start however by looking at the definition of #e#, since it will help us to prove the derivative:
#e=lim_(n->oo)(1+1/n)^n#
Using a bit of limit cleverness (and seeing that #1/n# is just approaching #0#), we can rewrite it like this:
#e=lim_(n->0)(1+n)^(1/n)#
(this version of the limit will be useful later)
So, let's start with our derivative. The derivative definition looks like this:
#lim_(h->0)(f(x+h)-f(x))/h#
So if we plug in #e^x#, we get:
#lim_(h->0)(e^(x+h)-e^x)/h=lim_(h->0)(e^x(e^h-1))/h#
By that last factoring, we have #e^x# in the front of the numerator, and since #e^x# doesn't change as #h->0#, we can bring it out of the limit:
#e^x*lim_(h->0)(e^h-1)/h#
Now, we need to do something quite clever. If we make a substitution that #n=e^h-1#, and solve for #h# to get #h=ln(n+1)#, we can think about what happens to the limit.
As #h->0#, #n# is going to be #e^0-1=0#, and by that knowledge, our #n#-definition of #h#, is also going to approach #0# since #ln(0+1)=0#. Using this knowledge, we can rewrite the limit in terms of #n#, like this:
#e^x*lim_(n->0)n/ln(n+1)=e^x*lim_(n->0)(n*1/n)/(1/n*ln(n+1))#
On the right there, we multiplied by #1/n# on the top and bottom, which might seem quite arbitrary, but you'll soon see why we did it. By logarithm properties, we have the fact that #aln(b)=ln(b^a)#. If we use this on our limit, we get this:
#e^x*lim_(n->0)1/ln((1+n)^(1/n))#
We can now recognize that the piece inside the #ln# function is actually the same as in the limit for the definition of #e#. We just need to do some manipulation to isolate it as the limit.
Since the only things that actually change as #n->0# are inside the #ln# function, we can bring the limit function inside, like this:
#e^x*1/ln(lim_(n->0)(1+n)^(1/n))#
And now, we can use the definition of #e# we had above to replace that limit with #e#:
#e^x*1/(ln(e))#
If we solve this expression, we get:
#e^x*1/1=e^x#
And there. We have just proven that the derivative of #e^x# is equal to #e^x#.