Part of the
Unix Philosophy is that an application should "do one thing and do it well", so Unix/Linux is packed with helpful little apps which make building larger functionality easy. For your task, one could use
cdparanoia to rip and
LAME to encode. All you have to do is coordinate the processes. This is, in fact, what my favorite ripper,
Grip, does.
Windows programmers are fond of closed, monolithic, "do everything" applications so there's fewer resources to draw upon. Maybe you could piece something together using the
Java Multimedia Framework.