Let me preface this by saying I'm not someone who has every studied mathematical logic or philosophy of math, so I may be mangling terminology here (and the title is a little tongue in cheek).

I (and probably most of us) would define a linear subspace, $W$ of $\mathbb{Q}^n$ to be a non-empty set of vectors that is closed under vector addition and scalar multiplication. This definition has the ``drawback" of not having a constructive (as far as I can tell) way to choose a basis of $W$.

Alternatively, one could define a subspace $W$, of $\mathbb{Q}^n$ to just be a set which is the span of some finite collection of vectors, i.e. $W=\mathrm{span}\{ w_1, \ldots, w_N\}$. This is a much clunkier definition (in my opinion) but does have the advantage of allowing one to construct a basis by using Gaussian elimination. It has the ``drawback" that showing that the kernel of a matrix is a subspace is slightly non-trivial (though still constructive).

Naively, the second definition defines a smaller set of objects than the first, but it seems that in most philosophies of math they actually define the same set of objects.

My questions:

1) Is the second definition actually how a constructivist would define subspace?

2) Are there any system of axioms where the two definitions are really different?

3) Are there any reasons to prefer the first definition to the second definition besides taste?

This question comes out of something that always bothers me when I teach the service course in Linear Algebra. Namely, I usually define (as does the textbook) a subspace using the first definition, but in practice only ever have students consider subspaces that are defined by the second one (or equally concretely as kernels of matrices). Pedagogically, I sometimes wonder how much is being gained by using this first definition (as it doesn't fit in with the extremely explicit nature of the rest of the course).

Edit: Following @darijgrinberg remarks I've changed $\mathbb{R}^n$ to $\mathbb{Q}^n$.