{"id":2386,"title":"\u0420\u0435\u0437\u0430\u043b\u0438 \u043f\u0435\u0441\u043e\u043a \u0438 \u0434\u0430\u0432\u0438\u043b\u0438 \u043a\u0440\u0435\u043c \u2014 \u0438 \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u043e\u0447\u0442\u0438 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u043e\u0432","url":"\/redirect?component=advertising&id=2386&url=https:\/\/tjournal.ru\/promo\/437972-go-to-viral&placeBit=1&hash=e6d32eb9f11d24f6c41bf1fb857925632cc9d8a9c7d22f158ef2e9201b5e8f15","isPaidAndBannersEnabled":false}
Вопросы
Rofl-Machine

Можно ли обучиться реальному программированию в CodeCombat?

Добрый вечер, уважаемое, во всем разбирающееся, комьюнити ДТВ.

В свои бестолковые 25 в бошку стрельнуло, что хочу в программирование.

Но классические методы обучения - лекции, чтения, заучивания, то есть теория, меня люто душат, из-за чего сложно запоминается и желания учиться просто - 0. В CodeCombat, можно сказать, идеальный метод обучения для меня - играешь и обучаешься, постоянная практика, каеф. Я уже прошел бесплатно полторы локации - "Данж" (23/47), в "Бэквудский Лес" остановился на 19/122. Бывает играю с перерывами по 3-5 дней (из-за отсутствия времени) и все равно помню все, чему обучали. Да, там пока что изичные команды, но все же.

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

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

P.s. Если этот метод действительно работает, то я бы даже подписку оформил.

P.p.s. Какой язык программирования самый востребованный?

{ "author_name": "Rofl-Machine", "author_type": "self", "tags": [], "comments": 69, "likes": 0, "favorites": 23, "is_advertisement": false, "subsite_label": "ask", "id": 696764, "is_wide": true, "is_ugc": true, "date": "Thu, 08 Apr 2021 00:06:17 +0300", "is_special": false }
0
69 комментариев
Популярные
По порядку
Написать комментарий...
16

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

Python норм, но готовься учить не только ядро, но и сопутствующие библиотеки.

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

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

Ответить
1

– Нет лучшего языка, зависит от склада ума

Лучшего то языка то нет, но я думал есть какой-нибудь наиболее популярный среди компаний. 
– Если учеба не радует, работа не пойдет

Теорию я всегда осуждал. Мне 1 раз показать и я все сделаю с первого раза, а теория мимо ушей летит. Я думаю это чисто индивидуально.
Главная ошибка – учить синтаксис, все дела, но не искать практические уроки

Вот как раз в CodeCombat идет сплошная практика, и мне она дается легко и сразу откладывается в голове на долго.

Спасибо!

Ответить
19

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

JS (но это чисто для веба), Python, Java, C++ и всякие там фрейморвки. Все, как и всегда ¯\_(ツ)_/¯

Теорию я всегда осуждал

Ебать ты осуждатель, конечно. А потом и приходят на собесы всякие "стронг джун" нод девелоперы и не понимают, как какой-нибудь ивент луп работает, лол.
Теория 100% будет нужна, если ты офк вечным джуном быть не собираешься. И в принципе хочешь понимать, что ты вообще делаешь и как это работает.

Вот как раз в CodeCombat идет сплошная практика, и мне она дается легко и сразу откладывается в голове на долго.

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

Ответить
0

"не хочу учиться, хочу жениться".

А практика разве не учеба?
Ебать ты осуждатель, конечно. 

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

Ответить
6

А практика разве не учеба?

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

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

Такие игры очень хороши в качестве "завлекалова". Они способны заинтересовать людей и обучить их самым основам. Но камон, тебе ж не 12 лет. Ты и сам должен понимать, что одной игры тебе не хватит. И все то, чем, как ты сам пишешь, ты заниматься не хочешь, тебе все равно придется рано или поздно сделать. Поэтому вопрос из заголовка этого поста для меня звучит очень странно ¯\_(ツ)_/¯

Ответить
2

А практика разве не учеба?

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

Ответить
0

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

Обновление компилятора тоже может дать такой эффект, но реже.

И тут хоть учи - хоть не учи. Если только уточнениями на 3-4 строки обмазываться.

Ответить
0

Пиши код, соответствующий стандарту, пользуйся компиляторами, соответствующими стандарту.

А удивляться, что ub, которое в компиляторе X никогда не стреляет, потому что его разработчики воткнули заплатку, выстрелило в компиляторе Y это такое себе.

