I could live without F-Script, however it would be a dreary experience, like having a fresh bag of tortilla chips but lacking salsa. I use F-Script.app to hack on Cocoa without having to create numerous tests and projects. If I'm unsure about how a facet of Cocoa works, I bang something up to try it out in realtime. I also use F-Script to script Cocoa -- there is a lot of power in the frameworks that isn't otherwise accessible from the unix shell. Finally I use F-Script Anywhere to dynamically poke at applications (both my own and other people's), for testing, fixing and extending them.
Jonathan 'Wolf' Rentzsch
Red Shed Software
F-Script has proven invaluable. Itís a great dynamic scripting language with some really cool concepts . We knew we needed to find a scripting language for our report engine which would be embedded in Daylite and Billings and we looked at a bunch of options. F-Script proved to be the best because it is lightweight, flexible and compact.
At Big Nerd Ranch, we have developed a report generator for one of our clients. Using embedded F-Script, we have empowered our users to extend the tool. F-Script has been easy and reliable for us and truly liberating for our users.
Big Nerd Ranch, Inc.
I have often heard people sing F-Script's praises, but I used it for the first time today. It's mind-blowing. I want to thank you for the incredible work you are doing, this is going to make my work-flow so much better...
Since I've downloaded and installed F-Script, my 7 year old son has been working through the tutorials for F-Script. Has been having a great time with it and is learning a great deal. F-Script is a great tool for teaching programming.
I am very impressed with F-Script. Presently I am porting a MATLAB package to Objective-C, and I find that I can express the MATLAB algorithms in F-Script quite easily. So instead of translating everything to C I am translating most of the code to F-Script. The more I use F-Script, the more I like it.
Thank you for creating such a wonderful package and thanks also for the great support!
Ripplon Software Inc.
Awesome light-weight language specifically designed for Cocoa. Easy and powerful to use.
This is one of the coolest things that Iíve come across for OS X. F-Script anywhere lets you look inside a program while it is running. You can call methods of objects, inspect the properties of UI elements. Itís pretty incredible.
F-Script and F-Script Anywhere are SO useful! Especially if you've ever gotten used to say, using python and Tk to prototype an app...
The thing I like most about F-Script is F-Script Anywhere. If you've ever wanted to explore someone else's Cocoa app, this is the way to do it. One click and you can load the FScript interpreter into any running Cocoa app and have interactive access to its internals. Try it!
F-Script is way cool. It is a great way to learn the Cocoa API through exploration - one of the best ways to learn, IMHO, and the best for me.
F-Script exposes the entire Macintosh Cocoa API to a GUI and scripting language. Itís great for exploring the Macintosh API.
A deeply splendid merging of Smalltalk and APL.
I started using F-Script last fall, and it's become one of the most essential tools in my box. I originally started using it with the intent to write the higher-level parts of an application in F-Script, but quickly began using it for a host of other uses. I've written a tool that uses configuration files written in F-Script. I have a miniature MATLAB-esque environment for whipping out quickie data processing tasks at work whose interface consists of nothing but F-Script. My favorite use, though, is for debugging frameworks. With F-Script and the XCode debugger's "fix" feature, I can spend an entire day testing, debugging, and tweaking a module I'm working on without ever quitting the application.
If you haven't heard of F-Script you really should take a look at it as it can help you in many situations. I must admit I haven't been using it for long, but already what i've seen has impressed me... [Read more]
F-Script admits sophisticated array processing; multilevel iteration, row-major processing, column-major processing, inner products, outer products, "compression" and "reduction" operations. The most amazing thing is how natural the idioms look, thanks to their clean syntax and the dynamic nature of the language.
It's not the Smalltalkiness of it; it's not the Cocoaliciousness of it; it's the funky APL sideburns that's made F-Script so tempting. F-Script is a scripting language for Mac OS X that takes that OS's object frameworks and slips them into a Smalltalk syntax, then left-hooks it all with an inexplicably neat multiple receiver syntax called OOPAL which lets you use things called "message patterns" to fire off the same message to an array of objects, and ponce around like you just don't need loops or iterators any more.
Need To Know
I'd like to thank anyone/everyone involved with F-Script. I'm blown away by how cool and useful it is.
I'm an astronomer whos speciality is automated classification of galaxy images (mostly taken with the Hubble Space Telescope). F-Script lets one easily do pretty complex data mining to drill down through samples of thousands of galaxies distributed throughout a very large parameter space in order to isolate only those galaxies of interest. Amongst the infinite number of things we might want to do is restrict some analysis to all galaxies with a certain class with a median area above some value, and then work out the mean value of a bunch of galaxy properties.
One certainly can't anticipate beforehand what one will want to do with the data. Since manipulation of the data needs to be general, and the data analysis is inherently array based, embedding F-Script is perfect for this application. It replaces having to filter million of little ASCII text files with AWK and Perl, and since the F-Script syntax automatically threads over arrays no serious programming is needed to do really complicated stuff (I don"t feel guilty about making my students learn the small amount of F-Script needed since it will take all of 30 seconds). Plus embedding the interpreter was trivially easy to do (you can see Im hugely impressed). [More...]
Prof. Roberto Abraham
Dept. of Astronomy & Astrophysics
University of Toronto
If you're programming Cocoa, F-Script is great for testing out your code. You can put the F-Script pallete in interface builder and then send messages to your objects directly from interface builder. I cannot emphasize how cool it is to ask views directly for thier super views without writing and compiling any special code.
And if you think you're a h4x0r, try out F-Script anywhere. You can attach it to any Cocoa app... even ones you don't have the source code for! It's great fun to play around with the innerds of the iApps... even more fun if you combine this with the class dump utility (I'm too lazy to look up a link for it, google for it).
And from a purely language point of view f-script is cool in the stuff it's adopted from array programming language (APL). If you like vectorizing stuff in matlab, read the f-script manual and give f-script's vectorization a try -- you'll see what all you'e been missing in matlab's limited world.
One final endorsement, if you are learing Cocoa open source projects like F-script are great. I've learned a lot by looking through the F-script source.
You can do some amazing stuff in Mac OS X with F-Script. It is also a fine way to determine how the object model in Mac OS X works without burdening yourself with recreating "Hello World" for the 2^128th time or "Currency Converter" for the 2^32nd time. Exploration and creativity are far better ways to learn in my humble opinion.
F-Script is amazing! It's by far the best tool I've found for learning Cocoa, and I've really enjoyed digging around to understand the messaging system and object methods.
With F-Script, a world of objects comes alive with every line I type, and the ability to dive into an existing app's UI and poke and prod is like a graduate-level course in object-oriented programming. If someone in a podcast is discussing a framework or method, I can open up an F-Script interpreter window and follow along as they speak.
The idea of passing messages--to one, or to a whole array of objects is made crystal-clear by the interactivity that an interpreted language provides.
F-Script's object browser introduces me to Cocoa classes and their instances by handing me their complete resumť: "I have these attributes, and I respond to these methods, and these of my superclass, and these of the class above that, and so on."
I find myself testing and trying things in F-Script that I can then take over to Xcode and use in a compiled Cocoa app.
Thanks and congratulations on a wonderful way of learning more about Cocoa and Smalltalk-like object systems.
John Christopher Burns Design