I would say learn them all. While it's true that many languages can do many things, specialised languages are usually more expressive and easier to use for a particular task. Case-in-point is while most languages allow shell interaction and process control very few are as well suited to the task as bash scripts.
Plugins and libraries can bridge the gap between general and specialised languages but in my experience this is not always without drawbacks - be they speed, stability or complexity. It isn't uncommon to have to compile additional libraries or apply patches or use untrusted and poorly supported modules. It also isn't uncommon that the resulting interface is still harder to use than the original language.
I know about 15 languages well and a few of those very well. I do not use my prefered languages when another is more suitable.
This thread is a little old, but I wanted to point out that the majority of the mature audio development environments e.g. supercollider/max-msp/pure data can be controlled via open sound control. You can google up a better description of OSC, but suffice it to say that it allows you to send control data to synths built in these environments similar to how MIDI works, but way more extensive. This does not solve the problem of actually building synths in python per se but it allows you to "drive" these other environments without having to know the ins and outs of the language.
It's perfectly possible to build good interfaces from Python to such specialized languages: one example in point is RPy, which lets you drive R (for statistics) from Python (for all sort of general-purpose stuff).
Of course, one has to be competent in both languages - and such bridges, unfortunately, will not already exist for every given pair of one general purpose language and one specialized one. "Learning all of them", if you want to use all of them, remains the royal road!
Python would be a great language to learn, since it works well with a lot of other languages. It makes a great general purpose language as well as a "glue" language. Spend time learning the languages you are interested in, and keep Python knowledge around for it's flexibility and power. I don't think I would recommend trying to learn them all unless you really have the time.
You may interested to know that PureData has a python extension.
发布评论
评论(4)
我想说的是,把它们全部学完。 虽然许多语言确实可以做很多事情,但专用语言通常更具表现力并且更易于用于特定任务。 典型的例子是,虽然大多数语言都允许 shell 交互和进程控制,但很少有语言像 bash 脚本一样适合该任务。
插件和库可以弥合通用语言和专用语言之间的差距,但根据我的经验,这并不总是没有缺点 - 无论是速度、稳定性还是复杂性。 必须编译额外的库或应用补丁或使用不受信任和支持不佳的模块的情况并不罕见。 由此产生的界面仍然比原始语言更难使用的情况也并不罕见。
我精通 15 种语言,其中一些语言非常好。 当另一种语言更合适时,我不会使用我喜欢的语言。
I would say learn them all. While it's true that many languages can do many things, specialised languages are usually more expressive and easier to use for a particular task. Case-in-point is while most languages allow shell interaction and process control very few are as well suited to the task as bash scripts.
Plugins and libraries can bridge the gap between general and specialised languages but in my experience this is not always without drawbacks - be they speed, stability or complexity. It isn't uncommon to have to compile additional libraries or apply patches or use untrusted and poorly supported modules. It also isn't uncommon that the resulting interface is still harder to use than the original language.
I know about 15 languages well and a few of those very well. I do not use my prefered languages when another is more suitable.
这个帖子有点老了,但我想指出的是,大多数成熟的音频开发环境(例如 supercollider/max-msp/pure data)都可以通过开放的声音控制进行控制。 您可以在 google 上搜索 OSC 的更好描述,但只需说它允许您将控制数据发送到这些环境中构建的合成器,类似于 MIDI 的工作方式,但更广泛。 这并不能解决在 python 本身中实际构建合成器的问题,但它允许您“驱动”这些其他环境,而无需了解该语言的来龙去脉。
This thread is a little old, but I wanted to point out that the majority of the mature audio development environments e.g. supercollider/max-msp/pure data can be controlled via open sound control. You can google up a better description of OSC, but suffice it to say that it allows you to send control data to synths built in these environments similar to how MIDI works, but way more extensive. This does not solve the problem of actually building synths in python per se but it allows you to "drive" these other environments without having to know the ins and outs of the language.
完全有可能从 Python 到此类专用语言构建良好的接口:一个典型的例子是 RPy,它让你从Python(用于各种通用目的)驱动R(用于统计)。
当然,一个人必须精通两种语言 - 不幸的是,对于每对特定的一种通用语言和一种专用语言,这样的桥梁还不会存在。 “学之皆用”,欲用,仍是王道!
It's perfectly possible to build good interfaces from Python to such specialized languages: one example in point is RPy, which lets you drive R (for statistics) from Python (for all sort of general-purpose stuff).
Of course, one has to be competent in both languages - and such bridges, unfortunately, will not already exist for every given pair of one general purpose language and one specialized one. "Learning all of them", if you want to use all of them, remains the royal road!
Python 将是一门非常值得学习的语言,因为它可以与许多其他语言很好地配合。 它是一种出色的通用语言,也是一种“粘合”语言。 花时间学习您感兴趣的语言,并保留 Python 知识,因为它具有灵活性和强大功能。 我不认为我会建议你尝试全部学习它们,除非你真的有时间。
您可能有兴趣了解 PureData 有一个 python 扩展。
Python would be a great language to learn, since it works well with a lot of other languages. It makes a great general purpose language as well as a "glue" language. Spend time learning the languages you are interested in, and keep Python knowledge around for it's flexibility and power. I don't think I would recommend trying to learn them all unless you really have the time.
You may interested to know that PureData has a python extension.