Ответить
0

У меня был простой код с заменой символов в строке.
Код, на память, это
cout << string (char('a')+char('b')+char('c'));

Разве что чарьё бралось из строки.
Внимание, вопрос: почему мне выводило
This is sample te

вместо "abc"? Причём только в g++.

Ответить
0

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

Ответить
3

А как ты представляешь себе настоящие задачи в будущем? Тебе показывают как делать, а ты просто повторяешь?

Ответить
0

Речь об учебе. Есть практика и есть наставник. В случае с этой игрой, наставник - сама игра. А потом все сам офк. Я считаю, что лучшее обучение - это практика.
Сейчас работаю конструктором, моделирую деревянную мебель на заказ в 3д (в Рино3д), а после согласования вывожу чертежи для столяров. Программу изучил сам, потому что видео уроки такая дичь была... Изучил быстро. Работа - кал, ненавижу... :)

Ответить
1

Про игру достоверно не отвечу, но сомневаюсь, что там научат делать стандартные рабочие задачи вроде "прикрути авторизацию к сервису" или "сделай шедулер". Скорее всего научат синтаксису и базовым понятиям, сути алгоритмов.
Если тебе легче\интереснее через практику развиваться - в прогинге это как раз то, что нужно. Выбери какую-то сферу (мобилки, десктоп, веб, игры, микроконтроллеры), сам себе придумай простенькую задачу и пытайся её реализовать. Так максимально быстро сможешь скиллы прокачать, имхо.

Ответить
1

Может попробовать место работы поменять, да взять другое направление в самом 3D? То есть не сразу менять целиком деятельность, а посмотреть сначала на свою специализацию и умения под другим углом.

Ответить
0

Да глянул я недавно, как делается CGI, спецэффекты и модели для игр... не мое. 
Спасибо за ответ :)

Ответить
2

Советовал бы тебе отмести эти мысли об собственной исключительности. "показали - сделал" != понял. А если есть ощущение, что ты что-то понял, то оно иллюзорное.

В эти игры, я не верю. Все равно, что учить небесную механику по kerbal space. Программирование по ним нужно было начинать учить в детстве. Если тебе за 20, то поздновато этим заниматься.

Ответить
1

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

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

Ответить
0

– Нет лучшего языка, зависит от склада ума

А это как?

Ответить
0

Если склад пустой - выбирай джс :)

Ответить
0

Подходящим языком код писать лучше. Фортом думаешь если, пиши им тогда.

https://skilldrick.github.io/easyforth/
Весьма приятным язык оказался, кстати. Быстро легко и понимается.

Ответить

Провинциальный спрей

11

Комментарий удален по просьбе пользователя

Ответить
10

Представляю на собеседование диалог:
- Ваше образование?
- Добил данж и почти на середине беквудского леса! Другие локации требуют подписки
- Вы приняты на позицию сеньор!

Ответить
1

Так то, что я прошел, это школьная программа. Вот если пройти игру на 100%, то я думаю, что уже и в анкете указывать. Разумеется, если этот метод действительно рабочий.

Ответить
0

А если серьезно - то плакать хочется, ведь ты игру пройдёшь на 100% и пойдёшь куда-то работать программистом, а потом ещё и в Яндекс устроишься

Ответить
–4

А что в этом такого? Вот вы точно знаете, что работодатель будет рофлить с того, что у меня за плечами эта игра? А вдруг современные компании как раз таки охотно берут тех, кто эту игру прошел полностью?) Мол "лекции и видеоуроки - прошлый век бла-бла-бла".

Ответить
7

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

Ответить
0

Ну так оно. Один фиг сначала на фриланс идти придется из-за отсутствия соответствующего образования.

Ответить
4

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

Работодателю нужно, чтобы, за минимум его денег, его проблему решили, чаще всего с помощью ПО (в случае с ИТ).

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

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

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

Ответить
0

А вдруг современные компании как раз таки охотно берут тех

Вы не в игре, а в реальном мире, где можно почитать как проходят современные собеседования и что ожидают компании на них

Ответить
0

Теорию как раз и ожидают:)
Интервьюеры спрашивают базу языка, а потом грустят от ответов.

Ответить
0

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

Вот и все. А на всех этих курсах может одна теория лететь в лицо. 

Ответить

Клинически

Rofl-Ma…
0

Удачи с разобраться с асинхронностью и мултипроцессингом в петухоне на практике, полагаю.

Ответить
0

А на архитектора только с подпиской берут?

