5 ms·
I actually co-maintain a project which has exactly 17 different languages* (though 3 of which are since removed, and 6 languages cover 99% of everything), and n
by versteegen 2y ago
I actually co-maintain a project which has exactly 17 different languages* (though 3 of which are since removed, and 6 languages cover 99% of everything), and noone has ever complained when I add a new language for something throwaway... I think the real issue isn't using multiple languages, it's using a language as intimidating as Rust. Adding some C or C++ or JS to a project usually isn't nearly as problematic (although admittedly it certainly is for the sorts of inexperienced programmers who'd like to contribute to my project).
* If you're curious, in roughly decreasing order of use: FreeBasic/ReloadBasic, HamsterSpeak, Euphoria, C++, Python, C, Bash, Batch, XSLT, JS, Objective C, Emacs Lisp, Squirrel, GDB script. Removed languages: QuickBasic, x86 assembly, Makefile
- digdugdirk 2y ago... How have I never heard of so many of those? Out of curiosity, why would you choose to add a new language for throwaway tasks? Is the project niche enough in various areas that these languages are truly orders of magnitude better than a common alternative for the specific task? Or is it more of a "I'd like to learn this new language, might as well see how it works in production" sort of thing?
- versteegen 2y agoWell for example I decided to use Emacs Lisp to search through the FreeBasic code for certain constructs so that I could use some elisp functions I'd already written to help edit FB in Emacs. It's throwaway, noone else will ever want to edit (or probably even use) it. FB is niche enough that there isn't much tooling available for it. I did indeed add Squirrel just to try it out (I'm considering using it as a scripting language), though I wouldn't be surprised if Euphoria and XSLT were also originally used for that reason. XSLT is there for generating .html documentation. C because I needed speed but didn't want to use C++, C++ because a C++ programmer contributed, Obj-C for the Mac port, JS for the web port, x86 assembly for the original DOS version, Bash, Batch and Python for scripts... any project can quickly reach 10 languages this way.
- aaomidi 2y agoRust is like systemd, it brings the crazies out.
- _nalply 2y agoWhen I saw "HamsterSpeak" I laughed out loud. Then I researched and found this gem: "HamsterSpeak is the scripting language used by the OHRRPGCE." This caused a second laugh. Kudos to all HamsterSpeak programmers!
- pabs3 2y agoWhich project is this?
- versteegen 2y agoOHRRPGCE