Diff[c_, x_] := 0 /; FreeQ[c, x]
\(Diff[x_\^n_. , x_] := n\ x\^\(n - 1\) /; FreeQ[n, x]\)

Diff[(x^3), x]

Diff[(Sqrt[x]), x]

Diff[3 (x^2), x]

Diff[c_*f_, x_] := 
      c*Diff[f, x] /; FreeQ[c, x]
Diff[f_ + g_, x_] := Diff[f, x] + Diff[g, x]

Diff[3 (x^2), x]

Diff[(∑_(k = 0)^10) k (x^k), x]

?? Plus

Diff[((x^2) + 3) (3  x + 2), x]

Diff[f_*g_, x_] := g*Diff[f, x] + f*Diff[g, x]

Diff[((x^2) + 3) (3  x + 2), x]

Diff[Log[x_], x_] := (1/x)
Diff[Sin[x_], x_] := Cos[x]
Diff[Cos[x_], x_] := -Sin[x]
Diff[Tan[x_], x_] := 1 + Tan[x]^2
Diff[ArcSin[x_], x_] := (1/(Sqrt[1 - (x^2)]))
Diff[ArcTan[x_], x_] := (1/(1 + (x^2)))

Diff[Sin[(x^2)], x]

Diff[g_[f_], x_] := Diff[f, x]*Diff[g[f], f]

Diff[Sin[(x^2)], x]

Diff[(((1 + (x^2)))^Sin)[x], x]

\(Diff[f_\^g_, x_] := f\^g*Diff[g*Log[f], x]\)

Diff[(((1 + (x^2)))^Sin)[x], x]

Diff[Exp[x], x]

Diff[(((x^2) + 3)/(3  x + 2)), x]

Diff[Log[Sin[x]]/ArcSin[x] + ((ArcTan[(1/x)]*Tan[x])/Log)[x], 
      x]