avva: (Default)
[personal profile] avva
(эта запись может быть интересна только программистам, знающим Форт, т.е. в сущности никому, да и им не будет)

Месяц назад писал о том, что написал несколько мелочей на Форте, включая квиксорт, но его бы надо рефакторнуть. Вчера наконец нашел время к этому вернуться - свой код месячной давности смог понять только после поллитры десяти минут утомительного разбора. Переписал. Вместо 5 слов вышло 12, каждое из которых не более двух строчек длиной. По-моему, понятнее и лучше, хотя кто знает, что я об этом подумаю, когда посмотрю на этот код через месяц.

Пока что главная польза от моего возродившегося интереса к Форту - то, что работа с ним отчеканила в голове то, что недостаточно четко понимал о разнице между C и C++, и о сути OOP.

P.S. Забыл упомянуть, что новый код, в отличие от старого и к моему изумлению, заработал с первой попытки, без исправлений и отладки (тесты для проверки у меня уже были наготове).

Date: 2009-10-29 10:27 pm (UTC)
From: [identity profile] mad-ghost.livejournal.com
хех, а я все мечтаю почитать какую нить хорошую книгу по Java, потому что пару раз видел оч. хорошее изложение ООП именно в книгах по java. Понимать, понимаю и очень хорошо понимаю, но где то там в глубине души кажется что есть вот чтото что прям полностью раскроет эту тему, и мне станет понятно ну апсолютно все :) хотя это идеализировано, но я считаю что нет предела в учебе.

кстати да, мне вот тут тоже как то говорили, когда проблему какую хочешь решить, надо подумать об этом, или сделать чтото, а потом отвлечься, мозг сам найдет решение, и когда возвращаешься к проблеме или задаче, делаешь её быстро и легко и правильно. со мной тоже так частенько происходит.

Date: 2009-10-29 10:35 pm (UTC)
From: [identity profile] gdy.livejournal.com
отчеканила в голове то, что недостаточно четко понимал ... о сути OOP
А что именно?

Date: 2009-10-29 10:38 pm (UTC)
From: [identity profile] avva.livejournal.com
Попробую написать об этом отдельно (не уверен, что получится - когда пытаюсь начать, выглядит такой банальностью, что бросаю).

Date: 2009-10-30 12:05 am (UTC)
From: [identity profile] salas.livejournal.com
Если речь о чём-то, связанном с чёткостью понимания — возможно, оно и должно выглядеть банальностью после того, как эта самая чёткость уже достигнута?

Date: 2009-10-30 12:27 am (UTC)
From: [identity profile] avva.livejournal.com
Ага, умом я это понимаю, но впечатление все равно слишком сильное и оттого мешает.

Date: 2009-10-30 01:19 am (UTC)
From: [identity profile] igorlord.livejournal.com
Very nice. This is almost readable.

I'd also be very interested to know how Forth is helpful in understanding OOP.

P.S.
Nitpick: "swap over" is "tuck" :)
(deleted comment)

Date: 2009-10-30 02:17 pm (UTC)
From: [identity profile] igorlord.livejournal.com
Every Forth, as far as I know, can push a function reference on the stack and execute that reference later. Do you mean something different by "push function definitions on the stack"?

Date: 2009-10-30 01:20 pm (UTC)
From: [identity profile] avva.livejournal.com
Ага, спасибо.
From: (Anonymous)
"Factor" = "high-level functional Forth", roughly speaking.
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.

From: [identity profile] avva.livejournal.com
да, я знаю про фактор, но еще не успел подробно его изучить.
From: (Anonymous)
.. you could also start by looking at "Joy" written by some philosophy professor from the Antipodes.
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.
From: (Anonymous)
Peskov Pestov
http://en.wikipedia.org/wiki/Factor_(programming_language)

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 10:11 am
Powered by Dreamwidth Studios