well it depends on your style. I haven't used allegro but i have used both SDL and SFML. If you are using the C programming language then i would recommend SDL as it was written for C and in C however if you are using C++ then i would recommend SFML. however there are C bindings for SFML.
I use SFML for 2d game projects. however if you aren't looking to program games i would recommend the Qt library. http://qt-project.org/
it is useful in easily making programs. especially if you use the IDE that comes with the official build called the Qt Creator.
so if you are doing games i would recommend SFML and if not then i would recommend Qt
however for beginner friendly i would say SFML. it can still be used to produce non games but i think it is more game programming oriented
Thanks a lot. And at the moment I'm interested in games because its fun to see the outcome but I am considering going to college for software and I would not want to do games at that point. Maybe still on the side but not for a job.