Kotlin Meta
244 subscribers
56 photos
2 videos
1 file
54 links
Всякое разное интересное про язык программирования Kotlin и около него.

Чатик: @kotlinmetachat.
Мы на YouTube: https://youtube.com/@KotlinMeta.
Мы на Twitch: https://twitch.tv/kotlinmeta.
Download Telegram
Kotlin Meta
🚀 Pull Request в kotlinx.fuzz На одном из стримов мы разбирали kotlinx.fuzz (вот он), и одним из недостатков этой библиотеки было то, что можно было генерировать только примитивные типы и далее ручками собирать их в объекты. Недавно мне в голову пришла идея…
kotlinx.fuzz стал лучше

А всё потому что доехал до мейна PR, который я создавал для генерации любых Serializable-объектов. Чтож, эмоции прикольные, надеюсь это не последний мой контрибут в Kotlin-экосистему.

Кстати, получилось сделать такой генератор благодаря пониманию того, что сериализация в Kotlin не привязана к формату и позволяет узнать структуру любого класса без необходимости рефлексии. Именно про это один из наших последних видосов на YouTube.

YT: kotlinx.serialization | YT: kotlinx.fuzz | GH: Pull Request
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19💘64👍2😎1
🏝 Разработка компилятора: Kotlin написан на Kotlin?

Присоединяйтесь в это воскресенье в 17:00 обсудить всё, что связано с разработкой Kotlin. Вы узнаете:

• Чем разработка компиляторов отличается от обычной разработки?

• Какой процесс проходит фича перед внедрением в язык? Как написать свой KEEP?

• Структура компилятора, зависимость от Intellij Idea: почему так сложилось и что с этим делать?

Обсудим это и многое другое. Также у нас будет доступен чат на Twitch в котором можно будет задать любые вопросы нашему гостю – Евгению Желенскому. Присоединяйтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
53🔥189🤩3
👨‍💻 Контекстные параметры: почему контекстных ресиверов не будет

Написали пару примеров с использованием контекстных параметров, сравнили их с контекстными ресиверами, почитали KEEPы и порассуждали над тем, как фича в будущем может быть негативно использована. Посмотрите, чтобы быть в контексте новых фич.

YouTube
6😁1
Ktor Library Improvement Process (KLIP)

Начиная с версии библиотеки 3.0.0 все существенные изменения в Ktor будут проходить процесс, который подобен KEEP (Kotlin Enchancement and Evolution Process), о котором у нас уже был пост. Это означает стабилизацию API и возможность сообщества влиять на изменение API библиотеки.

В прошлом API менялся очень резко и переписывать проекты с ktor 1.0 до 2.0 было не самым приятным процессом. Теперь движение будет медленнее, и больше внимания будет уделяться деталям. Видно, что библиотека взрослеет.

У нас пока не было стримов с командой разработки Ktor, но мы всё равно внимательно следим за этой библиотекой, ведь она отображает видение команды Kotlin о том, как должно выглядить правильное client-server взаимодействие.

Там, кстати, уже есть первый KLIP, который построен вокруг интеграции Open API в Ktor.

GH: Open API KLIP | GH: KLIP | GH: KEEP
10👍953
Live stream started
Kotlin Meta
🏝 Разработка компилятора: Kotlin написан на Kotlin? Присоединяйтесь в это воскресенье в 17:00 обсудить всё, что связано с разработкой Kotlin. Вы узнаете: • Чем разработка компиляторов отличается от обычной разработки? • Какой процесс проходит фича перед…
🔴️Мы в прямом эфире

Присоединяйтесь на любую площадку с помощью ссылок внизу и участвуйте в дискуссии о внутрянке разработки компилятора Kotlin. Поговорим с разработчиком компилятора Kotlin – Женей Желенским!

Telegram | YouTube | Twitch
54
Live stream finished (2 hours)
Kotlin исполняется 14 лет

В этот день, 22.07.2011, вышла первая версия Kotlin. За 14 лет он превратился из внутреннего проекта JetBrains в основной язык разработки под Android, завоевал прочные позиции в серверной разработке, потеснив Java, и вышел на стабильный уровень в мультиплатформенной разработке.

В честь этого дня Amplicode сделали небольшую серию докладов про ConneKt и Spring + Kotlin. Также можно посмотреть на официальном канале Kotlin by JetBrains видео, выпущенное к 10-летию языка, в котором рассказывается его история.
2🎉197🥰442
🔴 Наука на Kotlin: Центр научного программирования

