So I started messing around with SDL and while I can't say if it's better or worse than SFML, I can say that it's pretty lower-level as expected. Of course being written in C means that functions require more parameters and you constantly need to convert string objects to c_strings (assuming you are using it with C++), but I knew that going in.
Back in my teenage years, I messed with Pygame a lot. Pygame is basically just a Python wrapper for SDL. I thought this would make learning SDL a breeze, but then I realized that Pygame is a lot more abstract as the creator thought that a simple SDL wrapper would be too much for Python programmers to handle.
I also realized that SDL is very bare-bones out of the box. You need extension libraries if you want to have music, the ability to load images other than bitmaps, or the ability to load TTF fonts. I find this weird because I thought SDL was more than just a graphics library so it should contain all those things.
Either way, I hope that SDL will cause less problems, especially when it comes to linking and porting. Hell, given that it is commonly used, I could probably get away with having my games dynamically linked and just assume that most people already have it installed.
@xianc78 They are first party extensions. Really that is the only sane way to have such a wide range in one library
Oh yeah. Another benefit of using SDL is that SDL has been ported to nearly everything which allows ports to obscure operating systems like BSD, Haiku, Serenity OS, etc. I've said many times before that indie games should target these platforms to increase their audience. There are probably a lot of people who want something to play on those OSes so you might get a cult-following if you port your game to them.