LINUX.ORG.RU
ФорумTalks

P: язык программирования, разработанный для асинхронности, отказоустойчивости и неопределенности

 , p


0

2

Кто что скажет про новый язык программирования от Microsoft — P? Кто-нибудь смотрел ближе, тестил?

Пишут, что датарейсов не бывает (исключены гейзенбаги, связанные с многопоточностью) и в плане многопоточности язык похож на Раст. Драйвера USB 3.0, начиная с Windows 8.1 и Windows Phone, писаны на ней.

https://www.microsoft.com/en-us/research/blog/p-programming-language-asynchrony/

Синатксис: https://github.com/p-org/P/blob/master/Doc/Manual/pmanual.pdf

★★★★★

Ответ на: комментарий от Jopich1

там в репо есть файл Плинукс.sh

наверное кроссплатформенно

takino ★★★★★
()
Ответ на: комментарий от Reset

Microsoft

Годнота!
Reset ★★★★★

Нет, ну надо же!

Stil ★★★★★
()
Ответ на: комментарий от Jopich1

Очевидно, что да. Даже в теме указаны уже 2 платформы.

Reset ★★★★★
()
var i: int; 
i = 0;
while (i < sizeof(nodes)) { 
...
i = i + 1; 
}

for объявлен нерукопажатным ??? и настоящим хипстерам и сочувствующим он не нужен?

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

Тут скорее старая харкорная майкрософтско-межделмашевская школа, чем хипстеры. У хипстеров принято плодить новые конструкции на каждый чих, придумывать даже итераторы не так, как уже давно придумано в каком-нибудь STL.

ixrws ★★★
()

Забавный синтаксис. Почему бы и нет?

// PingPong.p
event PING assert 1: machine;
event PONG assert 1;
event SUCCESS;
main machine Client {
    var server: machine;

    start state Init {
        entry {
            server = new Server();
            raise SUCCESS;
        }
        on SUCCESS goto SendPing;
    }

    state SendPing {
       entry {
            send server, PING, this;
            raise SUCCESS;
       }
       on SUCCESS goto WaitPong;
    }

    state WaitPong {
        on PONG goto SendPing;
    }
}

machine Server {
    start state WaitPing {
        on PING goto SendPong;
    }

    state SendPong {
        entry (payload: machine) {
            send payload, PONG;
            raise SUCCESS;
        }
        on SUCCESS goto WaitPing;
    }
}
Deleted
()
Ответ на: комментарий от shimshimshim

Ты про OTP? Не знаю, не разбирался. Просто посмотрел, как выглядит синтаксис.

По описанию похоже.

Deleted
()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от registrant

Конечно, пишешь программу которая рисует точку с определенными координатами на картинке и потом вызываешь ее достаточно много раз с такими координатами, чтобы получился круг.

Tark ★★
()

Даёшь ещё больше языков, чтобы программы для разработки продолжали превышать количество полезных программ для работы!!!

xwicked ★★☆
()
Ответ на: комментарий от shimshimshim

Эрланг сам по себе не предотвращает дата рейсы, увы.

Так оно на CLR?

feofan ★★★★★
()

Кто что скажет про новый язык программирования от Microsoft — P?

Скажу лишь «пером не описать да матом не сказать».

awesomebuntu
()
Ответ на: комментарий от TheAnonymous

У них дикая смесь паскаля и чего-то си подобного. Фигурные скобочки, инклюды..

NextGenenration ★★
()
Ответ на: комментарий от WARNING

на JS похоже

На ECMA6

class Server {
	WaitPing() {
           // on PING goto SendPong;
	}
	SendPong() {/*
	   entry (payload: machine) {
              send payload, PONG;
              raise SUCCESS;
           }
           on SUCCESS goto WaitPing;
        */}
}


JS все таки больше на Java или Си похож

uin ★★★
()

На Akka FSM похоже, там тоже есть отправка сообщений и стейт-машины.

userd
()
Ответ на: комментарий от MrClon

Судя по всему, описываем конечный автомат. 2 штука :D

Один - клиент, который в ините создает сервер. И затем шатается между state. Сервак ведет себя аналогично.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.