Really depends on which one you need to rank for. But a solid strategy to earn trust with google is to FIRST rank for a long tail version of your keyword, then after you rank, begin to optimize for the shorter tail keyword, assuming that is your goal.
Long tail keyword are better than short term because it can give you results for not only one keyword but also for more than one keyword in less time.
Long Tail is way to go. In surety, short tail keywords will bring traffic but not targeted traffic. Long term keywords, on the other hand, will be less traffic but very targeted ones. Moreover it takes lots of time and resources to rank high in short tail keywords due to stiff competition. But with long tail keywords, you'll achieve high rankings in no time with less resources. So go for long term keywords, bro.
There is a balance you need to find. Long KWs: Relatively easier to rank but LOW searches Short KWs: High amount of search volume but a bit harder to rank There are also short KWs with low competition. Everything depends upon the scenerio. You may want to get 300 search volume L-T keyword ranked #1 instead of 3000 search volume S-T keyword for that is more relevant to you.
Long Tail keywords would be my choice. You can easily optimize any article for a few of them, then after some SEO on it, it would drive you constant traffic to your website, then the next article, etc. (*Of course it depends on the competition!)
Short tail keywords are good for homepage and some sub-pages that will have lots of good backlinks coming in. Long tail is good for deeper inner-pages and blog posts... Unless we're talking about minisites or a network of sites.. Then I might have some homepages targeting long tail keyphrases as well.