Hi Hugh, Thank you for your interest in Factor.
On Fri, Mar 13, 2009 at 8:02 PM, Hugh Aguilar <hugoagui...@rosycrew.com> wrote: > How safe is Factor? For a company to let factory-floor employees program > some CAM software, they have to be sure that incompetent (or malicious) > employees don't crash their computer, and definitely not their server. Does > the Factor virtual-machine have safeguards similar to Java's to keep > everybody inside of a "walled garden" where they can't do any harm? Right > now, most CAM software is used only in the front-office, but the flunkies on > the floor (me!) aren't allowed to touch it. My goal with this project is to > make CAM available to people who normally only get to work with raw gcode. Factor does not support sandboxing like the JVM does. However, if your users are only writing code in your DSL -- and not raw Factor code -- you should be able to ensure that your DSL compiler only generates safe code. > Does anybody have an opinion on Factor compared to FICL? I've never used FICL, but I can give you a general set of answers to your questions below. > How are they for speed? Factor has a native compiler that performs various classical optimizations. On the other hand, Factor has dynamic typing and automatic memory management, which entails a greater runtime overhead than the Forth model. Depending on how you write your code, the compiler can eliminate the overhead of this dynamism. Generally, Factor performance compares very favorably with scripting languages; if you write some code and feel that it does not run fast enough, let us know and we will either help you optimize it, or improve the compiler. > How are they for ease of incorporating C (or Objective-C) code? Factor makes it very easy to integrate with C and Objective-C libraries. http://docs.factorcode.org/content/article-alien.html http://docs.factorcode.org/content/vocab-cocoa.html Factor's cross-platform UI toolkit has a Cocoa backend that uses our Objective-C FFI. Much of the rest of the system is built on top of C libraries that are interfaced with using the C FFI. You don't have to write C or Objective-C code to call into libraries written in those languages; you just define stubs, for example USE: alien.syntax FUNCTION: int chmod ( char* path ) ; ... and Factor's compiler generates machine code for calling the function for you. > How do their OOP systems compare? You can read about Factor's object system at http://docs.factorcode.org/content/article-objects.html The object system is used pervasively throughout the library and is pretty flexible. The closest existing object system in another language is Common Lisp's CLOS, although Factor's object system does not have multiple dispatch or method combination. > Does anybody have an opinion on Factor compared to Python or Ruby? Like these languages, we are trying to build up a large standard library with enough tools for real-world programming. Factor differs from scripting languages in two important respects though: the implementation uses a compiler instead of an interpreter, and more of the core language is implemented in Factor libraries instead of being baked into the VM. > Right now, my project is called CAMF, which means "Computer-Aided > Manufacturing from FICL." Who knows though, maybe I will change the `F' to > mean Factor. Ruby seems to have found a home as a website framework, with > the Rails project. I need to find a language to be a CNC framework. It has > to be easy enough that machinists with little or no programming experience > (other than writing gcode) can use it, but still robust enough to do the > job. Maybe Factor will be to CNC what Ruby is to websites! Good luck with your project. Slava ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk