Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Евгений Филиппов

Страницы: 1 ... 7 8 [9]
121
Общий раздел / Capabilities-based programming и Project.East
« : Апрель 05, 2014, 08:28:01 pm »
Я вот думаю развивать capabilities-based programming на базе своего project.east.
Типа самый высокоуровневый исходный код для OS, он же мейкфайл, выглядит приблизительно так:

Begin of a program labeled "this OS". Capabilities of this OS: world wide web browser GUI, jabber GUI, modelname wifi card support. End of this OS.

Оно у меня должно будет поддерживать финитный формальный вариант естественного языка, с надлежащим процессингом.

122
Во. А в пагинаторе ("Страницы: [1] 2 3 ... 11") сделайте ссылочки пошире. Чтоб якорь висел на прямоугольнике пошире, а не на просто мелкоскопическом символе 2

123
Общий раздел / Dataflow visual language...
« : Июнь 27, 2013, 11:11:10 am »
(18:57:36) egp: я думаю о такой вот парадигме программирования
(18:57:42) egp: сферы, соединённые трубками
(18:57:59) egp: по трубкам идут сферки-объекты данных
(18:58:32) egp: в сферах, соединённых трубками, объекты данных преобразуются в другие объекты
(18:58:53) egp: данных
(18:59:18) egp: codename: Dataflow visual language

Алан Кей в системе STEPS также использовал трубочный подход, он экономичен по кол-ву кода при особых подходах к кодированию.

Комментарии?

124
Общий раздел / Re: Literate programming vs. языки
« : Январь 06, 2013, 12:19:37 pm »
(21:12:00) egp: в обероне тоже есть неявности
(21:12:08) egp: например LONGING - это сколько бит?
(21:12:17) egp: без поллитры и не узнаешь, сколько это бит
(21:12:38) egp: я бы предпочёл INT32BIT, а не LONGING
(21:12:55) egp: тут явно описывается кол-во бит
(21:13:08) egp: LONGINT
(21:13:15) valexey: В обероне - нисколько. Там нет LONGINT'a :-)
(21:13:17) egp: LONGINT*
(21:13:19) valexey: Вирт выпилил.
(21:13:31) egp: в оберонах некоторых есть лонгинт - в obc например
(21:13:42) Сергей Зорин вышел из комнаты.
(21:13:48) egp: ну а INTEGER там есть, тоже не сказано сколько бит
(21:13:53) valexey: Угу.
(21:14:02) valexey: Но была версия оберона, где сказано скоко бит.
(21:14:12) valexey: Ну и в КП сказано сколько бит четко
(21:14:15) valexey: Гвоздями прибито
(21:14:15) egp: вот круто бы. Но где она? неясно
(21:14:23) valexey: Они же кальку с явы делали.
(21:14:32) valexey: Соответственно типы КП соответствуют явовым
(21:14:32) egp: гвоздями не надо, надо INTEGER_N_BIT(N)
(21:14:56) egp: INTEGER_N_BIT(32) например
(21:15:19) egp: и пусть транслятор оптимизит
(21:15:41) valexey: Тогда тебе точно в Аду :-)
(21:15:59) valexey: Там когда создаешь свой целочисленный тип можно четко указать битность.
(21:16:02) valexey: Ну или диапазон
(21:16:10) egp: мы эту Аду ещё курочить эту аду начнём =)

125
Общий раздел / Re: Literate programming vs. языки
« : Январь 06, 2013, 12:14:12 pm »
(21:00:05) valexey: size_t my_hash(A a)
{
    return 42;
}


