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

Одним из решений, эквивалентным вашему коду, может быть

artists = [track['artists'][0]['name'] for track in songs['tracks']]
12
задан Onur A. 13 March 2018 в 17:18
поделиться

7 ответов

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

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

19
ответ дан 2 December 2019 в 03:10
поделиться

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

я советовал бы Вам занимать несколько недель для узнавания языков программирования, которые Вы рассматриваете. Я проверил бы Ruby также. Возможно, игрушка вокруг с Haskell немного?

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

6
ответ дан 2 December 2019 в 03:10
поделиться

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

, Если Вы имеете дело с большими количествами больших файлов тогда, можно быть более обеспеченным пребыванием в C++ и обучением программистов выпускника, что указатель

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

, Если загрузка обработки на запись не высока, Вы можете быть удивлены, как мало производительности Вы проигрываете: IO файла будет почти наверняка обработан в скомпилированной библиотеке (C), таким образом, интерпретатор наверху сможет быть относительно низким. Стоящий попытки, я предложил бы.

Из императивных языков, Perl является очевидной опцией, Python популярен, и Ruby имеет высокий профиль (и вероятно более чистые функции OO, чем первые два). Тогда существует немного больше, er, тайная область функциональных языков, но я не квалифицирован для комментария их.

10
ответ дан 2 December 2019 в 03:10
поделиться

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

От документы Python

предыдущие главы обсудили, как расширить Python, то есть, как расширить функциональность Python путем присоединения библиотеки функций C к нему. Также возможно сделать это наоборот: обогатите свое приложение C/C++ путем встраивания Python в нем. Встраивание предоставляет Вашему приложению способность реализовать часть функциональности Вашего приложения в Python, а не C или C++. Это может использоваться во многих целях; один пример состоял бы в том, чтобы позволить пользователям адаптировать приложение в соответствии со своими потребностями путем записи некоторых сценариев в Python. Можно также использовать его сами, если часть функциональности может быть записана в Python более легко.

5
ответ дан 2 December 2019 в 03:10
поделиться

Я очень не хочу сказать это, но f, Вы хотите что-то, с чем Ваши входящие разработчики собираются быть знакомыми, пойдите с Java. Java является языком, с которым новые выпускники будут самыми знакомыми. Все еще необходимо скомпилировать, но время компиляции будет короче, чем C++. Это будет работать на Linux и в значительной степени где-либо еще. Это имеет хороший сборщик "мусора". Это довольно быстро. И я упоминал, что Ваши разработчики будут знакомы с ним? Нет, это не "прохладно" как Python, но это - очень проверенный язык.

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

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

3
ответ дан 2 December 2019 в 03:10
поделиться

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

0
ответ дан 2 December 2019 в 03:10
поделиться

Если бы можно сойти с рук использование Python, Ruby, Groovy или Perl по сравнению с C++, Вы были бы более обеспеченным движением с одним из этих высокоуровневых языков. Производительность значительно увеличится. Если Вы находите необходимость в большем количестве производительности, тогда идут с Java. Все должны знать в и использовать по крайней мере один динамически типизированный язык.

0
ответ дан 2 December 2019 в 03:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: