I'd like to begin a personal code library to contain all the small utility functions I use on a daily basis but can't find elsewhere on the 'net (I work in a specialized field). In my work, I switch pretty often between different products, so I want something flexible enough that I won't need to recode it over and over again.
My parameters: I work solely in Windows, and I do it remotely with very little in the way of integrated communication. I send little programs, graphics, charts, etc. off to colleagues by email.
Here's what I've come up with so far:
- .NET: This seems like a good default choice, but several of the tools I use (MATLAB, MS Office VBA) don't integrate with it, so I couldn't use my library with those tools.
- MATLAB/Python/interpreted language: Very flexible, easy to write new tools, but bad in integration. Can't call programs directly from any other tool without going through the OS.
- Java: Better integrated than above, but still not great.
- Compiled language (C++?): Maybe the best option, if written with COM interoperability. I haven't seen anything yet that can't call a COM routine, but the ease-of-use isn't great.
And one interesting idea I might need to give more though to:
- Shell scripts: Dead simple, can stuff everything into a directory, pull out the ones you need for a specific project; but inflexible on Windows (.bat files?), if any helper tools are used they require system-level changes (installing things, changing %PATH%)
So if you were creating your own personal utility library that you hope will last for years and would like to remain as flexible as possible, what would you choose?