Yes. I would recommend selecting the M4 core, and if you ever want to run something off a battery (and have good/maximum battery life) go for the STM32L4(+). The M4 core can do things with less instructions than the lower cores (I tend to think of it as a V8 chugging along), and in battery applications this can save you power. The floating point unit (a bonus with the M4) is such a luxury.... (especially if you ever need to do heavy duty maths - or anything that requires a SQRT function - or not have to worry about manually scaling your data all the time). ... and you might want to get this book as a reference: "The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors" by Joseph Yiu.
I use Keil as the development system, but it is restricted to 32K program size (which has been fine for me so far), but if you want to buy an unlimited version it costs an arm and a leg. The STM32L496 Nucleo-144 gives lots of easy access pins to play with..