Any language that says 'It is created to teach fundamentals of computer programming within ...' instantly scares me, and reminds me both of
what kind of code I've seen students produce, and that I have never seen a dialect of BASIC that doesn't make me twitch.
If you're serious about programming under a UNIX environment, you're best choices are C, Perl, C++, and Python. For graphics programming, as if you want to create a video game: the best access to libraries will be from C++. However, if you want to do it fairly portably.... with minimal pain on the *BSDs, then you'll need to go straight C or C++ with a lower level library. E.g. things such as OGRE or Unreal Engine can be ruled out.
In my experience the typical Object Oriented Programming model is only *well* suited to problems where the class hierarchy model is likewise well suited to expressing the solution, or you intend to have a lot of `objects` around at the same time with differing states. The only good things about Java is interfaces and having a drink while the code compiles :-P.
My familiarity is more with SDL and DirectX, but Cairo may well suit your (generally unspecified) needs. One perk of Cairo over SDL, you'll find a more natural C++ binding (cairomm) then you'll ever hope to find in SDL, in terms of OOP.