×

Зима программирования

Зима уже показала себя и с приближением зимнего сезона, человеку в виде меня захотелось изменений, неоднозначных изменений, больших изменений, проще говоря новых знаний. А что может быть лучше чем в холодную погоду сидеть в тепле и учится... вот и я решил посвятить эту зиму языку C++ :)

Немного о всем что сказано выше: Много лет пытался влиться в такую область как программирование, однако с виду своего характера (боюсь собственных глупых вопросов, в итоге на первых же тупиках слетал) и окружения которое имею, мои знания росли только в сторону настольных компов и их деталей, а также прошивке телефонов, проще говоря я деревенский программист(хотя я то знаю что я скорее что то вроде младшего сис. админа, но для всех окружающих в районе, не то что в деревне, этого не объяснить толком). Я упускаю много моментов, потому что это просто лишняя информация, но возникает вполне логический вопрос, зачем же я тогда все это пишу, а вы читаете(если еще кто читает :) )?

Так вот все это для того чтобы найти людей, которые реально заняты программированием или кто начинает свой, чтобы просто пускай только виртуально да найти собеседников. Посвятив зимний сезон (в деревни он как бы самый не напряжённый) обучению, я дабы не слететь в очередной раз с этого дела, решил сделать фундамент в виде канала на телеграмме(ссылка есть в профиле), где буду освящать свой прогресс, а также пишу тут топик, с надеждой может кто откликнется и поможет мне обзавестись совсем иным кругом людей :)

P.S.
Спасибо всем кто осилил этот текст, нерациональных мыслей :)

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

Вернулся с конференции по С++, обнаружил, что опытные взрослые бородатые дядьки не боятся признаться что С++ страшен :).

А зачем целую зиму посвящать С++? Он же за 21 ден изучается.

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Сделать фундамент в виде канала :) Оригінально.

нет, просто здравомыслящий человек

Помню собеседование в Flextronics. Тимлид долго колбасил меня вопросами по STL контейнерам, хотя я сразу сказал что их не использовал никогда. Как оказалось там embedded Linux и ни контейнерами ни плюсами не пахнет даже. Видать решил просто поиздеваться над понаехавшим. Потом сказал что 850 для меня самое оно, но я подумал что 1200 онее.

Жук никому не нужен

Да ты че?! Он же изюминка этого форума! :-))))

изюминка никому не нужна. или виноградинка или яблучко

2012й. а потом он начал матом ругаться

Ну да, те ещё мудаки, переносящие саммит из Ванкувера в Эдинбург из-за одного рассеяного.

Это любителям... А профессионалам — что ты предложишь?
;)

русть, русть забыл!

Как насчёт ниши «эмбед, но не мультиварка, но большие и сложные объёмы данных»? Ну вот автомобильная навигация, например.
Ещё HFT и геймдев. Возможно, что-то, связанно с видео (кодеки) и звуком. Везде, где могут понадобиться нормальные лямбды, инкапсуляция данных, шаблоны, контейнеры, всякие async, future и promise, но чтоб максимально близко к железу. C тут не подходит.

А с Торвальдсом знаком?

Торвальдс написав свій Subsurface на С++. Він проти С++ тільки у кернелі і каже не те щоб зовсім не можна, а скоріше що проблем буде більше. У вінди на С++ дофіга.

Деякі проекти можна писати як на С так і на С++. Це не значить, що подібні проекти треба писати тільки так.

Обойтись можно, больших и сложных проектов на С достаточно много. Мне понравилось высказывание, что C++ подобен героину — сначала вставляет, в потом не знаешь как с него слезть.

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

То, что конкретный человек принял решение писать конкретный код на C, не значит, что его нельзя или не имело смысла писать на C++.

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

А в кофеварку С++ сложно запихнуть по куче причин, там да, только С.

зависит от кофеварки:
www.youtube.com/watch?v=nOsMpod1l7M
или вот
www.youtube.com/watch?v=9Ied3Dpb_Kg

Швидкість та велика кількість бібліотек. Також С++ може використовуватися від С з класами до інтенсивного використання а-ля boost.

Go це все ж таки збирання сміття (час). Rust потребує певного досвіду боротьби з borrow та іншими статичними гарантіями.

Де ніша С++? Legacy?

ААА-геймдев (думаю там еще долго будут плюсы царствовать, не в последннюю очерель из-за пресловутого легаси).

AMI написали GUI для Setup BIOS на плюсах. Теперь мало кто хочет туда лезть чтобы пофиксить баги. Как чемодан без ручки — нести тяжело и бросить жалко.

AMI написали GUI для Setup BIOS на плюсах.

ИМХО, странное решение писать тулзу для биоса на плюсах.

Более чем странное и бездарное решение впихнуть модуль на плюсах в проект на чистом С, причем обернутый несколько раз с кучей макросов... Зато маркетолог уровня 90 нашел кому продать и таки продал за дорого.

