You are on page 1of 7

An Evaluation Paper on

Kotlin, Ruby, R

Submitted
in partial fulfilment of the requirements
for the course CSADPRG

Baltasar, Nico Andrei


Del Mundo, Rahmon Khayle
Madrinan, Raico Luis

Romualdo JR. M. Bautista

November 25, 2023


Introduction
In the programming language Kotlin, this language is designed by JetBrains. This
language is statically typed and a modern programming language that runs on the Java Virtual
Machine or JVM. Kotlin seamlessly integrates with existing Java codes, which makes it an
excellent choice for developers who are aiming to enhance or improve their Java projects. This
language can support both object-oriented and functional programming paradigms, which offer a
pragmatic and concise syntax. It is used by millions of developers globally, and also it is the
official language for Android development. This language is also gaining more popularity in
other domains like web development, server-side programming, and embedded systems. This
language can be used as well in data science and machine learning.
The next language is Ruby, this language is already 30 years old and this language is a
dynamic, object-oriented, and reflective programming language. This language emphasizes
simplicity and productivity. It supports both procedural, object-oriented, and functional
paradigms. This is also known for its elegant syntax and its dynamic typing as well. This
language was created by Yukihiro Matsumoto in 1993, his language gained global recognition
with the advent of the Ruby on Rails web framework in the mid-2000s. Because of its expressive
syntax and its focus on satisfying the developer when coding which made it a popular choice for
web development. This language excels in web development, particularly with the Ruby on Rails
framework. The language's readability and flexibility make it more suitable for building scalable
and maintainable applications, which emphasizes convention over configuration.
Lastly is the programming language R, this language is mostly for statistical computing
and graphics. This language supports functional, object-oriented, and procedural programming
paradigms. R is dynamically typed and provides an extensive ecosystem of packages for
statistical analysis, data manipulation, and visualization as well. This language was created by
Robert Gentleman and Ross Ihaka in 1993. This language has become a cornerstone in statistical
computing and data analysis. This language is mostly used by data scientists, statisticians, and
researchers as well. This language is mostly used in descriptive statistics, finance, data analysis,
data visualization, statistical modeling, and a lot more that mostly requires statistics.

Language Comparison
Kotlin's seven main features are intended to provide a modern and short syntax that
improves code readability and maintainability. Null safety ensures more dependable and sturdy
code by addressing a well-known source of bugs. With coding that can be expressive, developers
can more easily communicate intricate concepts, promoting a more intuitive understanding of the
codebase. Modern language features provide developers with sophisticated capabilities, but
compatibility issues may arise when integrating with older systems. Because of Java
interoperability, projects with existing Java code can transition more easily; however, subtleties
in feature mapping must be carefully considered. The ability of Kotlin to transpile to JavaScript
enables code sharing between the frontend and backend, but debugging transpiled code can be
difficult. Although it has a smaller community than Java or JavaScript, the native conversion
feature allows compilation to native binaries which improves performance.
Figure 1: Null Safety (Kotlin)

Figure 2: Transpilation.kt (Kotlin)

Figure 2.1: Kotlin/JS compiler (@jetbrains/kotlinc-js-api)

For Ruby, The dynamic flexibility and interpreted nature make it ideal for developers
looking for a fast-paced development environment with flexible code structures. The language's
emphasis on expressiveness and readability improves human comprehension of the code.
However, interpreted languages may execute more slowly than compiled languages, and because
they are dynamic, they may introduce type-related errors that are visible only during runtime. Its
emphasis on readability encourages clear code, but this can and would lead to verbosity for some
cases.

Figure 3: Dynamic & Flexibility (Ruby)


Figure 4: Readability & Expressiveness (Ruby)

R on the other hand, is a programming language designed for statistical computing, data
analysis, and machine learning because of its expertise in these areas. It can use a variety of
statistical packages to simplify computed analysis. However, the language's narrow focus limits
its utility to statistical and data-centric tasks, making it less suitable for developing general
all-around software but this can be embedded with other programming languages.

Figure 5: Statistical computing (R)

Figure 5.1: Scatter plot code (R)


Figure 5.2: Printing (R)

Several trends affecting the software development process emerge from the evaluation of
these programming languages. While Ruby's interpreted nature and readability encourage faster
development cycles and code comprehension, Kotlin's expressive syntax, null safety, and concise
code contribute to cleaner, faster development. However, distinct features such as dynamic
typing in Ruby and null safety in Kotlin may force developers to change their approaches and
ways of thinking. Despite being powerful, R's specialised characteristics limit its application to
specific use situations for data science which can be integrated as well for both of these
programming languages.

3. Weekly Payroll System (Kotlin)


Our main functionality of our Weekly Payroll System is made in Kotlin that features:
Calculate Day Salary, Determine Day Type, Update Payroll Configuration, and Update Work
hours.

Conclusion
This concludes that Kotlin is a versatile language that is great for enhancing Java projects
and Android development. Then Ruby excels in web development with its expressive syntax.
Then R is mostly specialized for statistical computing and data analysis. As you can see Kotlin is
also ideal for diverse applications. Ruby is also great for web projects prioritizing readability,
and R is a must for data-centric tasks or statistics. Lastly, these languages have their unique
strengths but it's not just them since there are a lot of programming languages that people use,
not just these 3 languages but there are a lot, like a lot of programming languages. As you can
see for programming language R it's a little bit complicated since R is used for statistics or data
analysis. This language is more of a straightforward program, meaning this program is more
suitable when the values are already given and don't have to ask for user input. While in Kotlin it
can be appropriate in the application since it is like an extension of Java and we all know Java is
a good programming language as well including having GUI as well. Ruby can be also
appropriate in the application since it can be ideal for developers looking for a fast-paced
development environment with flexible code structures but its interpreted language may execute
more slowly than compiled languages and due to it being dynamic it may introduce type-related
errors that may be visible only during runtime.
References

Online Material
GeeksForGeeks. R programming language – Introduction [online]. Available:
https://www.geeksforgeeks.org/r-programming-language-introduction/. (November
25, 2023)

Online Material
Oracle. What is Ruby? [online]. Available:
https://developer.oracle.com/learn/technical-articles/what-is-ruby. (November 25,
2023)

Online Material
Programming language Ruby: features and utilities [online]. Available:
https://www.linkedin.com/pulse/programming-language-ruby-features-utilities-mytask
panel-consulting. (November 25, 2023)

Online Material
Rathi, A. (2023). Historical Page of R [online]. Available:
https://www.codingninjas.com/studio/library/historical-page-of-r. (November 25,2023)

Online Material
Stabile, C. U. (2023). A brief history of Ruby [online]. Available:
https://auth0.com/blog/a-brief-history-of-ruby/. (November 25, 2023)

Online Material
Tillu, J. (2018). Features of Kotlin [online]. Available:
https://medium.com/jay-tillu/features-of-kotlin-229820699ee3. (November 25, 2023)

Online Material
DataFlair. Uncover the R applications - Why top Companies are using R
programming [online]. Available: https://data-flair.training/blogs/r-applications/.
(November 25, 2023)

Online Material
Blog (2023). What exactly is Kotlin? [online]. Available:
https://codeop.tech/what-exactly-is-kotlin/. (November 25, 2023)

Online Material
(2023). What is Kotlin? | History, Uses and Applications [online]. Available:
https://www.faceprep.in/web-development/what-is-kotlin/. (November 25, 2023)

You might also like