LINUX.ORG.RU
ФорумTalks

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

 , , , ,


3

5

Как научиться прогать? Как учились вы? Как учились раньше олды я уже нашел тему и прочитал.

Господа, у меня такая проблема, что в общем и целом подступиться пытаюсь к теме уже 2 года. Начинал я еще в 2009, купили книгу по питону и я ее не осилил. Вот так. Там начались логарифмы(или я их где-то усмотрел, потому что сейчас перечитываю и не могу найти их), а с матаном тогда было совсем туго. Ну я и подумал, что матан == программировать = не мое. На следующий год склепал для игры на ucoz сайтец, немного размял html, потом был следующий сайт уже на гугл конструкторе. В итоге тоже похоронил это дело, т.к. пошел учиться на истфак и информации было очень много. Где-то в 2018 году решил вернуться к вопросу.

Начал с objective-C, начал с основ, буквально неделю подолбился и понял, что дела иметь с аппл и прочим я не хочу, тогда еще свифт начал набирать популярность так что я и вовсе забил. Далее был php. В пхп вникнуть не смог - не знаю кто там говорит за легкость, но мне мешанина из html кода и пхп буквально взрывает мозг. На пхп максимум правил какие-то штуки в шаблонах всяких CMS и забил на это дело. Потом начал javascript, потом забил. Начал изучать Java - было интересно поднять свой сервер для ММОРПГ. Но в итоге как-то забил. Да, здесь вы можете сказать что моя проблема в том, что я забиваю, но читайте пожалуйста дальше эту простыню :)

Решил закрыть гештальт и вернуться к питону. Написал на питоне бота, который нужен был другу….ну как написал.. В этом то и вся проблема! Что написать я ничего не написал. Я просто перерывал кучи исходников, статей, из говна и палок собирая бота, плюясь и кряхтя, проклиная все на свете. Потом начал учить синтаксис питона, забил.

Когда забивал - в основном работал, естественно, не по специальности. Пердолил бубунту, потому что в моем манямирке прогать не на линухе не тру. Да и вообще неудобно. Опять же, вернулся к основам. Читал Лутца, читал A Byte of Python 2 раза, читал Грокаем Алгоритмы Бхаргава. Потом высрал еще пару ботов на питоне, почти схожим с предыдущим примером образом. Я не умею взять и сесть начать писать программу, я буквально не знаю с чего мне начать.

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

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

Но проблема в том, что я абсолютный 0. Нет, не так. Дырка от 0. Вот установил wm awesome ради Lua. И то снес, хоть и жалко, не успел я напердолиться. Непонятно как именно строить программу на моем этапе.

Я могу взять чей то код, могу даже починить его и заставить работать - НО НА ЭТОМ ВСЕ.

Сначала, когда писал первого бота на питоне я проклинал все, эти ошибки, трейсбеки, все это уже давно поборол, отношусь нормально и к ошибкам времени компиляции на С.

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

У меня цель простая, хочу писать ПО для микроконтроллеров и вебом как-то на хлеб зарабатывать. А еще надо семью каким-то образом кормить. Просто жесть, неужели я должен столько пролитой крови на этом программировании спустить в унитаз и заняться чем-то другим? Ведь мозг можно обучить буквально всему. Но у меня не идет. Сейчас сижу просто над очередным проектом буквально сутки и не сдвинулся ни на шаг. Когда уже оно пойдет, кто знает? Что делать, как практиковаться?

Ответ на: комментарий от AnonymUser

Современный PHP код скорее на Java похож чем на си.

Noob_Linux ★★★★
()
Ответ на: комментарий от NorthernBlow

за это время действительно можно было бы хоть что-нибудь сделать для опенсорса

Откуда вы знаете о моих заслугах? Не надо мне рассказывать «что хорошо, и что плохо», ладно?

тебе пора бы уже к земле привыкать

Пора. Вы этому радуетесь, очевидно?

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

Меньше народу - больше кислороду. Как тут не радоваться.

Я бы не рассказывал, если мне бы не пороли чушь не по теме, цепляясь за пару слов, которые я вставил в текст ради эмоционального украшения

NorthernBlow
() автор топика
Ответ на: комментарий от bugfixer

Уже в 10 раз тут прощаешься. Займись наконец, чем-нибудь полезным в жизни, не опускайся со своих илитных высот до таких как я, а то уже весь измазался вон

NorthernBlow
() автор топика
Последнее исправление: NorthernBlow (всего исправлений: 1)
Ответ на: комментарий от vM

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

NorthernBlow
() автор топика
Ответ на: комментарий от Irma

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

