История моя такова, в году 2022 в начале осени звонит ко мне друг - "Го программирование учить?". Ну го. Пошли учить, учили по проге SoloLearn язык С++, учили 3 месяца синтаксис, прошли программу, забросили, потом вернулись но уже на джаве, там дело пошло легче, дошел до коллекций, пробовал решать задачи на LeetCode, даже немного получалось. Потом забросил из-за сложностей, и началось, на С++ - на джаве, и обратно. Всё это время я хотел стать крутым хацкером который чуть ли не сам стал ЭВМ. Но не шло дело к этому, я думал так - "Выучить язык кое как, практика языка, потом всё остальное". Потом понял что в консоли я работать не хочу, скучно, начал пробовать WinForms на С++, стали появляться как мне казалось без причинные ошибки, которые не удавалось пофиксить даже удалив весь проект, в инете много информации об этом не находил. В итоге забил, пошел опять на джаву, пробовал там делать GUI, сложно и через жопу. Вернулся на С++, пробовал WinAPI, сложно и через жопу, QT не вывозит комп, 10 виндовс не могу поставить, а другие он не тянет. Теперь пришел на С#, тут с GUI получше, но теперь раз так всё хорошо то вопрос - А что мне собственно делать?
Сам проекты придумать не могу, а если и могу то через чур сложные, на которых я просто выгораю и забиваю. Как мне практиковатся, потому что вроде как я знаю язык, я знаком с коллекциями, я немного лазал в алгоритмы, но по сути написать ничего я не могу, я не знаю как применить знания. А даже если я начинаю просто на пофиг решать задачки и не о чём не думать кроме них, я просто теряю свой путь, я не знаю прогрессирую я или нет. Надеюсь кто-то сталкивался с таким и может мне прояснить - как мне учить программирование если я такой бездарь?
Мне знакома ситуация с выгоранием. Чтоб не выгорать ты не должен быть сам постановщиком задания.
Кто-то должен тебе его ставить со стороны. И должен быть контроль. Должны быть встречи хотя-б раз
в 2-3 дня чтоб посмотреть прогресс. Самостоятельно - мало кто может себя мотивировать.
Попробуй поищи на бирже фриланса простые задачи. И попробуй зайди стажером в любые софтверные
компании. Даже за бесплатно. Получишь ценный опыт.
mayton2019, человек едва изучил коллекции, а ты предлагаешь пойти на фриланс или стажировку? Зря только время тратить.
Надо определиться, в первую очередь, что хочется делать, чем заниматься и углубляться в это дело. Если ничего не приходит в голову, тогда вообще зачем залазить в сферу, где тебе ничего неитересно?
А день тут, день там - в итоге 0.
Araya, человек сам не может определиться. Это - нормальная ситуация. Я в 16 лет вообще не мог определиться
чего я хочу. Поэтому не надо прессовать этим вопросом.
Надо попробовать максимальное число вариантов вширь. А потом желание придет само.
Имхо, выгорание тут зря упоминается в принципе.
Выгорают люди, которые ботают годами, горят - но постепенно, с возрастом, теряют мотивацию.
А тут весь вопль "у меня мотивации нет, где бы ее прикупить?!".
QT у него комп в 2022 не тянет, понимаешь...
И что, он каким-то образом "не вывозит" библиотеку?
Когда я находился в этой точке кривой образования, у меня на "Поиске" программа в ТурбоПаскале тоже отнюдь не мгновенно собиралась, например...
И что, он каким-то образом "не вывозит" библиотеку?
Ну для начала он не вывозил браузер. Если рядом еще какой-то код выполнять - совсем плохо было.
у меня на "Поиске" программа в ТурбоПаскале тоже отнюдь не мгновенно собиралась, например..
Одно дело не мгновенная сборка, и другое когда после каждого нажатия кнопки нужно ждать пока курсор отвиснет и появится символ.
Даже если у него современны n4020 - да, нормально кодить не выйдет, даже hello world'ы, а поскольку он пишет что win 10 не тянет - возможно все еще хуже и проц без pae/nx
mkone112, это все-таки тот случай, когда "желающий делать ищет возможности, не желающий - препятствия". То есть о той же мотивации.
Уж найти легкий IDE для Крестов, который не тормозит между нажатиями клавиш - вообще не проблема. Было бы желание. И браузер типа Мидори, не идеально отрабатывающий все свистоперделки, но и не требующий колоссальных ресурсов, тоже подобрать можно. Или можно сказать "у меня лапки" и жаловаться на жизнь на Тостере...
mkone112, есть ощущение, что мы ушли куда-то в область легенд.
У ТС, решавшего задачи по Джаве на LeetCode, по вашим предположениям, процессор тянет только Сапера, на пасьянсе уже тормозит, а если, не дай бог, запустить браузер - каким-то волшебным образом его "не тянет".
Я представляю, как работает Firefox на Atom D510, например. Неторопливо так.
Но как какой-то процессор может "не тянуть" Мидори, у меня уже представить фантазии не хватает.
Во-первых ресурсы жрет не браузер, и тот-же браузер сейчас будет переваривать современный веб гораздо хуже чем раньше. Во-вторых d510 набирает умопомрачительные 200 баллов в гикбенче, т.е. он в два раза быстрее компа который был у меня - зверь, а не машина.
У ТС, решавшего задачи по Джаве на LeetCode, по вашим предположениям, процессор тянет только Сапера, на пасьянсе уже тормозит, а если, не дай бог, запустить браузер - каким-то волшебным образом его "не тянет".
Я оперирую только той информацией что есть - тс говорит что комп не тащит win10, решать задачи на джаве это весьма относительно может 20% времени он их решает, а 80% смотрит на зависший курсор.
mkone112, это не комп, это психологическая травма какая-то ;)
Но я все-таки о том, что неразрешимых проблем нет. Не тянет десяточку - поставь семерочку, хрюшку, паппи какой-нибудь. Для обучения необязательно, чтобы крутились видосики - достаточно текстов, которые уж любой браузер на любом железе уж как-нибудь, да откроет. Тормозят комбайны - раскапываешь CodeLite какой-нибудь....
А просто вот так явиться на Тостер и развести руками - в любом случае непродуктивно.
Adamos, Я конечно с вами согласен частично, однако у меня появился к вам вопрос, какого размера была бы ваша мотивация если бы была предметом? Вас послушать так человек на транзисторах двоичным кодом будет писать лишь бы стать программистом. Если ему это нравится (Сомневаюсь что много кому будет нравится тыкать транзисторы). Мне нравится программирование но я не хочу опускаться до невероятных жертв ради написания кода, который в любом случае нужно сначала научится писать. Я могу писать код, и мне этого хватает, но конкретно QT я не могу установить, да уже и не нужно так как GUI я могу делать на C#. Не у всех людей такая стальная мотивация и дисциплина как у вас. И да существуют компы которые не вывозят 10 виндовс, моему комьпютеру 16 лет, мне кстати тоже. Не считаю это достижением каким-нибудь, но я пытаюсь в своём возрасте выучить проффесию которая мне нравится, и это не значит что я сломя голову написав hello world пойду решать задачи с тегом "Hard" на LeetCode. Я зашел сюда чтобы узнать как мне практиковаться потому как когда я просто долблю задачи на алгоритмы, на знание языка, или ещё на что-то, мне кажется что я ухожу с пути, что я что-то делаю не так и задачи не приносят мне прогресса. Но половине людей на этом сайте проще написать что программистами рождаются, а не становятся, что я из матери должен был вылезти изобретая новый алгоритм, только тогда я буду программистом.
Meised, вы спорите с воображаемым собеседником, приписывая мне то, чего я не писал и чем я не являюсь.
Никакой стальной мотивации и дисциплины у меня отродясь не было. Мне было интересно покопаться и добиться, только и всего.
Кстати, никаких литкодов и прочих тренажеров тогда не было, и наверное, к лучшему. Потому что я практиковался - написанием программ, а не задрачиванием "задач на алгоритмы". Вроде бы успешно...
Возраст, ктати, примерно совпадает. Компьютер я впервые увидел в 15, соответственно, свою персоналку завел где-то в 16, и смог с Бейсиков потихоньку переползать на Паскаль. Насчет "не вывозит" и "на транзисторах двоичным кодом" - ну да, Ассемблером я тоже поинтересовался, но скорее для знакомства, чем всерьез что-то на нем писать.
А вот насчет цели "выучить профессию" - такого не было точно. Больше было похоже на хобби.
Adamos, Да и то что выгорание может быть только у программистов которые много лет работают тоже считаю бредом. Мне кажется они выгорают от того что много лет в одной сфере, куча выученных технологий, куча пройденных ситуаций, им просто становится не интересно что-то делать. В моём же случаи, я сталкиваюсь со сложностями которые стараюсь пройти, я не могу твёрдо определится с направлением, я не понимаю что мне делать даже когда есть дорожная карта, я не понимаю прогрессирую я или нет. У меня появляется ощущение что в этом языке, этой сфере которую я выбрал я не смогу стать программистом, иду в другую сферу и так дальше. Всё это отбивает у меня интерес к программированию. Мне нравится программирование не какой-то конкретной сферой, а в общем смысле. Возможно мне действительно не лучшей идеей будет идти в программисты, но пока я этого хочу я буду пытаться как-то выучится и суметь чего-то добиться, может и не с такой стальной дисциплиной как у вас, но всё же
ощущение что в этом языке, этой сфере которую я выбрал я не смогу стать программистом, иду в другую сферу и так дальше
"Фиалка в проруби". Объективных причин не стать программистом только две: не хватает времени и не хватает желания. Вот второй случай вы и демонстрируете, все остальное - такие же фантазии, как ваше "мнение" о выгорании.
mkone112, это все примерно сводится к "не хватает времени", главный принцип тут в том, что тот, кто усердно и достаточно долго занимается - с той или иной скоростью и успешностью, но неизбежно добивается такой цели.
А тут "Мне задали три стихотворения, я на первом начал отвлекаться, а на втором заснул. Наверное, школа - это не мое, я не уверен, что смогу стать второклассником".
Евгений Шатунов, Ну как минимум попробовать что-то новое кроме того как 24/7 сидеть и играть в игры. По вашему все всегда знают чем хотят заниматься в будущем? Нет. Если человек не знает, он пробует разные сферы, и находит ту которая ему нравится. Я до того момента как меня позвал друг несколько раз пытался начать учить программирование, но по разным причинам заканчивал на hello world на пайтоне, а тут влетел с другом, на С++, и всё начало нравится, по этому и продолжил
Meised, А в вашем возрасте не проще всего поступить в профильный нормальный, повторюсь нормальный ВУЗ где есть программа обучения и вас всему научат? Это конечно не дает гарантий, но сильно все упрощает. Я в свое время так например и поступил. Тем более этот способ зачастую не могут себе позволить взрослые. Пытаться же выучить C++ самостоятельно за три месяца, ну такое себе. Провал почти гарантирован.
RabraBabr, Боюсь что совсем не проще, в момент когда я начинал свой путь в мир IT я был в 10 классе, с нулевыми знаниями по всем предметам, так что если бы я мог поступить хотя бы в средний вуз мне бы нужно было ишачить 2 года по нужным предметам, поднимать математику которую я не учил с 7 класса, и другие предметы. Так что если бы моей дисциплины хватило бы на изучение всех этих предметов, в условиях лишённых какой-либо радости от обучения, то программирование я бы выучил с лёгкостью. Так же не стоит забывать об конкуренции в вузах на специальности связанные с программированием. Плюс не попробовав себя вообще в этом плане, я бы не мог знать точно хочу ли я этого. Ну и наконец я живу в Украине, так что если бы даже всё удалость, и я поступил, а было бы это через пол года от текущего времени, меня бы скорее всего просто загребли на войну. Так что вот совсем не проще поступить в вуз, нежели обучится самому, смотря на мои успехи в жизни, и мою дисциплину, я могу вам со 100 процентной уверенностью сказать что я бы никуда не поступил, а даже если бы поступил, от нагрузки университета бросил бы всё в первый же год.
Meised, просто ваш вопрос пересекается с этим Обучение C++ на Linux, VS code? там же в коментах и моя история. Но очевидно если это вам не подходит, вам придется искать другой путь. При ваших вводных я бы обратил внимание вот на что.
А так ли вам нужен c++? Очень сложный, просто огромный язык (тут одного стандарта несколько тысяч страниц), в котором куча UB, все которые даже сеньер проработавший много лет и не помнит. Я например только чуйкой понимаю, что вот так делать не надо. Я не знаю, что там в коде не так. Но просто не надо так делать и все.
Может стоит посмотреть в сторону фронтенда. Ну там html, css, javascript это все намного проще, + писать можно прямо в блокнотике. Кроме браузера по сути ничего и не надо. Потом поучить новомодный молодежный фреймворк и и почти все готово.
RabraBabr, Изначально я шёл в программирование с надеждой стать хакером, или специалистом по безопасности, нравилась мне эта тема. Я думал так - сначала синтаксис языка, потом задачки на закрепление, потом ещё чот, потом углублённое изучение направления. В процессе я понял что быть хакером, это значит знать почти всё что связано с программированием, это для того чтобы стать хорошим специалистом. Я пробовал что-то учить но то что я не привык в своей жизни к сложностям не давало мне перейти планку тех же коллекций, после синтаксиса я просто стоял и не знал что мне делать дальше. Через какое-то время я подумал, через пару лет нужно выходить на работу, единственное что мне в жизни нравится это программирование, стану хоть кем-то, и пошел по разным языкам. Сейчас для меня цель стать хакером уже ушла далеко и надолго, в будущем возможно к ней вернусь. Сейчас я действительно думаю пойти на более лёгкое направление типа Frontend и FullStack. Мне нравится сам процесс программирования, решение интересных задач, а не задач которые делаются через 3 велосипеда и ещё 2 рамы от них же, только для того чтобы я какую-то тему в страшных снах вспоминал, а во время обучения задачи именно такие. А делать какие-то свои приложения, сайты, либо не хватает фантазии, либо не могу подогнать фантазию под уровень своих знаний.
Meised, вот смотри. Я задал тебе короткий вопрос. Ты сперва выдал ответ, а потом пошел думать за меня и отвечать уже не мне, а самому себе. С таким подходом тебе в разработке делать вообще нечего.
Для чего и почему я задаю свои вопросы, спрашивать надо только у меня. Я задал свой вопрос для того, чтобы увидеть фундамент, на котором ты строишь свое обучение. Фундамента у тебя нет, а отсюда нет и обучения.
По описанию в твоем вопросе и по написанному во всех твоих комментариях видно только одно. Ты никогда не учился программированию и по сути так ничего и не умеешь. Все твои потуги никак не отличаются от все тех же игр. Хотя нет. Как разработчик игр, я могу сказать что в играх люди очень часто учатся чему-то полезному для их жизни. У тебя ситуация больше похожа на воскресный запой. Бесполезная трата времени.
Разработка ПО - это не про написание буковок в каком-то порядке. Чтобы всего лишь начать в разработке, нужно уже быть квалифицированным инженером. Написание кода - это рядовой навык переводить инженерные решения в слова на каком-либо языке. А основной навык инженера - это способность мыслить системно в состоянии длительной и полной фрустрации. И у тебя этого навыка нет вообще, опять же, судя по твоим собственным словам. Фрустрации ты банально боишься.
Инженер владеет инструментами и умеет их комбинировать для решения поставленной задачи. У тебя нет даже самых базовых инструментов, которые осваиваются еще в школе. Да, та же математика и прочие школьные дисциплины.
Системное мышление позволяет видеть комплексность задачи. Ты думал что станешь хакером, это слишком высокоуровневая и комплексная задача, чтобы напрямую браться за ее решение. А системного мышления для декомпозиции этой задачи у тебя нет.
Вот почему ты находишься там, где ты находишься. У тебя нет фундамента, а ты пробуешь взяться за что-то с самой макушки и тешишь себя недостижимыми целями.
Евгений Шатунов, Вы его перепугаете. Человек слабо понимает во что хочет ввязаться. Он не понимает, что ему годами нужно будет учиться. Что учиться придется по сути всю жизнь. Что придется полюбить учиться. Что два года школьной математики это фигня по сравнению с тем объемом знаний который нужно ему усвоить. Что выпускники ВУЗ'ов на порядок больше знают и умеют, но и из них, только небольшой процент доберется до профессии. Что бы научится, что то сносно делать в клиентской части на плюсах нужно не один год. А в библиотечной разработке и еще больше. А у него около нулевая база и совершенно отсутствует роадмап как все это получить.
З.Ы. Но есть и хорошие новости. Условные формошлепы тоже вроде еще нужны. Занятие это в целом бесхитростное, а остальное можно постепенно углубить по ходу работы. Но C++ в общем это не тот инструмент, который ему поможет в этом деле.
Если тебе не интересно работать в консоли, неинтересно с формочками, то может быть, сильно настучав себе на голове ты это и сможешь осилить, и может быть даже сможешь осилить интервью и трудоустройство. Но на работе все равно быстро перегоришь и будешь жить несчастную жизнь.
На мой взгляд лучший вариант изучения языка - писать то что именно тебе нужно, или хотя бы интересно.
Я начал изучать программирование лет двадцать назад, поэтому мой опыт может показаться странным, но все же. В моем распоряжении был компьютер на 386 процессоре и монохромный монитор с 4 градациями цвета (белый, серый, темный и черный). Конечно я видел и цветные мониторы и 95 винду на них. Мне тоже хотелось окошечки, графический интерфейс и все такое прочее. Хочется - сделаем. Книжки в зубы (в библиотеке O_o), редкие походы в компьютерные клубы, за инфой из интернета (сколько поместится на дискету?) - и вперед, пилить оконный менеджер под ДОС на турбопаскале.
Конечно, свою винду я не написал =) Но зато паскаль выучил, объектное программирование, детально разобрался как работает компьютер и операционная система, что такое резидентные программы в досе.
А потом купил нормальный комп =)
К чему я это всё? А к тому, что если у тебя есть желание научится программировать, ты возьмешь и научишься, даже на калькуляторе.
я в 1982 (ни одной опечатки)... начал изучать ассемблер ))
год поступления раньше - перфокарты на 3м курсе..
год поступления позже - сука бейсик...
... я один думаю что мне дико повезло?
IT - это не только программирование. Попробуй себя в других направлениях: администрирование / DevOps
Сам с 7 класса занимался программированием (в городе была школа программирования, изучали алгоритмы и прочее). В ВУЗе отучился на инженера и в ит прошел, ТК уже мотивировали деньги.
Сейчас работаю на стыке IT и менеджмента, ЯП в работе использую (не только для анализа).
Как один из советов - не получается с одним языком ,- изучи другой. Если проблема в том, что возникают ошибки - изучи Rust. Если нужна простота и широта использования - Python. SQL - одно из необходимых знаний разработчика, админа или любого менеджера.
Если же вопрос стоит - в том, что хочется приносить пользу есть проекты на GitHub, там есть вкладка issues - можешь попробовать в open source проектах поделать (придется изучить стандарты разработки конкретного проекта.
Если понимаешь, что выше сложно, можно пойти в сторону администрирования (поставить Linux, поднять веб сервер с бд). (Объем больше, чем разработка, но нужно даже разработчикам).
Чтобы понять прогрессируешь или нет посмотри свой "старый" код если кровь из глаз не идёт или нету срочного желания написать с нуля, то топчешся на месте в 90% случаев
"А чтобы понять куда идти надо понимать куда ты хочешь попасть" Цитата из Алсы в стане чудес
А для программиста это понимание вдвойне важно т.к. не понимая что должно получится в конце не получится создать план достижения цели.
Тебе стоит определится чего ты... ДА ДА конкретно ТЫ хочешь и спрашивать у других что делать и как поступить в данном случае бессмысленно
10 виндовс не могу поставить, а другие он не тянет
А причём тут это? Минимальные системные требования для qt, c++ или Java? Честно говоря, не помню такого, мне кажется, что дело явно не в этом.
Походу, вы хотите в программирование из-за хайпа, а не потому что это вам интересно. Тем более с такими набегами, то нравится, то не нравится, то получается, то нет. Такими методами точно ничего не получится.
1. Если не знаете, какой язык учить - учите Питон. Очень низкий порог входа, пр этом один из самых используемых. И GUI на нем делать тоже можно.
2. Есть целые сайты специально для тренировок. Например, LeetCode, CodeWars
3. Если комп не тянет, поставьте Linux. В любом случае очень полезно разбираться, как им пользоваться.
4. Программирование это не только язык. Нужно понимать, например, что такое ООП. К счастью, в наше время бесплатной литературы в сети полно на любую тему.
Решать реальные задачи. Написание кода - это всего лишь небольшая часть в разработке ПО. Язык программирования - это инструмент. Рекомендую присмотреться к готовым схемам изучения ЯП. Например: https://roadmap.sh/ А так же пробовать не только решать разные задачи, но и разные ЯП и разными способами. Так же имеет смысл присмотреться к играм с мощными редакторами и системами модификации: создать свой квест/карту/игру очень даже неплохо мотивирует делать что-то большее. Ну и, конечно же, учиться, учиться и учиться. Причем еще и учиться учиться. И обязательно учить английский и математику. IT меняется и развивается очень быстро и без навыков и способностей к самостоятельному обучению тут очень быстро можно оказаться за бортом и уйти на дно как топор.
Хоть я и плохо знаю Питон, но советую именно его, т.к. он очень востребован и прост в освоении. Выбери что-то одно, не надо прыгать, а то так и не научишься ни чему. Прогрессировать можно только одним способом - решать все более сложные задачи шаг за шагом. А потом на работу возьмут, и дело пойдет быстрее.
Как вариант, читать книгу (Р. Лафоре "ООП в C++") и после каждой главы выполнять упражнения для закрепления результата (прочитанного). Иногда встречаются интересные задачки, как бы подстегивающие тебя: а сможешь или нет? Вроде как они и по уровню сложности иногда делятся. Но тут все консоль.
А так, иногда пробуешь какие-то жизненные вопросы решить. Несложные. Например в Linux-системах это как-то ближе. Что-то автоматизировать. Ни кто же не обязывает применять скрипты. Можно и на том, что знаешь. В Windows меньше надобности для обычного юзера что-то автоматизировать, скриптовать. Инструментов и так завались. Быть может, для решения каких-то бизнес-задач может быть использован этот инструментарий.
Недавно наткнулся на Visual Basic for Application (Книга "Microsoft Office для программистов"). Так там и про макросы, про графику, про объектную модель, про бизнес-задачи. Жаль, что как-то раньше ее не видал. Все-таки C++ - сложновато для начала, не всегда оптимален для задачи, да и, скажем там, староват по современным меркам. Я-то повелся когда-то. Но, считаю, лучше - когда выпендрежа поменьше (я про выбор языка). :) Меньше порог вхождения, больше концентрируешься на задаче. Тут, даже, не всегла важен язык как таковой, если логика хорошо понятна. Ее можно описать как обычным текстом, так и при помощи блок-схем. А уж на чем реализовывать - дело второе.
Теже скриптовые, например, линуксовый Bash (тоже хорошо зашел), по которому есть тоже хорошая книга (название не помню) ориентиван на высокоуровневое решение непосредственных задач. Без особых копаний и подробностей, мелочей. Правда он для линукса и работы в консоли. В винде есть свой аналог.
Вообще, языков - море. Все в ИТ меняется стремительно. Надо смотреть, пробовать. Что интересует, какие конкретно задачи. Под них и язык можно выбрать.
Я, в свое время, тоже пробовал всякое. Когда интерес был. Но программистом так и не стал. Ни дня им не работал. Все только в качестве хобби и студенческих работ. А потом, жизнь повернула по-своему. Не до того стало. Но плюс со всего этого - масса положительных эмоций и расширение кругозора. Пусть я не понял многого, но и не сказать что уж совсем всего. Что-то осталось. Для себя.
Ах да. Вспомнил еще, достаточно доходчивым языком, написанную книгу: М. Фленов "Библия Delphi".
Кстати, раньше как-то были базы-сборники в Инете с конкретными задачами и примерами их решений по всяким разным направлениям. Знаю такие на два языка программирования. Соответственно: DelphiWorld и WorldC++. Что-то почерпнуть можно и оттуда. Не помню, правда, комментированные там исходники или же нет.