What is difference between terms $X(j \omega) ,X(\ e^{j \omega })$ and $ X(\omega)$?
they should have different subscripts.

bilateral Laplace Transform:

$$ \mathscr{L} \left\{ x(t) \right\} \triangleq X_\mathcal{L}(s) \triangleq \int\limits_{-\infty}^{+\infty} x(t) e^{-st} \ dt $$

continuous Fourier Transform:

$$ \mathscr{F} \left\{ x(t) \right\} \triangleq X_\mathcal{F}(\omega) \triangleq \int\limits_{-\infty}^{+\infty} x(t) e^{-j\omega t} \ dt $$

it's pretty easy to see that

$$ X_\mathcal{F}(\omega) = X_\mathcal{L}(j \omega) $$

likewise in discrete-time, the bilateral $\mathcal{Z}$ Transform:

$$ \mathcal{Z} \left\{ x[n] \right\} \triangleq X_\mathcal{Z}(z) \triangleq \sum\limits_{n=-\infty}^{+\infty} x[n] z^{-n} $$

and the Discrete-Time Fourier Transform (DTFT):

$$ \mathcal{DTFT} \left\{ x[n] \right\} \triangleq X_{\small{DTFT}}(\omega) \triangleq \sum\limits_{n=-\infty}^{+\infty} x[n] e^{-j\omega n} $$

it's also easy to see that

$$ X_{\small{DTFT}}(\omega) = X_\mathcal{Z}(e^{j\omega}) $$

now often the context is understood and everyone knows that $X(e^{j\omega})$ is the Z transform evaluated at $z=e^{j \omega}$, which is the DTFT and we don't bother with the clunky subscript notation.  we might leave the space for subscripts for another function, like if we have a vector of signals as with a state-variable system representation in control theory.