pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Какие проблемы с питоном есть в Яндексе?

Лучший ответ: Могу предположить, что проблемы с программистами, т.к. у каждого языка/технологии есть свои плюсы и минусы и каждый язык/технологию нужно использовать для своей задачи. А если использовать для решения задач плохо подходящие технологии, то возникает "целый список проблем".

Худший ответ: Ну, если взять репутацию обоих компаний, то проблемы должны быть у Java.
Яндекс тесно сотрудничает с Высшей Школой Экономики (ФКН), где они уже несколько лет учат кодить студентов на питоне и на крестах. Были бы проблемы - кому бы оно было нужно, плодить кодеров на плохих технологиях?
не забывайте, что это конкуренты.
Вопрос: Две версии сайта. Первая — для пользователя, вторая — для разработчиков. Возможно ли это?

Лучший ответ: Обычно поднимают дев-версию на отдельном домене без костылей типа хитрых флагов. Дев-версия скрывается от поисковиков, БД используется урезанная без деликатных данных на случай чего. Дев-версия, понятное дело, в отдельной git-ветке. И есть, наверное, тыща способов деплоя этого добра на сервера.

Худший ответ: Мы так делали на уровне nginx, если есть админская кука, то root ведет в другое место
Вопрос: Реально ли устроиться Junior C++ Программистом не имея профильного образования\сертификатов?

Лучший ответ: Прохождение учебника может почти ничего не значить - делайте свои проекты, это может стать существенно более значимым толчком в развитии.
Хотите узнать возьмут ли вас джуном, это же элементарно проверить: делаете резюме и идете на агрегаторы вакансий, смотрите на спрос. Если добьетесь собеседования - уже здорово. Там вы либо найдете работу, либо получите тот самый фидбек который ждете. Поймете что надо подтянуть и свой уровень в целом.
Если никто не пишет / не отвечает - значит резюме не достаточно впечатляющее или просто нет вакансий.
Есть мнение, что работодателей интересует в основном коммерческий опыт: если не получилось найти работу - попробуйте найти практику, стажировку (не курсы, а именно стажировку), может быть можете написать что-то для каких-то знакомых на крайний случай.

Худший ответ: Сложно, т.к. в С++ довольно высокий порог входа. Соответственно требования к Джуну будут высокие.
Но опять же во многом по ситуации. Если совсем "за еду", то найти можно.
Вопрос: Как безопасно сохранить пароль в Android-приложении при его сборке?

Лучший ответ: Никак. Это неверный подход в принципе. При желании найти ваш ключ проблемой не будет.
Один дропбокс для пользователей? СЕРЬЕЗНО?! С режимом чтения-записи для всех? Вы там что, БД хранить собрались?

Худший ответ: Один на всех - очень, очень плохая идея! Посмотрите лучше в стороноу Dropbox API (если они есть, я хз). Пусть каждый хранит свои файлы у себя в аккаунте, а при установке приложения логинится туда самостоятельно. 
Еще раз повторюсь: очень плохая идея! Даже если вы зашьете его незаметно в KeyStore, то есть риск что его все равно получат: https://habrahabr.ru/post/169717/
Вопрос: Как сделать iPhone адаптивным?

Лучший ответ: Мы, конечно, по коду сразу разберём контекст и точно поймём, как на вашем браузере и на вашем компьютере выглядит ваш сайт. Есть проблема - сымитируйте её в codepen, и только потом отправляйте на тостер.

Худший ответ: в стиле .iphone-imgmax-height: 920px
  max-width: 650px
пробовал это убрать?
Вопрос: Какой размер RAM нужен для комфортной работы в Android Studio с параллельно запущенным браузером?

Лучший ответ: От 8.
А далее - смотря что делать.

Худший ответ: Не работал с  Android Studio и не знаю его требований к памяти, но это нетрудно замерить.
В данный момент времени для комфортной работы с браузером нужно 8гб. 
Если кроме браузера будет еще что-то активно использующее оперативную память, надо больше.
Насколько больше - посмотрите какой объем памяти занимает ваша студия, и все связанные с ней процессы.
В общем я бы посоветовал не меньше 16.
Вопрос: Как эффективно учить 2 языка программирования?

Лучший ответ: Языки нужно не учить а работать - тупое заучивание ничем хорошим не кончится. Опыт роляет.
Ну и точно не два одновременно - если опыта с другими языками ноль.

