Я уже довольно давно веду список языков-кандидатов на замену C/C++, сейчас там значатся: D http://www.digitalmars.com/d Go http://golang.org HaXe http://haxe.org Vala http://live.gnome.org/Vala Clay http://claylabs.com/clay Nimrod http://force7.de/nimrod/index.html Zimbu http://www.zimbu.org OOC http://docs.ooc-lang.org Brace http://sam.ai.ki/brace Rust http://www.rust-lang.org C2 http://www.c2lang.org SafeC http://chat-webcam-samuro.com/safe-c/start-en.html BitC http://www.bitc-lang.org Cyclone http://cyclone.thelanguage.org
а к какого рода структурам данных нужен общий доступ и вообще всякое SMP? Потому что кое-какие решения есть, например, shared memory, к которой имеют доступ несколько процессов, если нужно что-то простое, типа bigarray.
В моем случае нужны две вещи: 1. Параллельно обработать разные слегка пересекающиеся части картинки (массив байтов или интов), иногда синхронизируясь через семафоры. 2. Уметь передать мой колбэк COM-библиотеке, так чтобы она могла его вызывать из другого потока того же процесса, причем поток создает она сама, я им не управляю.
Пункт 2 сам по себе не требует smp, и в 4.00 появился caml_register_thread для "чужих" потоков, так что это теперь делается. Пункт 1 решается форками+bigarray, если есть желание.
У меня основная таргет-платформа - винда, там форки дорогие, да и версию 4.0 еще недавно было сложно заиметь. Но в целом, да, при должных усилиях наверное все решается.
no subject
Date: 2013-01-25 06:06 pm (UTC)D http://www.digitalmars.com/d
Go http://golang.org
HaXe http://haxe.org
Vala http://live.gnome.org/Vala
Clay http://claylabs.com/clay
Nimrod http://force7.de/nimrod/index.html
Zimbu http://www.zimbu.org
OOC http://docs.ooc-lang.org
Brace http://sam.ai.ki/brace
Rust http://www.rust-lang.org
C2 http://www.c2lang.org
SafeC http://chat-webcam-samuro.com/safe-c/start-en.html
BitC http://www.bitc-lang.org
Cyclone http://cyclone.thelanguage.org
no subject
Date: 2013-01-26 07:03 am (UTC)no subject
Date: 2013-01-26 07:54 am (UTC)no subject
Date: 2013-01-26 11:53 am (UTC)no subject
Date: 2013-01-26 12:27 pm (UTC)1. Параллельно обработать разные слегка пересекающиеся части картинки (массив байтов или интов), иногда синхронизируясь через семафоры.
2. Уметь передать мой колбэк COM-библиотеке, так чтобы она могла его вызывать из другого потока того же процесса, причем поток создает она сама, я им не управляю.
no subject
Date: 2013-01-27 12:11 pm (UTC)no subject
Date: 2013-01-28 03:49 am (UTC)