Это редактор, который включает в себя нечто большее. Вот эта небольшая разница приходит с изучением elisp'а. Реализуйте в нём какую-нибудь примитивную менюшку с переключением буфферов.
и насколько я понял ту статью, там с помощью proc_open создают новые процессы, которые всё же попадают под понятие «многозадачность», а далее основным процессом с помощью «неблокирующего ввода-вывода» дожидаются от них результатов…
p.s. под select'ом — я имел в виду тот кусочик кода, который описан по ссылке выше :) а не сам вызов селекта, понимаю что это просто способ дожидаться эвентов, и там могут приходить как неблокирующие i/o эвенты, так и асинхронные…
>а «асинхронный ввод-вывод»
select — это «неблокирующий ввод-вывод» (reactor) — приходит эвент о том что можно читать данные
«асинхронный ввод-вывод» (proactor) — делаешь запрос на чтение и система оповещает что прочитала и записала в буффер
Не знаю как там сейчас с ерлангом, но раньше было так — запускают нэтив трэды по кол-ву логических процессоров, далее пораждают свои легковесные процессы, в которых есть счётчик bif'ов(простые функции), после того как они выполняют отведёное для процесса число bif'ов, переключаются на другой процесс.
кстати, erlang не полностью shared nothing(см. документацию на ets)
>Подобный тип многопоточности реализован в ОС Windows.
и не только :)
gnu portable threads — www.gnu.org/software/pth/
ещё более легковесные
protothreads — www.sics.se/~adam/pt/
итд…
Я не против русской документации, только за. Там были мысли о профессиональных программистах — они по роду своей деятельности обязаны владеть английским, всё равно им придётся читать материалы без перевода.
Сам когда-то предпочёл «книгу дракона» прочитать в переводе на русский язык, в тот момент мне требовались поверхностные знания в области компиляторов и желательно было читать что-то на одном дыхании, но потом чтобы стать на путь чего-то отдалёно похожего на 'профессионала' пришлось просматривать работы с тематических конференций итд, а там уже всё на английском.
Так же и с другим областями в ит — вся ценная информация на английском. Ну может кроме каких-нибудь областей вроде реверс-инжиниринга итд :)
Ну или если взять классику программирования — sicp в переводе появился с непростительным опозданием, так что программист вынужден читать на английском, чтобы стать профессионалом.
Ещё запоминать людей, которым они выставляли «+» или «-» и потом каждая их оценка будет слабее и слабее.
А ещё можно добавить привязку человека к тэгам статьи, и если человека плюсуют в теме про какой-нибудь jquery, то его вес голоса будет выше только в этих статьях, иба в других тэгах его мнение ещё не стало авторитетным :)
А как они читают всякие публикации в областях над которыми они пыхтят? Кого-кого, а профессиональных программистов, которые не могут читать на английском я ещё ниразу не встречал, хотя не исключаю возможности что есть такие, но всё же наврятли их можно отнести к отряду 'профессиональных', иба большинство информации для программистов только на английском.
Можно немного перефразирую :)
А с программированием — или ты знаешь парадигмы, и тогда неважно на каком языке писать
Java / Smalltalk — OOP
Haskell / Standard ML — functional
Prolog / Mercury — logic
Erlang — concurrent
…
, или до сих пор сравниваешь плюсы и минусы языков, расписывая стадии становления программистом, находясь на «Млять, чо за нах!?»
>К черту языки 80-тых годов
Почему-то я уверен, что вы не пишете на языках, в которых было придумано что-то новое по сравнению с языками 80ых годов ;)
>Да, ООП это вещь, и дальше без нее никак
книга «Concepts, Techniques, and Models in Computer Programming» ждёт вас :) почитайте что проходят программисты на первых курсах ) Пора догонять уже программистов в развитии после пятой то стадии )))
Ато прям будоражит мозг эта магия ООП от 'профессионалов' без которой никак ))
А ведь V8 и TraceMonkey ещё в бэте и их производительность будет расти.
в TraceMonkey ещё много не реализовано
а над V8 работает команда, которая делала Strongtalk, OOVM, Sun HotSpot и другие vm :)
Тоже ничего так :)
select — это «неблокирующий ввод-вывод» (reactor) — приходит эвент о том что можно читать данные
«асинхронный ввод-вывод» (proactor) — делаешь запрос на чтение и система оповещает что прочитала и записала в буффер
кстати, erlang не полностью shared nothing(см. документацию на ets)
и не только :)
gnu portable threads — www.gnu.org/software/pth/
ещё более легковесные
protothreads — www.sics.se/~adam/pt/
итд…
Сам когда-то предпочёл «книгу дракона» прочитать в переводе на русский язык, в тот момент мне требовались поверхностные знания в области компиляторов и желательно было читать что-то на одном дыхании, но потом чтобы стать на путь чего-то отдалёно похожего на 'профессионала' пришлось просматривать работы с тематических конференций итд, а там уже всё на английском.
Так же и с другим областями в ит — вся ценная информация на английском. Ну может кроме каких-нибудь областей вроде реверс-инжиниринга итд :)
Ну или если взять классику программирования — sicp в переводе появился с непростительным опозданием, так что программист вынужден читать на английском, чтобы стать профессионалом.
А ещё можно добавить привязку человека к тэгам статьи, и если человека плюсуют в теме про какой-нибудь jquery, то его вес голоса будет выше только в этих статьях, иба в других тэгах его мнение ещё не стало авторитетным :)
А с программированием — или ты знаешь парадигмы, и тогда неважно на каком языке писать
Java / Smalltalk — OOP
Haskell / Standard ML — functional
Prolog / Mercury — logic
Erlang — concurrent
…
, или до сих пор сравниваешь плюсы и минусы языков, расписывая стадии становления программистом, находясь на «Млять, чо за нах!?»
Почему-то я уверен, что вы не пишете на языках, в которых было придумано что-то новое по сравнению с языками 80ых годов ;)
>Да, ООП это вещь, и дальше без нее никак
книга «Concepts, Techniques, and Models in Computer Programming» ждёт вас :) почитайте что проходят программисты на первых курсах ) Пора догонять уже программистов в развитии после пятой то стадии )))
Ато прям будоражит мозг эта магия ООП от 'профессионалов' без которой никак ))
research.sun.com/projects/lively/
в TraceMonkey ещё много не реализовано
а над V8 работает команда, которая делала Strongtalk, OOVM, Sun HotSpot и другие vm :)
#define tType uint64_t
#define tName(n) myname_#n
#include «t/MetaProg.tpl»
… t/MetaProg.tpl
struct tName(mystruct) {
tType x;
};
void tName(myfun)() {
что-нибудь делаем;
}
#undef tType
#undef tName
на русском можно скачать здесь — sicp.sergeykhenkin.com/
11421.6ms
Futhark Opera 9.60 (Kestrel 10408)
7103.8ms
ActionMonkey Mozilla Firefox 3.1a1pre Minefield 2008090218
6701.2ms
JavaScriptCore Apple Safari 3.1.2
5651.2ms
SpiderMonkey Mozilla Firefox 3.1a2pre Minefield 20080826034105 No-JIT
4262.0ms
SquirrelFish Safari WebKit-r35928
3454.0ms
V8 Google Chrome 0.2.149.27 (Official Build 1583)
2474.2ms
TraceMonkey Mozilla Firefox 3.1b1pre Minefield 20080902174430 JIT
2064.4ms