Худший ответ: Я думаю, что на js для фронтенда заучивать слишком сильно не стоит, а оучше брать либо фреймворк angularjs, либо библиотеку jQuery. На ванильном js долго сидеть не стоит.
И вообще стоит с php начинать. А так, если опыта с другими языками для веба нет, то это нереально.
Вопрос: Почему cms на python не такие популярные?

Лучший ответ: А зачем пайтон, если есть PHP? В мире PHP 4 да, было ужасно, страшно даже представить. Но в мире PHP 7... и Вордпресс, опять-таки. Назовите CMS на питоне для маленьких и средних сайтов, которая побила бы Вордпресс. Но таких просто не существует.

Худший ответ: Вот полностью согласен с @immaculate. 
Написал домашний сойтик для погоды/учета траффика буквально за день, совершенно не зная РНР(лукавлю), а для интеграции страницы на python с динамикой для сбора лучщего с башорг, были зверские  "танцы с бубном". 
Хехе, страница работает прекрасно, но. Но без русского языка - на транслите. Но это уже не по теме.
Вопрос: Это разрабы Git Extensions забыли убрать или прикололись?

Лучший ответ: Скорее всего это gravatar.

Худший ответ: Многие плагины аватарок берут их с gravatar.
При этом можно задать различное поведение если аватар не найден.Пример с аватаром:www.gravatar.com/avatar/e04b917688150b06d8e9b92a75...Пример без аватара:
www.gravatar.com/avatar/ce25d3e993b74f0b6b59b14a56...
(в качестве хеша используется md5( strtolower( trim( $email ) ) ))
Статья в блоге https://blog.gravatar.com/2008/04/22/identicons-mo...
Не буду 100% утверждать что тут именно gravatar, но в целом это не баг, это фича ©
Вопрос: Вопрос к опытным админам. Где набраться достаточно опыта в кратчайшие сроки?

Лучший ответ: "Кратчайшие сроки" и "научиться администрировать линукс, mysql, pgsql и телефонию" - взаимоисключающие параграфы. Кроме того, "достаточно опыта" не говорит ни о чем, так что ваш вопрос - это не вопрос а вопль в небо, и все вам скажут "читайте документацию, пользуйтесь гуглом" по каждой проблеме.
А по-нормальному, на месте уже должен быть уже опытный человек, которому вы помогаете. Это будет самое быстрое, поскольку "научиться администрировать Линукс" и "научиться поддерживать Линукс в конкретной конторе с конкретной инфраструктурой" - разные вещи.

Худший ответ: С учётом того, что по Postgres'у я уже не первый год возвращаюсь к чтению его документации - думаю, что "самоучителя" вменяемого, вряд ли найти удастся. Или это будет книга просто феерического объёма.
По MySQL - в своё время мне понравилась книга, автор (или соавтор) которой является некто "Кузнецов". Неплохая довольно книга была, на мой взгляд. Но, тут стоит сделать поправку - что это книга скорее про SQL-возможности базы, нежели про её глубокий анализ, тонкую настройку и т.д.
Общая теория реляционных БД - на эту тему, я думаю, Вы без проблем книги найдете.
Телефония - вообще плохо знаком с темой и особо не интересовался, пропущу.
Администрирование Linux - очень мало вероятно, что Вы найдете что-то полноценное. Во первых, по тому, что эта тема тянет за собой целую цепочку буквально всего, от сети и сетевых протоколов заканчивая механизмами ядра. Linux - это не только несколько штук/десятков/сотен/... команд в командной строке, это буквально всё, от установки софта и настройки веб-сервера до леший ещё знает чего. Вы легко найдете интересующий по какой-то конкретной теме, например, по работе с командной строкой, или по настройке того же веб-сервера, или по настройке iptables например. Но с учётом того, что по одному только iptables уже написана не одна книга (это же относится к командной строке, текстовому редактору vi и т.д., по всем этим темам есть как минимум одна книга посвященная только ей), представьте себе объём информации по теме "администрирование".
Вопрос: Как в ubuntu терминале скрыть имя пользователя и компьютера?

Лучший ответ: Попробуй в файле .bashrc вместо них поставить пустую строку ""
https://blablacode.ru/linux/21

Худший ответ: zsh погугли
Вопрос: Как обновить Node.js в Ubuntu?

