For example in $y=3x+4$ what is the function and what is the function of $x$. I don't get the difference between $f$ and $f(x)$.
A function is a relation between two sets (in your case these two sets are the real $x-axis$ and the real $y-axis$) with the property that each $x$ is associated to only one $y$. Functions are usually labelled by letters $f$, $g$, $h$ and so on and you can also write explicitly what is the independent variable of the relation. In your example $f$ is a function that takes any number $x\in \mathbb R$ as input and it gives $3x+4=y\ or\ f(x)\in \mathbb R$ as output, so you can choose any number $x$ (independent variable), put it into $3x+4$ to get the number $y\in\mathbb R$ (dependent variable):
$$f: x\longrightarrow 3x+4=y=f(x)$$
If you want, you can write:
$$f(x): x\longrightarrow 3x+4=y=f(x)$$
so it is clear what the independent variable is, but $f(x)$, called also $y$, usually is the value of the function calculated at some $x$ whereas $f$ is the function i.e. the relation between the sets.