Возникли трудности при переходе между использованием Python и R? Попробуйте эти советы, чтобы сделать переход более плавным

Моим недавним открытием стало то, что многие специалисты по данным используют и Python, и R.

История обычно гласит, что они используют R для учебы в аспирантуре и исследований, а Python — для работы. Поскольку многие люди работают во время учебы, этим специалистам по данным приходится переключаться между Python и R, иногда несколько раз в течение одного дня, в зависимости от того, над чем они работают в школе или на работе.

Поскольку многие (читай: большинство) курсы или пути обучения по науке о данных сосредоточены на одном языке, а не на другом, в обучении есть пробел, который не помогает специалистам по данным переключаться между обоими языками. Удивительно, но переключение между двумя языками программирования в один и тот же день может оказаться сложной задачей, особенно если вы хотите выполнить похожую работу. Например, веб-разработчикам легко переключаться между HTML, CSS и JavaScript в один и тот же день, потому что каждый язык обрабатывает очень специфическую часть веб-сайта. Тем не менее, специалисты по данным могут выполнять один тип анализа данных в R для аспирантуры, а позже в тот же день им нужно использовать Python для выполнения другого анализа для своей работы.

Большое количество ученых, занимающихся данными, которые переключаются между обоими языками в данный день, означает, что пробел в образовании в области наук о данных необходимо заполнить, давая советы о том, как лучше справляться с использованием обоих языков на регулярной основе. Здесь мы рассмотрим несколько простых советов, которые можно внедрить в свою рутину менее чем за 10 минут и которые помогут вам стать более эффективным специалистом по данным при переключении между Python и R.

1. Выполняйте задачи Python и R в разные дни

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

Это займет менее 10 минут, так как все, что вам нужно сделать, это спланировать свою неделю в зависимости от того, с каким языком вы будете работать в данный день. Например, понедельник, среда и пятница могут быть днями, когда вы выполняете работу на Python, тогда как вторник и четверг зарезервированы для задач, требующих R.

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

Я помню, как на первом курсе университета, изучая разработку программного обеспечения, большинство моих курсов по кодированию использовали C#. Это позволяло легко переходить из класса в класс, не прибегая к использованию нового языка. Все стало значительно сложнее на втором курсе, когда мы начали посещать курсы по различным языкам, включая C#, Java, PHP и другие. Из-за этого было сложнее войти в ритм из-за необходимости менять языки программирования каждые два часа.

Эта задача сравнима с разговором на нескольких разных устных языках в течение дня. Прежде чем вы начнете свободно говорить, переключаться между разными языками утомительно. Формы вашего рта и языка другие, звуки другие, грамматика другая, условности и обычаи языка другие. Однако, если в один прекрасный день вы говорите по-английски, завтра — по-французски, завтра — по-итальянски и т. д., вы обнаружите, что гораздо более способны эффективно и продуктивно говорить, потому что вы работаете в течение длительного периода времени в одном месте. язык.

Однако не всегда возможно посвятить целые дни Python или R. Иногда работа, учеба и жизнь происходят одновременно, а это означает, что вам нужно жонглировать несколькими разными сроками, проектами и требованиями. Альтернативный, хотя и похожий метод группирования ваших задач состоит в том, чтобы посвятить половину дня задачам Python, а другую половину — задачам R. Затем, сделав существенный перерыв в середине, когда вы не делаете ничего, связанного с какой-либо группой задач, вы можете перейти ко второй половине дня, готовые работать на другом языке. Перерыв в середине дня необходим, чтобы перезагрузить ваш мозг и дать ему возможность избавиться от использования вами другого языка. Разбивая свои задачи на две отдельные половины дня, вы гарантируете, что не будете работать над одной задачей на Python в течение 20 минут, за которой следует задача на R в течение одного часа, и продолжение этого цикла, которое утомляет ваш мозг. и не работает с максимальной эффективностью.

2. Найдите сходство между Python и R

