Должен ли я изучать Python после C++?
В настоящее время я изучаю C++ и хочу выучить другой язык.
Для работы я использую C# + ASP (только начал изучать его), но я хочу что-то "менее Microsoft" и мощное.
Я слышал, что Python - популярный и мощный язык, не такой сложный, как C++. Но многие люди упоминали, что им было трудно вернуться к C++/Java из Python, потому что они начали думать об этом, привыкли к отсутствию управления памятью и т. Д. Что вы порекомендуете?
17 ответов
Там нет правильного или неправильного ответа, на самом деле. Но я думаю, что вы больше выиграете от изучения Python. Учитывая сходство между C# и C++, вы изучите другой способ мышления в Python. Чем больше способов научиться думать о проблеме, тем лучше она делает вас программистом, независимо от языка.
Преимущество перехода от более статичного языка к динамическому языку состоит в том, чтобы изменить свою парадигму программирования - дело не в том, чтобы стать "ленивым", а в том, чтобы реализовать новые способы выполнения задач, которые сделают вас лучше на любом языке.
Многие утверждают, что вам было бы полезно изучить Python до C++.
- Синтаксические барьеры намного, намного ниже;
- Отладка намного удобнее
- Вы знаете, есть множество библиотек, включая батареи. В Python легко поэкспериментировать с просмотром веб-страниц, XML и т. Д. Опять же, барьеры для входа в C++ намного выше.
Все еще хорошо изучать C/C++ из-за его тесной связи с машиной. Но новый программист может многому научиться, изучая Python.
Ну, я выучил Python после C/C++, Java и C#. Python - отличный язык, и его простота и согласованность улучшили способ написания кода. Это также помогло мне более четко подумать об алгоритмах, лежащих в основе моего кода. Я мог бы продолжить о преимуществах, которые это принесло мне, вместо этого я укажу причину, чтобы узнать это ->
Изучение нового языка не отнимает, оно добавляет к вашим навыкам программирования и держит вас в тонусе, обучая вас переключаться между настроениями, которые требуются для каждого языка.
Так что иди туда и изучай Python. Ваш код улучшится (ТМ).
PS
1. Вы потеряете навыки C++ (или любого другого языка), если пренебрегли их содержанием и поддержкой. Это полностью зависит от вас.
2. Программист (умный) лень это добродетель.
Python дополняет C++ и легко интегрируется с C++. (В качестве доказательства этого утверждения гуру C++ из Boost используют Python.)
И, как вы сказали, Python дает вам возможность получить перспективу за пределами орбиты Microsoft. Но даже там, если вам нужно интегрировать Python с инструментами MS, есть IronPython.
Я не думаю, что "Python делает тебя ленивым" (в любом случае, хорошее название!).
Напротив, в программировании, как и в жизни, важно знать более одного языка; Я думаю, вы найдете Python забавным и достаточно отличным от C++ или C#, так что языки не будут смешиваться в вашей голове...
Многие языки очень похожи на другие, но чтобы переключиться между неуязвимым и функциональным / динамическим и статическим / объектным и процедурным языками, вам нужно научиться мыслить в рамках ограничений языка, который вы используете. Поскольку большинство проектов длится не менее нескольких недель, это, как правило, не проблема после первых нескольких дней.
Вам будет сложнее переключиться с языка + среды, в которой вы наслаждаетесь после занятий или занятий хобби.
- C, Macro Assembler => в основном то же самое - разница в основном в библиотеках
C++, Java, C#, Delphi => по сути одна и та же парадигма - вы быстро узнаете, как использовать возможности конкретного языка и перенять понятия из одного синтаксиса в другой. Это в основном тот же способ мышления, самое большое исключение - то, как вы думаете об управлении памятью.
Python - хороший язык, стратегически лучший выбор, чем ruby, хотя есть и другие аспекты ruby, которые можно считать превосходящими. Что делает Python хорошим выбором, так это наличие формального языкового тела, которое поддерживает среду Python на разных платформах, очень совместимых друг с другом.
Если вы заинтересованы, прочитайте это http://cmdematos.com/?p=120
на выбор стратегического языка.
Я изучил C/C++, Java, Python & C# в таком порядке.
Два, которые я на самом деле неизменно использую, это C++ и Python; Я считаю, что ниша, занимаемая Java & C#, слишком узка, чтобы чувствовать необходимость много их использовать (по крайней мере, для того, что я делаю).
Я также думаю, что я действительно не "получил" функторы C++ и boost::bind
пока я не познакомился с Python.
Это зависит от того, какие именно приложения вы хотите программировать, например, для веб-сайтов, которым нужен доступ к базам данных, которые я бы выбрал для Ruby(и среды Ruby on Rails), для финансовых приложений или приложений, которые требуют большой параллельной обработки. Я бы выбрал функциональный язык программирования, такой как Haskell, oCaml или новый F#, эти последние 3 сделают вас лучшим программистом, даже если вы не будете много программировать на них, кстати, в последнее время в последних версиях C# добавлял все больше и больше функциональных возможностей программирования. Я бы изучал Python для обеспечения безопасности и эксплуатирует виды приложений.
Изучение большего количества языков может сделать вас лучшим разработчиком, независимо от их подхода. Кроме того, ваш опыт работы с C++ (или, по крайней мере, с C) пригодится для написания высокопроизводительных частей ваших приложений с использованием Python C API, который позволяет "сырому" коду C и C++ красиво смешиваться с чисто Python.
Я до сих пор пишу код в Objective-C (1.0... до управления памятью) и Python на ежедневной основе. Разнообразие на самом деле забавное, а не запутанное; не дает скучать
Согните свой мозг и улучшите свои навыки. Дайте функциональному языку водоворот.
Я думаю, что всегда хорошо знать несколько языков программирования. Я изучил C++ в школе и много использовал в последние годы, потому что это действительно стандарт в отрасли. Я изучил python самостоятельно и использую его для создания множества хороших инструментов, которые было бы слишком долго писать на C++. Python очень положительно влияет на мои навыки в C++. Это дает другой способ мышления.
С точки зрения утилит, полезно также изучить один из более динамичных языков, таких как Python (или Ruby или Perl). Они не только растягивают ваш разум, но и превосходны для определенных видов задач. Например, если вы хотите манипулировать текстом, использовать C++ намного сложнее, чем Python. Это дает вам еще одну стрелу в вашем колчане для использования в случае необходимости.
Я узнал, по порядку:
- Бейсик
- паскаль
- Ada
- (Немного Хаскелла)
- Джава
- питон
- C++
- C#
Я не чувствую, что Python ограничивает мою способность изучать или использовать C++. Я рад, однако, что я изучил указатели в Pascal, прежде чем столкнулся со ссылочными типами в Java, Python и C#, потому что я чувствую, что это дало мне хорошую основу для понимания идеи различий между "типами значений" и "ссылочными типами". Я думаю, что для меня наиболее важными из этих языков являются Python, Haskell и C++. Все они дополняют друг друга, и хотя бывают моменты, когда я работаю в одном и хотел бы, чтобы у меня была особенность другого, в целом я думаю, что мне очень помогает более глубокое понимание таких вещей, как системы типов, ориентация объектов и метапрограммирование видя разные подходы этих языков к этим вещам.
Вместо этого попробуйте LISP (или после этого это ваш звонок). Вы хотя бы частично правы, хотя. использование Python на некоторое время лишает вас желания возвращаться к статически типизированному и скомпилированному языку. Просто так гораздо удобнее не доставлять удовольствие компилятору, как ВСЕ ВРЕМЯ;). И еще один аспект - удобочитаемость кода на Python, что потрясающе.
Вы можете выучить новый язык программирования, такой как python, и использовать его для выполнения всех задач, которые вы обычно выполняете на своих "основных" языках; или вы можете взять язык (например, python или perl) и использовать его для дополнения вашего основного языка.
Вы можете изучить VBScript и использовать его для написания сценариев, которые склеивают ваш код и другие вместе. Если вам нужно что-то меньшее от Microsoft, тогда было бы неплохо использовать сценарии на python, perl или bash - не только для того, чтобы научиться кодировать по-новому, но и как делать вещи, отличные от обычного способа "закодировать приложение".
Это правда. После изучения Python все остальное будет казаться слишком большим усилием для того же объема реальной работы. Вы привыкнете к чистому маленькому синтаксису и свободе GC. Вам понравится работать с компиляторами списков, генераторами и т. Д. Вы начнете думать о Python и C++, а Java будет все равно что строить корабль в бутылке по одной тонкой палочке за раз.
Но так как это намного проще, разве вас не соблазняет попробовать еще больше?