Assembler
()
Ответ на: комментарий от NorthernBlow

Займись наконец, чем-нибудь полезным в жизни

Слушаюсь, и повинуюсь.

не опускайся со своих илитных высот до таких как я, а то уже весь имзался вон

Измазался, да. У меня есть фраза выражающая крайнюю степень пренебрежения к собеседнику (извините что разжевывать приходится). Так вот, внимание - я вам в рот не напИсаю даже у вас зубы гореть будут. Адью!

bugfixer ★★★★★
()
Ответ на: комментарий от NorthernBlow

Пойду за упокой выпью)

Вперед. Стукнуть не забудьте.

bugfixer ★★★★★
()
Ответ на: комментарий от NorthernBlow

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

Те, кому надо, будут использовать то, что им надо, там, где им надо.

vM ★★
()
Ответ на: комментарий от NorthernBlow

внутри чужого кода я уже могу писать свои функции, давать им что-то, возвращать из них что-то.

Это уже достаточно круто. Многие выпускники профильных учебных заведений этого не умеют.

vM ★★
()
Ответ на: комментарий от vM

+1. И не только выпускники. Многим проще своё написать, чем в чужом разбираться. В т.ч. мне, тяну до последнего, например полгода назад таки-добрался сделать вот это: 2 часа изучения сорцов, полстрочки фикс.

А ТС-у проще наоборот. Уникальный случай, между прочим. Может тупо взять и найти работу? Попадёшь на уже готовый проект, будешь его модифицировать. И вопросов «чем бы заняться» не будет: задачи будет работодатель подкидывать. Счастливо найдёте друг друга.

dimgel ★★★★★
()
Последнее исправление: dimgel (всего исправлений: 1)

Но у меня не идет. Сейчас сижу просто над очередным проектом буквально сутки и не сдвинулся ни на шаг.

Что именно у тебя не идет, предметно можешь объяснить? Кмк, у тебя вот в этом проблема, что «ааа, я нихрена не понимаю». Нихрена не понимать - это не зазорно, но для тебя тяжело эмоционально. Обычно люди не лезут дальше, как только с этим сталкиваются, но тебя всё равно с кодинга почему-то прёт.

Когда уже оно пойдет, кто знает?

Зависит от всратости проекта. Баги можно вылавливать неделями.

Что делать, как практиковаться?

Берешь и кодишь. Что угодно. Крестики-нолики, морсокй бой, a*, рогалик...

А еще надо семью каким-то образом кормить.

Это проблема. Когда работаешь свичнуться куда-то тяжело.

crutch_master ★★★★★
()

Я могу взять чей то код, могу даже починить его и заставить работать - НО НА ЭТОМ ВСЕ.

Знаешь, огромное множество кодерков так и работают, юзая какие-то фреймворки, либы и приделывая к этому копипасту со стековерфлоу, получают за это какие-то невменяемые деньги и их это совершенно не напрягает. Я думаю, ты просто тяжело переносишь «пустоты» и работу в условиях недостатка информации. Отсюда тяга к МК, где, как тебе кажется, всё просто и понятно - байт пришел, 2 байта вышло.

crutch_master ★★★★★
()
Ответ на: комментарий от dimgel

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

crutch_master ★★★★★
()
Ответ на: комментарий от anc

Так уже немало: UI(громадный пласт кода), БД(тоже не маленький), юниты в играх(и не обязательно только в играх, любые элементы рисуемые могут быть в парадигме ооп спроектированы).

Можно продолжить: реализация протокола какого либо(v1,v2) + c расширениями, вот где кстати можно множественное наследование использовать круто. 10 поездов\автомобилей\ещё каких т.с. внутри устройства разных поколений и с разными фичами в зависимости от комплектации. И вот у тебя каждое устройство это класс, который может наследоваться и получать расширенные возможности. Также отдельный класс для шины связывающей устройства и наследуемый по мере развития протокола общения. Это кстати пример из реальной жизни и моей работы.

Loki13 ★★★★★
()
Ответ на: комментарий от dimgel

Может тупо взять и найти работу?

Нет, это же очевидно. У ТС-а пропадёт некий комфорт текущего его состояния. Хотел бы прогать за деньги - с 2009 года нашёл бы вариант. А так ему удобно не работать программистом, а как бы стремиться им стать.

fluorite ★★★★★
()
Ответ на: комментарий от Assembler

все великие математики дети математиков. тут не гены, тут атмосфера. у ковалевской

...отец был артиллеристом. Дальше не читал.

