ithr-school
Языки и фреймворки
Фреймворки
остов, каркас, структура
Фреймворк
Библиотека на каком-то языке
Описывает как именно нужно строить проект
Содержит идею и большую часть необходимого
(мем у фронтендеров)
Мобильная разработка
iOS
Swift и objectiveC
Много гайдлайнов, строгие правила
Разработчиков не очень много
Нужен макбук
Android
Java и Kotlin
Правила нестрогие
Разработчиков больше
Большая неконсистентность устройств
Межплатформы
C# (Xamarin), JS (React Native)
Любой фронтендер справится
Много проблем если большое приложение
Флоу
Бекенд и дизайн
Вёрстка и логика
Тестирование и проверка
Подготовка релиза
Релиз в магазин
Низкоуровневая разработка
C/C++
Игры, драйверы, системы, вирусы
Сложный язык, разработчики часто бородатые
Много легаси и устаревших стандартов
Языки медленно развиваются
Rust
Основной конкурент C++
Быстрый
Молодой
Развивается, и ещё не смог захватить рынок
Assembler
Целая серия языков
Ну вы видели
Вирусы, совсем низкоуровневые системы, взлом чужих программ
Знание даёт супер-силу
Флоу
Разработка
Тестирование и проверка
Упаковка / Доставка
Web Backend
PHP
Только бекенд
Интерпретируемый
Много легаси (WP)
Половина интернета на нём
Есть мощные фреймворки, которыми все пользуются
Laravel (PHP)
Имеет удобные инструменты для всего
Упрощает разработку
Можно быстро сделать полноценное приложение
Symfony (PHP)
Старичок
Похож на Laravel
Yii (PHP)
Yes, It Is!
Большой конкурент для Laravel
Быстро работает с базой данных
Кастомизируем
CodeIgniter (PHP)
Очень маленький фреймворк
Есть удобная плагин-система
Удобен для новичков, хорошая документация
Быстр
C#
Поддерживается Microsoft
Используется в веб и в десктопной разработке
Компилируемый, довольно быстрый
.NET Framework (C#)
Не совсем фреймворк
Есть .NET Core для веб-разработки
Есть ASP.NET для веб-разработки
Даёт быструю разработку со всеми преимуществами типизации
Java
Королева заказной разработки
Не
JavaScript (JS)
(вообще)
Компилируемый
Десктопная разработка, Веб-разработка, Мобильная разработка
Spring (Java)
Старичок
Самый популярный
Небольшой, но расширяемый
JavaServer Faces (J)
Не бекенд, а весь стек
Понемногу вымирает
Python
Прекрасный язык
Интерпретируемый, относительно медленный
Быстрая разработка
Есть Python 2 и Python 3
Django (Python)
Самый популярный
Есть всё что нужно из коробки
То что не нужно, можно поставить
Большое комьюнити
Flask (Python)
Маленький
Из коробки самый минимум
Сборки разные в разных компаниях
Часто используется для микро-сервисов
aiohttp (Python)
Работает асинхронно
Немного быстрее чем Django и Flask
Ruby
Красивый язык
Интерпретируемый
Был модным
Ruby on Rails (Ruby)
Похож на Django (Python)
Мощная кастомизация
Можно очень быстро сделать прототип
Из-за него Ruby стал модным
JavaScript, JS
Интерпретируемый, плохой дизайн
Только он может работать в браузере
Его притащили и на бекенд
Node JS, Express.js
Платформа и фреймворк
Асинхронный
Выбор фронтенд-разработчиков, которые не хотят учить новый язык
Go, GoLang
Молодой
Очень быстрый
Асинхронный
Очень "простой"
Web Frontend
HTML/CSS
То, что будет отображено браузером
HTML — блоки
CSS — стили
Весь фронтенд построен на динамичном изменении HTML/CSS и взаимодействии пользователя
JS
Он один на фронтенде
Много ругают
Очень популярен
Можно писать не только фронтенд, но и бекенд, и даже мобилки
TypeScript
Почти JS, но типизированный
Избавлен от многих проблем JS
С помощью волшебства превращается в JS
JQuery
Не фреймворк, но мощная библиотека
Вымирает
Был популярен до прихода React / Vue / Angular
React (JS)
Самый популярный
Компонентая разработка
Его любят и ругают
Развивается
Есть React Native для мобильной разработки
Angular (JS)
Появился до React
Можно делать очень большое веб-приложение и не умереть
Есть несколько версий, новые называются Angular, старая называется Angular.js
Vue.js (JS)
Самый новенький
Самый дружелюбный к новичкам
Его любят, ругают за дело
Год назад вакансий было 10, сегодня 25
Backbone, Svetle, Ember
умирают или не рождаются
Игры
Низкоуровневое
C++/Rust/C
Разработка движков для игр
Работа с графикой, физикой и звуком
Высокоуровневое
Разработка поверх существующих движков
Скриптование сцен, выстраивание сюжета, логики игры
C#,
JS, Lua, Python, ...
Игры в браузере
Unity (C#)
Движок-фреймворк для игр на C#
Большое комьюнити
Подходит для прототипирования игр и небольших игр
Математика
Pandas, Numpy (Python)
Библиотеки для работы с большими данными
Быстрые
Их любят все
Haskell
МАТЕМАТИЧЕСКИЙ ЯЗЫК
Строго функциональный: теория лямбда-исчислениия, теория типов, ...
Обработка данных, где очень важно не падать
R
Специальный язык для работы с данными и статистикой
Популярен в научной среде
Всё в коробке
Иногда используется в продуктовой среде
Matlab
Старичок
Популярен в научной среде
Умирает
Coq
МАТЕМАТИЧЕСКИЙ ЯЗЫК
Можно доказывать теоремы
Made with Slides.com