New Language for Programming in Parallel(technologyreview.com)
technologyreview.com
New Language for Programming in Parallel
http://www.technologyreview.com/computing/38149/?ref=rss&a=f
4 comments
Can anyone give a tl;dr summary of what this brings to the table that languages like, say, Erlang (or even Verilog/VHDL if you want to go down that far and specific) don't have?
ParaSail is designed to be easily understandable and usable by programmers familiar with languages like Java, C#, Modula-3, Eiffel, etc., while providing implicit parallelism and full compile-time checking of all user-written annotations as well as all language rules (such as no use of uninitialized or null data, numeric overflow, array out-of-bounds, race conditions, etc).
ParaSail is also designed to be simpler than many current languages in its basic module/type/object model. As part of that it eliminates re-assignable pointers, explicit storage allocation, explicit storage reclamation, garbage collection (it uses region-based storage management), run-time checking (it does it all at compile time), and run-time exceptions. Finally, there is no special syntax reserved for built-in types -- any appropriate type can support indexing (e.g. A[I]), slicing (e.g. A[1..5]), operators (+, -, <, >, +=, *=, ...), literals (e.g. X += 25), intervals (X..Y), aggregates (Map |= ["key1" => Value1, "key2" => Value2]), iterators (for each [Key=>Value] of Map concurrent loop ...), etc.
ParaSail is also designed to be simpler than many current languages in its basic module/type/object model. As part of that it eliminates re-assignable pointers, explicit storage allocation, explicit storage reclamation, garbage collection (it uses region-based storage management), run-time checking (it does it all at compile time), and run-time exceptions. Finally, there is no special syntax reserved for built-in types -- any appropriate type can support indexing (e.g. A[I]), slicing (e.g. A[1..5]), operators (+, -, <, >, +=, *=, ...), literals (e.g. X += 25), intervals (X..Y), aggregates (Map |= ["key1" => Value1, "key2" => Value2]), iterators (for each [Key=>Value] of Map concurrent loop ...), etc.
A prototype compiler will be released in the next month or so. It will be announced on the ParaSail blog and the ParaSail google group.
-Tuck
Development and code examples of ParaSail:
http://parasail-programming-language.blogspot.com/
http://parasail-programming-language.blogspot.com/
I'm interested, but only if I can actually try it. Yes, I know it's early and likely will change. That's fine, for my experimentation purposes.