В это воскресенье, в 17:00, пообщаемся с Александром Нозиком: директором центра научного программирования, автором kmath и, в то же время, преподавателем общей физики в МФТИ. Также Александр был руководителем направления в JetBrains Research. Мы затронем:

• Kotlin как первый язык программирования? Как студентам даётся обучение Kotlin?

• Насколько JVM подходит для обработки научных данных? Какой есть предел и почему не выбрать C++?

• Взаимодействие JetBrains и сообщества? Насколько JetBrains заинтересован в науке?

Поговорим про это и многое другое, присоединяйтесь к стриму и задавайте вопросы!
10219🤝4🔥2
📹 Разработка компилятора: Kotlin написан на Kotlin?

• Чем разработка компиляторов отличается от обычной разработки?
• Какой процесс проходит фича перед внедрением в язык? Как написать свой KEEP?
• Структура компилятора, зависимость от Intellij Idea: почему так сложилось и что с этим делать?

Обсудили это и многое другое вместе с нашим гостем из JetBrains: Евгением Желенским.

YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆119🥰5
Kotlin Meta
🔴 Наука на Kotlin: Центр научного программирования В это воскресенье, в 17:00, пообщаемся с Александром Нозиком: директором центра научного программирования, автором kmath и, в то же время, преподавателем общей физики в МФТИ. Также Александр был руководителем…
🔴 Мы в прямом эфире

Присоединяйтесь на YouTube, Telegram или Twitch и участвуйте в дискуссии о научном программировании на Kotlin и не только. Поговорим с директором центра научного программирования – Александром Нозиком.

Telegram | YouTube | Twitch
5❤‍🔥3👍2
Live stream started
Live stream finished (1 hour)
📹 Наука на Kotlin: Центр научного программирования

• Kotlin как первый язык программирования? Как студентам даётся обучение Kotlin?

• Насколько JVM подходит для обработки научных данных? Какой есть предел и почему не выбрать C++?

• Насколько компании заинтересованы в науке на Kotlin?

Обсудили это и многое другое с Александром Нозиком: директором центра научного программирования, автором kmath и, в то же время, преподавателем общей физики в МФТИ.

YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
1331
🏝 Компиляторные плагины на Kotlin

Присоединяйтесь в это воскресенье в 17:00 на стрим про компиляторные плагины. Напишем свой компиляторный плагин с нуля, который будет модифицировать поведение toString() у дата-класса.

Документации по этой теме не так много, поэтому для тех, кто хотел немного модифицировать Kotlin под себя, но не знал где начать – велком на стрим!

Telegram | YouTube | Twitch
Please open Telegram to view this post
VIEW IN TELEGRAM
215
🏝 Context Sensitive Resolution

Как вы, возможно, знаете, я против использования исключений для возврата бизнес-значений. Этот подход популярен в сообществе, и часто для сохранения подробностей об ошибке используют sealed-иерархии.

Фича, о которой я расскажу вам сегодня, не новая, но одна из моих любимых за последнее время. Она есть в других языках, но у нас она появилась относительно недавно, под экспериментальным флагом в Kotlin 2.2. Context Sensitive Resolution позволяет не писать полный путь до класса, если его можно понять из контекста. Пример этой фичи есть на картинке прикреплённой к посту. Полный список мест, где работает эта фича:

• Выражения внутри when
• При возврате после return
• Переменные, у которых объявлен тип
• Проверки на тип (as, is)
• Параметры функций

Казалось бы - у нас есть импорты, можно же просто импортнуть Success, но не всё так просто. Если мы имеем дело с несколькими типами, который называются Success, импортнуть их 2 раза не выйдет - будет конфлит импортов. А с этой фичей даже импорт не нужен. А бонусом идет более хорошая поддержка в IDE. Когда я делал аналоги DSL на Swift, я всегда кайфовал от того, как удобно там работает эта фича. Нет загрязнения неймспейса, но и много буков писать не надо. Все в плюсе!
Please open Telegram to view this post
VIEW IN TELEGRAM
8🍌22❤‍🔥1👍1
🌐 Подстава от Интернет-провайдера

Запустили с Эмилем тестовый стрим и поняли, что интернет-соединение вообще не вывозит. Сегодняшний стрим отменяется ввиду того, что я заспаунился в деревне с такими провайдерами (контора солнышек). Переносим его на долго, также как и следующие стримы: ориентировочно на 23 августа.

А пока – наслаждаемся летом и новостями о Kotlin в текстовом формате. Всем спасибо, что поддерживаете наш канал, он развивается благодаря вам ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
😨15😭108🌚4