1
$\begingroup$

As a general programming enthusiast and aspiring Bioinformatician student I have an intermediate understanding of computing (languages) as well as Java, and to a lesser extent C++. Having knowledge in a declarative as SQL and the intent to learn a functional as R; I found myself in need of interpreted/scripting language for quick data management tasks. Such would be used in conjunction with a compiled language for more complex algorithms. I am unbiased as I have yet to commit to mastering a single language; albeit I hope to make that decision soon and a major asset like scripting will play a role in that choice. Leading me to the following:

  • When paring a compiled and scripting language, which languages fundamentally compliment the opposing features of the other to the greatest degree while retaining the ability to communicate by call/implementing their use?

My intent in this case would be able to “plug” one into another to compensate an individual’s shortcomings (if not, at least conceptually) to holistically provide the greatest breath of benefit. Preference would of course be the design and features of the language as in contrast to more creative “hacking” solutions.

(IE Language II has the benefit… but by nature is poor/slow/lacks at… therefore Language A would suit it well.)

Considerations

  1. Memory Management and the Compile-Time versus Execution-Time Tradeoff
  2. Data Types, Generics/Reflection, and Inheritance
  3. Platform/OS Compatibility (Including Source and Code Version)

Ease of use is not so much a consideration as in the case of learning and added utility, but is undeniably a factor in the case of collaboration. I would greatly appreciate any insight as well as the inclusion of anything else that I may have overlooked if applicable. Thanks in advance.

$\endgroup$
  • 2
    $\begingroup$ For this crowd, I'm pretty sure the answers are going to be (pick one high-level language from Python, Julia, maybe R or MATLAB) and combine it with (one low-level language of C, C++, Fortran) because (insert reasons here). $\endgroup$ – Geoff Oxberry Aug 23 '15 at 21:52
  • 1
    $\begingroup$ Your desire "to master a single language" is misguided in much the same way nobody "masters driving a Toyota" (usually people master driving). The main danger is that you can inadvertently acquire a very narrow view of programming. The distinctions you draw between different languages are also much more vague and ill-defined than you make them sound (check out your university's Programming Language Principles course), and your use of some of the terms of art is nonstandard. Following Geoff Oxberry, I'd advise Python and C++, because tutorials and textbooks are widely available. $\endgroup$ – Kirill Aug 23 '15 at 22:26