квиксорт на форте (программ.)
Oct. 29th, 2009 11:24 pm(эта запись может быть интересна только программистам, знающим Форт, т.е. в сущности никому, да и им не будет)
Месяц назад писал о том, что написал несколько мелочей на Форте, включая квиксорт, но его бы надо рефакторнуть. Вчера наконец нашел время к этому вернуться - свой код месячной давности смог понять только послеполлитры десяти минут утомительного разбора. Переписал. Вместо 5 слов вышло 12, каждое из которых не более двух строчек длиной. По-моему, понятнее и лучше, хотя кто знает, что я об этом подумаю, когда посмотрю на этот код через месяц.
Пока что главная польза от моего возродившегося интереса к Форту - то, что работа с ним отчеканила в голове то, что недостаточно четко понимал о разнице между C и C++, и о сути OOP.
P.S. Забыл упомянуть, что новый код, в отличие от старого и к моему изумлению, заработал с первой попытки, без исправлений и отладки (тесты для проверки у меня уже были наготове).
Месяц назад писал о том, что написал несколько мелочей на Форте, включая квиксорт, но его бы надо рефакторнуть. Вчера наконец нашел время к этому вернуться - свой код месячной давности смог понять только после
Пока что главная польза от моего возродившегося интереса к Форту - то, что работа с ним отчеканила в голове то, что недостаточно четко понимал о разнице между C и C++, и о сути OOP.
P.S. Забыл упомянуть, что новый код, в отличие от старого и к моему изумлению, заработал с первой попытки, без исправлений и отладки (тесты для проверки у меня уже были наготове).
no subject
Date: 2009-10-29 10:27 pm (UTC)кстати да, мне вот тут тоже как то говорили, когда проблему какую хочешь решить, надо подумать об этом, или сделать чтото, а потом отвлечься, мозг сам найдет решение, и когда возвращаешься к проблеме или задаче, делаешь её быстро и легко и правильно. со мной тоже так частенько происходит.
no subject
Date: 2009-10-29 10:35 pm (UTC)А что именно?
no subject
Date: 2009-10-29 10:38 pm (UTC)no subject
Date: 2009-10-30 12:05 am (UTC)no subject
Date: 2009-10-30 12:27 am (UTC)no subject
Date: 2009-10-30 01:19 am (UTC)I'd also be very interested to know how Forth is helpful in understanding OOP.
P.S.
Nitpick: "swap over" is "tuck" :)
no subject
Date: 2009-10-30 02:17 pm (UTC)no subject
Date: 2009-10-30 01:20 pm (UTC)Factor as a high-level functional alternative to Forth
Date: 2009-10-31 12:15 pm (UTC)Some Slava Peskov born in Tomsk in 1984 whose family emigrated to New Zealand in 1992 grew as a computer-awed kid, progressing with languages and OS's. First he wrote jEdit, a programming editor in Java, a really solid piece of work very popular now.
Then he began to create Factor, a Forth-like stack language which borrowed ideas heavily from Lisp. Basically you can push not only data, but unevaluated code on the stack and apply it later.
The language progressed tremendously in the years 2003-2009, and is now a self-contained, interesting thingy with plenty of libraries.
Re: Factor as a high-level functional alternative to Forth
Date: 2009-10-31 12:21 pm (UTC)Re: Factor as a high-level functional alternative to Forth
Date: 2009-10-31 12:43 pm (UTC)The difference is mainly that "Joy" is a toy language, while Factor is written as a real-world development tool with a very nice set of supporting functionality (a help system, a tracer, ...) in its main UI, real-life libraries, compilation to a standalone executable etc. etc.
The Joy site however has a bunch of loosely written documents which are lucid without being technical, and which explain the philosophy of the approach well.
Factor follows Joy even in notation (to a degree).
A good overall explanation after reading Joy docs is Slava's Google Techtalk. It's 1hr36min, but it can serve as an intro or even a semi-tutorial in a sense that it shows how the UI is used and what main concepts one needs to know, not obvious from the reference documentation.
Re: Factor as a high-level functional alternative to Forth
Date: 2009-10-31 01:23 pm (UTC)Re: Factor as a high-level functional alternative to Forth
Date: 2009-10-31 12:49 pm (UTC)PeskovPestovhttp://en.wikipedia.org/wiki/Factor_(programming_language)