I think I'm going a little crazy.
Right now, I'm working with the following languages (I was just doing a mental inventory):
- C++ - our game engine
- Assembler - low level debugging and a few co-processor specific routines
- Lua - our game engine scripting language
- HLSL - for shaders
- Python - our build system and utility tools
- Objective C/C++ - game engine platform code for Mac and iPhone
- C# - A few tools developed in our overseas office
- ExtendScript - Photoshop exporting tools
- ActionScript - UI scripting
- VBScript - some spreadsheet related stuff
- PHP - some web related stuff
- SQL - some web and tool related stuff
On top of this are the plethora of API's that often have many different ways of doing the same thing: std library, boost, .NET, wxWidgets, Cocoa, Carbon, native script libraries for Python, Lua, etc, OpenGL, Direct3d, GDI, Aqua, augh!
I find myself inadvertently conflating languages and api's, not realizing what I'm doing until I get syntax errors. I feel like I can't possibly keep up with it, and I can't possibly be proficient in all of these areas. Especially outside the realm of C++ and Python, I find myself programming more by looking at manuals that from memory.
Do you have a similar problem? Ideas for compartmentalizing so you're more efficient? Deciding where you want to stay proficient? Organizational tips? Good ways to remember when you switch from Lua to C++ you need to start using semi-colons again? Rants on how complicated we programmers have made things for ourselves?
Any ideas welcome!