feat(dissertation): improve wording on chosing languages

This commit is contained in:
Anthony Berg
2024-05-05 18:33:20 +01:00
parent 7673e90706
commit d8d5301b4c
3 changed files with 31 additions and 5 deletions

View File

@@ -11,7 +11,8 @@
\end{itemize} \end{itemize}
\item As VDM-SL is being used, it uses VDMJ to parse the model~\cite{vdmj}. This was a starting \item As VDM-SL is being used, it uses VDMJ to parse the model~\cite{vdmj}. This was a starting
point for the tech stack, as VDMJ is also open source. point for the tech stack, as VDMJ is also open source.
\item VDMJ uses Java, therefore my language of choice was a language related to Java. \item VDMJ is written in Java~\cite{vdmj}, therefore to simplify implementing VDMJ into the
Checklist Tester, it would be logical to use a Java virtual machine (JVM) language.
\end{itemize} \end{itemize}
\subsection{Formal Model} \subsection{Formal Model}
@@ -29,12 +30,25 @@
\end{itemize} \end{itemize}
\subsection{Checklist Tester} \subsection{Checklist Tester}
\subsubsection{JVM Langauge}
\begin{itemize} \begin{itemize}
\item VDMJ uses Java, meaning the logical choice would be to use something with Java \item There are multiple langauges that are made for or support JVMs~\cite{jvm-alt-lang}
\item As the tester is going to include a UI, the language choice was still important \item Requirements for language
\begin{itemize}
\item Be able to interact with Java code because of VDMJ
\item Have Graphical User Interface (GUI) libraries
\item Have good support (the more popular, the more resources available)
\end{itemize}
\item The main contenders were Java and Kotlin~\cite{kotlin}
\item Kotlin~\cite{kotlin} was the choice in the end as Google has been putting Kotlin first \item Kotlin~\cite{kotlin} was the choice in the end as Google has been putting Kotlin first
compared to Java, it includes less boilerplate code (e.g. getters and setters)~\cite{android-kotlin} instead of Java. Kotlin also requires less boilerplate code (e.g. getters and setters)~\cite{android-kotlin}
\item There are a variety of GUI libraries to consider using
\end{itemize}
\subsubsection{Graphical User Interface}
\begin{itemize}
\item As the tester is going to include a UI, the language choice was still important
\item There are a variety of GUI libraries to consider using
\begin{itemize} \begin{itemize}
\item JavaFX~\cite{javafx} \item JavaFX~\cite{javafx}
\item Swing~\cite{flatlaf} \item Swing~\cite{flatlaf}

Binary file not shown.

View File

@@ -114,6 +114,18 @@
year = {2016}, year = {2016},
} }
@article{jvm-alt-lang,
author = {Raoul-Gabriel Urma},
title = {Alternative Languages for the JVM},
journal = {Java Magazine},
year = {2014},
month = {07},
url = {
https://www.oracle.com/technical-resources/articles/java/architect-languages.html
},
urldate = {2024-05-05},
}
@online{kotlin, @online{kotlin,
author = {JetBrains s.r.o.}, author = {JetBrains s.r.o.},
title = {Kotlin Programming Language}, title = {Kotlin Programming Language},