Лучший ответ: Два варианта 
https://nodejs.org/uk/download/package-manager/#de...
https://github.com/creationix/nvm

Худший ответ: npm install -g @angular/cli
Вы пытаетесь ангуляр глобально поставить, но без нужных прав. Используйте sudo, когда есть параметр "-g"
Вопрос: Как лучше сделать 3D модель?

Лучший ответ: Со стороны редактора - как вам удобнее, так и делайте. Со стороны движка есть разница в производительности и скорости интеграции. Если моделька цельная, то и в видеокарту она отправится целиком, если она разбита на куски, то каждый кусок будет рисоваться отдельной операцией. Если кусочки достаточно маленького размера, то есть шанс, что их склеит динамическим батчингом, но тогда встаёт вопрос, а на кой чёрт было разбивать модельку на куски, чтобы потом тратить время процессора на склейку обратно. Помимо производительности нужно ещё помнить про стоимость интеграции моделек в движок, если в модельке сто кусочков и сто материалов, то настраивать её внешний вид будет гораздо сложнее, чем один кусок с одним материалом. В целом, если со стороны движка не нужны отдельные подвижные части, то и не надо их экспортировать, а вот как у вас в редакторе всё будет, это уже от вашего рабочего процесса зависит.

Худший ответ: Я не профессионал, но когда я делал модели и вставлял их в свои проекты, я делил их на несколько. В дальнейшем было удобно заставлять двигаться мелкие объекты. Например, делал самолёт, и шасси сделал отдельно. В итоге смог получить убирающиеся шасси
Вопрос: Возможно ли в django подключать css не через Static?

Лучший ответ: Да.

Худший ответ: Вопрос только зачем.
Когда дойдешь до деплоя на прод сервер прийдется менять все пути ручками, а так поменяешь только путь статики.
Вопрос: Как понять запись в коде JAVA?

Лучший ответ: Почитай о foreach и Iterator

Худший ответ: int[] arr = new int[] { 1, 2, 3, 4, 5 };

for (int value : arr) { // перебор всех значений массива arr начиная с нулевого и до последнего включая
    System.out.print(value); // 12345
}

System.out.println("");

// тоже самое можно переписать так:

for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i]); // 12345
}
Вопрос: C++ std::thread разное поведение на linux и windows, в чем может быть проблема?

Лучший ответ: Разные способ реализации потоков на уровне ОС. Linux - https://en.wikipedia.org/wiki/LinuxThreads, в Windows - https://msdn.microsoft.com/en-us/library/windows/d... Linux потоки сделаны на основе механизма процессов.
Все это легко гуглится, и почему вас вообще это беспокоит? Стандартная библиотека для того и стандартная библиотека чтобы скрывать от вас детали реализации.

Худший ответ: Поток создан, работает буферизация ввода-вывода. Измените строку:std::cout << "\nThread 1(foo())";
наstd::cout << "\nThread 1(foo())" << std::endl;
Вопрос: Как работать с api vk на php?

Лучший ответ: У Вас проблема не с API ВК, а с "echo($result -> response[0] -> likes);"
Вы обращаетесь к объекту, как к массиву(смотрите, как работает функция json_decode).
Определитесь, как работать с $result.
1. Сделать его массивом, тогда: (сделайте print_r($result) и поймете его структуру)$result = json_decode(file_get_contents('https://api.vk.com/method/likes.getList?'. $get_params), true);
echo $result["response"]["count"];
2. Если Вы хотите работать, как с объектом: (сделайте var_dump($result) и поймете его структуру)$result = json_decode(file_get_contents('https://api.vk.com/method/likes.getList?'. $get_params));
echo($result -> response -> count);
3. Посмотрите подробнее на аргументы функции json_decode.
Пользуйтесь print_r/var_dump для дебага и полного вывода переменных, чтобы понимать, что внутри них.
Смотрите логи там бы было написано в чем конкретно ошибка. 
Если на хостинге нет доступа к логам - запустите скрипт локально, в консоли, например. (для windows можно поставить git bash + интерпретатор php и прописать его в PATH)

Худший ответ: А правильные ID?
Просто вот тест:
https://api.vk.com/method/likes.getList?type=post&...
Это вот этот пост:
https://new.vk.com/warm_music?w=wall-26797336_54325
Может Ваш какой-то закрытый?
Вопрос: Почему java не умеет считать?

