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

Reply via email to