Привет всем!
Ребят, давно ношу в себе этот вопрос, вот решил задать, сформировался он в голове.
В чем проблема - я не знаю почему, но когда хочу изучить серьезно программирование, то всегда останавливаюсь на том моменте, когда уже прошел базис (Core) и перехожу к изучению какой-то библиотеки или фреймворка.
У меня просто словно "барьер" - начинают в голову лезть мысли, мол, "правильно" писать pure code, фреймворки - плохо, непродуктивно, нужно заучивать огромные конструкции, вида: фреймворк. пакет. метод () вместо собственных мой_специализированный_метод_без_всего_ненужного () и прочие глупости.
Я понимаю, что это глупо, думать так, но ничего не могу поделать. "Гружусь", пыхтю, впадаю в депрессию, будто я делаю что-то плохое или неправильное.
Грешу на то, что мое первое знакомство с миром программирования было в виде PHP и без всяких фреймворков, писал процедурно всякие мелкие штуки для Веба (занимался долго SEO и блогами, поэтому чуть изучил PHP, чтобы подправить плагин для WordPress, тему, написать простенький, на 20 строк, чекер или аналогичные примитивные утилиты).
Никогда серьезным кодингом не занимался, чтобы "кормиться" с этого.
Блин, ребят, дайте совет, как перебороть это?
Я очень хочу стать "нормальным", выучить хорошо Koltin и писать приложения для Андроида, поднимать хорошие деньги удаленно (то, что сейчас поднимаю на SEO и маркетинге - мало, хочу профессионально расти и развиваться, создавать полезные программные продукты, а не рекламить тревел и CPA-офферы). Умею много всякого в SEO и маркетинге, но вот с программированием у меня никак не получается продвинуться дальше основ. Всегда, абсолютно всегда останавливаюсь, едва изучу синтаксис и надо перейти к чему-то более сложному - фреймворку, ООП и т. д.
Спасибо за ответы!
Другие языки программирования и технологии
"Неприятие" фреймворков, было ли у Вас такое? Как перебороли?
Мысли правильные.
ООП и всякие фреймворки - это просто способ подсадить юзеров на свой программный продукт, и не более.
А потом эти юзеры ждут очередную версию своего фреймворка и заучивают в нём новые фичи.
Те, кто этой байдой пользуются - именно юзеры, а не программисты.
Программист использует стандартные возможности ОС, её API, стандартные компиляторы, стандартные библиотеки.
Возьми любой популярный пацанячий ЯП - это по сути фреймворк. Например, С++.
В С++ постоянно обновляют обычные С-шные библиотеки. Свои не пишут. Просто прибавляют букву "c" к имени, например, cmath. Разве можно назвать это языком?
То же самое с другими "языками".
Лишь бы впарить юзерам и продать под это новые книжки и курсы. А программистов в итоге получится мизер. Остальные - просто покупатели.
ООП и всякие фреймворки - это просто способ подсадить юзеров на свой программный продукт, и не более.
А потом эти юзеры ждут очередную версию своего фреймворка и заучивают в нём новые фичи.
Те, кто этой байдой пользуются - именно юзеры, а не программисты.
Программист использует стандартные возможности ОС, её API, стандартные компиляторы, стандартные библиотеки.
Возьми любой популярный пацанячий ЯП - это по сути фреймворк. Например, С++.
В С++ постоянно обновляют обычные С-шные библиотеки. Свои не пишут. Просто прибавляют букву "c" к имени, например, cmath. Разве можно назвать это языком?
То же самое с другими "языками".
Лишь бы впарить юзерам и продать под это новые книжки и курсы. А программистов в итоге получится мизер. Остальные - просто покупатели.
Фреймворк, ООП это неправильная последовательность. Сначала ООП (что является частью основ), а уже потом фреймворк, который ты без ООП, возможно, нифига не поймешь.
Эльдар Конаев
Да, все правильно.
ООП мне тоже трудно дается (мысли, вроде: "зачем это, это так сложно, избыточно, ведь можно писать процедурно).
Я, вроде, и не тупой, но словно некий "психологический барьер" в голове стоит.
ООП мне тоже трудно дается (мысли, вроде: "зачем это, это так сложно, избыточно, ведь можно писать процедурно).
Я, вроде, и не тупой, но словно некий "психологический барьер" в голове стоит.
""Неприятие" фреймворков, было ли у Вас такое?"
Было. Они сложные. И пока ты не знаешь, как на них что-то сделать, кажутся малополезными.
То же самое и про крупные библиотеки, в которых всего сразу много, например Boost.
"Как перебороли?"
В основном стажировкой в компании.
Сначала я научился работать на C++ с тем же Boost и прочими плюшками, потом в той же компании познакомился с проектом на Node.js, React, koa, который был связан с частью, написанной на C++. Постепенно смог понять как все это работает и сейчас даже Redux понимаю, кроме Redux-persist.
Можно было, конечно, обойтись и без стажировки - на гитхабе полно проектов, которые пишутся в тех же компаниях - но сам понимаешь, нужно конкретно взять какой-то проект и начать его изучать, чтобы понять фреймворк. Возможно стоит это делать ради контрибьюций в эти проекты, сначала бесплатных (см. принципы сообщества), а потом может и работу через это найдешь, как знать.
"Я очень хочу ...поднимать хорошие деньги удаленно"
Это как?
На доширакофрилансе что ли? Весь русскоязычный фриланс - это огромный обменник труда программистов на дошираки.
И ни в коем случае это не "лестница".
Если ты уже профессионально знаешь фреймворки, то там это действительно МОЖЕТ помочь - но вот стать профессионалом работая там ты не сможешь, потому что бюджеты маленькие и придется делать наскоро, чтобы кушать хотя бы доширак, а не роллтон.
Еще там полезны отзывы и портфолио - но ты никогда не соберешь нормальное портфолио, потому что заказы там будут самые разнообразные (Android? Хер, придется еще и на PHP, и на Python, и на JS, и на C# писать, и в матлабе что-то для студентов делать) и тебе придется все делать наскоро и на грани, а не качественно, и в портфолио такое не пойдет.
То есть на фрилансе ты либо зарабатываешь деньги (маленькие) либо растягиваешь сроки любого проекта, по итогу вообще считай ничего не зарабатываешь, но зато хорошо во все вникаешь и все хорошо реализуешь, чтобы потом было портфолио.
ИМХО, если у тебя сейчас есть такие деньги чтобы ты мог сидеть и изучать что-то и не искать работу прям сейчас, то лучше метить на работу в компании. Начав с того же гитхаба, например. А на фрилансе если и брать проекты, то с не сжатыми сроками, а о том, что они должны платить, вообще забыть - жить за свой счет, а проекты эти делать как портфолио для устройства В КОМПАНИЮ.
Было. Они сложные. И пока ты не знаешь, как на них что-то сделать, кажутся малополезными.
То же самое и про крупные библиотеки, в которых всего сразу много, например Boost.
"Как перебороли?"
В основном стажировкой в компании.
Сначала я научился работать на C++ с тем же Boost и прочими плюшками, потом в той же компании познакомился с проектом на Node.js, React, koa, который был связан с частью, написанной на C++. Постепенно смог понять как все это работает и сейчас даже Redux понимаю, кроме Redux-persist.
Можно было, конечно, обойтись и без стажировки - на гитхабе полно проектов, которые пишутся в тех же компаниях - но сам понимаешь, нужно конкретно взять какой-то проект и начать его изучать, чтобы понять фреймворк. Возможно стоит это делать ради контрибьюций в эти проекты, сначала бесплатных (см. принципы сообщества), а потом может и работу через это найдешь, как знать.
"Я очень хочу ...поднимать хорошие деньги удаленно"
Это как?
На доширакофрилансе что ли? Весь русскоязычный фриланс - это огромный обменник труда программистов на дошираки.
И ни в коем случае это не "лестница".
Если ты уже профессионально знаешь фреймворки, то там это действительно МОЖЕТ помочь - но вот стать профессионалом работая там ты не сможешь, потому что бюджеты маленькие и придется делать наскоро, чтобы кушать хотя бы доширак, а не роллтон.
Еще там полезны отзывы и портфолио - но ты никогда не соберешь нормальное портфолио, потому что заказы там будут самые разнообразные (Android? Хер, придется еще и на PHP, и на Python, и на JS, и на C# писать, и в матлабе что-то для студентов делать) и тебе придется все делать наскоро и на грани, а не качественно, и в портфолио такое не пойдет.
То есть на фрилансе ты либо зарабатываешь деньги (маленькие) либо растягиваешь сроки любого проекта, по итогу вообще считай ничего не зарабатываешь, но зато хорошо во все вникаешь и все хорошо реализуешь, чтобы потом было портфолио.
ИМХО, если у тебя сейчас есть такие деньги чтобы ты мог сидеть и изучать что-то и не искать работу прям сейчас, то лучше метить на работу в компании. Начав с того же гитхаба, например. А на фрилансе если и брать проекты, то с не сжатыми сроками, а о том, что они должны платить, вообще забыть - жить за свой счет, а проекты эти делать как портфолио для устройства В КОМПАНИЮ.
Похожие вопросы
- GraphQL является фреймворком для работы с БД или он сам БД?
- PHP проект без использования фреймворков
- Можно ли использовать несколько фреймворков
- Стыдно ли вам проповедовать о Боге? Если да, то как перебороть стыд, страх, комплексы? Как выйти на улицу и рассказать
- Неприятие какого-то поступка, и последующие неприятие человека, этот поступок совершившего... Преодолимо ли?
- Какой из известных положительных литературных героев вызывает у Вас сильное неприятие?
- Володин заявил о наличии у Запада генетического неприятия славян? (+)
- МХК! Почему эксперименты с формой в живописи вызывали неприятие у зрителей?
- Равно ли телесное напряжение неприятию внешней действительности?
- Как перебороть комплекс?
Признаюсь, я в таком ключе не думал об этом ))
Просто, везде (в проектах на фрилансе и требованиях к вакансиям) требуется знание фреймворков, "чистые" программисты выйдут слишком дорого компании, надо, чтобы "тяп-ляп - и в продакшен" ))
Получается, что если мне себя не "ломать" и начинать учить либы и фреймоворки, то остается только Embedded-программирование, правильно?
Там, где чистый C, Asm, Verilog, VHDL, AHDL и подобные языки. Там нет фреймворков, а код "чистый" ради оптимизации по размеру и требованиям к аппаратной платформе.