Должен ли я изучать Python после C++? [закрытый]

в настоящее время я изучаю C++ и хочу выучить другой язык.
Для работы я использую C# + ASP (на самом деле только начал его изучать), но я хочу что-то "менее Microsoft" и мощное.
Я слышал, что Python-популярный и мощный язык, не такой сложный, как C++. Но многие люди упоминали, что им было трудно вернуться к C++/Java из Python, потому что они начали думать в нем, привыкли к отсутствию управления памятью и т. д. Что вы порекомендуете?

17 ответов


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


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


Ну, я изучил Python после C / C++, Java и c#. Python-отличный язык, и его простота и согласованность улучшили способ кода. Это также помогло мне более четко подумать об алгоритмах, лежащих в основе моего кода. Я мог бы продолжить о преимуществах, которые он принес мне, вместо этого я обобщу причину, чтобы узнать его ->

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

Так что идите туда и изучите Python. Ваш код улучшится (TM).

П. С.
1.Вы потеряете навыки C++ (или любого другого языка), если пренебрегаете их обслуживанием и обслуживанием. Это полностью зависит от вас.

2.Программистская (интеллектуальная) лень-это добродетель.


многие утверждают, что вы выиграете от изучения Python до C++.

  • синтаксические препятствия намного ниже;
  • отладка гораздо более дружелюбна
  • есть множество библиотек - - - батареи включены, вы знаете. Это легко эксперимент с веб-выскабливание, XML и т. д. в Python. Опять же, барьеры для входа в C++ намного выше.

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


Я не думаю ,что "Python делает вас ленивым" (хорошее название, во всяком случае!).
Напротив, в программировании, как и в жизни, важно знать более одного языка; я думаю, вы найдете python забавным и достаточно отличным от C++ или C#, чтобы языки не смешивались в вашей голове...


Python дополняет C++ и легко интегрируется с C++. (В качестве доказательства этого утверждения гуру C++ из Boost используют Python.)

и, как вы сказали, Python дает вам возможность получить перспективу за пределами орбиты Microsoft. Но даже там, если вам нужно интегрировать Python С MS tools, есть IronPython.


изучение большего количества языков может сделать вас лучшим разработчиком, независимо от их подхода. Кроме того, ваш опыт работы с C++ (или, по крайней мере, C) пригодится для написания высокопроизводительных частей ваших приложений с использованием API C Python, который позволяет "сырому" коду C и c++ хорошо смешиваться с чистым материалом Python.

Я все еще пишу код в Objective-C (от 1.0... до управления памятью) и Python на ежедневной основе. Разнообразие на самом деле весело, а не запутанно; держит вещи могут быть скучные.


Flex ваш мозг и улучшить свой набор навыков. Дайте функциональному языку вихрь.


Я изучил C / C++, Java, Python & C# в этом порядке.

два, которые я на самом деле неизменно использую, - это C++ & Python; я нахожу нишу Java & C# между ними слишком узкой, чтобы чувствовать необходимость использовать их много (по крайней мере, для вещей, которые я делаю).

Я также думаю, что я действительно не "получил" функторы C++ и boost::bind пока я не подвергся воздействию Python.


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

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

  • C, Macro Assembler => в основном то же самое-разница в основном библиотеки
  • C++, Java, C#, Delphi => в основном та же парадигма - вы быстро узнаете, как использовать особенности конкретного языка и принимать концепции из одного синтаксиса в другой. Это в основном тот же самый способ мышления, самое большое исключение-это то, как вы думаете о манипуляции памятью.

  • Python-хороший язык, стратегически лучше выбор, чем ruby, хотя есть и другие аспекты ruby, которые можно утверждать, чтобы быть выше. Что делает python хорошим выбором, так это наличие формального тела языка, которое поддерживает среды python на разных платформах, очень совместимых друг с другом.

Если вам интересно, прочитайте это http://cmdematos.com/?p=120 о выборе стратегического языка.


Это зависит от того, какие именно приложения вы хотите запрограммировать, например, для веб-сайтов, которым нужен доступ к базам данных, я бы пошел на Ruby (и Ruby on Rails framework ) , для финансовых приложений или приложений, которым нужна параллельная обработка, я бы пошел на функциональный язык программирования, такой как Haskell, oCaml или новый F#, эти последние 3 сделают вас лучшим программистом , даже если вы не программируете много в них, кстати, c# в последнее время в последних версиях добавление все больше и больше функциональных функций программирования. Я бы изучил Python для безопасности и эксплуатирует виды приложений.


вы можете изучить новый язык программирования, такой как python, и использовать его для выполнения всех задач, которые вы обычно выполняете на своих "основных" языках; или вы можете взять язык (например, python или perl) и использовать его для дополнения вашего основного языка.

вы можете узнать VBScript и использовать его для написания скриптов, которые склеивают ваш код и другие вместе. Если вы хотите что-то меньше Microsoft, то Python, perl или bash scripting были бы хорошей идеей-не просто научиться кодировать в новом, но кроме того, как делать вещи иначе, чем обычный способ "код приложения".


с точки зрения утилиты хорошо изучить один из более динамичных языков, таких как Python (или Ruby или Perl). Они не только растягивают ваш ум, но и превосходят вас в выполнении определенных задач. Если вы хотите манипулировать текстом, например, C++ намного сложнее использовать, чем Python. Это дает вам еще одну стрелу в колчане, чтобы использовать, когда это необходимо.


Я узнал, по порядку:

  • BASIC
  • Паскаль
  • Ада
  • (немного Хаскелл)
  • Java
  • Python
  • C++
  • C#

Я не чувствую, что Python препятствует моей способности учиться или использовать C++. Я рад, что я узнал указатели в Pascal, прежде чем встретить ссылочные типы в Java, Python и C#, потому что я чувствую, что это дало мне хорошую основу для понимания идеи различия между "типами значений"и" ссылочными типами". Я думаю для меня наиболее важными из этих языков являются Python, Haskell и C++. Все они дополняют друг друга, и хотя иногда я работаю в одном и хотел бы иметь функцию от другого, в целом я думаю, что я получаю большую пользу от более глубокого понимания таких вещей, как системы типов, объектная ориентация и метапрограммирование, видя разные способы подхода этих языков к этим вещам.


попробуйте LISP вместо (или после этого, это ваш вызов). Вы хотя бы частично прав. использование Python на некоторое время заставляет вас не возвращаться к статически типизированному и скомпилированному языку. Это просто sooo намного удобнее, чтобы не радовать компилятор, как все время ;). И еще один аспект-читаемость кода python, что является удивительным.


Это правда. После изучения python все остальное будет казаться слишком большим усилием для такого же количества реальной работы. Вы привыкнете к чистому, небольшому синтаксису и свободе GC. Вам понравится работать в list comps, генераторах и т. д. Вы начнете думать на python и C++, и Java будет похоже на строительство корабля в бутылке по одной веточке за раз.

но так как это это гораздо проще, не соблазняет ли вас попробовать все это еще?


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