Skip to content

Swift: Scripting Language for Many-Task Computing

ci.uchicago.edu
50 pointsturnersr13 comments
On HN

Comments

Reminds me a bit of Bpipe (http://bpipe.org), and Ruffus (http://code.google.com/p/ruffus/) ... though perhaps more mature? But the syntax is a bit more obtuse when you actually look at the examples (not that I mind learning it if the payoff is sufficient).

I think we'll see a lot of DSL style / scripting languages like this pop up as big data computing becomes more mainstream and people try to make parallelism easier to grok.

It's funny that most people (me, too) don't like the syntax. I think the problem is that Swift sells itself as a scripting language and scripting languages are often very easy to read like Bash, Ruby or Python.

Well, maybe if I see it again in the future, I'll try to code something in it.

does this qualify as a name collision with the php email library swift mailer?

http://swiftmailer.org/

Kind of like there's Sphinx fulltext indexing and Sphinx doc generation lib for python and CMU's sphinx speech recognition/generation framework, you have to specify which but google seems ok with them.

Also: Openstack Swift (S3-like object store)

I started seizing a bit when I looked at the example code.

I'm sure it's awesome, but friggin come on. There's more to life than algol 2.0.

Swift is an amazingly powerful framework. The syntax for its scripting language takes some getting use to. If you think that's bad, try reading the Java that's underlying it.

Could anyone who's got knowledge of the environment explain why a new language was required - what couldn't have been done as a library for an existing language?

If you're interested in a Python implementation of some of the core ideas of Swift (task-based parallelism, DAG representation of work-flow, etc..) look here: https://github.com/timarmstrong/pydflow

A discussion of the Swift language can be found here: http://www.ci.uchicago.edu/swift/papers/SwiftLanguageForDist...

A new language isn't required. For part of my dissertation, I wrote a DSL on top of Python called Weaver (http://bitbucket.org/pbui/weaver) that compiles workflow DAGs that are executed by Makeflow (http://cse.nd.edu/~ccl/software/makeflow) on a variety of distributed systems (e.g. Condor, SGE, WorkQueue, multi-core).

GC3Pie is a Python library for running many-task workflows (not just DAGs): http://gc3pie.googlecode.com/

Currently, it is mainly targeted at grid/cluster computing but it's evolving.

(Disclaimer: developer here.)

A friend of mine is finishing up his compilers class and keeps randomly wanting to write new languages because he can. It would not surprise me to learn a similar effect is ...in ..effect... goddammit my diction sucks today.

Getting upset over curly braces doesn't help anyone. We have so many languages that follow Algol's example because they work. It's a metaphor that works for us.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.