# Kotlin test drive: N-Queens solver

**URL:** <https://discuss.kotlinlang.org/t/kotlin-test-drive-n-queens-solver/5750>\
**Category:** Contributions\
**Created:** [December 10, 2017, 3:08am UTC](https://discuss.kotlinlang.org/t/kotlin-test-drive-n-queens-solver/5750 "2017-12-10T03:08:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![curtis.s.cooper](https://avatars.discourse-cdn.com/v4/letter/c/d6d6ee/32.png) [@curtis.s.cooper](https://discuss.kotlinlang.org/u/curtis.s.cooper)\
**Post date:** [December 10, 2017, 3:08am UTC](https://discuss.kotlinlang.org/t/kotlin-test-drive-n-queens-solver/5750/1 "2017-12-10T03:08:38Z")

</div>

I recently took Kotlin 1.2 with IDEA for a spin. Here is the [Github repository](https://github.com/csc14us/n-queens-kotlin). I look forward to hearing your comments. I’m definitely enjoying Kotlin so far.

---

<div class="post-metadata">

**Author:** ![curtis.s.cooper](https://avatars.discourse-cdn.com/v4/letter/c/d6d6ee/32.png) [@curtis.s.cooper](https://discuss.kotlinlang.org/u/curtis.s.cooper)\
**Post date:** [December 10, 2017, 3:23am UTC](https://discuss.kotlinlang.org/t/kotlin-test-drive-n-queens-solver/5750/2 "2017-12-10T03:23:35Z")

</div>

As an experienced Java programmer, here are my questions/impressions so far:  
(1) val/var are fantastic and cut down redundant type information.  
(2) Sometimes, val/var are _too_ concise, however, and explicit  
specification of type is beneficial, which IDEA helps with.  
(3) No semicolons isn’t good or bad; it really doesn’t matter, IMO.  
(4) I still prefer Java’s for-loop construct; it’s more flexible when needed.  
(5) I prefer Java’s built-in support for declaring arrays; e.g., int.  
(6) Lambdas feel about the same as Java 8. Performance differences?  
(7) Null safety is great; I rarely had to think about null checking.  
(8) String templates and builder() are fabulous; strings are much easier in Kotlin.  
(9) I really wish Kotlin had code blocks w/o just using the run() function.  
(10) I love being able to put functions at the top-level of the file, not only in classes.  
(11) I like companion objects fine, but I wish classes could also just have static methods.
