Как практиковаться в программировании?

История моя такова, в году 2022 в начале осени звонит ко мне друг - "Го программирование учить?". Ну го. Пошли учить, учили по проге SoloLearn язык С++, учили 3 месяца синтаксис, прошли программу, забросили, потом вернулись но уже на джаве, там дело пошло легче, дошел до коллекций, пробовал решать задачи на LeetCode, даже немного получалось. Потом забросил из-за сложностей, и началось, на С++ - на джаве, и обратно. Всё это время я хотел стать крутым хацкером который чуть ли не сам стал ЭВМ. Но не шло дело к этому, я думал так - "Выучить язык кое как, практика языка, потом всё остальное". Потом понял что в консоли я работать не хочу, скучно, начал пробовать WinForms на С++, стали появляться как мне казалось без причинные ошибки, которые не удавалось пофиксить даже удалив весь проект, в инете много информации об этом не находил. В итоге забил, пошел опять на джаву, пробовал там делать GUI, сложно и через жопу. Вернулся на С++, пробовал WinAPI, сложно и через жопу, QT не вывозит комп, 10 виндовс не могу поставить, а другие он не тянет. Теперь пришел на С#, тут с GUI получше, но теперь раз так всё хорошо то вопрос - А что мне собственно делать?
Сам проекты придумать не могу, а если и могу то через чур сложные, на которых я просто выгораю и забиваю. Как мне практиковатся, потому что вроде как я знаю язык, я знаком с коллекциями, я немного лазал в алгоритмы, но по сути написать ничего я не могу, я не знаю как применить знания. А даже если я начинаю просто на пофиг решать задачки и не о чём не думать кроме них, я просто теряю свой путь, я не знаю прогрессирую я или нет. Надеюсь кто-то сталкивался с таким и может мне прояснить - как мне учить программирование если я такой бездарь?
  • Вопрос задан
  • 7230 просмотров
Решения вопроса 3
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Забей на программирование, это не твое.

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

Найди ту деятельность, где у тебя глаза горят.
Ответ написан
delphinpro
@delphinpro
frontend developer
На мой взгляд лучший вариант изучения языка - писать то что именно тебе нужно, или хотя бы интересно.

Я начал изучать программирование лет двадцать назад, поэтому мой опыт может показаться странным, но все же. В моем распоряжении был компьютер на 386 процессоре и монохромный монитор с 4 градациями цвета (белый, серый, темный и черный). Конечно я видел и цветные мониторы и 95 винду на них. Мне тоже хотелось окошечки, графический интерфейс и все такое прочее. Хочется - сделаем. Книжки в зубы (в библиотеке O_o), редкие походы в компьютерные клубы, за инфой из интернета (сколько поместится на дискету?) - и вперед, пилить оконный менеджер под ДОС на турбопаскале.
Конечно, свою винду я не написал =) Но зато паскаль выучил, объектное программирование, детально разобрался как работает компьютер и операционная система, что такое резидентные программы в досе.
А потом купил нормальный комп =)

К чему я это всё? А к тому, что если у тебя есть желание научится программировать, ты возьмешь и научишься, даже на калькуляторе.
Ответ написан
@qid00000000
Мало что знаю, но информацию найду в гугле
IT - это не только программирование. Попробуй себя в других направлениях: администрирование / DevOps

Сам с 7 класса занимался программированием (в городе была школа программирования, изучали алгоритмы и прочее). В ВУЗе отучился на инженера и в ит прошел, ТК уже мотивировали деньги.

Сейчас работаю на стыке IT и менеджмента, ЯП в работе использую (не только для анализа).

Как один из советов - не получается с одним языком ,- изучи другой. Если проблема в том, что возникают ошибки - изучи Rust. Если нужна простота и широта использования - Python. SQL - одно из необходимых знаний разработчика, админа или любого менеджера.

