Group 6 - Evaluation Paper
Group 6 - Evaluation Paper
Group 6 - Evaluation Paper
Kotlin, Ruby, R
Submitted
in partial fulfilment of the requirements
for the course CSADPRG
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)
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.
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.
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.
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)