Пара слов об остальных
Вы наткнётесь на них, и иногда один из них — именно то, что нужно:
Полезно представить, где обычно живёт каждый язык. У программ есть слои — то, что работает в браузере (фронтенд), то, что работает на сервере (бэкенд), то, что работает на телефоне (мобильное) — и у большинства языков есть своя вотчина:
┌──────────────────── ГДЕ РАБОТАЕТ КОД ────────────────────┐
│ │
FRONTEND BACKEND MOBILE │
(браузер) (сервер) (телефон) │
│ │ │ │
┌────┴────┐ ┌──────┴──────┐ ┌─────┴─────┐ │
│ JS / TS │ │ JS / TS │ │ Swift │ iOS │
│ (един- │ │ Python │ │ Kotlin │ Android│
│ ственный│ │ Go │ │ JS / TS │ (React │
│ реальный│ │ Rust │ │ │ Native)│
│ вариант)│ │ Java / C# │ └───────────┘ │
└─────────┘ │ PHP / Ruby │ │
└──────┬──────┘ │
│ │
┌────┴────┐ │
│ SQL │ ◀── база данных, к ней │
│(database)│ доступна любому backend │
└─────────┘ │
└──────────────────────────────────────────────────────────┘
- Java / C#: рабочие лошадки крупных предприятий. Зрелые, стабильные, обильно оснащённые инструментами и идеальные для больших корпоративных бэкендов и Android (Java/Kotlin) или экосистем Windows/.NET (C#). AI справляется с обоими хорошо. Как одиночному vibe-кодеру они вам редко нужны, если только вы не работаете внутри существующего корпоративного стека или не делаете что-то конкретно под Android/Windows.
- Swift / Kotlin: нативные языки для приложений iOS (Swift) и Android (Kotlin). Если вы выпускаете настоящее мобильное приложение в App Store или Play Store, вы, скорее всего, их коснётесь. Поддержка AI основательна, но слабее, чем для веб-языков, а мобильная разработка несёт дополнительное трение (устройства, правила магазинов приложений, инструментарий сборки).
- PHP / Ruby: старая гвардия веба, и до сих пор тихо крутящая его огромную часть. PHP питает WordPress и потому держит на себе большую долю всех веб-сайтов; Ruby on Rails остаётся быстрым, опинионированным способом построить приложение с базой данных. У обоих много обучающих данных, так что AI справляется с ними хорошо — но сегодня новичок редко тянется к ним в первую очередь, и обычно вы выбираете их потому, что работаете в существующей кодовой базе, а не начинаете с нуля.
- (Structured Query Language): не язык общего назначения, но вы встретите его в тот момент, когда ваше приложение начнёт хранить данные. Думайте о нём как о языке, на котором вы задаёте вопросы базе данных — «покажи всех пользователей, зарегистрировавшихся на этой неделе». SQL запрашивает базы данных. Вы не выбираете SQL вместо остальных — он живёт рядом с тем, что вы выбрали. Хорошая новость: AI превосходно пишет SQL, так что вы можете описать нужные данные простыми словами и позволить ему создать запрос.