Revisiting First-Order Convex Optimization Over Linear Spaces