Derivatives approximated by finite difference operators

(* (Subscript[α, j]) yields the it by polynomial of order 2p *)
Clear[α];
α[j_,p_]:=(((-1))^(j+1))((2((p!)^2))/((p-j)!(p+j)!))

(* derivative operator (∂/(∂x)) = (∑_(j=1)^p)(Subscript[α, j])(Subscript[δ, 0])(j Δx) where (Subscript[δ, 0])(j Δx)u = (((Subscript[u, j]) - (Subscript[u, -j]))/(2 j Δx)) *)
Clear[d];
d[j_,p_]:=If[1≤Abs[j]≤p,((α[Abs[j],p])/(2j)),0]

(* 2nd derivative operator ((∂^2)/(∂(x^2))) = (∑_(j=1)^p)(Subscript[α, j])(Subscript[δ, ⋀])(j Δx) where (Subscript[δ, ⋀])(j Δx)u = (((Subscript[u, -j]) - 2(Subscript[u, 0]) + (Subscript[u, -j]))/(((j Δx))^2)) *)
Clear[d2];
d2[j_,p_]:=If[j==0,-2(∑_(i=1)^p)((α[i,p])/(i^2)),If[Abs[j]≤p,((α[Abs[j],p])/(j^2)),0]]

Clear[listd,plotd];
listd[p_,max_]:=Table[d[j,p],{j,Max[-max,-(p+1)],Min[max,p+1]}];
plotd[p_,max_]:=ListLinePlot[listd[p,max],DataRange->{Max[-max,-(p+1)],Min[max,p+1]},PlotRange->All]

Clear[listd2,plotd2];
listd2[p_,max_]:=Table[d2[j,p],{j,Max[-max,-(p+1)],Min[max,p+1]}];
plotd2[p_,max_]:=ListLinePlot[listd2[p,max],DataRange->{Max[-max,-(p+1)],Min[max,p+1]},PlotRange->All]

(* (∂/(∂x)) quadratic *)
plotd[1,2]

(* (∂/(∂x)) quartic *)
plotd[2,4]

(* (∂/(∂x)) high order *)
plotd[40,10]

(* ((∂^2)/(∂(x^2))) quadratic *)
plotd2[1,2]

(* ((∂^2)/(∂(x^2))) quartic *)
plotd2[2,4]

(* ((∂^2)/(∂(x^2))) high order *)
plotd2[40,10]