What is the best way to program Mindstorms EV3? I'm just starting to use the LEGO Mindstorms EVE robot and I'm a bit hesitant which way to choose for programming: the official graphic software or any alternative (preferably the Linux based ev3dev)?

I don't really use Windows and find the official pictogram-like GUI cumbersome and a bit childish, so I tend to pick ev3dev. 

At the same time, most of the tutorials/instructions are based on the official program and I don't know if there is a straightforward way to map all these steps to ev3dev instructions; moreover, I'm a bit wary to rely on an unofficial 3rd party solution (maybe it is immature, error-prone, buggy, incomplete etc.). But I definitely want to stick either of them, no time to try out both extensively...
You have various options.

If you use Linux mainly ev3dev is a good start I think. I've worked with Java (LeJOS) and C# (MonoBrick) in combination with the LEGO Mindstorms Education EV3. But there are more bindings for the EV3. If I recall correctly at least for Python, C, C++ and some more educational friendly languages. The information you need to write your own language/compiler for the EV3 platform are available on the LEGO Mindstorms website. I'm currently developing my own language, compiler and IDE for my master thesis.

The more general question you must answer yourself is: What's the goal you want to achieve? Do you want to learn how to program or do you have already knowledge in one or more languages? If you want to learn how to program you should IMHO use a more beginner friendly language like the EV3-G (the graphical language you mentioned). If you already have some knowledge you can start with a text-based language.

The second question is: Do you want to use/learn a graphical language or a text-based one? There are graphical alternatives to EV3-G like the Open Roberta Project. It uses a Scratch like language (based on the same JavaScript library).

Hopefully I could give you some hints because the topic is more complex than many think in first place. If you have more questions just feel free and ask.