Лучший ответ: Потому, что int кончился.

Худший ответ: в java тип int вмещает 32 бита. Это от -2147483648 до 2147483647
Вопрос: Есть онлайн ресурсы с уникальным артом?

Лучший ответ: Это называется сдельная работа, вы платите художнику, а он вам рисует и передаёт полные права на этот арт. Как не сложно догадаться, это выходит дороже.

Худший ответ: В переводе на человеческий язык, вы хотите, чтобы кто-то тратил свое время, заморачивался рисованием графики для ещё не сделанной игры с неизвестными заранее требованиями к ней, а потом сидел и ждал, что кто-то вдруг решит написать именно такую игру. А вы, соответственно, потом пришли, выбрали одного из множества таких странных ясновидящих художников, и задним числом наняли его, как фрилансера, по факту уже проделанной им работы. 
Это даже просто в описании похоже на бред.
Вопрос: Как называется плагин для оформления таких цитат в Wordpress?

Лучший ответ: Мой товарищ плагин полезный сделал https://wordpress.org/plugins/art-decoration-shortcode/
Там как раз такие инфоблоки тоже есть

Худший ответ: Здравствуйте. Смотрите инфоблоки бутстрапа. Там такие есть
Вопрос: Как сжимать изображения прямо при загрузке на сервер?

Лучший ответ: На php вызовом внешних утилит. Если без потерь, то самые лучшиеjpegtranpngquant + PNGZopfli (сначала первым, потом вторым)

Худший ответ: чисто теоритически это возможно, особенно с появлением web assembly и возможностью использовать готовые библиотеки для оптимизации графики. Сейчас это весьма затруднительно.
Есть очень простой способ - aws s3 + aws lambda для загрузки файлов и обработке оных по загрузке на сервер.
Вопрос: Можно ли на с++ написать прошивку для микроконтроллера?

Лучший ответ: Ардуинская библиотека - это C++

Худший ответ: Можно. Atmel Studio, например. Но новичку проще начать с Arduino, это не совсем С++, но почти. Так же нужно понимать что микроконтроллеры это программирование только на половину. другая половина это электроника.
Вопрос: Что значит этот значок в AndroidStudio?

Лучший ответ: Это не ошибка в вашем коде. Просто студия не смогла показать превью картинки.

Худший ответ: Наведите мышой на значок, дождитесь тултипа - и узнаете.
Вопрос: Какая теоретическая база нужна, чтобы заняться функциональным программированием на Haskell?

Лучший ответ: Для [Haskell] вроде как нужна большая теоретическая база Это не совсем так. Вот Вы когда сдачу в магазине пересчитываете, Вы вряд ли задумываетесь о том, что множества, используемые Вами для пересчёта мелочи (множество натуральных чисел, целых чисел и т. д.) с заданными на этих множествах операциями (сложение, умножение и т. д.) образуют различные алгебраические структуры (всякие там кольца, полугруппы, поля и прочее). Более того, даже если бы Вы об этом задумывались, это бы ну никак не помогало посчитать сдачу.
С теоретической безой Haskell'а почти также — Haskell активно использует понятия из теории категорий (категории, стрелки, монады, функторы и т. д.), но для использования этих понятий в рамках Haskell достаточно (по крайней мере на первых порах) рассматривать их просто как ФП-паттерны (по аналогии с ООП-паттернами, такими как фасад, синглтон, адаптер и вот это вот всё). Так, монада — просто тип, имеющий определённый набор "методов" (выражаясь в терминах ООП), удовлетворяющих определённым требованиям.
В общем, чтобы начать учить Haskell, ящитаю, особого теоретического бэкграунда не нужно. На первых шагах всё что Вам нужно будет понять — каррирование, ФВП, лямбды, ленивость. Это всё достаточно простые вещи, разжёванные в начале любой книжки по функциональному программированию. Ну а если вдруг, когда Вы столкнётесь с понятием "монада", Вам захочется узнать, что оно значит вне Haskell'а, откуда оно взялось — никто не мешает прочитать статейку/главу книги о ТК когда это понадобиться, не обязательно делать это заранее.

Худший ответ: Ну и если ты привык думать циклами и итерациям, то придется научиться думать рекурсиями.
Вопрос: В pom.xml используют JSTL ${versions.wildfly}?

