For representations over the complex field, I know that GAP does a good job. (I'm not sure if it can do modular representations as well, but I wouldn't be surprised.)

Here is some example code to get you started:

```
G:=SL(2,3);;
reps:=IrreducibleRepresentations(G);;
Elements(G);
List(G,g->g^reps[5]);
```

This prints the elements of the group $SL(2,3)$:

```
[ [ [ 0*Z(3), Z(3)^0 ], [ Z(3), 0*Z(3) ] ],
[ [ 0*Z(3), Z(3)^0 ], [ Z(3), Z(3)^0 ] ],
[ [ 0*Z(3), Z(3)^0 ], [ Z(3), Z(3) ] ],
[ [ 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ 0*Z(3), Z(3) ], [ Z(3)^0, Z(3)^0 ] ],
[ [ 0*Z(3), Z(3) ], [ Z(3)^0, Z(3) ] ],
[ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, 0*Z(3) ], [ Z(3)^0, Z(3)^0 ] ],
[ [ Z(3)^0, 0*Z(3) ], [ Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, Z(3)^0 ], [ 0*Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, Z(3)^0 ], [ Z(3)^0, Z(3) ] ],
[ [ Z(3)^0, Z(3)^0 ], [ Z(3), 0*Z(3) ] ],
[ [ Z(3)^0, Z(3) ], [ 0*Z(3), Z(3)^0 ] ],
[ [ Z(3)^0, Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ Z(3)^0, Z(3) ], [ Z(3), Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ Z(3)^0, Z(3) ] ],
[ [ Z(3), 0*Z(3) ], [ Z(3), Z(3) ] ],
[ [ Z(3), Z(3)^0 ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3), Z(3)^0 ], [ Z(3)^0, Z(3)^0 ] ],
[ [ Z(3), Z(3)^0 ], [ Z(3), 0*Z(3) ] ],
[ [ Z(3), Z(3) ], [ 0*Z(3), Z(3) ] ],
[ [ Z(3), Z(3) ], [ Z(3)^0, 0*Z(3) ] ],
[ [ Z(3), Z(3) ], [ Z(3), Z(3)^0 ] ]
]
```

followed by complex matrices representing each element:

```
[ [ [ 0, -1 ], [ 1, 0 ] ],
[ [ E(3)^2, -E(3) ], [ 1, 0 ] ],
[ [ -E(3), -E(3)^2 ], [ 1, 0 ] ],
[ [ 0, 1 ], [ -1, 0 ] ],
[ [ E(3), E(3)^2 ], [ -1, 0 ] ],
[ [ -E(3)^2, E(3) ], [ -1, 0 ] ],
[ [ 1, 0 ], [ 0, 1 ] ],
[ [ E(3), E(3)^2 ], [ 0, 1 ] ],
[ [ E(3)^2, -E(3) ], [ 0, 1 ] ],
[ [ 1, 0 ], [ E(3), E(3)^2 ] ],
[ [ -E(3)^2, E(3) ], [ E(3), E(3)^2 ] ],
[ [ 0, -1 ], [ E(3), E(3)^2 ] ],
[ [ 1, 0 ], [ -E(3)^2, E(3) ] ],
[ [ 0, 1 ], [ -E(3)^2, E(3) ] ],
[ [ -E(3), -E(3)^2 ], [ -E(3)^2, E(3) ] ],
[ [ -1, 0 ], [ 0, -1 ] ],
[ [ -E(3)^2, E(3) ], [ 0, -1 ] ],
[ [ -E(3), -E(3)^2 ], [ 0, -1 ] ],
[ [ -1, 0 ], [ E(3)^2, -E(3) ] ],
[ [ E(3), E(3)^2 ], [ E(3)^2, -E(3) ] ],
[ [ 0, -1 ], [ E(3)^2, -E(3) ] ],
[ [ -1, 0 ], [ -E(3), -E(3)^2 ] ],
[ [ 0, 1 ], [ -E(3), -E(3)^2 ] ],
[ [ E(3)^2, -E(3) ], [ -E(3), -E(3)^2 ] ]
]
```

Change "5" to other numbers to see different representations. Also, note that the GAP symbol

```
Z(p)
```

denotes a generator of the multiplicative group of the finite field $\mathbb{F}_p$. Similarly,

```
E(k)
```

denotes a primitive $k^{\mbox{th}}$ root of unity.