как установить русский язык в windows server 2019
Как изменить или добавить язык в Windows Server
759 просмотров 0 2021-02-26
Как изменить язык в Windows Server с помощью переустановки операционной системы
Самый простой способ. Мы предоставляем VPS с Windows Server в русской и английской редакции. Если при создании сервера вы ошиблись в выборе языка, просто переустановите систему, выбрав нужный вам язык.
Важно! При этом способе сменить язык все ваши данные будут потеряны и вы получите чистую, новую OS. Если вам важно сохранить данные, пролистайте до середины статьи и воспользуйтесь другим способом
Итак, как сменить OS и язык.
Залогиньтесь в личный кабинет на нашем сайте и прейдите в раздел «Мои серверы»
Нажмите на кнопку переустановки системы и выберите нужную вам редакцию языка. Язык системы находится в окне справа выбранной от редакции.
Система автоматически переустановится на ту, что вы выбрали из списка.
Как изменить язык Windows Server через панель управления или командой
Этот способ подойдет, если вам нужно сохранить ваши данные и программы
На всякий случай, даже на английской версии Windows мы оставили пакет русской локализации, чтобы вы могли писать на клавиатуре, используя русскую раскладку и менять языковой пакет без переустановки системы.
Самый простой способ сменить язык — командой
Откройте меню пуск и запустите консоль от имени администратора, нажав на неё правой кнопкой мыши.
ПКМ > Запустить от администратора.
Выполните команду установки русского языка:
Такая же команда, чтобы установить английский язык:
Перезайдите на сервер, чтобы применить изменения. Готово.
Как сменить язык Windows Server через панель управления
Если вы решили выбрать способ без кодинга.
Нажмите на кнопку Пуск и начните набирать слово «Язык» или «Language». Затем, выберите пункт Языка из панели управления.
Выберите появившийся пункт меню Language.
В диспетчере языков выберите нужный вам язык. К примеру, русский. Нажмите на поле «Options».
Перейдя в раздел Options, выберите этот языковой пакет как основной, нажав на надпись «Make this primary language»
После этого, перезайдите в систему и перезагрузите сервер.
Добавить еще один язык в систему
Этот способ подойдет, если вам нужен еще один язык, которого в системе нет. Пользоваться этим нужно с осторожностью, не на всех языках мира есть переведенные интерфейсы, поэтому, для многих из них доступны только шрифты и языковые раскладки клавиатур.
Откройте меню пуск, начните набирать «Language» или «Язык»
Перейдя в раздел языков, нажмите на «Добавить язык»
Выберите нужный вам языковой пакет.
Нажмите на «Download and Install Language pack».
После того, как языковой пакет скачается и установится, сделайте его основным, как мы говорили пунктом выше и перезайдите в систему или перезагрузите сервер.
Теперь вы знаете сразу несколько способов, как изменить язык в Windows Server.
Русификация Windows Server (2008 — 2012 — 2016 — 2019)
Руссификация Windows Server 2008
Для Windows Server 2008, отсутствует официальный дистрибутив на русском языке. Поэтому, чтобы русифицировать установленную систему, потребуется выполнить несколько шагов:
1. Подключиться к серверу, по RDP или при помощи VNC клиента.
2. Перейти на сайт Microsoft (желательно это сделать одним из современных браузеров Chrome или Firefox, предварительно установив их) и выполнить загрузку пакета обновления KB2483139 http://www.microsoft.com/ru-ru/download/details.aspx?id=2634
3. После этого запустить данный пакет обновления и он автоматически начнёт устанавливаться.
4. После того как пакет будет установлен, нужно перейти в “Control panel” => “Region and Language” вкладка “Keyboard and Languages” и в пункте “Choose a display language” выбрать русский.
5. После этого разлогиньтесь из системы и войдите снова, чтобы изменения вступили в силу.
На этом русификацию Windows 2008 можно считать выполненной.
Русификация Windows Server 2012 и Windows Server 2016
После установки Windows Server 2012 или Windows Server 2016, в системе может быть установлен только один языковой пакет (чаще всего это английский). Ниже мы рассмотрим как установить русский языковой пакет для Windows Server 2012, аналогичным образом устанавливается и для Windows Server 2016.
1. Подключиться к серверу, по RDP или при помощи VNC клиента.
2. Перейти в “Control panel” (правая кнопка мыши на меню Пуск).
Далее “Clock, Language, and Region” => “Add language”.
Нажимаем кнопку “Add a language”.
В появившимся списке выбираем русский и нажимаем “Add”.
Русский язык появляется в списке доступных языковых пакетов. Для того, чтобы полностью установить данный пакет, нажимаем “Options”.
Далее “Download and install language pack”.
Начинается загрузка и установка языкового пакета.
3. После того как установка завершится, снова заходим в “Option” и назначаем установленный русский язык по умолчанию.
4. После применения данного пакета, будет предложено разлогиниться, но лучше пока этого не делать, чтобы сразу применить все нужные языковые настройки.
5. Теперь нам нужно изменить региональные настройки, для этого снова переходим в “Control panel” => “Change date, time, or number formats”.
Во вкладке “Formats”, можно ничего не менять, здесь уже установлен язык по умолчанию, который в нашем случае уже русский.
Далее во вкладке “Location”, меняем с “United States” на “Russia”
Во вкладке “Administrative”, “Change system locale…” меняем на “Russian (Russia)”.
После того как нажмете кнопку “OK”, чтобы применить настройки, система запросит перезагрузку.
Выполняем перезагрузку и при следующем входе в систему, мы получаем полностью русифицированный Windows 2012.
Русификация Windows Server 2019
Windows Server 2019, на данный момент является последней версией серверной операционной системы компании Microsoft и для её русификации, нам потребуется выполнить следующие действия:
1. Подключиться к серверу, по RDP или при помощи VNC клиента.
2. Нажать кнопку Пуск и перейти в “Settings”.
3. Перейти в пункт меню “Time & Language”, затем вкладка “Language” и “Add language”.
И из появившегося списка, выбираем язык “Russian”.
Затем мастер установки, попросит выбрать компоненты которые нужно установить, оставляем всё по умолчанию.
Устанавливаем пакет и он появляется в списке выбора языков. Нажимаем “Options”
Если при переходе в опции и попытке загрузки нужных пакетов, появляется ошибка: 0x00F0950
Переходим в меню “Settings” далее “Update & Security”.
Затем вкладка “Windows Update” и проверяем доступные обновления — “Check for updates”.
Устанавливаем все доступные обновления, в том числе и обновление KB4476976, которое лечит данную проблему. После установки обновления будет запрошен перезапуск сервера и как система загрузится — продолжаем установку языкового пакета.
4. После того, как языковой пакет установлен, переходим к настройке региональных параметров и языка по умолчанию в системе.
В “Language” => “Windows display language”, выбираем русский язык.
Вкладка “Region”, в меня “Country or region”, выбираем “Russia” и в “Current format: Russian (Russia)”.
В “Related settings”, можно задать дополнительные региональные стандарты.
Пункт “Region”, вкладка “Administrative” и “Change system locale”, выбираем “Current system locale: Russian”.
На запрос о перезагрузке системы, отвечаем положительно.
После перезагрузки, получаем полностью русифицированную систему Windows Server 2019.
Как добавить русский язык в Windows Server 2019
По умолчанию в операционной системе Windows Server установлен английский язык интерфейса. Это удобно не всем. Чтобы изменить язык, к примеру, на русский, для версий 2012/2016 года необходимо добавить язык в настройках и загрузить нужный языковой пакет. С версией 2019 года дело обстоит немного иначе.
Сперва следует подготовить систему к работе с другим языком, выбрав один из трёх способов, и только после этого переходить к настройкам. Первый способ — лёгкий, но долгий. После подключения к серверу потребуется установить все доступные обновления. Второй способ предполагает установку только одного пакета обновления вручную. И третий, самый сложный, включает скачивание ISO-образа и добавление языкового пакета вручную. Его выбирают в том случае, если по каким-либо причинам не сработали первые два способа. Далее пошагово расскажем о том, как это сделать.
1.Подключитесь к серверу по RDP
Прежде чем производить настройки, необходимо подключиться к серверу.
Если не знаете как — вам поможет наша статья.
2.Подготовьте систему к работе с другим языком, выбрав один из трех способов
1 способ: Установите все обновления ОС
Выберите раздел «Up & Security».
Нажмите «Check for ups».
Запустится поиск и установка всех доступных обновлений системы, дождитесь завершения процесса, после будет предложено перезагрузить систему, нажмите «Restart now».
Повторите действия a, b, с несколько раз, пока не увидите после нажатия «Check for ups» текст «You’re up to ».
Все доступные обновления системы установлены, можно переходить к последнему шагу и сменить язык ОС.
2 способ: Установите пакет обновления KB4476976 вручную
Откройте ссылку в браузере на сервере и скачайте «2019-01 Cumulative Up for Windows Server 2019 for x64-based Systems (KB4476976)»
Нажмите «Open», после скачивания автоматически запустится установщик, нажмите «Yes» для продолжения установки.
Когда закончится установка, увидите сообщение «Installation complete» и появится кнопка «Restart now», нажмите ее для перезагрузки.
После перезагрузки смените язык ОС.
3 способ: скачайте ISO-образ и вручную добавьте языковой пакет
В данном браузере по умолчанию включен «Усиленный режим», поэтому без дополнительной настройки скачать iso-образ не выйдет. Далее разберемся, как изменить настройки, чтобы все получилось. Если используете другой браузер, можете сразу переходить к пункту b.
Откройте браузер, нажмите иконку шестеренки и в появившемся меню выберите «Internet options».
Перейдите на вкладку «Security».
Выберите пункт «Trusted sites» и нажмите «Sites».
В поле «Add this website to the zone» введите https://*.microsoft.com и нажмите «Add».
Закройте активные окна настроек.
Откройте ссылку в браузере на сервере и скачайте ISO-образ.
Откройте папку с образом (по-умолчанию Downloads), нажмите на файл образа правой кнопкой мыши, выберите «Mount».
Нажмите правой кнопкой мыши на меню пуск и нажмите «Run». Или можете использовать сочетание клавиш Win+R.
Введите в окне запуска приложений строку lpksetup и нажмите «OK».
Откроется меню установки языковых пакетов. Нажмите «Install display language».
Нажмите «Browse» и выберите «DVD Drive …» (смонтированный ранее диск) — «x64» — «langpacks». Нажмите «OK».
Подождите загрузки данных, найдите в списке и выберите «Russian (русский)». Нажмите «Next».
Для продолжения необходимо принять лицензионное соглашение.
После установки смените язык ОС.
3. Измените настройки языка и установите нужный язык
Выберите раздел « & Language».
В левом столбце нажмите на строку «Language».
Нажмите «Add a language».
Откроется список доступных языков. Выберите «Русский» и нажмите «Next».
Проверьте наличие пункта «Install language pack and set as my Windows display language» и установленную у него галочку выбора. Нажмите «Install».
Если данного пункта нет, это может означать, что первые два шага были выполнены с ошибками (или были выполнены некорректно). Попробуйте воспользоваться другим способом (описаны выше в данной статье) или напишите запрос в службу поддержки, наши специалисты помогут решить проблему.
Дождитесь окончания установки.
Приложения на русском языке, не использующие Unicode кодировку, могут работать некорректно, пример:
Чтобы данной проблемы не возникало, откройте меню «Пуск» и перейдите в панель управления.
Перейдите на вкладку «Administrative».
Нажмите «Change system locale».
Выберите «Russian (Russia)» и нажмите «OK».
Откроется окно с предложением перезагрузить ОС, нажмите «Restart now».
После перезагрузки интерфейс будет на русском.
Как установить русский язык в Windows Server 2019
Добрый день! Уважаемые читатели и гости крупного IT блога России Pyatilistnik.org. В прошлый раз я вам показал решение проблемы, когда диск защищен от записи и вы не можете его отформатировать. Сегодня мы переключимся от темы утилит и рассмотрим вопрос по русификации Windows Server 2019. Данная серверная операционная система на текущий момент флагманская у Microsoft и думаю многие столкнуться с данной задачей, так что приступаем. Подразумевается, что у вас уже установлена Windows 2019.
Причина русификации Windows Server 2019
Русификация — это локализация операционной системы на родной язык пользователя. Из основных моментов, которые могут у человека решившего это выполнить можно выделить:
Как сделать русский интерфейс в Windows Server 2019
Как и в предыдущих версиях операционной системы, будь то клиентская или серверная версия, компания Micriosoft для установки русского языка (Локализация) предоставляет два варианта:
Локализация Windows Server 2019 через установку пакета KB
Данный метод установки русского языка, на мой взгляд самый простой и подойдет самым ленивым администраторам, особенно у тех у кого в компании есть WSUS-сервер, позволяющий его адрес закинуть в политику и распространить ее на нужные сервера. И так нам нужно попасть в языковые настройки системы. Сделать, это можно очень просто, открыв кнопку пуск и кликнув по шестеренке «Settings», либо нажав полезную комбинацию клавиш WIN и I.
В результате у вас откроется со всеми настройками в системе (Windows Settings). Вам необходимо найти пункт «Время и язык ( & language)»
Переходим в пункт «Язык (Language)». Тут у вас будет список установленных языков в системе. Так как у меня это английская версия, то и есть только он. Чтобы добавить в меню выбора еще и русский язык, вам необходимо нажать соответствующую кнопку «Add a language». Именно она позволит выбрать дополнительные языковые пакеты.
У вас откроется окно выбора пакетов «Choose a language to install». Хочу отметить, что языков и диалектов очень много, поэтому советую в поисковой строке в самом верху вбить аббревиатуру RUS, вы сразу найдете пакет русской локализации. Нажимаем «Next».
Для продолжения установки нажмите кнопку «Install».
В итоге на окне выбора языков, у вас появится русский пакет.
Удостоверьтесь, что у вас установлены все компоненты языкового пакета. В некоторых случаях может возникать ошибка «Error code: 0x0».
Или ошибку 0x00F0950, если она у вас появилась, то вам нужно приступать ко второму методу, так как это недоработка Microsoft, о которой они пишут вот тут (https://support.microsoft.com/ru-ru/help/4466511/cannot-configure-language-pack-for-windows-server-2019).
Далее вам нужно сделать русский язык по умолчанию, для этого выберите его и стрелкой переместите вверх. Переходим в пункт «Регион (Region)». Тут выставите в:
Убедитесь, что на вкладке «Formats» установлен русский формат. На вкладке «Administrative» нажмите кнопку «Copy settings». Поставьте в самом низу две галки:
Следующим шагом нажмите кнопку «Change system locate» и выставите там Russian (Russia), после чего перезагрузите сервер.
В итоге мы получили русский интерфейс в Windows Server 2019.
Как установить русский язык через lpksetup.exe
Если вы в окне параметры Windows получили ошибку установки русского языка с кодом 0x00F0950, то вам для русификации Windows Server 2019 нужно воспользоваться ISO образом Language pack.
Если посмотреть содержимое диска Language pack Windows Server 2019, то вы там обнаружите список пакетов Microsoft-Windows-Server-Language-Pack_x64_ru-ru.lp.
Что нам нужно выполнить для локализации сервера. Откройте cmd от имени администратора и введите команду lpksetup.exe. У вас появится окно мастера установки других языков «Choose to install or uninstall display languages». Тут можно как установить, так и удалить лишний язык. Выбираем пункт «Install display languages».
Через кнопку «Browse» выберите ваш пакет Microsoft-Windows-Server-Language-Pack_x64_ru-ru.
Видим, что выбран русский язык, размером 244 МБ. Нажимаем «Next».
Принимаем лицензионное соглашение. оставляем выбор на «I accept the license terms» и нажимаем next.
Начнется процесс установки русского MUI пакета на вашу Windows Server 2019. Сама русификация занимает минуты 3-4.
Дожидаемся окончания установки языкового пакета и нажимаем кнопку «Close»
Какой серверный язык выбрать…мобильному разработчику
Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется.
Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шляпку буквы T в модели T-shape. Вот, например, познакомиться с серверными языками чуть глубже, чем: «Я слышал, что Ruby умер». И чуть шире — то есть не только с популярными, но и из вторых рядов и даже андеграундными.
Чтобы и вы прониклись идеей ductory-трека, записали интервью с Никитой Соболевым. Собирались говорить о языках программирования, а получилось о программистах. Заходите под кат, если считаете, что лучше быть просто хорошим разработчиком, а не Android- или iOS-разработчиком, а особенно, если не согласны с этим. Пятница — самое время поспорить.
— Как тебе идея целого трека обзорных докладов по разным технологиям от бэкенда до фронтенда на конференции по мобильной разработке, который мы назвали ductory?
Никита Соболев CTO в wemake.services, автор методологии Repeatable Software Development Process, организатор ElixirLangMoscow, член программного комитета Moscow Python Conf++, частый спикер на IT-конференциях и борец за качество кода.
На мой взгляд, это лучший трек на мобильной конференции.
Мне вообще очень не нравится идея узких специалистов. Мне гораздо ближе идея T-shape person — то есть человека, хорошо разбирающегося в чем-то одном, но при этом с широким горизонтом понимания проблем в предметной области.
К сожалению, мне кажется, что мобильные разработчики в этом смысле сами по себе. Дело усугубляется еще тем, что они очень сильно зависят от вендора. Грубо говоря, закроется Apple — они уйдут на мороз.
Поэтому мне очень нравится идея ductory-трека и то, что гостям конференции предлагают посмотреть вокруг, узнать, что есть у других, перенять их опыт и улучшить себя как специалиста в плане широты взглядов.
— Для каких еще конференций актуальна эта идея?
Для очень многих. У меня под рукой пример Python. В прошлый раз мы пригласили специалистов по Go, Elixir и Julia. В этом году я хочу пригласить фронтендера и хаскелиста (кстати, Call for Papers уже открыт). Потому что Python-разработчики тоже разные, многие из них работают как full-stack, им тоже полезно нагребать знания со стороны.
— Как думаешь, мобильные разработчики стали охотнее смотреть по сторонам, потому что это стало необходимо для профессионального развития, или так всегда и было, просто сообщество созрело?
Мне трудно точно судить, последний раз я писал мобильное приложение в 2010 году. Мой основной язык тогда был Java, я взял Objective-C и написал приложение для iOS. Был воодушевлен, думал, сейчас стану всем этим заниматься. Но нет: управления памятью не было, никаких библиотек не было, управления зависимостями не было, система сборки была отвратительная. С тех пор в эту сферу я внимательно не смотрел.
А сейчас я вижу несколько трендов, которые естественно привлекают мобильщиков к «серьезному программированию».
Раньше в данной сфере языки были сугубо специализированными. Objective-C был только для разработки под Apple. А сейчас, например, Swift пытаются вытащить на сервер и на нем что-то делать. Java для бэкенда и для Android — были двумя разными языками. А сейчас Kotlin более или менее похож и для того, и для другого. JavaScript появился в мире разработки мобильных приложений, а это какой-никакой серверный язык, и в это же время язык для фронтенда.
Появляется единая инфраструктура, которая начинает людей интересовать. Если раньше (в моем случае это 2010 год) мобильная разработка была совсем в отрыве, то сейчас все по-другому.
Причем сближение идет в обе стороны. Более плотная интеграция платформ дает людям возможность и необходимость за этой интеграцией следить.
— Но если интеграция сама идет к мобильному разработчику, зачем ему разбираться в языках для бэкенда?
У меня есть философский ответ на этот вопрос.
Если хочешь быть Android-разработчиком, то разбираться в бэкенде, наверное, не надо. А если хочешь быть просто разработчиком — конечно, надо.
Разработчик — это тот, кто решает проблемы из реального мира при помощи кода. Соответственно, решения могут возникнуть везде, в том числе в мобильном приложении, на сервере, на фронтенде. Хороший разработчик может решить в принципе любую проблему реального мира, с помощью инструментов разработки.
Понятно, что есть вход в каждый из этих инструментов, наработка практики и прочее, но жесткая фиксация на одной технологии, на мой взгляд, губительна для индивида, который этим занимается.
Как минимум технологии устаревают. Языки, которые были популярны 15 лет назад, сейчас практически не используются. Навык постоянно развиваться и учиться новому, смотреть на соседей, критично важен для любого разработчика. В частности, важно разбираться в бэкенде, потому что бэкенд фундаментален для всей разработки, сегодня все как-то да общается с сервером.
Кроме того, наверняка, мобильщикам бывает некомфортно с другими разработчиками, которые легче находят общий язык. Фронтендер и бэкендер все равно ближе, чем разработчик мобильных приложений к любому из них. Мой доклад поможет в некоторой степени закрыть проблему человеческого общения, помочь интегрироваться.
Насколько глубоко или поверхностно надо разобраться, другой вопрос. Особенно, если мы говорим о мобильном разработчике, которому, как ни крути, надо глубоко копать в свою область.
Я за то, что нужно активно смотреть по сторонам и в прошлое. Важно изучать историю программного обеспечения и программирования. Если не знаешь историю, то будешь заново изобретать очень многие вещи, которые уже придумали и от которых отказались по вполне объективным причинам. Я веду telegram-канал, где делюсь ссылками на классные open source проекты без привязки к языку, стараюсь выделить важные идеи.
— Разработчику мобильных приложений достаточно общих представлений или нет?
Зависит, прежде всего, от окружающей среды. Если у человека есть потребность напрямую влиять на бэкенд в своей компании: ставить им более правильные задачи, участвовать в процессе, возможно, управлять этими людьми, то придется разобраться глубоко.
Но если ты занимаешься только мобильной разработкой, то достаточно иметь поверхностное представление, что там вообще происходит, какие есть языки, проблемы, популярные решения. На таких людей и рассчитан мой доклад на Saint AppsConf. Естественно, за один доклад глубокое представление невозможно дать.
— Что еще нужно разработчику, чтобы быть классным разработчиком?
Этих навыков, мне кажется, достаточно. Все остальное либо можно вывести из этих, либо отбросить.
— То есть ты считаешь, что надо разбираться в предметной области?
Ограниченно, конечно, но надо. Например у нас одновременно есть 3-4 проекта, я, естественно, не разбираюсь в них всех идеально, но понимаю базовые концепции, с которыми работаю. Как они взаимосвязаны между собой, как они влияют на деньги, где расход, где приход, зачем все это надо бизнесу.
И другим разработчикам тоже советую. В нашей компании для них мы составляем документацию, как работает бизнес, какие проблемы мы решаем, почему это нельзя решить руками. Иногда нанять человека, чтобы он один раз, например, перебрал справочник товаров, дешевле. Если же мы автоматизируем процесс, нужно понимать, зачем.
— Давай разберем на примере. Если ты пишешь сервис доставки для пекарни, ты должен разбираться в том, как работает доставка, но не обязан разбираться в видах булочек, которые печет эта пекарня?
И в некоторых видах булочек тоже. Потому что некоторые булочки могут храниться час, а какие-то два дня. Соответственно их доставка будет отличаться.
— В своем докладе ты обещаешь рассмотреть сразу несколько популярных языков, несколько языков из вторых рядов и несколько языков из глубокого underground. Что это будут за языки?
Я не возьму те языки, которые слушатели конференции и так могут знать: Kotlin, Java, JavaScript. Бессмысленно о них рассказывать, если большая часть аудитории и так с ними знакома. Я решил рассказать о языках, которые люди гарантированно не знают, потому что мобильные приложения на них совсем не пишут. Выбирать и так есть из чего.
Я в принципе люблю языки программирования. Без конкретной задачи. Мне нравится язык программирования как идея. Какие-то люди подумали: «Есть вот такой набор проблем, их можно объединить и решить все разом. Сделаем для этого язык». Он будет решать определенный список проблем. А другой язык будет решать другие проблемы, потому что обычно все проблемы разом не решить.
Мне очень нравится смотреть за тем, какие проблемы каждый язык решает и зачем это может быть нужно на практике. Сам язык становится для меня объектом интеллектуального искусства. Большое количество людей работали, думали, проектировали, оптимизировали. Это очень интересно, поэтому я слежу за многими языками программирования.
Те языки, которые я выбрал для доклада, обладают несколькими интересными характеристиками. Во-первых, они спорные. Ни один из них это не язык, который ультимативно хорош во всем в сознании сообщества.
Все знают, что Python медленный, но это все равно самый популярный язык, он используется повсеместно. Я постараюсь объяснить, почему он используется.
А если говорить о Ruby, первое, что скажут люди, — Ruby умер. А на самом деле разработчики Ruby сейчас больше, чем в каком-либо другом языке, заморачиваются с архитектурой и внедряют огромное количество идей из других языков — функциональных, объектно-ориентированных и делают из этого что-то очень интересное.
Если говорить о Go, то у Go очень узкая сфера применимости, но на волне хайпа на нем начали писать вообще все.
Каждый из языков, которые я выбрал, для того чтобы представить во время выступления, обладает каким-то конфликтом.
Как персонаж хорошей истории. И суть конфликта в том, что какие-то вещи работают хорошо, а какие-то нет. Этот конфликт и будет во главе доклада.
— Ты считаешь, что нужно выбирать свой язык под каждую задачу, проект?
Это хорошая идея, но она не работает на практике. Ровно по тому, с чего мы начали. Есть Android-программисты, есть Python-программисты, которые, когда им показываешь код на Ruby, который ну то же самое, только в профиль, говорят: «Ой нет, все непонятно, не хочу разбираться».
Конечно, хотелось бы, чтобы люди были более универсальны и могли выбирать инструмент под задачу, но получается, что люди знают что-то одно и берут этот инструмент всегда.
Сюда же добавляется фактор найма. Например, в нашей компании мы могли бы не выбирать из TypeScript и Python. Но, если мне понадобится нанять Elixir-разработчика, я буду искать его всю жизнь. Я знаю таких разработчиков, но их не то чтобы много, и не то чтобы я смогу их быстро к себе переманить. Поэтому приходится умерить амбиции и подстраиваться под рынок и под заказчиков, которые тоже в соответствии с рынком имеют ограниченный стек.
— Ты обещаешь субъективный взгляд чуть ли не на 10 совсем разных языков. Ты правда с ними со всеми близко знаком, что-то писал на них всех?
С каждым по-разному, но, конечно, я всех их пробовал хоть в какой-то степени.
Например, на Rust я пишу open source, а на pony я написал 15 строчек кода, прочитал туториал, восхитился, и теперь хочу показать участникам конференции. Чтобы они тоже прониклись идеей.
— Очевидно, за один доклад ты не сможешь дать полной картины и понимания каждого языка. Почему людям стоит пойти на твой доклад, а не погуглить?
Причина в том, что когда тебе рассказывает живой человек, это совсем другое. Доклад в какой-то степени — это всегда шоу. Когда люди приходят на шоу они получают не только контент, но и эмоции. Когда гуглишь, получаешь только контент. Если он тебе интересен, ты и так погуглишь. А формат выступления живого человек позволяет популярно и легко получить интересные знания.
— Что будет главным элементов твоего «шоу»?
Языков много, они все классные, но писать не на чем.
Есть много популярных языков для решения своих бизнес-задач: найм, заказчики, библиотеки. Но все они стали популярными не просто так. Как правило, основная причина в том, что они очень простые. В их основе простые концепции, на которых легко начать, но тяжело продолжать.
Есть нишевые языки, и вот там уже появляются очень интересные сложные концепции, на которых можно построить что-то большое и надежное: Rust с его прекрасным компилятором, Elixir с его абсолютно бронебойной виртуальной машиной, Haskell с его системой типов и т.д. Но они не могут стать популярными как раз из-за высокого порога входа.
Большинство разработчиков, которые хотят чему-то научиться, берут популярные языки и на них пишут. И вопроса, зачем может быть нужно что-то еще, не возникает, потому что в тех проектах, с которыми они работают, и не требуется ничего более сложного.
Для разработчика очень важно понимать ограничение инструмента.
Чтобы понять ограничение, нужно упереться в него лбом, повоевать с проблемой, а потом отойти назад и на это большое посмотреть издалека. Только в докладах людей, которые очень много лет с чем-то работали, это и проявляется. А я хорошо знаком с этими людьми, накопил разные случаи и знаю, где во что можно упереться. И смогу обобщить свой опыт и опыт других людей.
— Написать «Hello world» на Haskell уже большой подвиг, но этого недостаточно?
Да, нужно повариться в сообществе функциональщиков. Послушать, какие проблемы они решают, какие доклады они делают — так можно понять срез.
Например, в сообществе хаскелистов очень остро стоит проблема входа. Они до сих пор не могут ее решить и сделать свой язык дружелюбнее к новичкам. Исторически сложилось, что в Haskell используется совсем другой синтаксис и совсем другие правила, просто чтобы хоть что-то написать. Даже опытному разработчику сначала будет совсем непонятно, что происходит в этом коде.
И дело не только в функциональном программировании. Если начинать знакомство с функциональщиной с Elixir, то будет гораздо проще. Elixir по синтаксису очень похож на Ruby. На первых порах будет не видно разницы, можно писать так же как и на Ruby. А только потом станет понятно, что это функциональный язык. Ты этого не замечаешь до какого-то момента, а потом открываешь для себя дополнительные возможности. Понимаешь, что на самом деле он строится на совершенно других принципах. Зная эту базу, становится легко перейти на менее дружелюбный функциональный язык.
— Кроме популярных языков и языков, как ты говоришь, вторых рядов, который хотя бы в какой-то степени на слуху, ты собираешься представить и совсем неизвестные. Например, что это за pony?
Pony is an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language. То есть строготипизированный, памятибезопасный (memory safe), акторный язык. Он очень молодой и очень интересный.
Его разработчики создают язык, где ты можешь создавать очень большое количество акторов, как в Elixir, но эти акторы гарантировано типобезопасные. Границы применимости этого языка еще совсем непонятны. Но я бы сказал, что он может ударить по Go, а я активно поддерживаю все, что может ударить по Go.
— Если все языки имеют недостатки и ограничения, как быть? Что с этим делать?
Страдать. И продолжать искать техническое совершенство. Это недостижимая мечта любого инженера, но процесс поиска этого совершенства — это отличная цель.
Saint AppsConf через 10 дней. Программный комитет отобрал 35 докладов и 12 митапов, среди которых каждый мобильный разработчик найдет идеи полезные для решения ежедневных задач и для своего профессионального и личного развития. Встретимся 21 и 22 октября в Санкт-Петербурге!
Бонусный вопрос для тех, кто хочет поделиться опытом, но почему-то еще не стал спикером. Ты часто выступаешь, зачем тебе это и что мотивирует?
У меня есть три цели:
Спикер на конференции может влиять на индустрию через аудиторию. Он с трибуны может доказать свою точку зрения и мотивировать людей на изменения.