GUI надо писать на жабоскрипте это же все знают

хрень это собачья. там даже тредов нет

есть еще извращенцы, которые пилят кьют под вебассемблер

Qt не самая простая технология для потестить

Це не плюсовикам лажа привалить, а фронтендерам лажа закінчиться, бо С++ тоді і у фронтенді буде усіх рвати і доведеться вам його вчити!

хм. в этом есть смысл
хотя был накл — но как то не взлетел

Яким саме чином він буде «рвати»?

И все равно будут переколбашивать в /через/в/на js потому что там много либ и они каждый пол года новые, на крестах так не пожируешь. Аз-за-за )))))

просто потому, что по другому не умеют и не хотят

Это знают все, кто не знаком с UEFI, на котором его пока нет.

жду недождусь жабоскрипта в биосе

Есть парсер сильно усеченного подобия HTML с колбэками.

вот и я решил посвятить эту зиму языку C++

Выпей пивка — пройдет

А зачем целую зиму посвящать С++? Он же за 21 ден изучается.

Районный поп освятит ваш прогресс в канале на телеграмме по ссылке, оптовикам скидки.

Вернулся с конференции по С++, обнаружил, что опытные взрослые бородатые дядьки не боятся признаться что С++ страшен :).

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

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

Лучше выбирайте иной язык. Не из за того, что плюсы сложные, проблема чисто территориальная. Я сам начинал с .net, нашел контору в городе, они берут только мидлов с опытом (а где взять опыт?). Маленький город, контора была одна по .net на город, джунов не брали. Взял переобулся быстро в php и стартанул в 1й попавшейся компании. Это я к чему — удаленно сложно будет найти первую работу (джуна/трейни) по плюсам (поправьте если не прав), а это ключевой момент. А вы находитесь (если я ничего не перепутал) в деревне, то есть ваш первый опыт будет скорей всего удаленный (либо переезжать на позицию джуна за еду, сразу затраты на аренду и тд с довольно невысокой зп). Поэтому какой-нить питон может быть более удачным выбором для 1го языка. Ну либо плюсы, но с готовностью переехать и быть готовым к затратам.

А может ТС чисто по фану решил плюсы изучить? :)

по фану лучше в поход куда то сходить )) а с этой темы можно будущее себе выжать )

А что может быть лучше чем в холодную погоду сидеть в тепле и учится...

... лыжи лучше :)

И под горочку — в Швейцарию через Венгрию и Австрию

Лучше быть сельским программистом, чем городским сис. админом

Вам програмувати треба вивчитись чи паґаваріть? Всі розумній й нерозумні питання які тільки можуть виникнути під час вивчення плюсів були озвучені й розібрані багато років тому. Треба лише вміти шукати ці відповіді, тобто, вміти сформулювати питання англійською й знайти відповідь у гуглі.

Тож все що вам треба — це книжки та практичний досвід. Особисто я починав з простих по типу «за 21 день» (Шилдта читав), а потім добивав — тут, насправді, список класичний і незмінний вже багато років — Мейерсом (Effective C++, More effective C++, Effective STL), Саттером і Джосатіс/Вандервуд для шаблонів. Обов’язково — Дизайн та еволюція C++ від Страуструпа. Мова C++ від нього непогана, але заскладна для новачка. Писати код треба починати якнайшвийдше, особливо, якщо досвіду з іншими мовами немає.

Если хочешь влится в эту среду, попробуй Delphi и Embarcadero RAD Studio, там и C++ Builder есть, и все это развивается

После этих слов аж универ вспомнился.

попробуй Delphi

Если паскаль, то лучше FreePascal + Lazarus (ИМХО) . Оно хоть кросплатформенное. Ну или PascalABC.NET (ибо .NET).

Я тоже вошёл в IT з С++ , и совершенно не жалею. Не согласен с тем, что он сложный. У меня ушло примерно год времени до того как я начал работать в галере. Сейчас пишу гуишки в qt.

Кто-то сегодня посмотрел канал Хауди-Хо. Просто оруу)))

ИМХО, начиная учить программирование с С++ больше шансов забить на это дело, так как он не дает быстрых и наглядных результатов. Хочется строгой типизации? c# или java, да можно даже typescript даже, и через месяц ты даешь ссылку друзьям, на свою программу по учету надоев или на свою биржу по торговле хоз. товарами среди односельчан.. А в С++ за аналогичное время не даст наглядных результатов.

А в С++ за аналогичное время не даст наглядных результатов.

вы просто не умеете его готовить
когда вы говорите о жабе или одноименном скрипте, вы имеете ввиду какой-никакой юай, а когда про с++ — ну что вы стелаете с стдлибом?
давайте уж по чеснаку: сравниваем жабу с кьют, например

А чего целую зиму этому посвящать? Говорят, его реально выучить за 21 день :)

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

ОК, я можу менторити, якщо серйозно налаштовані.