Когда я учился в университете, мне было легче всего работать и с C#, и с Java, потому что я смог найти сходство между двумя языками и использовать их для эффективной работы на обоих языках. Точно так же, когда я изучал русский язык, я обнаружил несколько сходств между ним, французским и английским языками, которые я уже знал. Эти сходства позволили мне понять коннотацию многих слов, даже если я не понимал их сразу поначалу.

Хитрость в возможности переключения между Python и R заключается в том, чтобы найти сходства между двумя языками, какими бы ограниченными они ни были. Например, и Python, и R можно использовать для написания объектно-ориентированного кода, и их обоих можно использовать для проведения статистического анализа. Конечно, работать с двумя языками с разными индексами может быть непросто, но, по крайней мере, у них больше общего, чем различий. Однако вы можете по крайней мере использовать одну и ту же IDE для обоих языков, поскольку RStudio и Atom способны поддерживать как R, так и Python.

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

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

3. Научитесь задавать/Google/StackOverflow правильные вопросы

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

Работа с двумя языками, такими как Python и R, требует, чтобы вы могли задать правильный вопрос для языка, с которым вы в настоящее время работаете. Например, задав вопрос о R так же, как вы задаете вопрос о Python, вы можете получить результаты, которые: как упоминалось ранее, не совсем то, что вы искали.

Копирование сообщений об ошибках в панели поиска — отличный способ найти ответы StackOverflow на похожие проблемы. Однако действительно ли вы понимаете, что пошло не так, если все, что вы делаете, это копируете сообщение об ошибке? Лучший способ познакомиться с особенностями Python и R — понять, что пошло не так в вашем коде. Затем вы можете задавать более качественные вопросы, которые более непосредственно относятся к вашей проблеме, чем обычное сообщение об ошибке.

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

4. Держите техническую документацию под рукой и научитесь ее эффективно использовать

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

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

Однако я всегда обнаруживал, что создание собственной документации или шпаргалки в миллион раз более ценно, чем поиск технической документации, независимо от того, насколько хорошо она написана. Вы знаете, как вы в конечном итоге подсознательно учитесь, создавая шпаргалки или учебные пособия, даже если вам так не кажется? То же самое относится и к созданию справочных руководств, документации, листов или учебных пособий для Python и R. Я видел несколько красивых справочных листов, опубликованных в LinkedIn, которые сжимают огромное количество знаний на одном листе бумаги размером 8,5 x 11. которые можно распечатать и всегда иметь при себе. Эти справочные листы можно использовать в качестве вдохновения и отправной точки для создания собственных шпаргалок и документации, которые помогут вам осуществить переход между Python и R. Мне нравится включать фрагменты кода, формулы, информацию о функциях и описания пакетов в мой справочник. листы для разных языков программирования.

Создание собственного справочного листа или получение чужого может занять менее 10 минут и избавит вас от необходимости запоминать тонкости как Python, так и R.

5. Не пишите код с акцентом

Говорить с акцентом во время работы над новым естественным языком — это мило. Кодирование с акцентом - нет.

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

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

Глубокое знакомство с уникальным дизайном Python и R, их соглашениями, их сильными и слабыми сторонами поможет вам писать код на каждом языке в меру своего потенциала. Именно здесь могут пригодиться краткие справочные листы (см. совет 4 выше), поскольку они предоставляют вам правильный синтаксис, соглашения о переменных и формат, стандартный для языка, с которым вы работаете.

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

Мой любимый способ убедиться, что я не пишу код с акцентом, — это установить будильник на каждые полчаса или час выполненной работы, который напоминает мне о необходимости проверить мой код на беглость. Эта проверка кода занимает менее 10 минут и является просто напоминанием о том, что вам нужно просмотреть синтаксис, соглашения и формат, чтобы убедиться, что вы пишете Python, работая в Python, или что вы пишете R, работая в R.

Подпишитесь, чтобы получать мои истории прямо на ваш почтовый ящик: Story Subscription

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

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