Serge Bobrovsky (sbobrovsky) wrote,
Serge Bobrovsky
sbobrovsky

на сиплюсплюсах нах...

...и в офигительных бустах (про экземпляры низших классов)

На хабре наткнулся вот на такую типовую вакансию (там подобных ещё тысячи):

Серверный программист C++
От 90 000 до 150 000 руб


"Такое ощущение, коллеги, будто накормили грязью, кресты не умеют ни в замыкания, ни в нормальную асинхронность, ни в управление памятью, они вообще ничего не умеют"





Понятно, что "гейм-бизнес"; поцоны чотко наклепали дебильные социалки для дебилов, почему бы и нет, коли тупой пипл платит. Интересна техническая сторона вопроса.

- Проектирование и поддержка серверного приложения
- Оптимизация серверных приложений с высокой нагрузкой (1М пользователей в день)
- Опыт работы с C++11 и multithreading
- Знание SQL
Присылайте свое резюме на workhard@govnoigry.com


workhard, Карл :)
вот нет чтобы worksmart

1) 1М пользователей в день -- ну там зарегистрирован у них всего миллион, это отнюдь не значит что "в день". Общий миллион юзеров, из которых обычно 90%+ мертвы -- это в реале может десяток запросов в секунду, которые можно легко обрабатывать например python-скриптом на raspberry pi (или даже на arduino ))).

Но ладно, пусть даже реальный миллион тусит, это где-то порядка 10k запросов в секунду, ок. Десять лет назад на каких-то там ещё пентиумах, или что тогда было, держали для udp-сокетов под тридцаточку K на тормозейшей java.

Собственно, вот даже на рядовом железе -- даже запросы к базе MySQL! -- если руки не кривые, потянут 750 тысяч в секунду
http://yoshinorimatsunobu.blogspot.ru/2010/10/using-mysql-as-nosql-story-for.html

Это я только к тому, что проект совершенно рядовой по сегодняшним меркам.
Ну да, скажете вы, и что плохого?
А вот что.

2) C++11 и multithreading -- это значит (коли явно не упоминают STL) что практически наверняка нужно знать boost.org -- говнейшая сетевая библиотека, считающаяся в современных "highload" проектах типа "стандарт сетевого взаимодействия".

Десятки тысяч строк кода, которые на эрланге укладываются в сто строк :)

Да и STL, которую придумал "математег" Степанов, сбежавший из СССР в США в 1977-м -- не чтобы уж совсем говно, но вот например -- почему бы было не взять сразу для темплейтов синтаксис плюсов?? вот тогда это была бы мега-либа. Но увы.

*

Причина в том, что "умнейшие российские программисты" -- это миф. Не было их никогда. Вот советские учёные, или советские инженеры крутейшие -- да, и были, и есть ещё, и работают по всему миру. Но программистов -- нету.

Патамушта, по факту: где тогда сильные российские программные продукты? Инженерные -- много. Научные -- полно. Программистские -- нету.

Ну да, по пальцам одной руки инвалида можно посчитать тех айтишников, кого уже 20 лет вспоминают. И всё практически.

*

Как-то так:

"Кто там кукарекал про С++?"
"Задача: разработать кроссплатформенное клиент-серверное приложение под Windows/Linux на С++ (boost, ace, etc.), клиент построчно считывает с консольки введёные числа, отправляет на сервер, сервер в ответ плюёт разложением чисел на простые множители. Стандартное тестовое задание, ничего интересного.
Ну что же, собрался духом, за вечер родил чуть около пол тысячи строк, чтоб всё как положено: асинхронность, многопоточность, все дела. Такое ощущение, коллеги, будто накормили грязью, кресты не умеют ни в замыкания, ни в нормальную асинхронность, ни в управление памятью, они вообще ничего не умеют. Вроде бы, написано 5 строк, а на деле почти не фига не делают, код раздут, абсолютно невыразителен, я уж не представляю что с ним будет, если его ещё раскидать на десяток классов, как это обожают делать отдельные особо одарённые личности".


Вот пример реального проекта
http://www.metabrew.com/article/rewriting-playdar-c-to-erlang-massive-savings

75% less lines of code using Erlang compared to C++ to implement the same thing

*

"C++ это такой COBOL. И программисты на нем тоже никому нахуй не нужны, разве что для поддержки унаследованного(legacy) говна" (с)

Не говоря уже о том, что многие фишки правильной многопоточности на плюсах практически не повторить с той же эффективностью, да и например парсер буста -- это украденная идея из хаскелевского Parsec.

3) Что интересно, подобные "архитектуры" на крестах обычно "изобретаются" вчерашней школотой, чуток нашкодившей на C++ и уже лопающейся от самомнения. При этом и эйчары обычно пребывают в иллюзии, что найти разработчика на "массовом языке" проще, чем на более выразительном, но менее популярном; по этой же причине и випы морально поддерживают boost-like системы ("да наберём сто мартышек, какие проблемы").

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

Не говоря уже о том, что кодить на плюсах даже опытный программист будет в разы медленнее, чем на правильных языках, хотя бы на питоне.

В октябре 2015-го кстати, версия данной вакансии выглядела так же, только вилка была чуток другая -- поменьше :)

Зарплата: 80000 - 135000 руб. в месяц

Нижнюю планку подняли на 10 тыр, верхнюю на 15 тыр :)

Tags: программирование, функциональное программирование
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 15 comments