int main(void)
{
    unordered_map<A,int,decltype(&my_hash)> m(0,my_hash);

(21:00:11) valexey: Быстро и грязно
(21:00:36) valexey: В качестве T тут int, можно поменять на любой другой тип - пофик
(21:00:49) egp: ну вот красиво я делал
(21:01:03) egp: а щас не помню как делал
(21:01:25) valexey: красивей без c++11 не выйдет :-)
(21:01:43) valexey: ну, можно конечно вместо хеш-функции использовать функциональный объект.
(21:01:46) egp: ну там не unordered_map был, а std::hashmap
(21:01:52) valexey: но не сказал бы что это красивей для данной задачи :-)
(21:02:38) egp: в каком компилере был <std::hashmap> я не помню
(21:03:11) egp: valexey: а где описано decltype?
(21:03:21) valexey: это ключевое слово, а что?
(21:03:22) egp: задекларировано
(21:03:26) valexey: в стандарте языка описано
(21:03:43) egp: ок. вот стандарты у С++ это огромный стафф
(21:04:01) egp: g++ тоже огромный стафф
(21:04:12) egp: ява значительно проще
(21:04:19) egp: оберон тоже
(21:04:49) egp: так что красота красоте рознь
(21:05:12) valexey: Если коротенько, то вот: http://en.wikipedia.org/wiki/Decltype
(21:05:13) valexey: :-)
(21:05:56) egp: valexey: короче я на C буду писать вместо С++
(21:06:12) valexey: гг. ну пиши на сях с классами, чо.
(21:06:45) egp: или вообще на ooc перелезть
(21:07:11) valexey: тоже дело
(21:07:31) egp: мне нужен язык для бутстрапа моего компилера
(21:08:17) egp: потому что С - та ещё скотинка нехорошая
(21:09:25) egp: не люблю неявности - они порок, мешают literate programming
(21:10:36) valexey: На Аде пиши - там основной слоган языка -- "все явно"
(21:11:15) egp: ща буду смотреть Аду.

126
Общий раздел / Re: Literate programming vs. языки
« : Январь 06, 2013, 12:02:15 pm »
(20:57:21) valexey: литерно конечно же как
(20:57:26) valexey: вопрос в том, как это сделать красивей :-)
(20:57:47) egp: valexey: просто я помню я делал когда-то хашфункцию в С++ и не могу найти этот сампл
(20:58:51) egp: потому что очень сложный синтаксис не помещается в памяти моей - там и темплейты и оператор() и классы - всё в одном месте, не умещается такая сложнота в памяти со всеми её особенностями

127
Общий раздел / Re: Literate programming vs. языки
« : Январь 06, 2013, 11:58:48 am »
(20:33:54) valexey: egp: ну, это с непривычки :-)
(20:35:46) egp: valexey: я этот язык воспринять не могу ваще никак
(20:36:20) egp: valexey: я люблю простоту в машинах и машинных языках, а С++ просто исчадие ада. Не могу воспринять его. Нафиг.
(20:36:32) valexey: ну, дело твое.
(20:37:26) valexey: с наскоку за неделю действительно С++ глубоко не изучить.
(20:38:21) valexey: За неделю можно либо научиться пользоваться стандартными внеязыковыми абстракциями и приемами, либо научиться сям с классами.
(20:38:32) egp: valexey: это не "дело", это свойство психики. Как людей я не могу воспринять ("ад-это другие", "чужая душа-потёмки"), так и "варяжская душа" С++ мне неведома. Пусть Страуструп гоняет свои варяжские флоты без меня.
(20:39:11) egp: да классы бы ещё ничего, но вот всякая байда в темплейтах типа "operator()" меня бесит своей контрлогичностью
(20:39:40) valexey: operator() как раз к шаблонам отношения не имеет. это чисто классовая штука :-)
(20:40:00) valexey: впрочем, её можно сделать шаблонной :-D
(20:40:10) egp: типа "оператор сфера" - две круглые скобки это сфера - ну ладно, оператор "сферический конь в вакууме" - можно терпеть
(20:41:17) valexey: Типо оператор круглые скобочки. a() -- переменная "a" и оператор круглых скобок её
(20:42:09) egp: valexey: вот ты гришь С++ освоил. Нукось, сходу  объясни, как для типа enum X{Y} сделать хэшфункцию hashFunctionX чтобы её передать в "std::unordered_map<X, T, hashFunctionX>;"
(20:42:29) egp: ну вот именно, оператор сфера.
(20:43:18) egp: valexey: вот в яве и обероне это ясно как сделать и без доп. усилий
(20:43:25) egp: а как с С++?
(20:44:26) valexey: стоп. ты что куда хочешь отображать? что такое enum X{Y}? Как это соотносится с ключем и value map'a?
(20:44:37) egp: enum X{Y};
(20:44:41) egp: декларация такая
(20:44:56) egp: это ключ мапа
(20:45:07) egp: тип X - это ключ мапа
(20:45:38) egp: Y - Это енумовое значение
(20:45:45) egp: X::Y
(20:46:13) egp: можно ещё Z для красоты добавить
(20:46:19) egp: enum X{Y, Z};
(20:46:23) egp: X::Z
(20:47:13) egp: ошибку у себя нашёл
(20:47:21) egp: опечатка: "std::unordered_map<X, Y, hashFunctionX>;"
(20:47:23) valexey: ok. В данном случае, с ходу, будет так: unordered_map<int,Y> m;
(20:47:24) valexey: :-)
(20:47:29) egp: без опечатки "std::unordered_map<X, T, hashFunctionX>;"
(20:47:42) valexey: unordered_map<int,T> m;
(20:47:59) egp: вотвот
(20:48:08) egp: а как хашфункцию сделать ты знаешь
(20:48:09) egp: ?
(20:48:16) egp: вот в яве её легко сделать
(20:48:21) egp: в обероне тоже
(20:48:35) egp: а вот в С++ как?
(20:48:40) valexey: а как в обероне?
(20:49:22) egp: в обероне берём имплементацию хашмапа (находим где-то) и привязываем пойнтер на процедуру, если эта имплементация это позволяет
(20:49:42) egp: пойнтер на процедуру хашфункции
(20:50:00) egp: все литератно
(20:50:25) egp: в яве дефайним int hashCode() для нашего обжекта
(20:50:29) egp: а вот в С++?
(20:50:48) egp: в яве тоже литератно получается.
(20:53:55) egp: а в С++ литератно по ходу никак
(20:54:18) egp: токо сведением  к безтиповому виду, как ты сказал.