Лучший ответ: ну, кроч, там же, в помнике, есть секция properties, где можно задать значения и таскать их по всему пому
вот, например<properties>
        <java.version>1.8</java.version>
        <hibernate.version>4.3.5.Final</hibernate.version>
        <log4j.version>2.6</log4j.version>
</properties>
а если, при запуске, я захочу переопределить значение, скажем для log4j.version, то я просто могуmvn clean install -Dlog4j.version=тут новое значение
В статьях такое пишут
${versions.wildfly}
просто потому, что версия не важна и предполагается, что вы используете самую актуальную (ну или самую стабильную версию)
Зачем такое вообще делать?
Предположим, у вас в проекте много зависимостей от одного поставщика
Spring, например. У него там тьма пакетов. При этом, рекомендуется использовать эту тьму всегда одной версии для всех (они их так и релизят)
Если версия задается только в одном месте - легко будет ее переопределить для всего проекта

Худший ответ: Это не JSTL, а Expression Language. И это JSTL его использует.
В приведённом вами примере значение versions.wildfly берётся из одноимённого тега в секции properties.
Объяснений на статью не хватит, EL используется в pom.xml очень ограничено. В документации об этом полстранички.
Вопрос: Как начинать работу над проектом на фрилансе?

Лучший ответ: 1. Обговариваешь ТЗ. Получаешь логины, явка, пароли.
2. Обговариваешь срок, порядок и канал оплаты. Это тоже важно.
3. Поднимаешь копию проекта у себя на хостинге/сервере и т.д. Не рекомендую пользоваться всяческими денверами. Например поведение php под liniux может отличаться от его поведения под windows.
4. Кодишь, кодишь, кодишь.
5. Показываешь заказчику на своем сервере.
6. Получаешь оплату.
7. Переносишь изменения к заказчику. Тут пригодится вышеупомянутый GIT.
Рекомендации:
На рабочем месте лучше держать linux. Во-первых как выше написал родная среда для web-приложений, во-вторых проще будет админить на vps и хостингах. А админить или хотя бы диагностировать проблему приходится часто. Особенно на мелких проектах.
Использовать VCS, например GIT.
Держать несколько каналов для оплаты. Например банковская карта, Яндекс.деньги, Qiwi и Webmoney.
Сразу проработать схемы перевода прибыли в доступные для траты денежные средства.
Не лениться и не бояться.
Все начинали с мелких проектов, всех хоть раз кидали.
Во фрилансе учатся на ошибках. Редко получается учиться по готовым руководствам и боже упаси всяким тренингам и видеокурсам.

Худший ответ: 1. Выбить из клиента задачу. Как можно более подробно.
2. Обратить внимание клиентку на то, что НЕ БУДЕТ выполнено, что НЕ ВХОДИТ в задачу. 
3. Согласовать сумму, сроки, объемы работ, согласовать то, за что отвечаю я, а за что - другие.
4. Работать.
Вопрос: Переход из front-end в back-end?

Лучший ответ: Ну решение за вас никто не примет, но фронтендеру неплохо бы знать как работает бекенд и наоборот. Думаю что 1 язык программирования php или python не станет сильным распылением. Зато вы сможете лучше общаться, ставить задачи, задавать вопросы.
Я как бекендер тоже не собираюсь глубоко разбираться во фронте, но запустить простенькое SPA на React или Vue считаю для себя нужным, поэтому буду копать в этом направлении. Вы просто сразу для себя определите это переход или знакомство ))

Худший ответ: Так есть же Node.js и распыления получится минимум. И async/await из коробки )
Вопрос: Как ввести данные в консольную утилиту из bat скрипта?

Лучший ответ: Может костыльно юзать Кликерман? или AutoIT

Худший ответ: Путь до exe -парметр или /параметр. Если ввод с клавиатуры нужен во время выполнения программы то батником тут не обойтись.
Вопрос: PugJs стоит ли использовать, актуально ли в современном фронтенде?

Лучший ответ: Удобно - используй, не удобно - не используй.Доминируй, властвуй, упрощай :)
Это же просто шаблонизатор, тут на вкус и цвет. Во Vue , насколько я помню, его юзать можно, про Angular не знаю. В React врятли (да и незачем, ИМХО).

