Hanover-CS / HC25-Caio-Montilha-Senior-Project

0 stars 0 forks source link

Decide on primary programming language (Kotlin vs. Java) #2

Closed cmontilha closed 1 week ago

cmontilha commented 1 week ago

The choice between Kotlin and Java as the primary programming language for the RideSharingHC project is crucial. This decision will impact the development process, maintainability, and future scalability of my application. Both languages have their own advantages, and selecting the most suitable one requires careful consideration. (To-do: Research more about ride-sharing project examples and check their choice of language and the reasons for their choice.)

cmontilha commented 1 week ago

After evaluating the requirements and current trends in Android development, I have chosen Kotlin as the primary programming language for the RideSharingHC project. Kotlin's adoption by leading ride-sharing applications, based on examples I found during my research, highlights its effectiveness in developing scalable Android mobile apps. Kotlin has a concise syntax and seamless interoperability with Java making it an ideal choice for building maintainable Android applications. Additionally, my experience developing various apps using Kotlin, such as Pizza Party, Manifest, Band Database, Dice Roller, and Lights Out, has given me a solid foundation in Android app development, further reinforcing my decision to use Kotlin.

Moreover, Kotlin's support for coroutines is particularly advantageous for handling asynchronous tasks, such as real-time location updates and messaging, which are essential features in any ride-sharing app. By utilizing frameworks like Ktor for networking and dependency injection libraries like Koin, Android Jetpack, Retrofit, Firebase, Google Maps SDK for Android, or others that I am still searching about, Kotlin enables efficient development workflows and enhances the overall performance of the RideSharingHC app. These features will contribute to delivering a smooth, responsive user experience.

To better understand the key differences and advantages between Kotlin and Java, the following image provides a comparative overview from the kruschecompany.com website:

Kotlin vs Java Overview

cmontilha commented 1 week ago

After carefully considering all the factors outlined in the previous comment, I have decided to use Kotlin as the primary programming language for the RideSharingHC project.

I will continue to research and gather more information about relevant programming languages and tools, which will be added to the resources.md file in the "Technologies and Tools" section.