I know how to generate all Abelian groups of order n, but how would I generate the others? I can't seem to find anything about this.
By "generate", I mean produce the Cayley tables for all groups of order n.
See
Hans~Ulrich Besche, Bettina Eick, and E.A. O'Brien. A millennium project: constructing small groups. Internat. J. Algebra Comput., 12:623-644, 2002.
for a description of the construction of groups of order up to 2000. (I believe they narrowly failed to achieve this before the end of the year 2000.) In fact they did not construct the groups of order 1024 individually, but it is known that there are $49\,487\,365\,422$ groups of that order. The remaining $423\,164\,062$ groups of order up to 2000 (of which $408\,641\,062$ have order 1536) are available as libraries in GAP and Magma.
I would guess that 2048 is the smallest number such that the exact number of groups of that order is unknown. It is known that, for $p$ prime, the number of groups of order $p^n$ grows as $p^{\frac{2}{27}n^3+O(n^{8/3})}$: see http://en.wikipedia.org/wiki/P-group.
$p$
-groups proliferate as the power of$p$
goes up, there will always be practical constraints on what can be effectively computed for a given$n$
. It may be more interesting to ask what can be learned by listing all groups of a given order. For example, early projects focused instead on finding all simple groups of order less than a million; this had a clear theoretical motivation. $\endgroup$