Comparing Ease of Programming in C++, Go, and Java for Implementing a Next-Generation Sequencing Tool
Related Experiment Video
Updated: Jan 20, 2026

Orienteering as a Tool for Cognitive Research: An Implementation Guide
Published on: November 29, 2024
Pascal Costanza1, Charlotte Herzeel1, Wilfried Verachtert1
1ExaScience Lab, IMEC vzw, Leuven, Belgium.
Abstract:
elPrep is an extensible multithreaded software framework for efficiently processing Sequence Alignment/Map (SAM)/Binary Alignment/Map (BAM) files in next-generation sequencing pipelines. Similar to other SAM/BAM tools, a key challenge in elPrep is memory management, as such programs need to manipulate large amounts of data. We therefore investigated 3 programming languages with support for assisted or automated memory management for implementing elPrep, namely C++, Go, and Java. We implemented a nontrivial subset of elPrep in all 3 programming languages and compared them by benchmarking their runtime performance and memory use to determine the best language in terms of computational performance. In a previous article, we motivated why, based on these results, we eventually selected Go as our implementation language. In this article, we discuss the difficulty of achieving the best performance in each language in terms of programming language constructs and standard library support. While benchmarks are easy to objectively measure and evaluate, this is less obvious for assessing ease of programming. However, because we expect elPrep to be regularly modified and extended, this is an equally important aspect. We illustrate representative examples of challenges in all 3 languages, and give our opinion why we think that Go is a reasonable choice also in this light.
Related Concept Videos
Next-generation Sequencing
Next-Generation Sequencing Methods
Although all next-generation methods use different technologies, they all share a set of standard features....
Nursing Implementation
The five steps to implementing effective nursing care include reassessing the patient, reviewing and revising the existing nursing care plan, organizing the resources and care delivery, anticipating and preventing complications, and implementing nursing interventions.
Comparing Mitochondrial, Chloroplast, and Prokaryotic Genomes
Comparing Copy Number Variations and SNPs
Copy number variations or CNVs are the structural variations that cover more than 1kb of DNA sequence. The single nucleotide polymorphism (SNP), on the other hand, is a single nucleotide change or a point mutation that is found in more than 1%...
Cis-regulatory Sequences
Comparing the Survival Analysis of Two or More Groups

