Хотим мы того или нет, но параллельная революция продолжается. Параллельное программирование, в частности, постепенно выруливает на некоторые магистральные пути, которые обещают быть перспективными.
Одним из важных событий последних месяцев стало появление языка (параллельного) программирования Go от компании Google. Хотелось бы понять откуда он взялся, что принес нового, каковы перспективы его продвижения в многомиллионные массы практикующих программистов …
Во-первых, отметим, что данное новое средство параллельного программирования является языком, а не библиотекой с некоторым API. Т.е., здесь предлагается всего несколько конструкций (в контексте Go, это всего, фактически, две конструкции − goroutines и channels), которые делают язык полноценным средством параллельного программирования. Таким образом, когорта современных языков, таких как X10, Cilk++, MC# и некоторые другие, пополнилась новым членом.
Во-вторых, язык Go имеет теоретическую модель, восходящую к “взаимодействующим последовательным процессам” Хоара (CSP − Communicating Sequential Processes. Оттуда же, кстати, происходят и языки Occam и Erlang). Read the rest of this entry »
Последние комментарии