thesis ★★★★★
()
Ответ на: комментарий от vM

Обычно есть какое-то несвоё firmware, как минимум, микропрограмма инициализации устройства, которая приводит ВС в определённое состояние до того, как начнёт выполняться созданная по Вашим указаниям программа.

ZX Spectrum спасет отца русской демократии:

http://www.nedopc.org/forum/viewtopic.php?f=35&t=19415

sanyo1234
()

Просто поставь себе задачу «написать бота с нуля». И не гугли «как написать бота на питоне»! Я не знаю, к чему именно ты делаешь бота, поэтому сложно давать конкретный совет. Но, допустим для простоты, что это бот, отвечающий на команды в терминале.

Процесс максимально прямолинейный. Разбиваешь свою проблему на множество небольших задач, не надо даже ничего планировать наперёд, просто решаешь задачи по мере поступления. Что наш бот должен сделать вначале? Видимо, прочитать команду из консоли. Гуглишь «питон читать из консоли». Команда есть, надо как-то на неё отреагировать. Начинай с односложных команд, просто сравнивая их с известными паттернами или просто словами. Неизвестная команда? «Питон распечатать ошибку». Одну команду обработал, придумай, как зациклить обработку. Как выйти из этого цикла? Как только каркас готов (с нуля, сам!), можешь переходить к усложнению обработки команд, там уже пойдут другие вопросы вроде как «разбить строку на слова» и т.д.

Однажды ты упрешься в ограниченность императивной обработки и пойдёшь изучать экспертные системы и нейросети :)

filosofia
()

я проклинал все, эти ошибки, трейсбеки, все это уже давно поборол

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

filosofia
()
Ответ на: комментарий от NorthernBlow

п.с. понимаешь, я слишком много времени на это похоронил

Алсо, это типичное «я слишком много денег проиграл в этом казино, придется отыгрываться» со всеми предсказуемыми последствиями.

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

Возможно это, и еще возможно, что ты учишь язык за языком, вместо того, чтобы заниматься анализом систем и предметными областями. Что я хочу сказать: чтобы сесть писать, например, ERP, нужно понимать, как организовано и работает предприятие, а не читать очередную блогерскую статью про лямбды или декораторы.

И здесь встает другой огромный волосатый вопрос: а что, собственно, писать? Что должен делать твой контроллер, чего еще не делает впятеро лучше уже прошитый контроллер с алишки за два бакса? Что именно ты будешь программировать, какие потенциально прибыльные НЕРЕШЕННЫЕ ЗАДАЧИ нубопрограммирования ты видишь вокруг себя? Например, чтобы запрограммировать четырехкоординатный фрезерный станок, тебе нужно где-то взять незапрограммированный четырехкоординатный фрезерный станок, куда-то его поставить и на чем-то его отлаживать. Понятно ли, что сложность здесь состоит вовсе не в программировании?

Ну да, светодиодную вывеску можно накодить. У нас же острая нехватка светодиодных вывесок везде.

thesis ★★★★★
()

Ведь мозг можно обучить буквально всему.

Но разные мозги учатся по-разному. Одним малышам проще запомнить 7×8. Другим проще посчитать 7×10 -7 -7 или 7+7=14 14+14=28 28+28=56

vM ★★
()

Но всё же, несмотря на всё сказанное выше, как писал русский классик: «только начав ковать, можно стать кузнецом».

AnonymUser
()
Последнее исправление: AnonymUser (всего исправлений: 1)
Ответ на: комментарий от dimgel
Одно из самых драматических изображений показывает её сидящей на корточках у тела мёртвого Шивы, поглощающей его пенис своим влагалищем, в то время как ртом поедает его кишечник. Эту сцену надо воспринимать не буквально, а духовно. Считается, что Кали принимает во влагалище семя Шивы, чтобы вновь зачать его в своей вечной утробе. Точно так же она пожирает и уничтожает всё живое вокруг себя, чтобы всё создать заново. На своей шее она носит ожерелье из черепов, на котором выгравированы санскритские буквы, считающиеся священными мантрами, при помощи которых Кали и творила, соединяя Стихии.Кали Ма имеет чёрную кожу и уродливое лицо с клыками, испачканными кровью. Над её бровью расположен третий глаз. Её обнажённое тело украшено гирляндами из младенцем, ожерельями из черепов, змей, голов её сыновей, а пояс сотворён из рук демонов.

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

Assembler
()
Последнее исправление: Assembler (всего исправлений: 1)
Ответ на: комментарий от thesis

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

Assembler
()
Ответ на: комментарий от Assembler

