Обновить
4
0.1

Пользователь

Отправить сообщение

Не могу, не работаю с базами данных. Если бы пришлось, я бы для этих целей использовал бы DataGrip

VSCode значительно (ЗНАЧИТЕЛЬНО) функциональнее Sublime.

Без плагинов это конечно практически просто редактор текста, но с рядом плагинов - это вполне себе полноценная кроссплатформенная, кроссязыковая IDE.

  • Автопополнение есть

  • Анализ кода и навигация по нему есть

  • Базовые функции рефакторинг есть

  • Отладка есть

  • Интеграция с clang-format есть

  • Переключение между тулчейнами (я С++-сник) - есть

  • Интеграция с тестовыми фреймворками - есть

Чего ещё надо? Профилирование разве что, его не хватает да.

Я использую VSCode для всяких мультипоточных ковыряния и прочих кишочков и всё хорошо)

Единственное в чем студия действительно удобнее "из коробки" - это профилирование CPU/GPU (особенно GPU).

В остальном, VSCode более чем юзабелен, пускай и требует некоторого напильника.

Нууууууууууууу.... Я бы не сказал.

Я в программирование залетел впервые в 19 лет. Ну, ладно, в 18, если считать пару hello-world-ов на паскале.

Следующие 5 лет я кодил и читал книги/статьи каждый день, минимум часа по 2, а то и все 6-8, когда девушка была занята. В общем, посвящал этому почти всё своё свободное от учёбы время (учился я не на программиста).

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

Сидел на форумах, сидел ночами за книгами, тыкал код, тыкал ОС, тыкался в документацию. Каждый божий день. Я сейчас за год столько нового не впитываю, сколько тогда за 2-3 месяца.

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

Надеюсь он меня сразу убьёт. Жить в постапокалипсисе вообще не хочется)

Людей нет. Рубашек нет. Даже комнаты и той нет.

Точно может? :)

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

Довольно быстро привык общаться с железякой как с поисковиком) Сухо, скучно, повелительно, по делу)

Повестка в военкомат не является направлением на военную службу. Повестка военкомат - это предписание явиться в военкомат, что наверное можно классифицировать как "призыв на военную службу", но не как "направление на военную службу".

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

Сложно сказать. Два года назад - точно было далеко не сразу. Многие с повестками на руках успешно границу пересекали. Сегодня - не знаю тех, кто бы проверил.

Законодательных ограничений мне неизвестно.

Обучение никогда не должно останавливаться

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

Нет, я специально уточнил, что она имеет ввиду. Потом уже не удержался и рассмеялся. Не очень профессионально себя повел, да.

Там было интереснее. Я разработчик на С++. Они искали Rust разработчика, но сказали, что если опыта в С++ больше 6 лет (мой случай), то готовы взять.

У меня уже был оффер на руках, я им сказал, что если у них четырёхэтапные собесы или лютые тестовые, то сразу нет, если процесс найма оперативный, то давайте.

В итоге, созваниваемся с HR и она мне почти с ходу: "нужно будет выполнить тестовое на 3-3.5 недели". Я ее тормознул и сразу отказал. На этом разговор закончился.

Не помню, но по-моему аббревиатура компании была из четырёх букв. Какой-то там блокчейн проект на Rust. Было два года назад, запамятовал.

Мне как-то прислали тестовое с объёмом работы на 3 недели) Причем это не я даже оценил, а их собственная оценка. Я даже задание читать не стал, просто сразу отказал)

Откуда у вас edgeSet в контексте функции dfs?

У меня стойкое ощущение, что автор статьи пытается изобрести Go (он же golang).

LE и BE - куда более распространены, чем фразы вида "от старшего к младшему".

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

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

Успешным насколько? Я просто когда прошёл в молодости стадию "всё такое новое и интересное", в лучшем случае трачу пару дней своего личного времени в месяц на какое-то "дообучение". Т.е. прям сажусь, открываю IDE, пишу там чего-то. Или открываю какую-нибудь новую для себя технологию, читаю документацию, играюсь с ней.

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

БОльшую часть новых технологий или погружение в уже известные я выполняю в рабочее время. После работы - да хоть бы и потоп, у меня вон еще 44 игры на XBox не пройдены, с женой вон в театр надо сходить, кота за пузико почесать.

При всём этом я как-то дорос до состояния "Senior Developer", но конечно я не работаю в гугле там и не получаю десятки тысяч долларов ЗП. По современному курсу моя зарплата едва дотянет до 4к в долларах, но я живу в Москве и мне этих денег просто за глаза хватает.

Успешный ли я программист? Ну, я явно звёзд с неба не хватаю, но проблем с работой не испытываю (пока что).

Со мной это случилось после появление std::iota.

Когда я это увидел впервые на какой-то конференции, я такой: "да вы с ума все посходили". Причём на википедии даже не описан такой смысл у этой буквы в греческом.

Ответ на SO по этому поводу, привёл меня к мысли, что все реально с ума посходили)

Но, ведь...

Это довольно странный и даже строго говоря некорректный аргумент и вот почему

  1. Кастомный deleter является частью типа умного указателя в С++. Соответственно формально мусорный тип мы всё равно порождаем.

  2. Более того, сам Deleter - это тоже не какая-то функция, это "функтор", т.е. по сути структура с переопределённым оператором скобочек. Т.е. придётся если подходить к вопросу совсем дубово, то придётся породить целых два новых мусорных типа.

  3. Даже если вы не согласны с пунктами выше вы всё равно породите мусорный тип через using просто для удобства.

Вы же не будете каждый раз писать что-то такое:

Код на С++17
// Где-то приходится написать мусорный 
// Deduction Guide 
namespace std 
{
    template<typename P, typename D>
    unique_ptr(P*, D&&) -> unique_ptr<P, D>;
}


// одна единица трасляции
auto ptr1 = std::unique_ptr(&s, [](session* s){ close_session(s); });

// другая единица трасляции
auto ptr2 = std::unique_ptr(&s, [](session* s){ close_session(s); }); 

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

Код на версиях ниже С++17 еще страшнее
// Можно так
auto deleter = [](session* s){ close_session(s); };
auto ptr1 = std::unique_ptr<session, decltype(deleter)>(&s);

// Можно совсем пойти страшным путём
// но я бы такое никогда на ревью не пропустил
auto ptr2 = std::unique_ptr<session, decltype([](session* s){ close_session(s); })>(&s);

Вы скорее всего, удобства ради, напишете вот такое

Работает с любым стандартом
// Упс, мусорный тип
using session_ptr = std::unique_ptr<session, decltype([](session* s){ close_session(s); })>;

// Зато какой удобный!
auto ptr = session_ptr(&s);

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

Ну и да, кстати в Rust написать обвязу вокруг Box, если нужен такой функционал - дело недолгое, но на мой взгляд вообще не нужное.

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

Информация

В рейтинге
2 975-й
Зарегистрирован
Активность