Ответить

Клинический Мика

9

Можно ли наиграв 500 часов в factorio научиться строить реальные конвеерные линии?

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

Это то, что ты не научишься работать с абстракциями.

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

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

Я лично убежден, что научиться говнокодить может любая обезьяна. В 2к21 это не сложное занятие. Но надо все-таки, наверное, быть хоть немного замотивированным, и хоть немного адекватнее подойти к процессу обучения. Первые 1-3 года ты гарантированно должен перманентно учить всякую хуйню, в том числе большой объем теоретических данных. Это неизбежно, если ты не хочешь остаться ждуном навечно. А зачастую и чтобы работу найти, придется сначала научиться расказывать что такое хешмапы и вращать деревья. Требования к ждунам ща неадекватные.
Если тебе это не подходит, а вайти ты пришел за бабками, лучше посмотри в сторону девопс.

Ответить
1

Ну справедливости ради, у многих проблемы не на уровне инструментов, а даже на уровне написание псевдо кода.
Думаю для таких людей codecombat хорошая вещь 

Ответить

Клинический Мика

иван
0

Таким как раз надо учиться думать, а не кодить

Ответить
0

Я лично убежден, что научиться говнокодить может любая обезьяна. В 2к21 это не сложное занятие.

Если не брать секты вроде С++ - то говнокодить на форте/бейсике/паскале можно было всегда научиться довольно быстро. "Всегда" это примерно с момента создания FORTH'a, а уж если мы возьмём язык Ады Лавлейс, который был ещё для механических счётных машин Бэббиджа - то и вовсе с 19-го века.

Ответить

Клинический Мика

Иван
0

Ну я в 90-е/начале 200-х вообще не знал что существует такая вещь как программирование. На информатике рисовали в графических редакторах.
Интернета тоже не было, вестимо ¯\_(ツ)_/¯
Сейчас каждый может найти дешёвый интернет, и вагон учебных материалов на родном языке.

Ответить
0

У меня "Нафаня" была (то бишь ZX-Spectrum 48k с загрузкой с кассеты) - про программирование я узнал ещё на нём, даже защиту от копирования делал, хехе.

Ответить

Клинический Мика

Иван
0

Ну у меня первый компуктер появился в 2008.

Ответить
0

Bad luck for you, что ты не родился в 1968, чтобы застать БЭСМ-6 х))
А если серьёзно - тут уже кому как с родителями/друзьями повезёт.

Ответить
0

Чел, там, как минимум, люди примерно понимали, что такое компилятор, и умели заставить работать программу. Это ближе к программированию, чем ты в визуальной среде натыкал и оно магическим образом собралось. А вот, когда магия вдруг не сработала, то тут полномочия все. На всяких курсах типа, с++ за 1,5 наносекунды, народ даже HelloWorld не может нормально написать, потому что IDE как-нибудь криво установили.

то и вовсе с 19-го века.

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

Ответить
0

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

Сразу видно человека, не нажимавшего Break в симуляторе американского футбола от будущих авторов Х-сом))

В 19-м веке была только одна программируемая машина, да и та - в проекте, спасибо классическому постоянному дополнению ТЗ.

Ну и как бы исправлять было бы примерно столько же по затратам, что и в 1960-х, хотя скорость работы на порядки ниже.

Ответить
5

это как спросить можно ли играя в Guitar Hero научиться лабать на настоящей гитаре

Ответить
0

Но есть Rocksmith

Ответить
1

Но я сказал г-и-т-а-р-х-и-р-о

Ответить
0

Ладно

Ответить
0

И даже здесь возникают вопросы.

Ответить
0

Ну играя ДАЖЕ на пластиковой гитаре я могу выделить плюс - рука со временем перестает уставать, что гитарасту крайне необходимо.

Ответить
2

Это рассчитано на младшеклассников, не сказать что хороший выбор. Codewars какие-нибудь лучше

Ответить

Клинический Мика

Ghar
0

Ну справедливости ради, дрочить кодварсы и литкоды тоже смысла нет. Разве что в резюме выёбываться.
Хотя, наверное, от области зависит и каким-нибудь поцам, которые пишут компиляторы, самое то.

Ответить
3

Codewars в данном случае это отличный генератор задач. Когда ты спрашиваешь "Что мне нужно учить?" а на тебя роняют книжку какого-нибудь Рихтера, ты едешь в травмпункт с чмт и обещаешь себе больше никогда к этому дерьму не прикасаться. А на кодварс выбираешь уровень по проще, получаешь задачу условно "отсортировать массив строк" и идёшь гуглить конкретное решение конкретной задачи, а не пытаешься сразмаху впихнуть в голову невпихуемое. И так курочка по зёрнышку учишься.

