Синтез общего языка программирования (Python) с учетом языка (PureData / MaxMSP / ChucK) [закрыто]

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

  •  06-07-2019
  •  | 
  •  

Вопрос

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

Меня огорчает, что для некоторых моих интересов (электронная музыка или инсталляционное искусство) существуют очень специфические языки программирования, которые кажутся лучше подходящими для этих целей, такие как Max / MSP, PureData и ChucK - все это довольно увлекательно .

Мой вопрос: как подходить к этим разным языкам? Должен ли я просто изучать Python и управлять другими, используя в них плагины и интерпретаторы Python? Есть ли хорошие инструменты для интеграции языков, или это правильный способ просто выучить их все?

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

Решение

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

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

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

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

Эта тема немного старая, но я хотел бы отметить, что большинство зрелых сред разработки аудио, например, supercollider / max-msp / pure data можно контролировать с помощью открытого управления звуком. Вы можете найти более подробное описание OSC, но достаточно сказать, что оно позволяет отправлять управляющие данные в синтезаторы, построенные в этих средах, подобно тому, как работает MIDI, но гораздо более обширно. Это не решает проблему фактического построения синтезаторов в python как таковых, но позволяет вам «управлять» эти другие среды без необходимости знать все тонкости языка.

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

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

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

Возможно, вам будет интересно узнать, что PureData имеет расширение Python .

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