Kotlin vs. Java: A Comprehensive Comparison