Simple question, err... I think

Hi everyone,

I am thinking about getting back into programming for fun. My experience
is... AppleSoft Basic and Apple machine code. I couldn't afford an assembler
at the time so I wrote and programmed by figuring out the opcode I wanted
and typed each one in hex. It took a long long time to program a simple text
editing program but, I had a great time doing it. I really liked that fact
that you could make a functional program that only used few k of memory. A
decade later took an intro. C++ class at the university and we used SUN
Unix, at home I used Linux and an HP7000 - HPUX 10. Beyond that I've not
done anything in the past 12 years.
Recently I started looking on the web to see what languages are out there. I
found that there are more languages then I count. However, most of them,
judging on how the sample code "looks" to me, seem to be variations of C.
What is it that makes one language different from another. Just by looking
at the "look" of a program I used to be able tell an Applesoft program from
say a pascal program from an assembly program. I know the difference between
an assembled language like C++ and a compiled language like Applesoft. But,
I can't tell what is the difference between any of the modern languages.
Does it simply come down to things like language ABC is a C like language
that uses structures and DEF doesn't, language YYY uses a library designed
for statistics and language ZZZ uses a library more centered on graphics?
Even HTML looks like a modified/simplified version of C to me. From what I
can tell languages like C vs. C++ vs. C# vs. etc. are all C with modified
feature sets like one handles memory better and is better for large database
programs and another has extra commands for web programming.
I'm not looking for "duh" answers like "you need to take some more classes"
I just want to know what's different between the modern programming
languages? Are they all variations of C? If so then why don't we just have
one huge library from which to draw from for say "Master C" and a simplified
library for web page programming called "C Web" and a basic intro version
that doesn't have advanced features and call it "C Lite"? Or maybe one core
C with OOP called "OOP C" and one core with out OOP functionality simply
called "C" and then you just load the library set you want and call upon
switches to add features and command sets of ++ or # or whatever?
If I'm WAY off base on this and over simplifying then go ahead and blast me,
I have a fire suit handy. But, please, if I may ask, do it with some details
so I can stand corrected and understand the error in my thinking.