Could we reasonably classify finite groups? So I have been reading some work on $p$-groups, and I noticed a particularly disturbing sentence:
"There is no hope of finding a finite set of invariants that will define every p-group up to isomorphism in a useful way" (http://www.ams.org/mathscinet-getitem?mr=1918951)
It then noted that the number of isomorphism classes of $p$-groups  grows amazingly fast. For example, the isomorphism classes of groups of order $512$ is $10494213$. 
So my question is essentially this, is there any belief that there could be a reasonable classification of finite groups? I acknowledge, that it would probably be fairly bulky (how monstrous the simple case gets is proof of that), but does anyone think that a useful theorem of this form could even exist? Maybe even weakening isomorphism to isoclinism or some other generalization of equivalence? Or is this simply a Sisyphean task, or maybe a task left simply for computers?
Anyone have any opinions on this point? 
 A: I am not an expert in finite groups, but here is my understanding of this issue:


*

*The first ingredient is a classification of finite simple groups, whose proof requires thousands of pages. 

*Now, suppose we are to classify arbitrary finite groups by induction on their order using the available finite simple groups classification. Pick a finite nonsimple group $G=G_0$. Then it admits a proper normal subgroup $G_1$, i.e. we have an exact sequence:
$$
1\to G_1\to G_0\to G_2\to 1
$$
The choice of $G_1$ is not canonical, but, at least, the orders of $G_1$ and $G_2$ are smaller than the one of $G_0$, so they are "already classified". The problem becomes, how to classify extensions (i.e. short exact sequences above) given groups $G_1$ and $G_2$. Every such extension is determined by the following data: 
(a) A homomorphism
$$\phi: G_2\to Out(G_1)=Aut(G_1)/Inn(G_1)$$ 
where $Inn$ is the group of inner automorphisms, 
(b) An element of the 2nd "nonabelian cohomology" $H^2(G_2; (G_1)_{\phi})$ of $G_2$ with coefficients in $G_1$, the "extension class". 
Below is a more detailed discussion of $H^2(G_2; (G_1)_{\phi})$ following section IV.6 in K.Brown "Cohomology of groups" in line with Steve D's comments. There are two cases which can happen:
(i) $H^2(G_2; (G_1)_{\phi})$ is nonempty. Then this set is a torsor, i.e., it admits a (natural) simply-transitive action of the abelian group $H^2(G_2; C_{\phi})$, where $C$ is the center of $G_1$ (a finite abelian group); the homomorphism $\phi$ determines an action of $G$ on $C$: Such action is needed in order to define cohomology groups.  
(ii) $H^2(G_2; (G_1)_{\phi})$ is empty. This happens if and only if a certain element of $H^3(G_2, C_{\phi})$ (which one can read off from $\phi$) does not vanish. 
You can find detailed discussion of the cohomology of groups in Ken Brown's book. 
This all looks nice and good since there are many tools for computation of cohomology of finite groups. Here, however, is an extra complication: Different extensions of $G_2$ by $G_1$ can, in principle, yield isomorphic groups $G_2$! Ignoring this complication, the classification of finite groups reduces to (1) classification of finite simple groups and (2) repeated computations of certain 2nd cohomology groups and certain elements of 3rd cohomology groups. 
