Хочу стать C++ разработчиком, но чувствую себя позади. Как вырваться вперёд?
Привет, Пикабу! Нужен совет от тех, кто прошёл похожий путь. Расскажу вкратце свою историю:
Мне 21, я учусь на 4 курсе нижесредненького московского вуза по направлению АСУ. 4 года назад сдал ЕГЭ по информатике на 75 баллов, поступил на бюджет, но чувствую, что университет даёт мало нужных знаний. Весь материал у нас сильно теоретический, и решать сложные задачи, как в реальной разработке, нас не учили. Почти все задачи до сих пор делаю по принципу: «загуглил, слепил, сдал» или самое страшное "спросил у гпт, вставил, сдал даже не вникая в код". Сейчас впервые участвовую в соревновании по программированию, организованном Яндексом, и понял, что мне не хватает базы и структурированного подхода. Ну как соревнование, тренировки по алгоритмам - сегодня я не успел сдать дз до дедлайна и вылетел с таблицы. Расстроился в крайней степени.
Я стремлюсь стать C++ разработчиком в крупных компаниях, как Тинькоф, яндекс или Сбер, но не могу пройти даже вводное тестирование — каждый раз проваливаюсь. Могу решать базовые задачи, знаю о динамической памяти и структурах данных, но когда встречаю что-то сложнее, теряюсь. Сравниваю себя со школьниками 7 класса, которые, как оказалось, уже решают задачи на олимпиадах, и чувствую себя полным неудачником.
Мои мечты о будущем пока остаются в голове, и реальная работа по ним не движется. Я хочу жить здесь и сейчас, реально подходить к задачам и работать над собой, но постоянно ухожу в мечты и фантазии, где я уже всего достиг.
Вот ситуация на сегодняшний день: уже пора писать диплом, переезжать с общаги на квартиру, ипотеку брать...
Я думал в 20 лет бмв куплю и квартиру в небоскрёбе, а получается что не могу осилить задачки 7 класса...
Вопросы:
Кто из вас сталкивался с похожими трудностями и смог их преодолеть?
Как вы подходили к самообучению в программировании и что помогло структурировать процесс?
Как избавиться от привычки уходить в мечты и начать действовать?
Спасибо всем, кто откликнется! Надеюсь, этот пост поможет мне и другим с похожими проблемами.
Можно какой-то совет мне дать, что делать-то? Может курсы купить или к психологу сходить с такой головой? Может книга какая есть?
Я понимаю, что таблетки от болезни "Взрослая жизнь" не существует, но если кто сталкивался с подобным, может вы спустя годы поняли как нужно было прожить этот момент? Может я и не туда стремлюсь вообще?
Для написания фронта к десктопному софту на с++ нужно знать другие языки?
Или есть фреймворки и библиотеки для этого?
Помогите с c++
как мне написать собственного простого голосового помощника для управления компьютером своим голосом, очень надо для экзамена
Скрытие программы из панели задач
Привет всем ребятам с пикабу! Сегодня столкнулся с проблемой, что мне нужно было сделать так, чтобы я вводил PID процесса, или хотя-бы имя самого процесса, вместо имени окна чтобы скрыть, или показать его в панели задач. Пробовал сам - не получилось. Спросил ChatGpt - нерабочая тарабарщина. Просьба помочь чем сможете, буду благодарен любому совету!
Вот сам код: #include <windows.h>
#include <iostream>
#include <string>
int main()
{
int choice;
std::string programName;
HWND hwnd;
std::cout << "Choose an option:\n";
std::cout << "(1) Hide Window\n";
std::cout << "(2) Show Window\n";
std::cin >> choice;
std::cin.ignore();
switch (choice) {
case 1:
std::cout << "Enter the Window Name to hide: ";
std::getline(std::cin, programName);
hwnd = FindWindowA(NULL, programName.c_str());
if (hwnd == NULL) {
std::cout << "Program not found." << std::endl;
return 1;
}
ShowWindow(hwnd, SW_HIDE);
std::cout << "Window '" << programName << "' was hidden." << std::endl;
break;
case 2:
std::cout << "Enter the Window Name to show: ";
std::getline(std::cin, programName);
hwnd = FindWindowA(NULL, programName.c_str());
if (hwnd == NULL) {
std::cout << "Program not found." << std::endl;
return 1;
}
ShowWindow(hwnd, SW_SHOW);
std::cout << "Window '" << programName << "' is now visible." << std::endl;
break;
default:
std::cout << "Invalid option selected." << std::endl;
return 1;
}
return 0;
}
Ответ на пост «Как программисты пишут код?»4
Есть два типа людей: одни могут писать код, другие нет. Те, которые могут, делятся на еще на два: те, кто сразу видят решение, и те, кто итеративно работает.
Я в разработке с 2007 и всякого дерьма повидал. За сим есть, кой-чего сказать. Те, кто сразу видит решение, их меньшинство. По моему опыту, не более 10-15%. Остальные - только через итерации, либо фрагментарный подход.
Итак, поехали.
Комплексный подход. Программист сразу пишет примерно 80% кода, можно сказать, на одном дыхании. Далее - косметика, марафет, отладка. В 99% первоначальный код не меняется. Это, имхо, - либо врожденная способность, либо нечто приобретенное в сильно раннем детстве.
Итеративный подход. Программист пытается хоть как-то решить задачу. Криво, косо, но решить. Далее начинаются итерации, которых может быть очень много в засимости от сложности и погружения разработчика в предметную область. Это обычный подход среднестатистического работника, коих на рынке большинство. Имхо, таких 75-80%.
Фрагментарный подход. Программист пытается декомпозировать код, ибо сразу он его обработать не в силах. Далее идет пошаговая реализация различных его кусков, после чего попытка связать все воедино, что, как правило в 99.99%, приводит к значительным переработкам ранее готовых кусков кода. Это следствие неприспособленности мозга. Т.е. человек может писать код, но ему это очень сложно дается.
От себя еще добавлю, что современная реальность требует всех видов людей: каждому программисту найдется место, если он все-таки по итогу выдает рабочий код.
Ответ на пост «Как программисты пишут код?»4
Вопрос очень интересный.
Думаю, программирование тут вообще не причем. Это просто один частный пример применения определенных способностей. А в общем это умение создавать что то «своими руками». Лично я мыслю абсолютно одинаково и когда занимаюсь программированием и когда планирую ремонт дома. Честно говоря, это происходит полностью интуитивно. Я практически всегда знаю какие общие и конкретные шаги надо предпринимать чтобы достигнуть нужных целей и сразу же представляю где могут быть проблемы и уже отдельно обдумываю варианты их решения. Понятное дело тут не последнюю роль играет опыт, но когда 25 лет назад начинал на бейсике и паскале, то мыслил точно также.
С другой стороны, тут на пикабу, узнал что люди покупают наборы лего, собирают их точно по инструкции и ставят на полку(понятное дело что все люди разные и я не в негативном ключе пишу). Для меня в детстве это было бы немыслимо. Лего у меня не было, но был похожий отличный советский конструктор. Даже если бы у меня была к нему инструкция, то я бы все равно строил что то свое. Кстати мыслительный процесс при этом очень похож на программирование.
Ну и самое главное - меня прет от процесса. И думаю всех, кто считает себя серьезным профессионалом в своей сфере. И началось это с самого первого раза, когда я на спектрумовском бейсике часики рисовал. Это дает возможность не останавливаться, если что то не получается. Любой баг, причин которого ты не понимаешь, становится персональным врагом. И когда ты наконец решаешь проблему, то организм радует тебя дофамином.
Я очень сомневаюсь, что этим конкретным навыкам и способностям можно научить, как ни крути. Можно толь дать базу тем, у кого они уже есть - думаю на всяких инфоцыганских курсах «войти в ИТ» каких либо положительных результатах добиваются только граждане которые сразу программировать умеют, только еще не знают об этом)
А еще хороший программист всегда ленив. И это тоже напрямую влияет на умение «писать код». Основная и, не побоюсь этого слова, основополагающая проблема в любом серьезном проекте не как что то сделать, а каким образом это сделать в контексте уже написанного и так, чтобы в будущем тоже можно было что то изменить. Лень позволяет сразу планировать все так, чтобы минимизировать труд потом.
Резюмируя, думаю что есть некий набор врожденных качеств и способностей и позволяет некоторым успешно работать программистами. Собственно это верно и в любой другой сфере )))