128
Общий раздел / Re: The Nothing System
« : Январь 06, 2013, 11:33:38 am »

Впрочем, от browser hell'а это не спасет никак вообще.


Спасёт. Ты посмотри по devdays ссылке из ридми видео + презенташку. Там ясно выражена мысль заменить HTML+JS явой. То есть будет так (в соотв. с vision TNS): на какой урл ни ткни, тебе прилетает ява-код с урла.

129
Общий раздел / Literate programming vs. языки
« : Январь 06, 2013, 11:31:06 am »
(20:16:18) egp: всё
(20:16:27) egp: меня достал С++ своей сложнотой
(20:17:58) egp: темплейтов этих
(20:19:29) egp: на каждую гадость надо самплы кода смотреть, как так.
(20:24:20) egp: никакого literate программирования невозможно с таким языком

130
Общий раздел / Re: С наступающим!
« : Январь 04, 2013, 05:33:44 am »
_valexey_: сделай в теме чекбокс о нотификациях о каждом сообщении на мыло

131
Общий раздел / Re: SYSTEM.ADDRESS (AKA void*) considered harmful
« : Октябрь 01, 2012, 04:24:43 pm »
немного побеседовали про эту проблему тут http://subtroj.info/oberon@conference.jabber.ru/2012/10/01.html

132
Общий раздел / SYSTEM.ADDRESS (AKA void*) considered harmful
« : Октябрь 01, 2012, 03:52:21 pm »
(23:37:32) egp: на void* надо бы выдавать компилер варнинг "THIS CODE IS BAD!!! void* IS CONSIDERED EVIL!!!"
(23:37:49) egp: harmful, пардон
(23:38:40) egp: короче войд* он же SYSTEM.ADDRESS - это модель ячейки-массив ячеек - адреса
(23:38:46) egp: то есть низкоуровневая
(23:39:08) egp: а указатель на тип или переменная некоего типа - это высокоуровневая модель
(23:39:16) egp: и смешивать их нельзя
(23:39:22) egp: и тем более кастить!
(23:39:28) egp: каст вообще зло
(23:39:41) egp: проц должен знать тип области памяти.
(23:40:10) egp: то есть проц должен иметь указатель на область памяти И на IR-модель этой области памяти
(23:40:38) egp: и такая ИР-модель для каждой области должна быть ОДНА!
(23:41:14) egp: поэтому SYSTEM.ADDRESS он же войд* - НЕ НУЖЕН
(23:42:16) egp: надо попробовать чото написать без использования систем.адрес
(23:42:32) egp: начиная с оберон-транслятора у которого НЕТ систем.адрес
(23:43:03) egp: это уже интересно, в отличие от транслятора в тухлый вонючий js :)

вокруг да около подобных вещей, но не по этой теме - http://subtroj.info/oberon@conference.jabber.ru/2012/10/01.html

Глоссарь
IR: internal representation.

133
Общий раздел / Google DataStore
« : Июль 08, 2012, 01:58:34 pm »
кстати я тут узнал как в Google DataStore обеспечивают константное по времени извлечение любого объекта из DB любого объёма

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

ларчик просто открывался :)

в принципе это хорошо - энфорсится дисциплина запросов, чтобы кулхацкеры не писали тормозных запросов и не складывали в ДБ огромные обжекты

Страницы: 1 ... 7 8 [9]