Ок, с++ это сложный язык программирования, но сложность это понятие относительное, если говорить о сложности как о количественной величине выражающей количество комманд, которые нужно написать, чтобы совершить некое одно абстрактное действие, допустим строку из ютф8 конвертировать в строку в ютф32, тогда начни учить асемблер он ещё сложнее. По поводу области применения, она тоже достаточно ограничена, если ты думаешь что на с++ можно написать все что угодно, то ты конечно же прав, но только вопрос зачем, он не применяется в основном нигде кроме как в эмбеддед, или нагруженные сервера, но тебе нужно быть оч хорошим программистом чтобы приступить к разработке серверов, а эмбеддед ты не сможешь делать на удалёнке, если конечно это твоя цель. В итоге вопрос зачем учить язык программирования? Если для того чтобы найти работу, то это один из худших выборов в твоей ситуации, если для другой цели, то непонятно для какой. Если хочешь начать работать программистом, т.е. зарабатывать этим на жизнь, то посмотри сначала количество вакансий для разных направлений, уверен что js+php у тебя гораздо больше шансов войти вайти и тебе не нужно будет думать чем опасны исключения в деструкторах.

он не применяется в основном нигде кроме как в эмбеддед, или нагруженные сервера

Ще є графон з геймдевом (і сюди якраз може початківець влізти легко), пов’язане з GPU programming (тут ML та DataScience хоч і не увесь, але є), та медицина різна. Область JS+PHP набагато більш вузька. Також там є теж свої складності, тому якщо не треба максимально швидко хоч якісь гроші і є бажання влізти туди, де С++ використовують, то С++ вчити можна, навіть першою мовою.

Я не беру за основу сейчас «как быстрее попасть в IT», потому что сейчас слишком много людей на это целятся. Пускай это высокомерно и так далее но разве главной целью программиста не должно быть хорошее знание своего дела и выбора вакансии которые не он искал, а ему предлагают?:). Начать с php осваивать программирование я не стал по простой причине того что он не строго типизированный (не знаю как сейчас но года 4 назад php был языком где переменные легко меняли свой тип), что в случай того если придется переключится на язык где строгая типизация могут возникать много банальных ошибок. Поэтому моя цель сейчас просто учить, решать задачки и наслаждаться результатом, вместо того чтобы просто провести зиму за играми или телеком.

вместо того чтобы просто провести зиму за играми или телеком.

Ну если вместо телика — то отличное хобби!

я не стал по простой причине того что он не строго типизированный

Это очень веская причина, зато пхп — гибкий :)

Не буду спорить. Пока что вижу довольно большой спрос на пхп

он не применяется в основном нигде кроме как в эмбеддед, или нагруженные сервера

(facepalm)

и тебе не нужно будет думать

вот именно

он не применяется в основном нигде кроме как в эмбеддед

Омг.. Пруфы будут?

он не применяется в основном нигде кроме как в эмбеддед, или нагруженные сервера

Ещё геймдев или HFT. А также саппорт легаси-кода.

Я не против быть собеседником но мне всего то 15. Уровень программирования С/С++ программы в 150-200 строчок пишу практически без проблем. Вот телега если будет интересно — @luckyrydar

Простите, а что можно написать в 200 строчек то? Это гдето ± 1 день работы в среднем.

скрипт, который будет писать

Простите, а что можно написать в 200 строчек то? Это гдето ± 1 день работы в среднем.

например

Наверное зависит от того насколько глубоко уходить в абстракции) Думаю на плюсы есть какая-нибудь либа которая http сервак за 5 строчек поднимет)

Это «150-200 строчек пишу». Понятно, что можно много чего. Но 200 строчек это же не показатель.

Простите, а что можно написать в 200 строчек то? Это гдето ± 1 день работы в среднем.

www.nanochess.org/chess3.html

мне всего то 15

Разве это проблема? Некоторые мои ученики говорили «я уже все понимаю — мне скоро 14 лет!»
:)

Как по мне C++ это слишком сложно на старте. Надо что-то по-проще. Сейчас модно и вполне эффективен Python или Java не путать с JavaScript, хотя и за него можно взяться, но с ним прийдется разобрать еще html и css. В целом надо набить руку кодить, изучить подходы в построении алгоритмов. А потом можно и за C++ взяться. Он реально сложный.

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

Подібних C++ вже дуже багато, щоб структурувати прогрес телеграм мало підходить.
Практика та збереження коду в GitLab або GitHub, стаття у власному блозі і вже потім публікації в телеграм.

Навчання заради навчання безрезультатно, постав ціль, розробити інструмент який стане корисним тобі та друзям, або щось інше та просте. Можливо вирішення задач на Codewars | LeetCode | HackerRank

Дякую, звісно я планую підключити такий ресурс як GitHub. Ціль у мене якраз полягає в тому щоб навчитись вирішувати задачі, потім уже розробляти інші інструменти (можливо вийде поєднувати).

Підписатись на коментарі