I want to create a project that can be added as a dependency to other projects in the following languages:Java,C#,Ruby,Python,JavaScript (Node)For example, I want to create a jar which can be added to a Java project, as well as a gem which can be added to a Ruby project, etc.So to write my original project, does it matter which language I use? Is any one of the above languages going to be more advantageous or easier, when it comes time to package it into a jar, gem, etc?Can I generate a gem from Java source code? Or do I have to re-write the source code for each desired language? 
Which of these languages is easier to package for other languages?
architecture;programming languages;programming practices;dependencies
This depends less on the language and more on the specific implementations you use. For example, using a Java library from JRuby, Jython, and Nashorn is going to be trivial (you don't even have to package it as a Gem, an egg, or an npm module, you can just use a jar directly), using it from YARV, CPython, and Node.js is going to be very complex.The same is true for pretty much any language you choose. The lowest-common denominator would probably be to expose a C-compatible API (e.g. write it in C, write it in C++ and expose an extern API of PODs and functions, write it in Rust, write it in D, etc.) and then provide idiomatic wrappers for the implementations you are interested in. Most implementations have some way of interacting with C APIs, but it is not always convenient, and it is definitely not always fast (JNI for example is notoriously slow, and JRuby depends on JNI for interacting with C).Note that different languages and different communities have different idioms, so an API that might be appropriate for one language would look totally alien in another. Keep that in mind, and provide idiomatic wrappers for all the languages!