Ответить

Клинический Мика

Ghar
2

Резонно. Хотя я, пожалуй, больше по "ля какая прикольная приложуха, пойду сделаю такую же, но хуёвую".

Ответить
0

Чтобы научиться делать нормально, сперва надо научиться делать хотя бы хуёво но чтоб работало

Ответить

Клинический Мика

Ghar
0

Я так и сказал)

Ответить
0

ля какая прикольная приложуха, пойду сделаю такую же, но хуёвую

Удоли.

Ответить

Клинический Мика

Zirak
0

Так я ж в стол, а не на рыночек выбрасывать.

Ответить

Справедливый рубин

2

Лучше бесплатные онлайн-курсы с задачками посмотри.

Ответить
1

Лучшее обучение - когда сразу видишь результат, потому что он мотивирует.
Найди гайд вроде "создал игру на Python" и повторяй за чуваком, внося свои изменения по ходу.
Курсы-хуюрсы, где тебя будут просто теорией шпиговать это контент не для всех. 

Ответить
2

Курсы-хуюрсы, где тебя будут просто теорией шпиговать это контент не для всех

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

Ответить
0

Курсы-хуюрсы, где тебя будут просто теорией шпиговать это контент не для всех.

Вот и я о том же) 
Я за то, чтобы каждый урок сопровождался практикой с проверкой результата. 

Ответить
0

так может тебе лучше взять Unity3D или UnrealEngine - и по видеоурокам создавать игру сразу?

Да, будет не так красиво, зато профайлер сразу есть.

Ответить
0

Имеешь ввиду кодить в этих движках или попробовать 3д в них заниматься?

Ответить
2

упор на то, чтобы кодить.

Не, можешь, конечно и полноценный проект намутиь, вроде файтинга а-ля "Streets of Rage", но я больше про то, чтобы овлядеть такими вещами как:
- архитектура (как строить проект, чтобы не убиться)
- паттерны проектирования (для того же)
- DRY/SOLID/YAGNI (как писать код чтобы не утонуть)

если ещё докинешь до кучи спецтулзы вроде draw.io (наброски архитектуры), git (версионирование) и что-то для процесса разработки  (типа trello или mira) - вообще молодец будешь.

Но помни: любой инструмент может быть неправильным в неподходящей ситуации.

Ответить
1

Я не очень понимаю комментаторов ниже, на уровне "не играл, но осуждаю". Вопрос был задан, дает ли конкретно эта игра какие-то навыки, и ответы: "игры ничего дать не могут, иди на завод (ходи на курсы)". Особенно смешно сравнение с гитархиро и факторию, которые не симуляторы гитары и конвейеров, а просто игры, где нужно нажимать на кнопочку в нужное время, когда тут у тебя задание написать или использовать функцию при правильных условиях. Кстати, в защиту факторио, скажу что там в некую оптимизацию процессов научить вас может.
Так вот, по поводу, собственно, codecombat. Попал в этот вопрос, собственно так как задался им сам, поржал с комментов, и решил поиграть.
Не знаю как у других, но мне игра немного помогла. Я читал про ООП, смотрел всякие курсы, долги годы на пихуй тыкался в разные языки, но без конкретной цели уйти в айти. Всё обучение всегда во всех языках сводиться к "циклы, математические операции, создание функций, массивы. Теперь вы это знаете, делайте че хотите". А вот что с этим делать, лично мне, это было всегда не очень понятно. И вот в этой игре стало более-менее понятно, что есть готовые функции, она вот таким образом может быть применена к конкретному человечку, и если прописать ее "вот так" он сделает "это", если поменять условие, он сделает это. ВОТ ЩАС, и видно как это работает(или не работает) и как это можно использовать. Можно сделать свою функцию, точно так же применить ее к человечку, чтоб он что-то сделал. Но не обязательно к человечку, можно и к другим частям системы.
На момент написание этого коммента я игру, конечно, не прошел, в процессе, но, после упомянутого автором вопроса, Бэквудский Лес, где-то ближе к концу этой второй локации, уже надо что-то думать, и прикидывать, хоть и не сильно. Иногда можно выпендриваться, и что-то свое докодить

Ответить
0

нельзя

Ответить
0

Очередной масленок ищет свой путь) хех

Ответить
Читать все 69 комментариев
null