Худший ответ: раньше использовал его в каждом проекте, потом перестал, теперь если требуется темплейтинг использую nunjucks - чаще встречается в западных проектах.
Вопрос: Как правильно верстать такие блоки?

Лучший ответ: Bootstrap 3.*:<div class="container">
  <div class="row">
    <div class="col-lg-3"></div>
    <div class="col-lg-3"></div>
    <div class="col-lg-3"></div>
    <div class="col-lg-3"></div>
  </div>
</div>
Ну для адаптивности используйте классы col-lg-* col-md-* col-sm-* col-xs-*

Худший ответ: О чем конкретно речь то?
Тут 4 блока, значит делается что то вроде:<style>
.wrap {width:100%;margin: auto;}
.wrap .col {width:25%;float:left;}
</style>
<div class="wrap">
<div class="col">1</div>
<div class="col">2</div>
<div class="col">3</div>
<div class="col">4</div>
</div>
Вопрос: Как реализовать меню со скользящей линией?

Лучший ответ: нафига, тут вообще js?
это уже давно решается на чистом css. например, https://codepen.io/rm/pen/ldhon

Худший ответ: Код конечно далеко не идеальный и его нужно дописать, но думаю посыл понятен https://codepen.io/Glaswr/pen/OWpdjN
Вопрос: Как соединить 2 бинарных файла в git?

Лучший ответ: А как вы себе представляете результат работы "сразу двух галочек"?
Фрагмент из а потом фрагмент из б? Или наоборот? А где гарантия что после такого бинарный файл вообще можно будет прочитать - гит то не в курсе о его внутренней структуре? 
Вот потому, что ответить на все эти вопросы однозначно нельзя, потому же гит и не даст "смержить" бинарные файлы. Выход - брать только один из вариантов, и потом применять к нему изменения в соответствующем софте, понимающем конкретный бинарный формат.

Худший ответ: Бинарные файлы не должны храниться в репозитории. За очень редким исключением, но если вы понимаете, зачем положили бинарник в репозиторий, то у вас и вопросов таких не будет, скорее всего.
Вопрос: Кому принадлежат права на программу закрывшейся фирмы?

Лучший ответ: Права на ПО не чем не отличаются от табуретки, компьютера или машины. При ликвидации они уходят или кредиторам или учредителям. В общем никакой халявы не возникает.

Худший ответ: Выкупить права на продукт у владельцев компании и спокойно себе развивать.
Вопрос: Стоит ли дописывать redirect 301?

Лучший ответ: Да стоит, особенно при условии что вы не знаете откуда он появился, и вероятно точно так же может пропасть. Потому :
1) пропишите редирект с www версию на non-www в htaccess
2) Укажите в robots.txt для yandex директиву Host: на версию сайта не www.
3) Установите в GSC (WMT) версию non-www версию сайта как приоритетную
4) Генерируйте версию sitemap.xml для non-www версии сайта
5) Постарайтесь избавиться от 301 редиректов внутри сайта (ссылки которые указывают на www версию картинок, страниц и тд)

Худший ответ: Естественно, одно из основных правил!
Вопрос: Как создать очень простое мобильное приложение «на 1 раз»?

Лучший ответ: Цель: гость фотографирует QR код в гостинице и устанавливает приложение, цель - всегда наш телефон под рукой, всегда актуальные цены, ссылка на наш сайт, может фотки друзьям показать...не будет устанавливать
не будет показывать
цены будет смотреть на букинге или другом агрегаторе
Сделайте мобайл-френдли сайт и продвигайтесь в таких агрегаторах

Худший ответ: Для продвижения лучше создать сайт, к нему доступ найти проще, чем к моб. приложению. Одностраничник сделать несложно, на youtube много подобного.
Вопрос: Чем плохо ставить последнюю запятую в массиве/объекте javascript?

Лучший ответ: Ничем не плохо, но до ES5 (2017) это в некоторых случаях являлось ошибкой синтаксиса, и соответственно не будет работать в некоторых старых браузерах.
https://developer.mozilla.org/en-US/docs/Web/JavaS...

Худший ответ: Вроде ничего плохого в этом нет. Многие языки позволяют оставлять запятую после последнего элемента.
Я воспринимаю это как синтаксический сахар, кому-то удобно, кому-то не очень. Дело привычки.
Но обратите внимание на функцию php.net/manual/ru/function.join.php для этого примера конкретно, она сокращает немного код.