Если яблоньку посадить в атмосферу мексиканской пустыни, то кактус из неё не вырастет, если что-то сможет вырасти вообще. Но, конечно, чтобы стать математиком, лучше вырасти математиком в благоприятной математической среде… А помогут ли этому вовремя подхваченные удачные вирусы, кто знает?

vM ★★
()
Ответ на: комментарий от vM

человек не яблонька. вы тут говорите что гены, и ТД, я же говорю что если даже человека поместить в среду соответствующую среду, то он ею напитается, как пример дети, которых воспитали кошки и собаки. так и не удалось их после привести в то состояние которое вы называете разумным. вот вам и среда. так что всех вас хваленых гением, ежели бы поместить в конуру с собакой где вам пришлось бы расти, не думаю, что ваша предрасположенность позволила бы вам написать что то больше чем УМВР.

Assembler
()

Ну и это, лечи биполярку. Мозги в случае программирования рабочий инструмент, к ним нельзя относится как к чему-то, что само собой разумеется.

crutch_master ★★★★★
()
Ответ на: комментарий от Assembler

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

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

Известны династии учёных и музыкантов, есть университеты и научные школы, но выживыший гений – всегда счастливое стечение уникальных обстоятельств. Были хорошие музакнты в роду И.-С.Баха и до него, и после, но у знаменитого Иоганна вырос такой мозг, что он был, мягко говоря, избыточен для профессионального музицирования. И Иоганн сочинял музыкальные головоломки просто от скуки. Вырос бы такой мозг в семье Бернулли – стал бы физиком-математиком, в другой среде стал бы гениальным мошенником.

vM ★★
()
Ответ на: комментарий от Assembler

все великие математики дети математиков

Отец Гаусса был разнорабочим, а его мать не умела читать от слова совсем и не знала даты своего рождения.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Assembler

я же сказал что гены не важны

Два процента генов отличают человека от шимпанзе. Но для программирования это, конечно, не особо важно. Нужно просто обклеить стену Кнутом.
Ты говори, говори.

thesis ★★★★★
()
Ответ на: комментарий от thesis

Два процента генов отличают человека от шимпанзе

вы их считали?

веселые вы ребята, то им геном человека выложат в свободный доступ, то код ИИ. да никто и никогда массам не даст таку инфу. для нас только сериалы и камеди клаб. все.

Assembler
()
Ответ на: комментарий от Assembler

никто и никогда массам не даст таку инфу

Так еще когда-то про рецепт мороженого говорили.

thesis ★★★★★
()
Ответ на: комментарий от hateyoufeel

Великий философ Бёме был по совместительству спожником.

AnonymUser
()
Ответ на: комментарий от soomrack

Писать на фортране можно на любом синтаксисе

ващет это плюснутая специфика что stl последовательности …

в пхутоне логика таже

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

в ч>м собственно страдание? что for e in list тут какбе не?

ну дык и?

qulinxao3 ★★
()
Ответ на: комментарий от soomrack

https://youtu.be/JKXjLt-vO34?list=TLPQMjUxMjIwMjICnCNVVtS_vg

если прям нуна

for task in Tasks():

тогда Tasks() это нечто генератор|итератор хухры мухры буфер-очередь которая попится заголовком цикла а в теле возможно пушытся

ваще задачка уровня сколько ангелов на кончике

qulinxao3 ★★
()

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

Ещё: если всё-таки забыть все, что пробовал в сфере раньше, и сесть разбираться хоть недолго в C и Ассемблере, посвятить им, допустим, месяц, то вполне четко потом получится ответить себе на вопрос, нужно ли этим заниматься дальше.

AnonymUser
()

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

Понадобится машина времени. Вернуться в возраст 6-7 лет, и научиться логическому мышлению, с применением методов абстрагирования.

i_am_not_ai
()

Если проблемы с мышлением в таком возрасте, то - рекомендую начать повышать культуру чтения и культуру мышления чтением обычной художественной литературы. Посоветоваться со школьным психологом. Наверняка, в вашем населённом пункте есть грамотные психологи. Что она будет подсказывать по дальнейшим шагам развития. А программирование, оно подтянется, если потребности будут.

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

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

i_am_not_ai
()
Ответ на: комментарий от AnonymUser

Написать, допустим, за месяц, ещё один ассемблер на Си?

vM ★★
()

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

Virtuos86 ★★★★★
()
Ответ на: комментарий от Jurik_Phys

continue – продолжает выполнение программы от текущей точки до конца;

А может, до следующей точки останова?

Xintrea ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)