Должен ли я изучать 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 на ежедневной основе. Разнообразие на самом деле весело, а не запутанно; держит вещи могут быть скучные.
Я изучил 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++. Это дает другой способ думать.