Re: [FRIAM] ABM - OO
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Douglas Roberts on 01/22/2008 05:37 AM: > The appropriate choice of OO language for implementing your ABM will depend > on what use you intend for the application. It literally amazes me... yes, I know that phrase is a bit of a platitude; but it really does catch me off-guard ... that people don't know this fact... or sporadically forget it. Everything you do fundamentally depends on why you're doing it. It's so simple, it's cliche'. But there are so many reasons to forget it. For example, some people become familiar with one tool and, from that point forward, use only that tool regardless of their purpose. Some people believe they can't successfully use a tool they don't understand intimately; so they throw up a psychological barricade. Some people invest so much of their time, energy, reputation, and money in some domain or tool that conservatism kills them in the end. Still others just bite off more than they can chew by (unjustifiably) believing that they can "get by" with whatever crap lies at hand and refusing to admit that they need to do serious infrastructure work to achieve their objectives. Some go to extraordinary lengths to coerce a tool into something it's not. ("My hammer is the best screwdriver on the planet!" ;-) And some just get too comfortable living off the returns on past investment that they fade away. Hence, my answer to Alfredo's question differs a bit from the others. There's only one way to know how well you will do at developing ABM models with PHP. Do it! If you don't do it (yourself), then you'll never know... you'll be at the mercy and whim of "experts"... who, for the most part, don't know any better than you do. And if you admit up front that you don't care enough, don't have the time, don't have the money, don't have the energy, hate to "fail", etc. to actually _waste_ your time trying to do the work yourself, then you already have the answer. If you're thinking that way, then most everyone else is thinking that way, too. - -- glen e. p. ropella, 971-219-3846, http://tempusdictum.com The state is the great fictitious entity by which everyone seeks to live at the expense of everyone else. -- Frédéric Bastiat -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHli9MZeB+vOTnLkoRAmUfAKCuVTuJMIjWV1V1SHcjNBZtgQLvQACgyBhf gjp+eH9fNs8KkfESOoRbP6I= =h/SC -END PGP SIGNATURE- FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
In a word, "Yes". You will be consigned to everlasting amateur programmer death. On the other hand, you can fake OO programing methodologies in just about any language, and you can force-fit just about any implementation into whatever the paradigm du Jour happens to be. But, if you want to do a job properly, you need the right tools. If you just want to build a toy ABM on top of an OO software design, then there are plenty of "toy" languages available to play with. See http://en.wikipedia.org/wiki/Object-oriented_programming_language for a good list of all the choices. Some are mature languages; others aren't. Some provide full-featured OO environments; others don't. If you want to build a professional ABM system for a real-world application that will be maintainable, scalable, extensible, etc. then the list of appropriate tools is much shorter. Throw in features necessary to support running the ABM in an HPC environment and the list is shorter still. The appropriate choice of OO language for implementing your ABM will depend on what use you intend for the application. In considering the above opinion, as always, Your Mileage May Vary. --Doug -- Doug Roberts, RTI International [EMAIL PROTECTED] [EMAIL PROTECTED] 505-455-7333 - Office 505-670-8195 - Cell On Jan 21, 2008 10:33 PM, Alfredo Covaleda V <[EMAIL PROTECTED]> wrote: > Hello > > Months ago you had a discussion respect ABMs-OOP and you referred to some > suitable languages. I wonder how appropriate are python and PHP5 to make > simulations. ¿Are comparable C++, smalltalk, ruby, python and PHP5 ? > > Although I've never seen a simulator written in php5 it seems to me that > it's an interesting and promising tool for simulations. ¿Are php5 OOP > capabilities good enough for ABMs?, ¿ Am I in risk of being example of an > everlasting amateur programmer death while trying ABMs with PHP5? > > Regards > > Alfredo > > > > > > Marcus G. Daniels wrote: > > Prof David West wrote: > > > Objects should be able to interact with bare hardware and not rely on OS > or other environments - like the Smalltalk image. > > > > With the resurgence of virtualized instruction sets, e.g. Java and .NET, > and good hardware/software support via VMware, Parallels, KVM, and Xen, > perhaps we can hope to see more high performance implementations of OOP > as it was meant to be.. The Right Thing running fast bare on the > hardware (almost). Just bought 16 GB of RAM for less than $2k. > > On a related topic, check out VMware Workstation 6 which now has trace > and replay. No more guessing how to reproduce conditions that led to a > model (or whatever) getting in to a weird state. Just back up! > > > > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at cafe at St. John's College > lectures, archives, unsubscribe, maps at http://www.friam.org > > > > -- > > > Alfredo Covaleda Vélez >Ingeniero Agrónomo > Programador > > Compre y venda sus libros en: > http://www.loslibrosusados.com > > Too many waiting for that lucky break (PM) > > > > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at cafe at St. John's College > lectures, archives, unsubscribe, maps at http://www.friam.org > FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
Hi Alejandro, The best language for ABM is the one you know. :-) BTW, a few years back we did an ABM-like php script that laid out labels in a scatterplot to minimize label overlaps. You can see examples of the script running with optimized and non-optimized versions here: http://www.redfish.com/projects/BostonLearning/rfGraph/examples.html The .php code is attached and support files can be downloaded from here: http://www.redfish.com/projects/BostonLearning/rfGraph/ > Although I've never seen a simulator written in php5 it seems > to me that it's an interesting and promising tool for > simulations. ¿Are php5 OOP capabilities good enough for > ABMs?, ¿ Am I in risk of being example of an everlasting > amateur programmer death while trying ABMs with PHP5? matrix.php Description: Binary data FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
On Mon, Jan 21, 2008 at 11:22:33PM -0700, Marcus G. Daniels wrote: > Alfredo Covaleda V wrote: > > Months ago you had a discussion respect ABMs-OOP and you referred to > > some suitable languages. I wonder how appropriate are python and PHP5 > > to make simulations. ¿Are comparable C++, smalltalk, ruby, python and > > PHP5 ? > The odd one out there is C++, which is isn't dynamically typed like the > others. Basically that constraint makes it easier for the compiler to > optimize for speed but makes the process of modeling more rigid. EcoLab gets around this using a technology called Classdesc, which provides the necessary reflection capability, without sacrificing the speed advantages of C++. > Dynamic typing may be a benefit or a drawback depending on your > perspective. If your goal is to test a specific hypothesis, using a > very specific simulation, you probably won't care about dynamic typing. > On the other hand, if you are trying to use the computer to poke around > a space and understand relations intuitively, and incrementally tweak > rules, you'll probably find it useful. > Indeed. I would argue that most scientific modelling is poking around a space - automated, or dynamic reflection is essential to reduce the amount of workload required of the programmer. Its one of the reasons I worked so hard on developing Classdesc, the others being that Objective C didn't turn me on much, and Repast hadn't been developed when I started. Oh, and I really found I couldn't do without operator overloading. Cheers -- A/Prof Russell Standish Phone 0425 253119 (mobile) Mathematics UNSW SYDNEY 2052 [EMAIL PROTECTED] Australiahttp://www.hpcoders.com.au FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
Alfredo Covaleda V wrote: > Months ago you had a discussion respect ABMs-OOP and you referred to > some suitable languages. I wonder how appropriate are python and PHP5 > to make simulations. ¿Are comparable C++, smalltalk, ruby, python and > PHP5 ? The odd one out there is C++, which is isn't dynamically typed like the others. Basically that constraint makes it easier for the compiler to optimize for speed but makes the process of modeling more rigid. Dynamic typing may be a benefit or a drawback depending on your perspective. If your goal is to test a specific hypothesis, using a very specific simulation, you probably won't care about dynamic typing. On the other hand, if you are trying to use the computer to poke around a space and understand relations intuitively, and incrementally tweak rules, you'll probably find it useful. Btw, today there was a new `Parrot' release, the new dynamic virtual machine underlying Perl 6. One interesting feature of this runtime is that the set of `opcodes' is mutable: http://www.parrotcode.org/faq/ http://www.sidhe.org/~dan/blog/archives/000409.html Seems like this could be an interesting way to set up an ABM system -- actual bytecodes for agent step instructions, etc. Marcus FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
The issue is not so much on programming language. In theory any universal language is sufficient. In practice, object orientedness helps a lot. Also needed are a range of plugin tools and libraries, such as graph visualisers, statistics accumulators and the like, which is where the frameworks come into play. And a necessary precursor for these to work is some kind of runtime reflection so that agent (object) structure can be inferred by the tool. At this stage, there are only a limited number of environments available, corresponding to an assortment of Java environments, a few logo environments, and one each of Objective C, C++ and Smalltalk environments. I would suspect that you would end up having to replicate a lot of what is done in Swam, Repast or EcoLab by choosing another language such as PHP, but if that is your bent, then there's nothing stopping you. Cheers On Tue, Jan 22, 2008 at 12:33:38AM -0500, Alfredo Covaleda V wrote: > Hello > > Months ago you had a discussion respect ABMs-OOP and you referred to > some suitable languages. I wonder how appropriate are python and PHP5 > to make simulations. ¿Are comparable C++, smalltalk, ruby, python and PHP5 ? > > Although I've never seen a simulator written in php5 it seems to me that > it's an interesting and promising tool for simulations. ¿Are php5 OOP > capabilities good enough for ABMs?, ¿ Am I in risk of being example of > an everlasting amateur programmer death while trying ABMs with PHP5? > > Regards > > Alfredo > -- A/Prof Russell Standish Phone 0425 253119 (mobile) Mathematics UNSW SYDNEY 2052 [EMAIL PROTECTED] Australiahttp://www.hpcoders.com.au FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
Hello Months ago you had a discussion respect ABMs-OOP and you referred to some suitable languages. I wonder how appropriate are python and PHP5 to make simulations. ¿Are comparable C++, smalltalk, ruby, python and PHP5 ? Although I've never seen a simulator written in php5 it seems to me that it's an interesting and promising tool for simulations. ¿Are php5 OOP capabilities good enough for ABMs?, ¿ Am I in risk of being example of an everlasting amateur programmer death while trying ABMs with PHP5? Regards Alfredo Marcus G. Daniels wrote: Prof David West wrote: Objects should be able to interact with bare hardware and not rely on OS or other environments - like the Smalltalk image. With the resurgence of virtualized instruction sets, e.g. Java and .NET, and good hardware/software support via VMware, Parallels, KVM, and Xen, perhaps we can hope to see more high performance implementations of OOP as it was meant to be.. The Right Thing running fast bare on the hardware (almost). Just bought 16 GB of RAM for less than $2k. On a related topic, check out VMware Workstation 6 which now has trace and replay. No more guessing how to reproduce conditions that led to a model (or whatever) getting in to a weird state. Just back up! FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org -- Alfredo Covaleda Vélez Ingeniero Agrónomo Programador Compre y venda sus libros en: http://www.loslibrosusados.com Too many waiting for that lucky break (PM) FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
mis-spelling in previous email -- Noury Bouraqadi <[EMAIL PROTECTED]> On Sat, 02 Jun 2007 14:02:52 -0600, "Marcus G. Daniels" <[EMAIL PROTECTED]> said: > Prof David West wrote: > > Objects should be able to interact with bare hardware and not rely on OS > > or other environments - like the Smalltalk image. > > > With the resurgence of virtualized instruction sets, e.g. Java and .NET, > and good hardware/software support via VMware, Parallels, KVM, and Xen, > perhaps we can hope to see more high performance implementations of OOP > as it was meant to be.. The Right Thing running fast bare on the > hardware (almost). Just bought 16 GB of RAM for less than $2k. > > On a related topic, check out VMware Workstation 6 which now has trace > and replay. No more guessing how to reproduce conditions that led to a > model (or whatever) getting in to a weird state. Just back up! > > > > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at cafe at St. John's College > lectures, archives, unsubscribe, maps at http://www.friam.org FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
re: performance. Dave Thomas' company Object Technology International developed Smalltalk technology for embedded systems with real time performance equal to C code. He sold OTI to IBM and his technology became Visual Age Smalltalk, Va-Java, and Eclipse with another division of IBM utilizing the embedded technology. Noury Bourqadi in France is doing some very interesting things with tiny VMs running on hardware for highly distributed mini-platform (cell phones) networks. On Sat, 02 Jun 2007 14:02:52 -0600, "Marcus G. Daniels" <[EMAIL PROTECTED]> said: > Prof David West wrote: > > Objects should be able to interact with bare hardware and not rely on OS > > or other environments - like the Smalltalk image. > > > With the resurgence of virtualized instruction sets, e.g. Java and .NET, > and good hardware/software support via VMware, Parallels, KVM, and Xen, > perhaps we can hope to see more high performance implementations of OOP > as it was meant to be.. The Right Thing running fast bare on the > hardware (almost). Just bought 16 GB of RAM for less than $2k. > > On a related topic, check out VMware Workstation 6 which now has trace > and replay. No more guessing how to reproduce conditions that led to a > model (or whatever) getting in to a weird state. Just back up! > > > > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at cafe at St. John's College > lectures, archives, unsubscribe, maps at http://www.friam.org FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
Re: [FRIAM] ABM - OO
Prof David West wrote: > Objects should be able to interact with bare hardware and not rely on OS > or other environments - like the Smalltalk image. > With the resurgence of virtualized instruction sets, e.g. Java and .NET, and good hardware/software support via VMware, Parallels, KVM, and Xen, perhaps we can hope to see more high performance implementations of OOP as it was meant to be.. The Right Thing running fast bare on the hardware (almost). Just bought 16 GB of RAM for less than $2k. On a related topic, check out VMware Workstation 6 which now has trace and replay. No more guessing how to reproduce conditions that led to a model (or whatever) getting in to a weird state. Just back up! FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org