Привет, с братом решили вместе учиться писать на андроид для создания игр, приложении вспомогательные разные и многое другое, можешь подсказать с чего начинать?
Мне кажется, что добавили в язык всего да по больше и местами перестарались. Инфиксные функции - это скорее всего для разработчиков DSL. Но и тут создатели языка непоследовательны. Инфиксные функции добавили, а возможность создавать собственные операторы - нет. Хотя даже в древнем Фортране создавать собственные операторы можно. Причем приоритет операции настраиваются индивидуально для каждого оператора. И в Scala тоже можно.
Как же мне when(x) не хватает в java. Быстрей бы уже добавили Patern Maching для swich. Но один фиг пока LTS не выйдет, с 17-й версии мало кто будет переходить. Тут и на 11 еще не все пересели... Жаль нельзя отправить машиной времени Sun современные наработки и тенденции. Прикиньте если бы все эти вещи были из коробки в те далекие бородатые времена... а может это помогло бы избежать ада с обратной совместимостью каких-то моментов.
если андроид-разработчик, то по большому счёту выбора и нет, если только ходить по компаниям и поддерживать старые проекты. большая часть пишет новый код на котлине
Хм... Не так страшен Kotlin, как некоторые его "малюют". Очень схож синтаксис с Swift, что открывает для разработчика под Android на Kotlin хорошие возможности в плане разработки под обе платформы.
Flutter молодая технология, есть баги на уровне компилятора, маленькое комьюнити. Новичку будет сложно освоить но если освоишь то ЗП выше даже у джунов. Но натив всё равно придётся изучить так как некоторые вещи просто не получится сделать.
@@arhitutorials Судя по всему, только проверка временем вынесет вердикт по холивару Java vs Kotlin. Во всяком случае у меня сложилось такое мнение после поиска в сети ЗА и ПРОТИВ.
На первый взгляд я забоялся Kotlin)) Java хоть и объемнее кол выглядит, но читаешь и понимаешь все по словам, а тут много чего разного и одним предложением не прочитать.
За обзор спасибо, быстро просто. Да тут микс и Python и с Prolog и с C# и очевидно еще с каими-то языками.... Только у меня вызывают опасения расширение методов где попало? fun SomeClass.someMethod(somearg: Int) : Int { ..... } Допустим 2 программиста пишут свои библиотеки и расширяют класс, новым методом написанным в библиотеке третьего программиста, вставляя это в свой код, с одинаковым именем и парамтрами. Четвёртый программист берет обе эти библиотеки и безизменно пытается приладить в свой код, что будет? Всё будет круто и метод будет жить в пределах того неймспейса где он описан не перпутается и не будет конфликтовать? Но... черт это усложнят понимание кода. Видишь метод, и не знаешь, где тебя искать.
Да, есть такое. Видишь что-то, что выглядит как вызов метода класса, а это на самом деле расширение. Или, например, в Java поле в объекте это просто поле, а в Котлин там геттер вызывается, в котором потенциально может быть любая логика в том числе и сайд-эффекты.
@@arhitutorials property сложно назвать чем-то новым. Они в C# пришли из Object Pascal, а там они жили еще с 1994г, с Delphi 1. (Там еще был спецификатор доступа published (помимо стандартных public/private/protected) и published свойства у компенентов так-же отображались в object inspector. А еще был тип - указатель на метод - аналог делигатов в C#, свойства этого типа были событиями. Кроме того у них еще был индекс - т.е. аналог пергрузки [ ], и он приходил как параметр метода. someobj.someval[10]:=5; т.е. someval могбы быть как обычным полем - массивом, так и свойством с индексом... ) И как то после Pascal было удивидельно что в Java и C++ их нет. А в котлин понятно что - есть. Хотя синтаксис кажется странным. Другое дело, что врядли свойства стоит использовать для чего-то бОльшего чем чтение и/или изменения внутреннего состояния объекта, в котором свойство описано.
@@AlexSmile-y2x зачем ? На c++ делается все что делается на jave и даже больше. И да попробуй запустить suspend функции на java. На java ты напишешь быстрее чем на плюсах и код более безопасный тоже самое можно сказать про котлин и java.
@@idnull8434 С++ более низкоуровневый - в этом минус. Java упрощает читаемость C++: верхние уровни языков достраиваются, чтоб упростить читаемость и масштабируемость, а не наоборот, как в котлине. Котлин - кастрированная пародия джавы, не более того. Упрощает код он только для тех,кто не знает джаву и не умеет е пользоваться. Готов ручаться, что напишу на джаве любой сервис быстрее, чем ты на котлине) более того, 90% кода написанного на джаве, на котлин просто не переписать, т.к. он ущербен, а если и ухитришься, то поддерживать его будет нереально. Так что не стоит сравнивать - это реально нелепо, имхо
Сергей, спасибо за Ваш труд!
Офигенный сконцентрированный виддос !
Очень хорошее видео, много полезной инфы за короткое время. Спасибо!
Видео - просто огонь!!!
Спасибо за видео по Kotlin.
Супер!
Получил оффер на джуна на Java но необходимо выучить дополнительно Kotlin. И как же я рад что вышло это видео) хоть лучше понимать стал)
Привет, с братом решили вместе учиться писать на андроид для создания игр, приложении вспомогательные разные и многое другое, можешь подсказать с чего начинать?
@@АртёмДемидов-к3с лучше всего начать с кора) а дальше уже JDBC, для работы с базой и фреймворки)
какого рода деятельность у фирмы откуда оффер получил?
как дела спустя два года?
@@fromthegreatunknown сменил несколько работ) В основном работаю на Java, но есть дополнительный проект на Котлине)
Так четко и локанично! Спасибо большое
Очень круто. Спасибо
Классно, лайк. Давайте плейлист по Котлин.
Поддерживаю!
Спасибо за видео, было очень познавательно.
24:00 привет подскажи пожалуйста ресурсы что понять как работает?
15:45 пожалуйста, можно уточнить - что подразумевается под "ячейкой"? область хранения в памяти или что?
Да, область хранения в памяти.
мне одному кажется что большинство сахара от kotlin только ломает семантику языка?
Мне например очень тяжело (больно*) читать инфиксные функции
Мне кажется, что добавили в язык всего да по больше и местами перестарались. Инфиксные функции - это скорее всего для разработчиков DSL. Но и тут создатели языка непоследовательны. Инфиксные функции добавили, а возможность создавать собственные операторы - нет.
Хотя даже в древнем Фортране создавать собственные операторы можно. Причем приоритет операции настраиваются индивидуально для каждого оператора.
И в Scala тоже можно.
спасибо
Elvis похож на функцию ISNULL в SQL
А еще через годик - два можно сделать видео о корутинах. Сарказм если что, без обид)
14:00
- Не рассказали про блок инициализации init { }
7:00 new значит не надо?
Да, new не нужен, по вызову конструктора и так понятно, что создается объект.
Думаю надо ещё десяток языков придумать чтобы работы всем хватило:)
Это да. А если языков не хватит, можно каждые пару лет придумывать новые фреймворки и API)
Судя по видео переучиваться должно быть совсем недолго, значит лучше все равно учить java или я не прав?
Как же мне when(x) не хватает в java. Быстрей бы уже добавили Patern Maching для swich. Но один фиг пока LTS не выйдет, с 17-й версии мало кто будет переходить. Тут и на 11 еще не все пересели...
Жаль нельзя отправить машиной времени Sun современные наработки и тенденции. Прикиньте если бы все эти вещи были из коробки в те далекие бородатые времена... а может это помогло бы избежать ада с обратной совместимостью каких-то моментов.
котлин конечно лаконичный, но джаву не брошу)
если андроид-разработчик, то по большому счёту выбора и нет, если только ходить по компаниям и поддерживать старые проекты. большая часть пишет новый код на котлине
Хм... Не так страшен Kotlin, как некоторые его "малюют". Очень схож синтаксис с Swift, что открывает для разработчика под Android на Kotlin хорошие возможности в плане разработки под обе платформы.
Может ли Flutter полностью заменить Kotlin? Что лучше выбрать начинающему разработчику?
Flutter - это среда, а котлин - это язык))
@@denzmc В курсе )) Flutter - это среда, а Dart - это язык, но это не меняет сути вопроса
@@domontowicz скорее вместо flutter будет kotlin multiplatform, но нативная разработка все равно если и исчезнет, то нескоро
Flutter молодая технология, есть баги на уровне компилятора, маленькое комьюнити. Новичку будет сложно освоить но если освоишь то ЗП выше даже у джунов. Но натив всё равно придётся изучить так как некоторые вещи просто не получится сделать.
Учи котлин, открой даже hh и посмотри сколько вакансий по одному и второму, и все встанет на свои места.
Вроде бы много "удобных" фич добавлено в котлин, но от этого для меня, недоджависта, труднее понимать код.
У меня тоже от Котлина несколько противоречивые впечатления.
@@arhitutorials Судя по всему, только проверка временем вынесет вердикт по холивару Java vs Kotlin. Во всяком случае у меня сложилось такое мнение после поиска в сети ЗА и ПРОТИВ.
А мне прям в самый раз после явы@@arhitutorials
На первый взгляд я забоялся Kotlin)) Java хоть и объемнее кол выглядит, но читаешь и понимаешь все по словам, а тут много чего разного и одним предложением не прочитать.
Обьявление массивов и аррайлистов реально выбешевыет. Java писали психологи. Воспринимаеться и читаеться на 5ку. Котлин читаешь , но ничо не понятно))
За обзор спасибо, быстро просто. Да тут микс и Python и с Prolog и с C# и очевидно еще с каими-то языками....
Только у меня вызывают опасения расширение методов где попало?
fun SomeClass.someMethod(somearg: Int) : Int {
.....
}
Допустим 2 программиста пишут свои библиотеки и расширяют класс, новым методом написанным в библиотеке третьего программиста, вставляя это в свой код, с одинаковым именем и парамтрами. Четвёртый программист берет обе эти библиотеки и безизменно пытается приладить в свой код, что будет? Всё будет круто и метод будет жить в пределах того неймспейса где он описан не перпутается и не будет конфликтовать? Но... черт это усложнят понимание кода. Видишь метод, и не знаешь, где тебя искать.
Да, есть такое. Видишь что-то, что выглядит как вызов метода класса, а это на самом деле расширение. Или, например, в Java поле в объекте это просто поле, а в Котлин там геттер вызывается, в котором потенциально может быть любая логика в том числе и сайд-эффекты.
@@arhitutorials property сложно назвать чем-то новым. Они в C# пришли из Object Pascal, а там они жили еще с 1994г, с Delphi 1.
(Там еще был спецификатор доступа published (помимо стандартных public/private/protected) и published свойства у компенентов так-же отображались в object inspector. А еще был тип - указатель на метод - аналог делигатов в C#, свойства этого типа были событиями. Кроме того у них еще был индекс - т.е. аналог пергрузки [ ], и он приходил как параметр метода.
someobj.someval[10]:=5;
т.е. someval могбы быть как обычным полем - массивом, так и свойством с индексом...
)
И как то после Pascal было удивидельно что в Java и C++ их нет. А в котлин понятно что - есть. Хотя синтаксис кажется странным. Другое дело, что врядли свойства стоит использовать для чего-то бОльшего чем чтение и/или изменения внутреннего состояния объекта, в котором свойство описано.
учу java , сломал мозг !
Все равно java больше нравиться.
какой же шлак этот Котлин.. спасибо за видос)
Сделай лучше. Сможешь ?
@@idnull8434 Зачем? На Java делается все , что можно сделать на котлине, только кроме этого код еще и выглядит адекватно
@@AlexSmile-y2x зачем ? На c++ делается все что делается на jave и даже больше. И да попробуй запустить suspend функции на java.
На java ты напишешь быстрее чем на плюсах и код более безопасный тоже самое можно сказать про котлин и java.
@@idnull8434 С++ более низкоуровневый - в этом минус. Java упрощает читаемость C++: верхние уровни языков достраиваются, чтоб упростить читаемость и масштабируемость, а не наоборот, как в котлине. Котлин - кастрированная пародия джавы, не более того. Упрощает код он только для тех,кто не знает джаву и не умеет е пользоваться. Готов ручаться, что напишу на джаве любой сервис быстрее, чем ты на котлине) более того, 90% кода написанного на джаве, на котлин просто не переписать, т.к. он ущербен, а если и ухитришься, то поддерживать его будет нереально. Так что не стоит сравнивать - это реально нелепо, имхо
@@AlexSmile-y2x ну конечно какой то"Александр Плохой с youtube" умнее чем вся команда Google.
спасибо
Спасибо