• В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    Roman Kitaev,
    Юношеский максимализм из всех щелей

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

    Либо у тебя на работе лютые макаки

    Макакой считается тот, кто пишет некрасивый код, по-тупому. У нас в команде вообще-то таких нету, но если придираться, то это буду я, а не они.
    А вот как организована сама разработка (надо ли все-таки баги искать специально и т.д.) тут можно поспорить, у меня ли это лучше или у них.

    А вот за раст обидно, идеальный язык.

    Breaking change это конкретная подстава. В C++ такое хоть раз было?
    Ну и вообще это сыроватый язык.
    А еще он очень мало на C++ похож.
  • В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    Василий Банников,
    Это просто нужно для планирования - чтобы не продолбать сроки из-за нехватки ресурсов.

    А жесткие сроки опять-таки зачем? Немецкая оборонка (разумеется, в мирное время) разрабатывает танки по 30 лет. Если в этих танках есть ПО (а оно наверное там есть), то зачем ставить сроки сделать все за неделю?

    Но при этом и другие языки не могут занять его нишу. Это и есть его преимущество.

    Нишу мелких скриптов, как эти юнит-тесты, легко могут. Тот же Node.js. Кто-то предпочел бы PHP...
    Микросервисов (и не микро- тоже, ну всякие там flask, django) - легко может что угодно занять, начиная от Node.js и заканчивая C++, если иметь соответствующие разработки в сфере HTTP-фреймворков (а я и такое встречал).

    Юниты в 99% случаев пишутся на исходном языке. Не юниты пишутся на том, на чём удобнее.

    А правильно писать их на том языке, на котором будет дергаться код.
    Ну если это тот самый сервис на C++, а дергаться он будет браузером на JS, то:
    - в идеале юнит-тесты должны быть на браузерном JS, тогда не будет такого, что автор сервиса сделал в нем прием по HTTP данных в неком формате, тестировщик написал на это тест на питоне и тот работает, а потом оказалось, что фронт-енд под это не написать, потому что такие данные не может отправить браузерный XHR и все что на его основе.
    - ну или хотя бы на Node.js, чтобы не вводить лишний язык. Почему не на C++? Потому что тесты относятся к "внешней группе", так сказать. Надо, чтобы их мог прогнать не только автор кода, но и член команды, которая будет писать фронт-енд, дергающий этот сервис - а фронт-енд на JS.

    Видимо в этом случае удобнее было на питоне.

    Нет. HTTP-запрос можно в любом языке отправить. И чекнуть разные значения в ответном JSON тоже. Питон в этом плане ничуть не лучше Node.js.

    Кажется, у вас непонимание термина "галера". Ну и сеньёр не всегда руководитель.

    Но судя по компании, где я работаю, сеньор всегда ценится больше и это минимальная должность с которой обращаются по-человечески - не ставят вечно вопрос об увольнении, не наваливают кучу работы и т.д. Похоже, сеньора нельзя уволить или выжить из команды, ибо это отразится на репутации перед инвесторами (весь процесс на виду у них), а вот джуна или миддла, особенно без диплома и особенно "вайтишника" (если понимаете, кто это такой) - запросто.
  • В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    с большим кол-во сомнительных архитектурных решений или сложных оптимизаций.

    Это, наверное, для меня норм.

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

    Это вряд ли. Лишних сущностей не люблю. А, собственно, с чего бы там так было? В моем вопросе среди прочего есть точка зрения, что нечитаемого кода вообще не очень-то и бывает. Ну так и что тогда мешает разобраться?
  • В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    Валентин, да не, если он выше миддла (а я миддл) то реально все плохо. Потому что галерный раб из меня - из рук вон.
  • В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    Тут хочу уточнить, что обычно нормальные люди требуют соблюдения дедлайнов

    Чего ради? Или такой вопрос не ставится, а просто формальность? Не надо писать, что конкуренты уже подсуетятся, сделают быстрее и прочее. Ну не всегда это так. В 2017 году один мне мозги делал, что надо быстро, а то конкуренты обгонят. На тот момент было 2 уже работавших и раскрученных конкурента. Новых не появилось до сих пор. А эти 2 сильно стухли и много плохих отзывов получают.

    4. Без Rust

    Я его как пример привел. Действительно гадость. Но не он же один - гадость. Питон тоже плох. Питон плох тем, что сильно отличается от большинства других языков, даже не Си-подобный, библиотеки тоже порой реализованы странно, при этом у него нет весомых преимуществ ни в одной из областей. Ладно, когда кодовая база уже написана целиком на питоне - тут просто ничего поделать нельзя (я бы и такое с радостью переписал, но никто не оплатит сотни нефти ради этого) - но когда питон притаскивают в проект на какие-нибудь скрипты деплоя или юниттесты, в проект, где все остальное написано на чем-то другом, то за такую "змеефилию" надо заражать глистами, ящитаю. А вместо питона надо юзать node.js. И для всяких скриптов тоже.

    А зря на самом деле. Обновления призваны улучшить жизнь.

    Но требуют лишние телодвижения, а в случае багов способны конкретно ухудшить.
    Смотря какие обновления. Если новое API добавили, то это норм. Ну не хочешь, не юзай. Я, кстати, обычно хочу, если это C++. А если ломают старое - то плохо.

    Да и для самого раста это норма - язык ещё молодой.

    А в молодом C++ такое было?

    я не хочу с вами работать в будущем

    Если вы сеньор и выше, то правильно делаете. Я миддл, то есть по отношению к вам я был бы галерный раб, так вот я отвратительный галерный раб. Кроме вышеперечисленного еще люблю выносить мозг всем. В данном случае имеется в виду, что делаю это именно целенаправленно.
  • В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    Так и знал, что я ближе к реальным системам, чем виртуальным. :)
    Но увы, в России таких компаний мало, да и по профессии я программист (хотя и инженером мог бы работать, даже несколькими разными сразу, но диплома нет).
  • В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    Сергей Горностаев, про лёгкость найма звучит пугающе) это как раз у меня начальство вечно похваляется тем, что меня легко выкинуть и заменить. И то, что я 5 лет тут уже работаю, для них ничего не значит. Ну создал вместе с ними проекты, но они прибыль не принесли (у нас все убыточное и держится на инвесторах). Ну знаю хорошо многое в их кухне - но возьмут другого миддла взамен меня, будут его как меня таскать по разным частям проекта, и он с ничего не понимающей рожей сначала будет тупить и офигевать от потока инфы, а потом освоится и тоже что-то сможет как-то пилить.

    Крупный бизнес деньги считать умеет.

    Как это понять? Опять-таки, у нас тоже скупость. Как раз у нас и скупость и расчётливость. Именно потому что убыточно и держится на инвесторах. А мне, к слову, это весьма чуждо. Я сам когда что-либо делаю своё, то достаточно щедр, равно как и терпелив в плане сроков. Деньги считать НЕ люблю. Главное - качество.
  • В какой компаниях и отраслях программирования ценят не быстрое, не модное, а работающее как часы?

    @beem7 Автор вопроса
    Можно примеры компаний? И желательно хотя бы краткое описание, из которого видно, как именно там все это выглядит.
  • Правильно ли понимаю, что для разработки достаточно всего лишь iPhone 8 или даже 6s?

    @beem7 Автор вопроса
    DevMan, а для чего тогда вот это продают, если распаяна?
    https://www.apple.com/ru/shop/product/MUQN2G/A/%D0...
    и что там с файлами подкачки? понимаю, что вариант такой себе, но все же вариант.
    ну и по идее распаянное тоже меняется. в норм сервисе оборудование потянет хоть полплаты перепаять. и оно потом работает, и работает долго, и быстрее ломается где-то в другом месте. что же тогда мешает? и в каких макбуках из вышеуказанной категории есть такая возможность?
    и еще - а если не пользоваться симулятором, а пользоваться айфоном, то не это ли сэкономит память?
  • Правильно ли понимаю, что для разработки достаточно всего лишь iPhone 8 или даже 6s?

    @beem7 Автор вопроса

    только стоимость за год будет минимум в полцены нового мак мини или в полную б/у мак мини или нового хакинтоша.

    Так и не будет года постоянных занятий айосью. Зачем мне этот год, если уже немало опыта в программировании? Будет более эпизодично: месячишко-другой то бишь, и амба, до тех пор пока появится работа по айос. А тогда VPS выигрывает, даже дорогой.

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

    так оно весьма дофига.
    камера, блютус, аудио... API какие-то не поддерживаются...
    интересно, что же тогда я разрабатывать-то должен с таким списком? исключительно игОры? приложеньки для заказа шаурмы на дом? или что-то типа "beem7. Крутой. Разраб. Меню, Об Авторе, Закрыть"?
    да еще и вот это:
    The resolution, or pixels per point, on the device and on the Mac can differ. This results in text and images that appear jagged, especially with smaller text.


    или хромиум в частности и любые хромоподобные браузеры под макось волшебным образом рождаются?

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

    fiddler everywhere? не, не слышал!!!!11адын
    а про альтернативы?

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

    правильно думаете.
    только стоимость за год будет минимум в полцены нового мак мини или в полную б/у мак мини или нового хакинтоша.

    а я попробовать хочу. я не уверен, что мне яблоки понравятся.
    и вы с вон тем ответчиком тоже создаете лишние сомнения на тему - надо ли вообще покупать яблоки и заниматься ими.
    ты сначала вообще психанул и написал "фсё брет", потом только отошел и все-таки написал ответ. неуравновешенный ты наш. а еще я тебе про хром фактически как для прапорщика повторил.
    может все разрабы под яблоко такие, а мне будет неприятно со всем этим?
    я понимаю, что такого везде хватает, в вебе тоже сталкивался... но думаю на яблоках особенно...
  • Правильно ли понимаю, что для разработки достаточно всего лишь iPhone 8 или даже 6s?

    @beem7 Автор вопроса
    Тихон Ермаков, бред только ты видишь.
    нет, не Finder, а именно что Fiddler. видишь, ты даже не знаешь что это такое. а я с этим работать умею. и программировать умею и реверсить умею. я специфичен, но знаний и опыта много и я не так уж юн, как тебе показалось)
    и игры я не собирался разрабатывать - я в них собирался играть и не уверен, что на маке будет все с этим хорошо. у меня особые запросы к играм. игры должны быть очень простыми типа платформеров но с красочной графикой. ну как марио например.

    У меня есть как айфон, так и iPad Pro. Я вот на айфоне ничего не запускаю. Я это к тому, что можно обойтись iPad.

    А зачем, он что, дешевле?
    И выше ты писал что вообще симулятором можно обойтись. А сам на айпаде запускаешь. Чему верить?
  • Правильно ли понимаю, что для разработки достаточно всего лишь iPhone 8 или даже 6s?

    @beem7 Автор вопроса
    Во-первых, хотелось бы иметь возможность разработки даже не имея мака, имея поломанный мак и т.д. Для этого есть специальные VPS с удаленным рабочим столом, я думаю они способны установить приложение на айфон, подключенный к компу, подключенному к VPS (а если нет, то мои скиллы в реверс-инж. и в протоколах передачи данных должны помочь написать свою утилиту для этого).
    Во-вторых, действительно физический аппарат нужен часто. Про камеру я еще удивлен - зачем - ведь если бы это не был VPS, а реальный мак или хакинтош на ПК, то он имел бы камеру. А вот многое другое и ежу понятно что полноценно только на айфоне будет.
    В-третьих, можно фоткать свое приложение запущенное на айфоне и т.д.

    Лучше вложиться в Apple iMac, Mac, Macbook и не пожалеть никогда)).

    Но ты же прикидываешь, какая у меня сейчас сумма денег, раз я такие айфоны хочу? Какой мак я куплю на такие деньги?
    Насчет пожалеть никогда, ну не уверен. Много игр на винде, которые я люблю, в основном всякие старые или казуальные типа марио. На маке их хватит?
    Еще, софт для работы. Здесь макось дает фору линуксу. Но всякие PowerDesigner или Qt Creator рискуют если и работать, то через гланды, с ошибками. А Chromium собирать под макосью - это как вообще? (Возможно ты не знаешь, но лучше любой сложный кроссплатформенный проект собирать сперва в его родной среде - меньше ошибок будет. Для него это линукс. А вот на винде собирается с кучей ошибок, лучше сперва на линуксе с ним поиграться, освоиться, потом уже винду. Может и мак так же.)
    Ну и юзабилити. Apple тоже не боги юзабилити. Будет ли там возможность... копировать и вставлять из буфера в SSH-клиенте? Внезапно, да? Эта ОС прежде всего для всяких дизайнеров и да, для нее это очень внезапно. А вот я на винду и линукс ставил один и тот же клиент и на винде он мог, на линуксе нет. И из таких мелочей и складывается... А что там с Fiddler на маке?
  • Что делать с джуниор программистом, который самоучка и не с этой планеты?

    @beem7 Автор вопроса
    У него резко понизится мотивация делать какие-то костыли и повысится мотивация успевать в дедлайны.

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

    Это ОЧЕНЬ СТРАННО, когда дедлайны целого проекта зависят от ДЖУНА.

    А как нужно? Мы должны сами параллельно делать его задачи, на случай, если он не успеет?
  • Почему при сериализации uint128 сначала сериализуют hi, потом lo, а не наоборот?

    @beem7 Автор вопроса
    В общей постановке вопрос "почему сначала сериализуют hi, потом lo" бессмыслен. Нет, в общем случае так НЕ делают.

    Ну вот и отлично. Еще бы примеров типов, сделанных так, и было бы отлично. Ссылки прям на гитхаб и т.п.

    Также не понятно ваше утверждение "при сериализации байты просто пишутся в обратном порядке". Порядок от "младшим к старшим" - это естественный прямой порядок. Ничего "обратного" в нем нет.

    Не, естественный - это только от старших к младшим. Доказательства нужны? Вроде чисел достаточно вокруг нас понаписано. В кошелек загляни или на улицу выйди - номера домов, автобусов. Вот это - естественный. И для hex естественный тоже такой.
    А в бинарной сериализации принят именно "обратный". Ну да ладно. Это реально такой везде принят, с этим ничего не поделаешь. Я просто показал, что байты именно в таком порядке. А людям с узким кругозором не понять. Я начинал свою умственную деятельность вообще не с программирования, был тогда совсем ребенком и сначала был технарем, и еще я самоучка, поэтому во многом кажусь странным.
  • Почему при сериализации uint128 сначала сериализуют hi, потом lo, а не наоборот?

    @beem7 Автор вопроса
    Евгений Шатунов, а какой тэг поставить, если надо мнения не только C++ разработчиков? Просто разработчиков мало на сайте, вот и приходится приглашать даже не совсем подходящих, но, возможно, знакомых с самим принципом. И чем этот тэг плох?
  • Почему при сериализации uint128 сначала сериализуют hi, потом lo, а не наоборот?

    @beem7 Автор вопроса
    wataru, ну так ты пишешь, что так принято, даешь ссылку - а там только про биты. А вопрос про "куски" большого инта.
  • Почему при сериализации uint128 сначала сериализуют hi, потом lo, а не наоборот?

    @beem7 Автор вопроса
    Евгений Шатунов, и зачем ты тэг предложил убрать? Это уже второй сервис, где я вижу, что модные когда-то тэги сочли не оправдавшими себя и пытаются свести их к старой доброй концепции категорий: один пост, одна категория. Зачем?
  • Почему при сериализации uint128 сначала сериализуют hi, потом lo, а не наоборот?

    @beem7 Автор вопроса
    Евгений Шатунов, создателей библиотеки еще не успел спросить.
    Я сам ничего не могу ответить, иначе бы хотя бы привел в вопросе свое предположение.
    А ты вопрос правильно понял? А то вон wataru не про тот порядок прочитал, про который написано.
    Здесь суть в том, что в рамках каждого из двух "кусков" биты пишутся именно от младшего к старшему. Но вот сами "куски" пишутся наоборот - сначала старший "кусок".
  • Почему при сериализации uint128 сначала сериализуют hi, потом lo, а не наоборот?

    @beem7 Автор вопроса
    Чувак, ты не понял. Здесь вообще не порядок битов, а порядок двух "кусков" битов. А порядок битов оно как раз нарушает. Еще раз перечитай вопрос и дай норм ответ или удали что ли этот.
  • Приходилось ли вам сдавать код, который заведомо не работает? И зачем нужны альфа-версии, когда можно хорошо подумать и сделать сразу хорошо?

    @beem7 Автор вопроса
    Robur, хреновый вы перфекционист значит, если можете 10 лет переделывать табуретку. Настоящий перфекционист терпеть не может что-либо переделывать и старается сразу сделать хорошо, тщательно изучая тему, прежде чем что-то делать. Но иногда что-нибудь совсем простое он может делать не совсем быстро. И при методологиях разработки он склонен "выпадать" из потока, типа все делают альфа-версию, а он 3 дня ничего не делает (на самом деле изучает код проекта и другие источники и думает), его собираются уволить за это, и тут на 4-й день он выдает кусок, для которого и беты было бы мало. А потом все сидят и мучаются, как этот кусок отревьюить, он огромный - а я выше уже писал, что обычные люди могут либо систему в целом видеть, либо один маленький кусочек.