Is a monkey-patching friendly language really the best thing for this? (Asks the Smalltalk guy, whose language is just as monkey-patching friendly and is used in a lot of Financial apps.)
Functional languages would be much better for this purpose.
Python has some FP features. More importantly, it's incredibly easy to learn, available on just about every platform (JVM users and .Net users can use it, Mac, Linux, Windows, etc).
Python has some FP features. More importantly, it's incredibly easy to learn, available on just about every platform (JVM users and .Net users can use it, Mac, Linux, Windows, etc).
Yes, but having "some FP features" is a far cry from being able to use FP to do lots of reasoning about your program.
It's not intended to be a complex statistical model. It's intended to replace XML Files that may have included calculations, with a system that allows people to plug their assumptions into the program and get an answer, rather than parsing XML and turning that into a program.
My understanding is that the type of calculations they're talking about, if you need complex Functional Programming you're doing it wrong.
Good languages actively fight off poor programming. Take ML or Haskell: if you didn't think about the problem well enough beforehand, it won't compile.
Comments
The regulation will be very state-dependent, though.
EDIT: oh, and that annoying halting problem...
Is a monkey-patching friendly language really the best thing for this? (Asks the Smalltalk guy, whose language is just as monkey-patching friendly and is used in a lot of Financial apps.)
Functional languages would be much better for this purpose.
Python has some FP features. More importantly, it's incredibly easy to learn, available on just about every platform (JVM users and .Net users can use it, Mac, Linux, Windows, etc).
Python has some FP features. More importantly, it's incredibly easy to learn, available on just about every platform (JVM users and .Net users can use it, Mac, Linux, Windows, etc).
Yes, but having "some FP features" is a far cry from being able to use FP to do lots of reasoning about your program.
It's not intended to be a complex statistical model. It's intended to replace XML Files that may have included calculations, with a system that allows people to plug their assumptions into the program and get an answer, rather than parsing XML and turning that into a program.
My understanding is that the type of calculations they're talking about, if you need complex Functional Programming you're doing it wrong.
agreed, plus by my understanding it is also already fairly popular in the financial programming community.
Monkey patching (from what I've seen) is almost always the result of a poor programming, something which no language can be shielded from.
Good languages actively fight off poor programming. Take ML or Haskell: if you didn't think about the problem well enough beforehand, it won't compile.
No, but in the right language, you can at least be shielded from the monkey-patching.
But you need trained programmers to use the right language.
Also, Python is clearly a step up from English on a variety of metrics, including the reduction of the ability to monkey-patch.
Functional languages can do even better, however.
If they're smart then it would actually be a very restrictive subset of Python, not the full language.
On a second thought they can use Python fine. Just issue something like the text at www.brool.com/?p=97 as the very first requirement.