Изучаю Go или улучшаю свои знания Python / Ruby [закрыто]

StackOverflow https://stackoverflow.com/questions/2009194

  •  18-09-2019
  •  | 
  •  

Вопрос

Я читал о Go и вижу, что он очень хорош и через несколько месяцев может стать языком, используемым многими разработчиками, но я хочу решить простую вещь: Изучать Go или совершенствовать свои знания Python или Ruby?

Годы разработки с помощью Python:1
Годы разработки с Ruby:0.3

Это было полезно?

Решение

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

Если вы хотите совершенствоваться как разработчик, я бы лично рекомендовал поработать над реальным проектом (используя Python, поскольку именно с этим языком у вас больше всего опыта).:

  • Это выведет ваши навыки программирования (на Python и в целом) на совершенно новый уровень
  • Если вы выберете интересный проект, например, полупопулярный проект с открытым исходным кодом, у вас даже будет какой-то конкретный результат для демонстрации вашей дополнительной работы.Это поможет вашему резюме, поможет вам познакомиться с другими людьми, интересующимися программированием, и т.д.

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

Другие советы

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

Это зависит от того, каковы ваши цели и потребности.

Если вы хотите развить свои навыки для работы, тогда выбирайте Python или Ruby.Вряд ли вы увидите Go на рабочем месте в течение достаточно долгого времени (если вообще увидите), если только вы не работаете в Google.(Даже тогда это сомнительно.)

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

Другие вещи, которые следует учитывать:

  • Каждый язык подходит для определенных задач.Go компилируется в машинный код, тогда как Python и Ruby выполняются в интерпретаторах.Go подходит для работы на несколько более низком уровне.Это также хорошо для параллельных задач.Задачи более высокого уровня могут больше подходить для Python или Ruby.

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

Как долго вы работаете с Python?

Если бы это был я, я бы сделал все возможное, чтобы, возможно, получить рабочие знания Go (базовый синтаксис, некоторое знакомство с уникальными возможностями языка) и продолжить работу с Python, как я обычно делаю.

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

Нет никаких причин ограничивать себя только одним.:)

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

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

Может ли новый язык (не просто незнакомый, но действительно новый, например Go) прижиться?(Если это так, то изучить его станет практически НЕОБХОДИМЫМ, а не просто хорошей идеей.)

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

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

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

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

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

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

Эти два языка преследуют разные цели.Go работает всего на 20% медленнее, чем C.Если вы хотите сумасшедшей скорости и легкого параллелизма, тогда изучайте Go.Однако удобочитаемость не была целью дизайна.Кроме того, у него нет исключений.Однако его можно использовать для продуктов реального времени ...

ИМО, вам следует улучшить свои знания Python.Python - широко распространенный язык, тогда как Go все еще находится на очень, очень ранней стадии, и нет никаких оснований полагать, что он станет успешным.

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

Нелегко ответить на этот вопрос, не зная, насколько хорош ваш Python, или что вы делаете, или где бы вы использовали Go.Если вы ищете работу, я подозреваю, что Python - это правильный путь.Я был бы удивлен, обнаружив, что в данный момент кто-то использует Go для крупных проектов (за пределами Google).

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

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

Go - это исследовательский язык, который доступен только в бета-версии в Linux и OS X.Больше нигде.Это интересно с интеллектуальной точки зрения, поскольку вы можете изучить и применить несколько концепций (типизированные каналы в сочетании с простой многозадачностью), которые в противном случае трудно использовать.

Что касается Go, то, возможно, вы могли бы сначала взглянуть на операционную систему AT & T "Plan 9".Он поставляется с языком программирования под названием "Aleph", который также основан на C, имеет каналы и многозадачность.Мне кажется, что Go - это повторная реализация Aleph в большем количестве операционных систем с основным потоком.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top