I believe that unless you are developing the kernel, all customization and extension is done via X++. The language itself is a bit like C++ but it has some syntactic sugar for SQL queries and such.
I guess a good starting point is http://msdn.microsoft.com/en-us/library/aa867122.aspx
PS: When I worked there, there was a big push for C# so that's probably a good thing to explore.