По перше дуже дякую Олександр за такі глибинні запитання!
1) А чому взагалі винайшли Котлін? Котлін, це нова мова, яка використовує нові підходи в програмуванні і робить багато патернів з Java частиною синтаксису мови. Якщо копнути глибше, таке вже траплялося і раніше. Наприклад спочатку була "тьма«потім все спростили і написали Assembler, потім все спростили і використали Assembler для написання С, потім все спростили і використали С для написання Java, потім все спростили і використали Java для написання Kotlin і я думаю це ще далеко не кінець ... -> Assembler -> C -> Java -> Kotlin -> ...
2) Які його фундаментальні переваги? Як на мене їх декілька: null safety more concise (less boilerplate code) variable and collection immutability functional and procedure lang programming style
3) Я бачу що Котлін, як і Джава, дві об’єктно орієнтовані мови, то який сенс? Так це правда що Java — це об’єктно-орієнтована мова з примітивами. А от Kotlin — це мікс об’єктно-орієнтованої (без примітивів), процедурною і навіть функціональної мови в деякому сенсі (High-Order, Lambdas and Closures). Якщо проблем з Java нема і все подобається — сенсу немає. Якщо хочеться попрацювати з новими технологіями, вивчити нові підходи до програмування, можливо навіть писати менше «boilerplate code» — Kotlin дуже хороший кандидат
По перше дуже дякую Олександр за такі глибинні запитання!
1) А чому взагалі винайшли Котлін?
Котлін, це нова мова, яка використовує нові підходи в програмуванні і робить багато патернів з Java частиною синтаксису мови. Якщо копнути глибше, таке вже траплялося і раніше. Наприклад спочатку була "тьма«потім все спростили і написали Assembler, потім все спростили і використали Assembler для написання С, потім все спростили і використали С для написання Java, потім все спростили і використали Java для написання Kotlin і я думаю це ще далеко не кінець
... -> Assembler -> C -> Java -> Kotlin -> ...
2) Які його фундаментальні переваги?
Як на мене їх декілька:
null safety
more concise (less boilerplate code)
variable and collection immutability
functional and procedure lang programming style
3) Я бачу що Котлін, як і Джава, дві об’єктно орієнтовані мови, то який сенс?
Так це правда що Java — це об’єктно-орієнтована мова з примітивами. А от Kotlin — це мікс об’єктно-орієнтованої (без примітивів), процедурною і навіть функціональної мови в деякому сенсі (High-Order, Lambdas and Closures). Якщо проблем з Java нема і все подобається — сенсу немає. Якщо хочеться попрацювати з новими технологіями, вивчити нові підходи до програмування, можливо навіть писати менше «boilerplate code» — Kotlin дуже хороший кандидат