The article is devoted to the study of the so-called optimistic version of bilevel programming in finite-dimensional spaces. Problems of this type are intrinsically nonsmooth (even for smooth initial data) and can be treated by using appropriate tools of modern variational analysis and generalized differentiation. Considering a basic optimistic model in bilevel programming, we reduce it to a one-level framework of nondifferentiable programs formulated via (nonsmooth) optimal value function of the parametric lower-level problem in the original model. Using advanced formulas for computing basic subgradients of value/marginal functions in variational analysis, we derive new necessary optimality conditions for bilevel programs reflecting significant phenomena that have never been observed earlier. In particular, our optimality conditions for bilevel programs do not depend on the partial derivatives with respect to parameters of the smooth objective function in the parametric lower-level problem. We present efficient implementations of our approach and results obtained for bilevel programs with differentiable, convex, linear, and Lipschitzian functions describing the initial data of the lower-level and upper-level problems.