💻 Какой язык программирования лучше для обучения?
Многие школы используют Java, C#, C или C++, но всё больше образовательных программ переходят на Python.
У Python есть очевидный плюс — на нём легче начать. Это помогает студентам быстрее увидеть результат и сохранять мотивацию.
Но есть и минус.
Python сильно абстрагирует низкоуровневые детали, поэтому студентам сложнее понять, как работают структуры данных, память и другие фундаментальные вещи.
Лично я считаю, что программисты должны становиться polyglots — людьми, которые знают несколько языков.
Фокусироваться на одном языке — стратегическая ошибка.
Но влияет ли язык на результаты обучения?
Исследование John R. Hott (ACM ICER 2025) показывает: почти никак.
Студенты, которые выполняли задания:
- только на Python
- только на Java
- на смеси языков
показали статистически одинаковые результаты.
Не было значимых различий:
- в оценках за программирование
- в письменных заданиях
- в тестах и квизах
- в уровне сложности, который испытывали студенты
Вывод исследования простой:
👉 выбор языка программирования почти не влияет на результаты обучения.
То есть преподавателям не стоит слишком переживать о том, какой язык выбрать для курса.
Гораздо важнее другое.
Вместо бесконечных споров *Python vs Java vs C++* стоит учить студентов:
- как создавать продукты
- как запускать проекты
- как строить бизнес
- как быть независимыми от технологических трендов
Как пишет Zed Shaw в эссе
“AI Didn't Kill Programming, You Did”:
проблема не в AI и не в языках программирования — проблема в том, как люди учатся программированию.
Главная мысль:
🚀 программирование можно выучить на любом языке.
Начните с Logo.
Попробуйте Ada.
Изучите Python, Go, Rust или C.
А ещё лучше — попробуйте придумать свой язык программирования.
Именно так и начинается настоящее понимание компьютеров.
Исследование
https://engineering.virginia.edu/faculty/john-r-hott
Эссе
https://learncodethehardway.com/blog/39-ai-didnt-kill-programming-you-did/
#programming#education#python#java
🤖 Вышла Material Components for Android 1.1.3 с компонентами из Material 3 Expressive (но пока еще не всё)
Что добавили из комнентов:
👉DockedToolbarLayout - компонент для показа действий на текущем экране/странице (обычно закреплен в нижний части экрана)
👉FloatingToolbarLayout - плавающий набор действия для текущего экрана/страницы
👉LoadingIndicator - новые индикаторы ожидания
👉MaterialSplitButton - разделенная кнопка
👉MaterialButtonGroup - компонент для группировки нескольких кнопок
Что ещё из важного:
👉 Минимальный Android SDK подняли до 21
👉 Включили nonTransitiveRClass (про последствия для вас читайте тут)
👉 Официальная поддержка Material 3 Expressive будет в версии 1.14.0. Уже есть альфа версии
🛠 Много улучшений существующих компонентов и исправления багов
#android#material3#material3expressive
🚀Вышел Jetpack Compose Material3 Adaptive 1.2.0
Если коротко про изменения — Material3 Adaptive всё ближе к полноценному “Responsive Compose”. Теперь можно писать интерфейсы, которые одинаково естественно ведут себя на телефоне, планшете и десктопе.
Главное:
🪶 Levitate-стратегия для ThreePaneScaffold — превращает панель в плавающее окно (popup).
↔️ Reflow-стратегия для ThreePaneScaffold — позволяет при узком экране уводить одну панель под другую, сохраняя UX.
👉 PaneScaffoldScope.saveableStateHolder — сохраняет состояние между разными конфигурациями экрана.
👉 Modifier.preferredHeight() — теперь можно задать предпочтительную высоту панели.
📏 Новые WindowSizeClasses: API currentWindowAdaptiveInfo() теперь распознаёт Large и ExtraLarge окна — важный шаг к поддержке планшетов и десктопов.
👉 Drag-to-resize получил настройку пользовательского поведения и поддержку a11y (accessibility).
🏝 Плюс: обновлён Kotlin 2.0, переработано API стратегий, исправлены ошибки с анимациями и рендерингом при адаптации.
#compose#material3#adaptive#android#jetpack
🤖Редизайн WearOS с Material 3 Expressive
Google WearOS 6 получит редизайн на основе Material 3 Expressive. Обещают что изменения дизайна не повлияют на время работы часов, а даже наоборот - в WearOS 6 станет на 10% дольше времени работы
Как пользователь Google Pixel Watch могу сказать что показанное меня очень радует. Сейчас дизайн неудобный
#android#wearos#material3#material3expressive
📹Адаптивная Android разработка сделает ваше приложение классным на любом устройстве - Google IO 2025
Очень полезный доклад про разработку адаптивного приложения по дизайну, фичам и поведению. Учитывая, стойкий тренд перехода Android разработки в KMP это как никогда актуально!
#android#adaptive#material3#jetpack#googleio
🤖Вышла библиотека Wear Compose 1.5 с поддержкой Material 3 Expressive
Обновленная библиотека содержит все виджеты для реализации приложения в новом дизайне Google
Помимо этого выпустили
👉Обновленную документацию по дизайну приложений
👉Руководство по миграции на Material 3
👉Примеры на GitHub
#android#wearos#material3expressice#material3
🤯Navigation Drawer становится Deprecated
В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна
#ui#material#material3#material3expressive
‼️Google отменяет Compose Material Icons
С релизом Compose Material 3 — версии 1.4.0 Google сделала радикальный шаг: библиотека androidx.compose.material.icons исключена из Material3 и больше не рекомендуется к использованию.
Что произошло
👉 Material Icons удалены из актуального релиза Material3 1.4.0
👉 Поддержка библиотеки прекращена
👉 Можно подключить вручную, но это временная мера для тех, кто не успел мигрировать
❌ Основная причина отказа - негативное влияние на скорость сборки. Библиотека Material Icons тащит весь огромный набор иконок. Это ощутимо увеличивает build time крупных Android и Compose Multiplatform проектов.
Google предлагает переходить на Vector Drawable XML в Android или Compose Multiplatform ресурсах. Скачивайте иконки с вкладки Android на странице Material Symbols и храните в ресурсах проекта
Преимущества использования Material Symbole:
✔️ актуальный набор иконок
✔️ минимальный вес и отсутствие лишних зависимостей
✔️ предсказуемое время сборки
✔️ лучший контроль над ресурсами проекта
❗️ Обновлений библиотеки Material Icons не будет!
Источник - официальная документация Android Jepack
Благодарю подписчика Evgeny F. за то, что обратил внимание на изменение.
#Android#AndroidJetpack#Material3#Compose#CMP
🤖Адаптивность UI в Android-приложениях
Android-приложения запускаются на экранах с разными размерами и ориентацией. Чтобы интерфейс выглядел хорошо в любых условиях, стоит учитывать несколько простых правил, которые я выработал за годы опыта 👇
1️⃣Не привязывайтесь к фиксированным размерам
Фиче может быть выделен весь экран, часть окна или вообще маленький контейнер. Пусть она сама решает: занять всё пространство или только необходимое. Остальное — задача хоста, который через параметры (например, Modifier в Compose) подстроит отображение или сама правильно разместит (например, по центру).
2️⃣Используйте адаптивные компоненты
Вместо LazyColumn — лучше LazyVerticalGrid, а для RecyclerView — GridLayoutManager. Они умеют подстраивать сетку под свободное место на экране.
3️⃣Закладывайтесь на увеличение текста и элементов
Пользователь может менять скейл интерфейса: Google позволяет масштабировать всё, увеличивая DP → PX. Поэтому всегда предусмотрите скролл, если контента может стать больше.
4️⃣UI фичи не должен знать, где он окажется
Фича отвечает только за свой UI. А вот приложение решает, как её показать: в одну панель или, например, в связке через ListDetailPaneScaffold, где на экране могут быть сразу несколько экранов.
Даже если дизайнер подготовил макет только под смартфон в вертикали — попробуйте включить воображение. Немного гибкости и масштабирования дадут пользователям куда более удобный опыт без больших трудозатрат.
📚 Что почитать:
- Практики по построению адаптивных приложений
- Compose Material 3 Adaptive
- Jetpack WindowManager
- Как строить адаптивный UI через layout
💬 Делитесь в комментариях своими советами и болями адаптивности UI
#android#ui#compose#adaptive#ux#material3
На сайте Android Developers стали выкатывать обновления существующих руководств с интеграцией Material 3 Expressive дизайна, а именно:
👉Help & Feedback
👉Settings
👉Настройки App Widget
👉Edge-to-edge дизайн
#material#material3#materialexpressive#m3