Whether you want to automate a simple repetitive task, create a new modeling tool or renderer, solve complex problems that require data to flow through multiple content creation applications, whether you are a hardcore C++ developer or just learning scripting with Python, 3ds Max has a programing language that suites your needs.
The following is a short description of the main programming languages you could use to extend 3ds Max, their pros and cons and how to choose the one that best suites your skills and needs.
3ds Max offers four programming languages for writing extensions, tools and plug-ins.
C++ and C# are both strongly-typed compiled languages. They require a background in programming or a non-trivial investment into learning these languages and associated tools, and the APIs of the supporting run-times in order to take full advantage of them. Developers have access to low level APIs to drive and extend 3ds Max, which in turn translates into the highest level of flexibility and performance for these extensions.
Python and MAXScript are both dynamically-typed interpreted scripting languages. They are easy to learn compared to C++ and C#, and provide a higher level programming interface to 3ds Max. This translates into higher development speed, with the caveat of lower performance.
Let's look at the four choices in more detail.