Если же вопрос стоит - в том, что хочется приносить пользу есть проекты на GitHub, там есть вкладка issues - можешь попробовать в open source проектах поделать (придется изучить стандарты разработки конкретного проекта.

Если понимаешь, что выше сложно, можно пойти в сторону администрирования (поставить Linux, поднять веб сервер с бд). (Объем больше, чем разработка, но нужно даже разработчикам).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 8
@Zerg89
Чтобы понять прогрессируешь или нет посмотри свой "старый" код если кровь из глаз не идёт или нету срочного желания написать с нуля, то топчешся на месте в 90% случаев

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

Тебе стоит определится чего ты... ДА ДА конкретно ТЫ хочешь и спрашивать у других что делать и как поступить в данном случае бессмысленно
Ответ написан
Комментировать
@tyxeo
дальний знакомый Мурыча
надо хотеть создавать свои приложения
сначала очень простые

сделай простую игру - марио, танчики...
или простой редактор документов типа ворда
или сайт типа тостера
Ответ написан
Jovvy
@Jovvy
Инженер-программист 1С, руководитель отдела ИТ.
10 виндовс не могу поставить, а другие он не тянет


А причём тут это? Минимальные системные требования для qt, c++ или Java? Честно говоря, не помню такого, мне кажется, что дело явно не в этом.
Походу, вы хотите в программирование из-за хайпа, а не потому что это вам интересно. Тем более с такими набегами, то нравится, то не нравится, то получается, то нет. Такими методами точно ничего не получится.
Ответ написан
Комментировать
@GBR-613
1. Если не знаете, какой язык учить - учите Питон. Очень низкий порог входа, пр этом один из самых используемых. И GUI на нем делать тоже можно.
2. Есть целые сайты специально для тренировок. Например, LeetCode, CodeWars
3. Если комп не тянет, поставьте Linux. В любом случае очень полезно разбираться, как им пользоваться.
4. Программирование это не только язык. Нужно понимать, например, что такое ООП. К счастью, в наше время бесплатной литературы в сети полно на любую тему.
Ответ написан
Комментировать
Steel_Balls
@Steel_Balls
0L3QsNGH0LjQvdCw0Lsg0YEgQkFTSUMg0L3QsCDQo9Ca0J3Qpi
как мне учить программирование если я такой бездарь?

Никак.
Программирование - это не твоё. Такое бывает и это нормально.
Найди себе другое занятие.
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Решать реальные задачи. Написание кода - это всего лишь небольшая часть в разработке ПО. Язык программирования - это инструмент. Рекомендую присмотреться к готовым схемам изучения ЯП. Например: https://roadmap.sh/ А так же пробовать не только решать разные задачи, но и разные ЯП и разными способами. Так же имеет смысл присмотреться к играм с мощными редакторами и системами модификации: создать свой квест/карту/игру очень даже неплохо мотивирует делать что-то большее. Ну и, конечно же, учиться, учиться и учиться. Причем еще и учиться учиться. И обязательно учить английский и математику. IT меняется и развивается очень быстро и без навыков и способностей к самостоятельному обучению тут очень быстро можно оказаться за бортом и уйти на дно как топор.
Ответ написан
Комментировать
@yatarik
Хоть я и плохо знаю Питон, но советую именно его, т.к. он очень востребован и прост в освоении. Выбери что-то одно, не надо прыгать, а то так и не научишься ни чему. Прогрессировать можно только одним способом - решать все более сложные задачи шаг за шагом. А потом на работу возьмут, и дело пойдет быстрее.
Ответ написан
Комментировать
@tifco
Как вариант, читать книгу (Р. Лафоре "ООП в C++") и после каждой главы выполнять упражнения для закрепления результата (прочитанного). Иногда встречаются интересные задачки, как бы подстегивающие тебя: а сможешь или нет? Вроде как они и по уровню сложности иногда делятся. Но тут все консоль.
А так, иногда пробуешь какие-то жизненные вопросы решить. Несложные. Например в Linux-системах это как-то ближе. Что-то автоматизировать. Ни кто же не обязывает применять скрипты. Можно и на том, что знаешь. В Windows меньше надобности для обычного юзера что-то автоматизировать, скриптовать. Инструментов и так завались. Быть может, для решения каких-то бизнес-задач может быть использован этот инструментарий.
Недавно наткнулся на Visual Basic for Application (Книга "Microsoft Office для программистов"). Так там и про макросы, про графику, про объектную модель, про бизнес-задачи. Жаль, что как-то раньше ее не видал. Все-таки C++ - сложновато для начала, не всегда оптимален для задачи, да и, скажем там, староват по современным меркам. Я-то повелся когда-то. Но, считаю, лучше - когда выпендрежа поменьше (я про выбор языка). :) Меньше порог вхождения, больше концентрируешься на задаче. Тут, даже, не всегла важен язык как таковой, если логика хорошо понятна. Ее можно описать как обычным текстом, так и при помощи блок-схем. А уж на чем реализовывать - дело второе.
Теже скриптовые, например, линуксовый Bash (тоже хорошо зашел), по которому есть тоже хорошая книга (название не помню) ориентиван на высокоуровневое решение непосредственных задач. Без особых копаний и подробностей, мелочей. Правда он для линукса и работы в консоли. В винде есть свой аналог.
Вообще, языков - море. Все в ИТ меняется стремительно. Надо смотреть, пробовать. Что интересует, какие конкретно задачи. Под них и язык можно выбрать.
Я, в свое время, тоже пробовал всякое. Когда интерес был. Но программистом так и не стал. Ни дня им не работал. Все только в качестве хобби и студенческих работ. А потом, жизнь повернула по-своему. Не до того стало. Но плюс со всего этого - масса положительных эмоций и расширение кругозора. Пусть я не понял многого, но и не сказать что уж совсем всего. Что-то осталось. Для себя.

Ах да. Вспомнил еще, достаточно доходчивым языком, написанную книгу: М. Фленов "Библия Delphi".
Кстати, раньше как-то были базы-сборники в Инете с конкретными задачами и примерами их решений по всяким разным направлениям. Знаю такие на два языка программирования. Соответственно: DelphiWorld и WorldC++. Что-то почерпнуть можно и оттуда. Не помню, правда, комментированные там исходники или же нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы