Are there character classes? How will players specialize?

No, there will not be player classes. Players are encouraged to be what they want to be, not what their choice of class dictates that they be. If you want to be a sniper, take a sniper rifle. If you want to be a driver, drive. If you want to command, command.

While we're not yet sure how, Bungie has stated that a player can benefit from learning how to do one thing and do it well. Reputation might be a part of this: if people know you to be the best damn tanker in the world, then they'll seek you out to be on their team. Bungie has also stated that a player won't be forced to specialize, they'll want to instead. Things might be easy to do, but hard to do well.