Summary of best practices for writing code for your research (adapted from Wilson et al (2014) "Best practices for scientific computing", PLoS Biology.) For a more detailed explanation of these principles, please refer to the full Wilson et al article at: http://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745.
General best practices
|Write programs for people, not computers||Make code style consistent; use meaningful names|
|Let the computer do the work||Make the computer repeat tasks; automate workflows|
|Make incremental changes||Use a version control system that includes any manual creations|
|Don't repeat yourself (or others)||Re-use code instead of rewriting|
|Plan for mistakes||Use an off-the-shelf unit testing library; use assertions to check operations|
|Optimize software only after it works correctly||Use the highest-level language possible when writing code|
|Document design and purpose, not mechanics||Embed documentation into the software|
|Collaborate||Use pair-programming; use an issue tracking tool|
Java: is a general-purpose programming language with syntax derived from C and C++. Java is used for Android app development, among otehr features. Oracle maintains a New to Java Programming Center, which includes training materials, tutorials, and other resources. OpenJDK is another resource for open source development of JavaSE, learn more at: http://openjdk.java.net/.
PHP: PHP Hypertext Preprocessor. This is an HTML-based scripting language with syntax borrowed from C, Java and Perl. PHP is useful for quickly generating dynamic webpages and is often used for web development as well as general purpose programming. PHP is free under the open source PHP license. For more information, including documentation, downloads and FAQ, see: http://php.net/.
Python: a general-purpose programming language designed to be highly extensible. The Python Software Foundation site has tutorials and code samples: https://www.python.org/. License information is available at: https://docs.python.org/3/license.html.
Perl: a family of programming languages; current versions are Perl 5 and 6. Perl is used in a variety of contexts, including bioinformatics, system administration, and GUIs. Perl is licensed under the Artistic License and the GNU General Public License. Training materials, downloads and documentation are available on the Perl site: https://www.perl.org/.
(retrieved from https://octoverse.github.com/projects#languages on 22 May 2019)