I'm answering this with specific regard to 3GL languages.
I know a bunch of them, and while I have two that are my main commercial languages (C# and PHP), I do try to use the "best tool for the job" when a client approaches me to do work for them.
I think the following lists pretty much sum up what is essential to know with a programming language to be truly successful with it.
First of all, you need to get your head around the language itself. This includes learning the following:
- Variable declaration
- Typing - duck, loose, strong, dynamic, etc
- Order of evaluation
- Defining data structures
- OOP factors - classes, interfaces, inheritance abilities, etc
Then, you need to approach the framework and look at what capabilities the languages primary framework has. This will control how you do things such as:
- I/O - Sockets, disk, memory
- Network services
- Database access
Finally, you need to learn the nuances of deploying the application for your chosen programming language and framework. These will vary between what you're developing, some things such as pure C apps with the CRT linked in, or Delphi can produce self contained executables.
- Installing the runtime
- Making the server accessible
- Application definitions / pools / etc
- Deploying the actual application