[00:26:16] <vlad2> достаточно дубовой поддержки переключения .h <-> .cpp - все программерские редакторы это умеют из коробки
[00:26:31] <vlad2> В блокноте будет бесить, да
[00:33:34] <s6> boris_ilov, ставь эклипс и жмай ctrl tab для переключения h<->cpp
[00:33:42] <s6> boris_ilov, эклипс cdt ставь
[00:34:18] <vlad2> kpmý: а вот что ты думаешь про множетчвенный RETURN?
[00:34:40] <boris_ilov> не, это ж как секс с презиком
[00:34:47] <boris_ilov> ощущения не те
[00:35:19] <vlad2> http://forum.oberoncore.ru/viewtopic.php?f=70&t=5172&p=88238&hilit=return#p88229
[00:35:36] <kpmý> vlad2: я щетаю надо везде расставлять RETURN, особенно в циклах :)
[00:36:02] <vlad2> Т.е. ты в своей практике используешь только один в конце?
[00:36:54] <vlad2> boris_ilov: кстати видел - они там жируют с кандидатами - отшивают только потому, что break пишут :)
[00:36:54] <boris_ilov> я однажды потратил 2 часа на вкуривание большой функции
[00:37:16] <boris_ilov> а потом оказалось что я пропустил в начале безузловный ретурн
[00:37:34] <boris_ilov> хотелось реально убить пейсателя
[00:37:35] <vlad2> Гы. Это ж ошибка компиляции должнв быть :)
[00:37:55] <boris_ilov> это от компилятора зависит
[00:38:13] <boris_ilov> одноэсовому насрать
[00:38:36] <vlad2> А че так? А гото там есть?
[00:38:48] <boris_ilov> есть, но никто не юзает
[00:38:52] <boris_ilov> ибо не надо
[00:39:08] <boris_ilov> вообще не понимаю как с гото кодить
[00:39:17] <vlad2> Вот видишь - не все так плохо у 1сников, раз даже гото не юзают :)
[00:39:19] <boris_ilov> я не умею так думать
[00:39:45] <boris_ilov> зато одноэсники бряки суют в каждый форыч
[00:40:20] <boris_ilov> я тут на днях с удивлением узнал, что у нас некоторые кодеры не пользовали НИ РАЗУ while
[00:40:32] <boris_ilov> и даже не знают как он работает
[00:40:41] <kpmý> vlad2: да, даже если для этого понадобится пара лишних переменных-флагов.
[00:41:51] <boris_ilov> я тоже ретурн один в конце ставлю
[00:42:11] <boris_ilov> мозг же элементарно разгружается
[00:42:27] <boris_ilov> когда знаешь что функция просто так не прервется где-то выше
[00:42:29] <vlad2> А я вот буду возвращать в еберон множественный :)
[00:42:54] <kpmý> содомит
[00:42:59] <vlad2> Угу.
[00:43:11] <kpmý> но зачем?
[00:43:14] <boris_ilov> я вообще не против ретурнов в функциях < 15 строк
[00:43:19] <vlad2> Ибо многовложеный IF - это для меня слишком сложно и нечитабельно.
[00:43:38] <kpmý> а ты делай друг под другом их
[00:44:05] <boris_ilov> но беда в том что их начинают юзать в функциях > 15 строк :)
[00:44:27] <vlad2> Т.е., да, лучше, конечно, один RETURN. Но если вопрос стоити или-или - дополнительный уровень вложенности или дополнительный RETURN, то я выберу RETURN.
[00:44:43] <boris_ilov> vlad2: у тебя какие-то нелады со структурным программированием
[00:44:58] <boris_ilov> отступы это ж структура программы
[00:45:21] <boris_ilov> сразу видишь ветки
[00:45:37] <vlad2> Не, я еще в эпоху холиваров на оберонкоре честно пробовал сколько-то недель писать в таком стиле с одним return - реально херня получается.
[00:45:59] <boris_ilov> vlad2: пишу уж много лет ежедневно
[00:46:12] <boris_ilov> никаких проблем ни с вложенностью
[00:46:19] <boris_ilov> вообще ни с чем
[00:46:26] <boris_ilov> вот просто нет потребности
[00:46:50] <kpmý> может просто задача специфичная и генерит кучу подусловий
[00:47:14] <boris_ilov> ну можно же реструктуризовать
[00:47:40] <boris_ilov> есть специфические случаи конечно
[00:47:56] <vlad2> Там во время холиваров было много примеров - нет смысла повторять. Просто кому-то кажется читабельнее так, кому-то наоборот.
[00:48:05] <vlad2> При том, что код один и тот же.
[00:48:42] <kpmý> но в целом в некоторых системных функциях нужно просто выйти как можно раньше
[00:48:53] <kpmý> чтобы экономить машинное время
[00:49:43] <boris_ilov> проблема не в самом ретурн из середины
[00:50:12] <boris_ilov> проблема в законе подлости
[00:50:38] <boris_ilov> если у события есть не нулевая вероятность, то оно обязательно произойдет
[00:51:01] <boris_ilov> следовательно вероятность нежелательных событий нужно сводить ровно к 0
[00:51:17] <kpmý> надо просто сделать SYSTEM.RETURN
[00:51:22] <kpmý> бгг
[00:51:23] <vlad2> Конкретно вот это хочу переписать с кучей ретурнов, хотя там вложенность всего 1 (за счет ELSIF): https://github.com/vladfolts/oberonjs/blob/master/src/ob/Cast.ob#L133
[00:51:26] <boris_ilov> а ретурн из середины открывает целый букет херовый возможностей
[00:52:13] <boris_ilov> vlad2: и что там плохого?
[00:52:18] <vlad2> Кстати, обратите внимание как лишние касты ушли по сравнению вот с этим: https://github.com/vladfolts/oberonjs/blob/baeb6870ced31d64d05e2e00764dbfe20e42f3a3/src/ob/Cast.ob#L133
[00:53:17] <vlad2> boris_ilov: плохо - неявное присвоение result вместо явного RETURN. Хотя, не зудший вариант, потому что вложенность 1.
[00:53:52] <boris_ilov> что еще за неявное присвоение?
[00:53:57] <boris_ilov> где оно там?
[00:54:35] <vlad2> Неявное по сравнению с ключевым словом RETURN
[00:54:49] <vlad2> Вот дифф для убранных кастов: https://github.com/vladfolts/oberonjs/commit/75ed96153e4a43572111a90b7e17d14385d48e5c#diff-76c2a4d26b1398993620220273575fee
[00:54:58] <boris_ilov> у тебя какое-то очень специфическое восприятие
[00:55:07] <vlad2> По-моему получилось даже лучше, чем WITH
[00:55:53] <kpmý> интересный образ мысли, я бы сделал result:=noErr в начале и поубирал бы сразу кучу веток ELSE а возможно и ELSIF условия выглядели бы иначе
[00:56:30] <vlad2> Да, у меня примерно такой же ход мысли - он в данном случае оно не работает.
[00:56:40] <vlad2> (иначе не понимаю почему я неаписал именно так)
[00:56:58] <kpmý> я такой ход кода замечал в джава сырцах - проверяют постоянно не на условие продолжения, а на условие останова. ну и конечно им сразу нужно выходить через return
[00:57:35] <vlad2> Может это как раз было сделано, чтобы уровень вложенности был 1ю
[00:58:05] <geniepro> kpmý> именно это пейселовский называет нормальной модульностью)
гейселовский -- известный тролль ))) послушай его и сделай наоборот )))
[00:58:10] <vlad2> Угу, скорее всего. Потому что условие продолжение подразумевает дальшейшую вложенность.
[00:58:39] <boris_ilov> vlad2: у тебя какой-то непривычный стиль кодинга
[00:59:00] <vlad2> Это не мой стиль :) Это оберон. Мой стиль будет с кучей ретурнов ;)
[00:59:00] <boris_ilov> т.е. я вот уверен на 101 процент что я бы никогда так не написал
[00:59:06] <boris_ilov> не не
[00:59:17] <boris_ilov> стиль оберона это у Вирта и учеников
[00:59:28] <boris_ilov> они все одинаково пишут как один
[00:59:54] <boris_ilov> а у тебя как то....
[01:00:11] <boris_ilov> не знаю.... ввлияние функциоональщины что-ли
[01:00:24] <vlad2> Еще у меня строчки короткие - потому что я пишк на нетбуке 10' :)
[01:00:24] <kpmý> у тебя в верхнем IF ветка ELSE не используется, туда бы ушел result:=err, оно упрощает всю процедуру на самом деле
[01:00:36] <geniepro> ух скока циклов напридумывали суровые хаскеллеры: http://hackage.haskell.org/package/monad-loops-0.4.2.1/docs/Control-Monad-Loops.html
[01:01:24] <boris_ilov> вот пример:
[01:01:27] <boris_ilov> PROCEDURE areTypesMatch*(t1: Types.PType; t2: Types.PType): BOOLEAN;
RETURN areTypesExactlyMatch(t1, t2)
OR (Types.isInt(t1) & Types.isInt(t2))
OR (((t1 = Types.nil) & (matchesToNIL(t2^)))
OR ((t2 = Types.nil) & (matchesToNIL(t1^))))
END areTypesMatch;
[01:01:36] <boris_ilov> я так никогда не писал
[01:01:39] <vlad2> kpmý: да, но появится второй уровень вложенности.
[01:01:56] <vlad2> А как надо?
[01:02:02] <boris_ilov> не знаю :)
[01:02:12] <vlad2> Гхм :)
[01:02:12] <kpmý> а я писал
[01:02:17] <boris_ilov> но у меня не получается так кодить, чтобы требовались такие функции
[01:02:56] <vlad2> Там еще много скобок из-за довольно странных приоритетов операций в обероне.
[01:07:43] <kpmý> vlad2: еще в implicit условия верхнего IF и его веток друг друга исключают, поэтому их можно дополнять условиями вложенных IF и убирать второй уровень совсем.
потому что IF a THEN IF b это то же самое что IF a & b
[01:08:09] <kpmý> короткое вычисление все равно до b не дойдет
[01:08:16] <kpmý> или как оно там называется
[01:08:20] <kpmý> быстрое
[01:08:24] <kpmý> неполное
[01:08:54] <boris_ilov> ленивое
[01:10:53] <vlad2> kpmý: не, не очень понял как
[01:11:14] <vlad2> Там во влоденных IF две ветки
[01:11:29] <kpmý> а в них же errNo
[01:11:49] <kpmý> они незначимые на самом деле
[01:12:20] <kpmý> чисто по принципу dry их надо вынести в начало
[01:12:40] <kpmý> а потом менять на конкретную ошибку которую ты найдешь в IF
[01:13:30] <kpmý> toVar тоже повторяется
[01:13:54] <boris_ilov> vlad2: я кажется понял что так непривычно в твоем коде
[01:14:08] <kpmý> для toVar можно сделать короткую проверку в начале процедуры
[01:14:12] <boris_ilov> у тебя куча функций возвращающих булево
[01:14:48] <vlad2> Вобщем функция большая, условий много, есть простор для разных стилей ;)
[01:14:52] <kpmý> но вообще и такой код в принципе норм, не думаю, что он нуждается в RETURN
[01:15:07] <kpmý> используй VAR параметр :)
[01:15:46] <vlad2> boris_ilov: что не так с bool?
[01:16:41] <boris_ilov> сейчас специально просмотрел свою текущую разработку
[01:17:01] <boris_ilov> на 6к строк всего одна такая функция
[01:17:12] <vlad2> VAR параметры, кстати, мне очень не нравятся - очень неявная вещь - анти-функциональная.
[01:17:43] <vlad2> И что должна возвращать areProceduresMatch? :)
[01:17:48] <boris_ilov> вот видимо в этом и есть отличие твоего стиля
[01:18:05] <boris_ilov> ты пишешь функционально
[01:18:17] <boris_ilov> и код трансформирован соответственно
[01:18:34] <vlad2> Это правда. Функциональнвй стиль мне импонирует.
[01:18:52] <boris_ilov> vlad2: не знаю. Я вообще не так пишу. Т.е. вот совсем в корне образ мышления другой
[01:19:57] <vlad2> Я впервые понял, что VAR параметры это плохо - перейдя на джаву. Т.е. я с начала плевался - а как же так теперь код писать - но потом понял, что это хорошо :)
[01:20:29] <kpmý> зато VAR параметр освобождает вызываемую функцию от лишних знаний
то есть
result:=noErr
implicit(result)
IF result=noErr THEN
[01:21:05] <vlad2> А любовь к функциональному стилю открыла/закрепила книжка по хаскелю ;) При том, что на хаскеле я так и не пописал дажее hello world.
[01:21:06] <kpmý> тогда вот точно процедура будет делать только то что нужно, искать ошибки
[01:22:49] <boris_ilov> а как же "Когда пишете на Lua, пишите на Lua"?
[01:23:52] <vlad2> Ну я свои хаскельные открытия применял на С++ - там можно писать как угодно ;)
[01:26:09] <boris_ilov> вот кстати у тебя лексер показательный
[01:26:22] <boris_ilov> одни булевы функции
[01:26:57] <boris_ilov> а я вот сейчас пишу и у меня вообще ни одной функции нет :)
[01:27:07] <boris_ilov> все void
[01:27:34] <vlad2> А куда результат?
[01:27:50] <boris_ilov> какой результат?
[01:28:08] <boris_ilov> булево - это результат?
[01:28:38] <boris_ilov> если ты про лексему
[01:28:53] <boris_ilov> то у меня глобальные переменные
[01:28:56] <boris_ilov> int sym; // current symbol
char obs_name[maxidlen + 1];
int obs_intval;
float obs_realval;
[01:29:14] <boris_ilov> что в данной задача совершенно логично и ожидаемо
[01:29:19] <vlad2> А. Не-не. Глобалльнве переменные - это сразу в сад. Даже не начинай соприть :)
[01:29:33] <boris_ilov> я знаю что у тебя бзик :)
[01:29:56] <boris_ilov> ты просто не мыслишь модулями
[01:30:15] <boris_ilov> воспринимай модуль как объект и полегчает
[01:30:16] <vlad2> Ты просто не писал многопоточку :)
[01:30:37] <boris_ilov> а при чем тут многопоточка?
[01:31:02] <vlad2> И не мейнтейнил код, который считал, что у него всего всегда будет по одному экземпляру - база данных, какой-нибудь менеджер и т.д.
[01:32:07] <vlad2> При том, что как только ты говришь "лексер" и "глобальные переменные", то многопоточка исключается. И никакими модулями ты ее обратно не вернешь.
[01:32:43] <boris_ilov> а зачем в лексере многопоточка?
[01:33:06] <geniepro> что бы параллельно сто файлов компилять )
[01:33:16] <boris_ilov> о да!
[01:33:28] <boris_ilov> это бы было очень мудро :)
[01:33:31] <vlad2> Ага-ага. Это как тот человек, который думал, что ему не нужна больше одной базы данных.
[01:34:04] <boris_ilov> я просто более чем уверен что многопоточна нужна в 0.01 проценте задач
[01:35:05] <boris_ilov> типа веб серверов и операционных систем
[01:35:46] <vlad2> Не. Ты не понимаешь. ЗАвтра твой лексер возьмет человек из команды серверов и попытается реюзнуть. И ты будешь долго икать.
[01:36:03] <boris_ilov> и он будет олень
[01:36:14] <boris_ilov> что мне с бед ущербных?
[01:36:48] <vlad2> ОК. Я не буду тебя переубеждать :)
[01:37:02] <boris_ilov> Я тебе секрет открою
[01:37:20] <boris_ilov> Чтобы компилятор быстро работал, нужно писать как Вирт
[01:37:29] <boris_ilov> а не выебываться с многопоточкой
[01:37:56] <vlad2> Но вообще подход "здесь мы положим вот это сюда, а там попытаемся его оттуда достать" (что и имеет место быть в случае глобальных переменных) я ненавижу еще больше фрэймворков.
[01:38:11] <vlad2> Многопоточка - это как важное следствие.
[01:39:06] <boris_ilov> vlad2: Еще раз. Ты переменную модуля воспринимаешь не так, как переменную объекта. С чего бы это?
[01:39:14] <vlad2> Функция получила аргументы и выдала результат. Все понятно и локально. А когда появляются посредники в виде глобальных переменных - все, говнокод.
[01:39:33] <boris_ilov> ну а объекты тебя тоже смущают?
[01:39:42] <boris_ilov> это ж та же херня
[01:39:52] <boris_ilov> один в один
[01:40:00] <boris_ilov> в плане переменных
[01:40:03] <vlad2> Я уже писл про это - потому что модуль в системе один и глобален. Объектов может быть много и каждый из них локален.
[01:40:24] <boris_ilov> модулей тоже может быть несколько
[01:40:42] <boris_ilov> вот в Lua вообще нет разницы между модулем и объектом
[01:40:48] <boris_ilov> это просто одна сущность
[01:41:41] <vlad2> Но вообще да - объекты как неизбежное зло, когда аргументы - результат не работает (или работает вычурно в виде цепочки функций, возвращающих функции, что ОК для чисто функциональых языков, но смотрится вычурно в традиционных)
[01:42:16] <vlad2> Ну а глобальные переменные - это рафинированное зло.
[01:42:54] <boris_ilov> мне кажется у тебя просто со структурным программированием не сложилось :)
[01:43:01] <vlad2> ОК - если в Луа модулей может быть несколько - то я не против :)
[01:43:05] <boris_ilov> а глобальные переменные тут ни при чем
[01:43:33] <boris_ilov> vlad2: Ну возьми жабу. Там объекты ВМЕСТО модулей
[01:44:38] <vlad2> Кстати, я тут недавно для себя определил, что цпочка функций возвращающих функции не такая плохая идея даже для C++ в случае реализации какого-то протокола.
[01:44:42] <boris_ilov> херово когда локальное состояние глобальным делают это да
[01:44:56] <boris_ilov> но глобальное то состояние и должно быть глобальным
[01:45:48] <boris_ilov> если я делаю кэш, который должен быть доступен во всем модуле, то очевидно он должен быть глобальным
[01:45:51] <vlad2> "текущий символ лексера" - это локальное состояние локальнее некуда :)
[01:46:10] <vlad2> Нет. Даже кэш не может быть глобальным :)
[01:46:15] <boris_ilov> "символ лексера"
[01:46:29] <boris_ilov> не функции
[01:46:32] <boris_ilov> а лексера
[01:47:08] <boris_ilov> как же кэш не может быть глобальным?
[01:47:32] <boris_ilov> я чет вообще не понимаю что ты под словом "глобальный" понимаешь
[01:47:44] <boris_ilov> лично я переменную уровня модуля
[01:47:54] <vlad2> Потому что в какой-то момент ты захочешь иметь два кэша для разных сущностей.
[01:48:07] <boris_ilov> ну и будет два кэша
[01:49:12] <boris_ilov> вообще не знаю что у вас там в жабаскриптах
[01:49:29] <boris_ilov> а проблема глобальных переменных остро стояла в BASIC
[01:49:45] <vlad2> Глобальныя перемнная - это единственная переменная на всю систему. Синглтон (человеку, популяризовавшего этот паттерн надо примерно наказать). Если переменная в модуле, а модуль один в системе - то переменнная глобальная. Характер доступа к этой переменной сильно вторичен.
[01:49:46] <boris_ilov> ибо там просто не было локальных переменных
[01:49:52] <boris_ilov> и это была жопа да
[01:50:28] <boris_ilov> vlad2: такое бывает только в говноязыках типа си и жабаскрипта
[01:50:41] <boris_ilov> в нормальных языках переменные уровня модуля
[01:51:00] <vlad2> Да, в жабаскрипт глобальный нэймспейс - это общественный туалет. В нем нельзя ничего трогать - закон выживания.
[01:51:36] <boris_ilov> в обероне ты не можешь сделать глобальную переменную в твоем понимании
[01:51:51] <boris_ilov> как хорошо, да? :)
[01:51:52] <vlad2> Еще раз - характер доступа к переменной не принципиален. Хорошо, когда он контрллируется (не бэйсик). Но оно все равно зло даже с самым изощренным доступом.
[01:52:20] <vlad2> В обероне модуль может быть только один - поэтому переменнные модуля - зло.
[01:52:57] <boris_ilov> ладно
[01:53:04] <vlad2> Если модлей лексера можно было создать сколько угодно - проблемы не было бы. И с многпоточкой.
[01:53:32] <boris_ilov> ты про многопоточку так говоришь будто это один метод
[01:53:39] <boris_ilov> ты о каком конкретно методе то?
[01:53:57] <vlad2> какой метод7
[01:54:07] <boris_ilov> многопоточки
[01:54:21] <boris_ilov> дейкстра там
[01:54:25] <boris_ilov> или хоар
[01:54:38] <boris_ilov> или в ручную как получится
[01:54:45] <boris_ilov> или либы какие популярные
[01:54:49] <boris_ilov> или как в Lua
[01:54:53] <boris_ilov> какой метод то?
[01:55:52] <boris_ilov> вот так просто сказать что глобальные переменные и многопоточка несовместимы - это как пальцем в небо ткнуть
[01:56:10] <vlad2> Э... Многопточка, в которой на много потоков по-прежнему одна глобальная переменная. Если у тебя для каждого потока своя глобальная переменная (или экземпляр модуля) - то проблем нет. Собственно именно так сишники разрулили проблему errno.
[01:56:53] <boris_ilov> семафоры не?
[01:57:24] <vlad2> http://stackoverflow.com/questions/449778/is-there-a-way-to-use-errno-safely-in-a-multi-threaded-application
[01:57:34] <vlad2> Какие семафоры?
[01:58:03] <boris_ilov> в смысле?
[01:58:11] <boris_ilov> самые обычные
[01:58:23] <vlad2> Конкретно errno разруливает с помощию TLS - это память каждая своя у каждого потока
[01:58:25] <boris_ilov> которые дейкстра придумал
[01:58:35] <vlad2> Семафоры тут вообще не причем.
[01:58:48] <boris_ilov> почему это?
[01:58:49] <vlad2> Они тебе не помогут в случае лексера.
[01:58:56] <boris_ilov> с чего ты взял?
[01:59:14] <boris_ilov> да мне и многопоточка не поможет если уж на то пошло
[01:59:18] <vlad2> ОК. Как ты думаешь они тебе помогут?
[01:59:40] <boris_ilov> тем что не дадут в переменную писать двум потокам
[02:00:05] <boris_ilov> одновременно
[02:00:31] <vlad2> Это тебе никак не поможет.
[02:00:40] <boris_ilov> с чего?
[02:01:09] <boris_ilov> всем помогает а мне не поможет
[02:01:10] <boris_ilov> ?
[02:01:12] <тихий бот> тварь я дрожащая, или тот, кому надо?
[02:01:39] <vlad2> У тебя проблема в том, что одна функция пишет туда (в одном месте), а в каком-то другом месте оттуда читается. И между этими двумя моментами другой поток не имеет право мешать (т.е. он ждет).
[02:02:00] <boris_ilov> ну тык отлично
[02:02:04] <vlad2> ?
[02:02:05] <тихий бот> тварь я дрожащая, или тот, кому надо?
[02:02:51] <boris_ilov> вот ты сам то представляешь смысл один лексер дергать двумя потоками?
[02:02:53] <vlad2> Зачем??? Если можно просто не использовать глобальные переменные? И никаких семафоров не надо будет. И никаких трудноуловимых ошибок синхронизации (дедлоки и т.п.)
[02:03:05] <boris_ilov> писец
[02:03:30] <boris_ilov> зачем вообще хуйней заниматься если два лексера спокойно запускаются отдельно?
[02:03:34] <boris_ilov> ты бредишь
[02:03:39] <vlad2> Легко. У тебя сервер. Он парсит реквест. Добавляем несколько потоков и выкидываем твой лексер.
[02:04:09] <vlad2> Твой лексер не будет работать в таком сервере. Он будет трудноуловимо глючить.
[02:04:10] <boris_ilov> какой нахер сервер?
[02:04:28] <boris_ilov> хватит
[02:04:36] <boris_ilov> меня фантазии не возбуждают
[02:04:37] <vlad2> Я тебе там в самом начале писал - твой лексер решили использовать ребята из серверной группы.
[02:04:46] <boris_ilov> еще раз
[02:05:04] <boris_ilov> что такое лексер в два потока?
[02:05:28] <vlad2> Блин. Да не лексер в два поока. И использование лексера из двух потоков.
[02:05:30] <boris_ilov> запускай два лексера отдельно. Два процесса
[02:05:32] <boris_ilov> и все
[02:05:40] <boris_ilov> Зачем?
[02:05:45] <boris_ilov> чтоб выебнуться
[02:05:48] <boris_ilov> ?
[02:05:48] <тихий бот> тварь я дрожащая, или тот, кому надо?
[02:05:50] <vlad2> Что зачем?
[02:06:03] <boris_ilov> На кой хер лексер в два потока?
[02:06:12] <vlad2> Парсинг двух реквестов одним сервером параллельно выглядит нереально?
[02:06:21] <boris_ilov> я ттебе говорю
[02:06:24] <boris_ilov> два процесса
[02:06:29] <boris_ilov> и все
[02:06:36] <boris_ilov> нафиг тебе потоки то?
[02:06:52] <boris_ilov> это называется как придумать себе гемор из воздуха
[02:07:23] <vlad2> О чем тогда спор? Многопоточка и многопроцессность - разные вещи. В многопоточке модуль один. В случае многих процессоров - модулей много.
[02:07:43] <boris_ilov> фэйспалм
[02:07:56] <boris_ilov> так а я о чем теббе сс самого начала?
[02:08:02] <vlad2> В мире виндов/маков многопоточка используется очень широко. Для юниксов бчаще многопроцесонсть.
[02:08:03] <boris_ilov> не нужна эта многопоточка
[02:08:26] <boris_ilov> Где?
[02:08:30] <vlad2> Ну не нужна так ненужна.
[02:08:35] <boris_ilov> с 98 года программирую
[02:08:40] <boris_ilov> не разу не нужна была
[02:08:47] <vlad2> Видимо, специфика.
[02:08:51] <boris_ilov> да нет
[02:08:57] <boris_ilov> это многопоточка специфика
[02:09:02] <vlad2> Я как бы тоже не сервера программирую, а десктоп/гуй - постоянно нужна.
[02:09:23] <boris_ilov> зачем?
[02:10:04] <boris_ilov> венда и так все параллельно выполняет
[02:10:28] <boris_ilov> в рамках одного приложения несколько потоков просто не нужны
[02:10:31] <vlad2> Причем обычная проблема - взять кусок функционала и запустить в отдельном потоке, не отвлекая юзера. Если кусок большой, то это нереально. Почему? Потому что куча синглетонов с 1990-х годов.
[02:10:52] <boris_ilov> кусок функционала в отдельном потоке
[02:10:58] <vlad2> Если кусок маленький - тщательно смотрится и выкидываются найденные синглетоны.
[02:11:05] <boris_ilov> это не многопоточка (которая страшная)
[02:11:14] <boris_ilov> а обычный ассинхрон
[02:11:22] <boris_ilov> который у меня каждый день
[02:11:47] <boris_ilov> но многопоточкой язык не поворачивается назвать
[02:12:03] <boris_ilov> как в Lua
[02:12:27] <vlad2> Асинхрон подразумевает елды, которых по факту нет в этом куске, и которые раставлять еще более трудоемко, чем искать синглетоны.
[02:13:00] <vlad2> Не говоря о проблемвх блокирующих вызовов и третьесторонних библиотек.
[02:13:15] <boris_ilov> не рой себе яму
[02:13:22] <boris_ilov> и все будет ок
[02:13:25] <vlad2> И не гооворя о том, что оно будет тупо тормозить при том, что свободно три ядра.
[02:14:02] <boris_ilov> знаешь, в жопу бы руки засунуть тому кто грузит все ядра в системе
[02:14:15] <boris_ilov> не для того многозадачность делалась
[02:14:28] <vlad2> Расскажи это пользователям всяких инженерных пакетов ;)
[02:14:47] <vlad2> Т ж не знаешь какой у меня апликейшн :)
[02:14:50] <s6> http://www.itworld.com/open-source/426633/google-gets-helping-hand-microsoft-ibm-red-hat
[02:14:54] <vlad2> Он не только в базу ходит :)
[02:14:57] <boris_ilov> пользователей инженерных пакетов меньше чем голубых китов
[02:15:13] <boris_ilov> вот чесно насрать на их проблемы
[02:16:51] <vlad2> Наример сейчас самамя насущная проблема - тормоза JS. При этом его реально пускать в разных потоках, потому что контекстов больше одного (как в браузере). Но задаче непосильная - потому что апликэйшн изначально затачивался без оглядки на многопоточность.
[02:17:23] <boris_ilov> В общем мое мнение такое: можно выебываться, а можно решать задачи. Каждый выбирает сам.
[02:17:51] <vlad2> В идеале - пускать в разных процессах (как современные браузеры), но для этого еще большая культура в понимании локальности всего происходящего должна быть.
[02:18:07] <vlad2> Это универсальный ответ ;)
[02:18:31] <boris_ilov> ну а в потоках универсальный ответ это семафор
[02:18:56] <boris_ilov> лан я спать
[02:20:44] <vlad2> Семафор вообще не имеет никакого отношения к обсуждаемым проблемам. Семафор это уже средство рукопашного боя, когда все цивилизванные способы (отказ от глобального состояния) были отвергнуты по веским причинам.
[02:20:56] <vlad2> Спокойной ночи ;)
[02:31:23] <s6> не писаль boris_ilov серверочков
[02:31:56] <s6> и даже клиентов с кучами объектов однитипных не писал
[02:32:08] <s6> однотипных
[02:38:17] <s6> я близок к релизу как никогда
[02:38:33] <s6> крута крута
[06:54:55] <sda> по опыту написания ассемблера решил отказался от виртовского сканера в пользу версии предложеной Креншоу в "Давайте построим компилятор"; наверное десяток раз пытался переписывать виртовский сканер и парсер и всегда что-то не нравилось, приходилось останавливаться и начинать все с начала...
[06:55:29] <sda> сейчас процедура сканера выглядит так
procedure GetSym();
begin
while ( look = cr ) or IsSpace( look ) do
begin
if IsSpace( look ) then SkipSpace else
if look = CR then SkipLine;
end;
if eof( f1 ) then sym := lxeof else
if isAlpha( look ) then
begin
GetIdent;
sym := lxident;
end else
if isDigit( look ) then
begin
GetNum;
sym := lxnumber;
end else
begin
token := look;
sym := lxsym;
getchar;
end;
end;
[06:56:21] <sda> если нужно разобрать заголовок модуля пишу так
if ( sym = lxident ) and ( token = 'module' ) then
begin
getsym;
if sym = lxident then
begin
modid := token;
getsym;
end else abort( 'ident expected' );
end else abort( 'module expected' );
если нужно символ, то так
if ( sym = lxsym ) and ( token = ':' ) then
[06:56:35] <sda> пропало ощущение дискомфорта...
[06:58:16] <sda> такой сканер одинаково хорошо подходит как для написания асма так и парсера копилятора, конечно кое-что надо будет добавить, например строки lxstring, но все равно он меньше и проще виртовского
[10:15:05] <geniepro> йо-майо! этот colonelcassad.livejournal.com кроме блогерства на темы Крыма и Новороссии ещё и в танчики упорно режется:
http://worldoftanks.ru/uc/accounts/15748-colonelcassad/
Количество боёв 35 265 Процент побед 54.23%
[10:22:54] <sda> может быть просто совпадение ников
[10:23:14] <geniepro> нет, он же в своём блоге указал ссылку на аккаунт
[10:23:37] <geniepro> мегазадротище )
[10:25:09] <sda> да?
[10:26:39] <sda> в жж нет инфы
[10:30:03] <geniepro> там у него справа в красном поле в разделе Тоталитарная сеть есть ссылка Мой аккаунт World of Tanks
[10:30:36] <geniepro> короче Петруха -- дитё по сравнению с Кассадом ))
[10:31:17] <geniepro> это если каждый день по 4 часа в течении двух лет играть -- то примерно 35к боёв можно заработать
[10:31:41] <geniepro> мои 1700+ боёв ваще децкий лепет ))
[10:31:59] <alexey.veselovsky> и мои тоже :-)
[10:32:13] <geniepro> alexey.veselovsky: а скока у тебя? а то я запамятовал )
[10:32:28] <alexey.veselovsky> 6k примерно
[10:32:34] <alexey.veselovsky> c 2011 года
[10:33:19] <geniepro> alexey.veselovsky: в среднем по 6 боёв в день, полчаса в день?
[10:33:42] <alexey.veselovsky> не, я частенько неделями не играю
[10:33:54] <geniepro> а потом сразу сто боёв за раз )
[10:37:53] <alexey.veselovsky> но вообще, частенько я предпочитаю бой до конца смотреть
[10:48:45] <geniepro> ну так если большинство боёв заканчивается на пятой минуте... долго ждать не приходится )
[10:49:55] <geniepro> вчера странный бой был на Прохоровке -- примерно 10 минут счёт был 0-0
потом за 5 минут перебили врагов, я на арте толком выстрелить ни разу не смог -- пока прицелюсь -- враг труп уже ((
[10:51:00] <alexey.veselovsky> да, на арте себя ощущаешь статистом
[10:51:05] <alexey.veselovsky> частенько
[11:08:53] <geniepro> но иногда бывают зачётные бои
на су-122-а у меня как-то так было -- по всей карте катался от врагов убегал, 5 фрагов сделал
[11:10:06] <alexey.veselovsky> на самом деле на 14-2 иногда получается 3к дамага сделать сейчас. Со стоковой пушкой.
[11:10:25] <alexey.veselovsky> Враги какие-то совсем арты не боятся - подставляются только в путь.
[11:19:12] <geniepro> "Вторжение в Крым может начаться в любой момент" валексей а ты пойдёшь защищать Крым?
[11:19:59] <geniepro> alexey.veselovsky> Враги какие-то совсем арты не боятся - подставляются только в путь.
они привыкли что у арты перезарядка почти минута )
у моей су-14-1 перезарядка 48 сек )
[12:18:03] <alexey.veselovsky> у меня (стоковая пушка) 13 секунд где-то
[12:18:20] <alexey.veselovsky> ББшкой наносит 700 урона в среднем. Ляпота!
[12:19:56] <alexey.veselovsky> может подольше. но в общем вполне скорострельненько
[12:20:00] <alexey.veselovsky> да и сводится быстро
[12:20:24] <alexey.veselovsky> даже и не знаю, нужна ли мне топовая пушка :-)
[12:21:18] <alexey.veselovsky> ибо там и разброс больше, и сведение дольше
[12:22:32] <geniepro> alexey.veselovsky> ББшкой наносит 700 урона в среднем. Ляпота!
чо-та ты лечишь! у тех пушек урон по тяжу 250-350, 500 если повезёт в среднего попасть
как-то 750 урона нанёс по крыше пт -- повезло, ваншотнул
[12:23:18] <geniepro> предыдущая пушка заряжалась 24 сек, а ведь у неё скорость была почти такой же как у стоковой
[12:23:24] <geniepro> какие 13 сек???
[12:27:26] <geniepro> 21 сек у тебя должна быть перезарядка на стоке, и это с ускорителем +10% скорости перезарядки
[12:38:55] <geniepro> а вениляция у тебя стоит?
[12:40:09] <alexey.veselovsky> не помню :-) помню что до кучи рога поставил
[12:40:15] <alexey.veselovsky> ББшкой урон 750
[12:40:49] <alexey.veselovsky> так что я полюбил ББшками стрелять :-)
[12:40:57] <alexey.veselovsky> по крайней мере вначале
[12:41:06] <alexey.veselovsky> ближе к концу боя - фугасами
[12:44:09] <geniepro> рога-то нахрена? о_О
[12:44:28] <geniepro> бб-шка -- голдовый что ли? о_О дорого же ))
[12:44:32] <alexey.veselovsky> потому что несколько раз уже было когда ко мне приезжали и убевали не засветившись
[12:44:41] <alexey.veselovsky> сербоголда, да.
[12:44:54] <alexey.veselovsky> а пофиг на стоимость. для фарма другие машинки есть
[12:44:54] <geniepro> лучше бы сетку поставил бы )))
[12:45:07] <alexey.veselovsky> сетка на таком сарае практически не работает
[12:45:14] <geniepro> го сёдня вечером взводом на двух артах ))))
[12:45:20] <alexey.veselovsky> рога уже пару раз выручали
[12:45:41] <alexey.veselovsky> ибо обзор становится почти как у нормального танка
[12:45:46] <geniepro> рога по моему опыту на всяких т-34 не работают как и сетки всякие
[12:46:06] <alexey.veselovsky> а с учетом того что мы стоим и не двигаемся, то есть шанс что увидим первыми
[12:46:15] <alexey.veselovsky> на СТ ставить рога и сетку - маразмище ведь :-)
[12:46:20] <alexey.veselovsky> он же постоянно двигается
[12:46:29] <alexey.veselovsky> а рога и сеть включаются после 10 секунд неподвижности
[12:46:38] <alexey.veselovsky> (и это явно видно в статусе дивайса)
[12:46:41] <geniepro> рога после 2 секунд вроде?
[12:46:45] <alexey.veselovsky> неа
[12:46:52] <alexey.veselovsky> то ли 5 то ли 10 секунд
[12:46:56] <geniepro> на миникарте после 2-3 сек обзор увеличивается
[12:47:17] <geniepro> и про сетку на форуме писали что ей тоже 3 сек надо
[12:47:34] <alexey.veselovsky> http://forum.worldoftanks.ru/index.php?/topic/27139-%D0%BA%D0%B0%D0%BA-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D1%81%D1%82%D0%B5%D1%80%D0%B5%D0%BE%D1%82%D1%80%D1%83%D0%B1%D0%B0/page__pid__924354#entry924354
[12:48:58] <alexey.veselovsky> хотя в других источниках написано про 3 секунды
[12:49:17] <alexey.veselovsky> в общем, пофиг - важно что на СТ оно не нужно. СТ постоянно двигается
[12:49:38] <alexey.veselovsky> ну и учти, что 3 секунды, рога включились, затем засвеченные враги появляются еще секунды через 2 :-)
[12:53:27] <alexey.veselovsky> не, сегодня не выйдет. возможно выйдет в понедельник :-)
[12:58:32] <geniepro> в понедельник кто играет???? работать надо, а потом отсыпаться )))
[12:58:54] <alexey.veselovsky> а в пятницу кто играет? :-)
[12:59:11] <geniepro> вот пятница -- самое то! впереди два выходных же )
[13:03:20] <alexey.veselovsky> какая разница? все равно отсыпаться надо и работать надо :-)
[13:03:35] <geniepro> ты работаешь на выходных? о_О
[13:03:53] <alexey.veselovsky> периодически. а что?
[13:05:59] <geniepro> отдыхать же надо ))
[13:06:23] <geniepro> ты же не мерикосс поганный что бы пахать как лошадь )
[13:06:39] <alexey.veselovsky> а я и не пашу как лошадь :-)
[13:11:24] <geniepro> ну вот и не станешь протестанским миллионером тогда )))
[13:15:57] <alexey.veselovsky> мне это вообще не грозит. с протестантами я даже не знаком :-)
[13:23:16] <geniepro> ты же в штатах был? их там почти 90% всех белых ))
но не все миллионеры, конечно ) только те, кто мноооого пашет)
[13:25:50] <alexey.veselovsky> ну да. но при чем тут протестанты?
[13:26:02] <alexey.veselovsky> вообще там дофигища миллионеров-китайцев
[13:27:34] <geniepro> ты как-то не очень похож на китайца )
[13:27:43] <alexey.veselovsky> а я похож на миллионера?
[13:28:04] <geniepro> пока нет, и если пахать не будешь -- не будешь и на миллионера похож )))
[13:28:44] <kpmý> ротжыд много пахал и стал миллиардером)
[13:30:36] <geniepro> ну ротшильд и рокфеллер ведут свои богатства ещё с разрушения вавилонской башни, так что на них особо смотреть не стоит )
[14:57:21] <geniepro> http://shrek1.livejournal.com/577367.html
"Армия ополченцев пришла в Донецк, и там тут же поднялась волна паники. Билетные кассы штурмовали люди, готовые уехать куда угодно подальше от войны. К поездам цепляли лишние вагоны, чтобы вместить обезумевшую толпу.
В них удирала сытая, избалованная молодежь. Мальчики-мажоры с айпадами в руках, которые прежде сидели в элегантных кафе, пили пиво и раздражались, когда их останавливали на блокпостах. "
[15:01:52] <geniepro> http://top.thepo.st/541321/Nash-hozyain-idiot-poshagovaya-instruktsiya
[15:28:23] <geniepro> http://top.thepo.st/480261/Sochinenie-ukrainskoy-shkolnitsyi
[15:48:55] <geniepro> http://habrahabr.ru/post/229425/
[15:57:46] <kpmý> санкции
[21:25:57] <alexey.veselovsky> “из перлов гугл-переводчика
Мясо, которое ест кошка, слишком много знало
(Знает кошка, чьё мясо съела)”
[21:27:19] <alexey.veselovsky> ххх: А как мне быть, если я хочу писать на Делфи и быть крутым программистом?
ууу: Ну, для начала тебе нужно убрать противоречие и заменить Делфи на С.
ххх: А для конца?
ууу: А для конца - по ситуации, либо кондом, либо уролог.
[21:53:59] <s6> Компания Collabora выпустила коммерческий продукт на базе LibreOffice 4.2
Компания Collabora анонсировала собственную сборку офисного пакета LibreOffice-from-Collabora 4.2, для которой будет обеспечен выпуск обновлений в течение трёх лет и предоставлена полноценная техническая поддержка с заключением cоглашения об уровне предоставления услуги, подразумевающим исправление выявленных потребителем ошибок в коде. Продукт доступен для Linux, Windows и OS X. Для Windows обеспечена доставка MSP-обновлений. Обеспечена интеграция с корпоративным ПО Microsoft SMS Server, Novell ZENWorks, IBM Tivoli и Citrix. Отмечается, что все исправления и улучшения, реализуемые компанией Collabora в процессе собрки и поддержки LibreOffice-from-Collabora, в обязательном порядке возвращаются сообществу, развивающему основной проект LibreOffice.
[21:54:33] <jordan36957> сколько стоит
[21:56:29] <jordan36957> предвещаю возгласы в опен сорс среде, "сие господа срам, закапывайте". :-)
[22:01:37] <s6> хватит демпинговать, господа линусы и столмены
[22:02:55] <s6> впрочем плохая информация стоит дёшево
[22:03:04] <s6> она стоит ноль
[22:03:06] <s6> и меньше
[22:03:34] <s6> однако линукс хорошая информация, и тоже оценили в ноль
[22:04:15] <s6> и многий другой бесплатный софт — аналогично
[22:04:34] <kpmý> информация должна быть бесплатной)
[22:04:52] <s6> тогда её не будед на свете.
[22:04:53] <jordan36957> Ну не скажите, кому надо, тот оценил, и использует. Получая выгоду.
[22:05:00] <s6> некому будет производить инфу
[22:05:40] <alexey.veselovsky> монетизация это не обязательно прямые продажи
[22:05:41] <jordan36957> На хабре инфу, за карму, строчат.
[22:06:11] <s6> код дороже статей прессы
[22:06:18] <s6> и статей блогеров
[22:06:38] <s6> хотя не всегда я думаю дороже.
[22:07:27] <kpmý> кто оценил, зажравшиеся аутсорсеры? :)
[22:07:39] <kpmý> ну им конечно, пары тыщ баксов мало будет
[22:08:24] <kpmý> ну и да, не стоит приравнивать информацию и услуги по ее производству
[22:10:43] <jordan36957> Неро под линукс пытались продавать. Вскоре под линукс проект закрыли.
[22:11:20] <alexey.veselovsky> да кому этот проприентарный трешак нужен?
[22:15:40] <jordan36957> s6 Тоже читал, статью давайте напишем компилятор. Автор насколько я знаю, после выпустил книгу.
[22:16:34] <alexey.veselovsky> э? какой такой компилятор?
[22:17:52] <jordan36957> http://bookz.ru/authors/djek-kren6ou/davaite-_281.html
[22:18:40] <alexey.veselovsky> “ До того как вы закончите чтение этой книги, вы раскроете каждый аспект конструирования компиляторов, разработаете новый язык программирования и создадите работающий компилятор.”
[22:18:47] <alexey.veselovsky> про каждый оспект - смешно
[22:19:33] <vlad2> А че. Компиляторы - это просто! За 21 день!
[22:19:48] <kpmý> цонпелятор
[22:20:07] <jordan36957> там описывается простой однопроходной компилятор, точнее больше парсер.
[22:20:17] <alexey.veselovsky> тем более
[22:20:44] <vlad2> Кстати, мою клевету про ненужность изменяемых аргументов в обероне никто не заценил...
[22:20:47] <alexey.veselovsky> а обещают же что после прочтения будешь разбираться во ВСЕХ аспектах построения КОМПИЛЯТОРОВ
[22:21:13] <jordan36957> может книгу дополнили
[22:21:21] <alexey.veselovsky> ну, там спорить особо не с чем :-) хотя, с точки зрения оптимизации, ты не прав конечно :-)
[22:21:27] <alexey.veselovsky> когда мы экономим каждый регистр!
[22:21:59] <alexey.veselovsky> /me пушнул наше приложение в ябблостор. интересно сколько времени оно будет ревью проходить?
[22:23:01] <vlad2> /me уже больше недели ждет доступа к адобовскому SDK
[22:23:32] <vlad2> (кому попало не дают, тщательно проверяют, видимо)
[22:24:00] <alexey.veselovsky> а вы на адобовские штуки сильно завязаны?
[22:24:48] <vlad2> Не сильно, но есть кусочек функционала. Который периодически отавливается с выпуском адобом новых версий своих поделок.
[22:25:05] <alexey.veselovsky> хы
[22:25:37] <vlad2> Кстати, они там буст во всю используют, причем не говорят какой. Из-за этого наш плагин крэшает их продукт на загрузке - потому что тоже буст использует.
[22:25:50] <alexey.veselovsky> ы-ы
[22:25:56] <alexey.veselovsky> жуть!
[22:25:59] <vlad2> Чего-то там ld не разруливает правильно.
[22:26:38] <s6> я тоже только что собрал буст
[22:26:51] <s6> десятка три таргетов пофэйлилось
[22:26:55] <vlad2> Пока помогла статическая линковка. Но доверия нет.
[22:27:06] <s6> ща вот к яве этот буст линкую через JNA
[22:27:22] <vlad2> месье знает толк в извращениях
[22:27:39] <alexey.veselovsky> JNA - это кто такое?
[22:27:58] <s6> undefined symbol: jump_fcontext
[22:28:13] <s6> alexey.veselovsky, это хз чья поделка , но приятная довольно
[22:28:19] <s6> java native access
[22:28:49] <s6> однако аналог JNI с нормальным еррор репортингом был бы полезнее чем этот JNA птичий
[22:29:07] <s6> JNA довольно лимитированная штука, JNI всяко круче
[22:29:29] <s6> но в JNI отстойнейший еррор репортинг
[22:29:53] <kpmý> пятиминутка говноедства
[22:29:59] <s6> отладить почти невозможно
[22:30:10] <s6> kpmý, бурчатель вы наш
[22:30:26] <s6> бурчите и бурчите
[22:30:32] <s6> конца краю нет =)
[22:31:40] <vlad2> js
[22:31:41] <тихий бот> буэээ
[22:31:50] <jordan36957> http://risovach.ru/upload/2013/04/mem/tvoe-vyrazhenie-lica_15660601_orig_.jpeg
[22:31:57] <s6> зараза. где этот паганый Boost.Context найти
[22:32:01] <kpmý> keep calm and eat shit
[22:33:51] <kpmý> куча людей работает над какой-то хуйней и тем самым хуйня еще держится на плаву поглощая новых людей
[22:35:38] <jordan36957> Пётр, ты о ББ?
[22:36:05] <vlad2> Не, это же js!
[22:36:21] <kpmý> jordan36957: где ты в ББ кучу людей увидел?
[22:36:39] <vlad2> У ББ стойкий иммунитет к поглощению масс :)
[22:37:23] <jordan36957> Да, людей нет.
[22:38:02] <jordan36957> Сайт бб фрэймворк, ещё жив?
[22:38:07] <s6> ББ нинужен. виндовзятская прога
[22:38:13] <s6> ББ
[22:38:13] <тихий бот> бла... бла...
[22:38:18] <s6> вово
[22:38:29] <kpmý> давно бы патчил гтк версию
[22:38:47] <s6> сучьи линденлаб. поломали Boost.Context и он не компилится. ерроры
[22:38:55] <s6> криворукие
[22:40:44] <kpmý> индустрии хватает
[22:40:49] <s6> вот делать более нефиг как ИДЕшник патчить
[22:40:59] <s6> оторвите компилер от ИДЕ
[22:41:31] <jordan36957> Что за среда?
[22:41:35] <s6> ББ
[22:41:36] <тихий бот> бла... бла...
[22:42:03] <s6> по кр мере сделайте средство создания стандалонных прог
[22:42:14] <kpmý> s6: ну ты не пизди тогда про виндовозную прогу :)
[22:42:15] <s6> а то гуи, гуи
[22:42:28] <kpmý> s6: давно все есть
[22:42:32] <s6> да я пизжу про общую детскость подхода создателей ББ
[22:42:58] <kpmý> куда уж им)
[22:45:46] <jordan36957> весь смысл в среде ББ.
[22:46:39] <jordan36957> Таки да, отдельного компилятора нехватает. Не просто компилятора, а стандартного. Вроде free pascal;я
[22:48:03] <jordan36957> Хотя free pascal без лазаруса, тоже уныл. Из гуи только fpgui
[22:48:36] <kpmý> и где же там стадарт? в версии 2.3.4 или в 2.3.5? :)
[22:49:21] <jordan36957> стандарт на добрый борландовский паскаль, конкретно object pascal
[22:49:45] <kpmý> который как в делфи?
[22:50:15] <jordan36957> да, но не уверен.
[22:50:26] <jordan36957> В дельфи есть свои прибамбасы
[22:50:31] <kpmý> не такой уж и стандарт значит
[22:50:43] <jordan36957> хоть такой
[22:50:51] <kpmý> у фрипаскаля давно уже одна цель - быть совместимым с делфи
[22:51:47] <geniepro> http://files.adme.ru/files/news/part_71/718160/6784260-R3L8T8D-600-31702-220101-cf0a66eb057004a882ec13d1c0d5d717.jpg
[22:53:05] <jordan36957> процедурный паскаль совместим. Если програма без дельфи гуи, совместимость почти 100%
[22:56:12] <s6> в дельфи без гуи ничего и нету
[22:56:50] <jordan36957> Пример dooble commander, файловый менеджер, доступен для 4 систем, вин,лин, мак и бсд
[22:57:10] <jordan36957> в 32 и 64 бит
[22:57:16] <kpmý> уау
[22:57:46] <kpmý> наверное прилежные джорданы написали кучу кода и не получили не рубля
[22:58:20] <jordan36957> я здесь причём?
[22:58:33] <kpmý> ты тоже джордан
[22:58:42] <jordan36957> Я говрю, что фри паскаль всё же стандарт
[22:59:35] <jordan36957> у них есть темка на сайте freepascal.ru, программа бесплатна, сам пользуюсь.
[23:04:15] <jordan36957> нужно уточнить, возможно у них есть платная поддержка lazarus, возможно.
[23:05:16] <kpmý> всё преимущество в толпе народа, очевидно же
[23:06:14] <jordan36957> http://www.lazarussupport.com/lazarus/lazarus-support-subscription/signup
[23:06:18] <jordan36957> есть
[23:08:05] <jordan36957> борланд постарался, может без него, и не знали, что есть, ладно оберон, pascal Вирта.
[23:08:44] <jordan36957> сама среда delphi способствовала, в то время это был прорыв.
[23:09:05] <geniepro> jordan36957: вот что ждёт тебя, если слишком много аниме насмотришься и решишь на японке жениться:
http://uborshizzza.livejournal.com/3084295.html
[23:09:44] <vlad2> Щаз заценим этот даблкоммандер на маке... На паскале писан?
[23:10:57] <jordan36957> да
[23:10:59] <тихий бот> jordan36957, нет
[23:11:03] <jordan36957> нет
[23:11:03] <тихий бот> Нет, не нет...
[23:11:05] <s6> нещасные паскулисты. сами не знают чего хотят и всё ноют, ноют...
[23:11:07] <s6> паскуль
[23:11:13] <s6> .ad;паскуль;нещасные паскулисты. сами не знают чего хотят и всё ноют, ноют...
[23:11:13] <тихий бот> s6, "паскуль" assigned
[23:11:21] <jordan36957> да писан на паскале
[23:11:56] <jordan36957> vlad2 http://sourceforge.net/p/doublecmd/wiki/Download/
[23:12:08] <kpmý> паскалисты явно не намерены копаться в бустоговне)
[23:14:26] <jordan36957> boost большая библиотека. Расширение STL.
[23:14:37] <s6> люди линухойды дебианойды и убунтойды. как через ssh сделать тож самое что обычно делает гтк прога update-manager?
[23:15:19] <alexey.veselovsky> ща заценим этот даблкоммандер
[23:15:26] <alexey.veselovsky> но подозреваю что нинужен
[23:15:27] <jordan36957> В ББ даже зачатков, таких нет. Тема Бориса, о каталогах была.
[23:15:33] <alexey.veselovsky> ибо небось консоли вменяемой там нет
[23:15:40] <jordan36957> Норм коммандер
[23:15:56] <alexey.veselovsky> ну если считать что Windows Commander это норм - то да.
[23:16:06] <jordan36957> Я просто перешёл на опен сорс, кроме винды
[23:16:07] <alexey.veselovsky> но WinCommender мною ощущался всегда как говно :-)
[23:16:18] <kpmý> s6: sudo apt-get update -y
[23:16:19] <s6> таки фар лучший
[23:16:24] <alexey.veselovsky> угу
[23:16:28] <alexey.veselovsky> и тоже опенсорс :-)
[23:16:30] <s6> kpmý, ща затестим
[23:16:44] <alexey.veselovsky> мог бы быть DN лучшим, но увы. из за паскаля он сдох.
[23:17:01] <alexey.veselovsky> точнее вместе с паскалем
[23:17:05] <vlad2> Мда... Пилить и пилить... Комманд лайн вроде как есть, но какой-то никакой.
[23:17:27] <vlad2> Клеветы детектед ;)
[23:17:34] <alexey.veselovsky> мне нужно такой, чтобы я сделал cat foo.bat | less и оно работало
[23:17:35] <kpmý> s6: а потом sudo apt-get upgrade
[23:17:37] <vlad2> DN сгубил ДОС...
[23:17:50] <alexey.veselovsky> да ладно. он же был и под полуось и под винду
[23:17:54] <alexey.veselovsky> и даже под линух
[23:18:02] <vlad2> alexey.veselovsky: оно вообще никак не работает - только исполняет, аутпута нет.
[23:18:05] <alexey.veselovsky> а потом виртуалпаскаль откинул копыты и все
[23:18:07] <jordan36957> привередливые вы
[23:18:08] <s6> alexey.veselovsky, где дн под линух? дайте уже?
[23:18:09] <kpmý> jordan36957: тема бориса о каталогах вообще не о том
[23:18:25] <alexey.veselovsky> http://ndn.muxe.com/download/
[23:18:29] <alexey.veselovsky> тут
[23:19:08] <s6> чёта ндн я заценял линуховый. оно визуальные компоненты рисовать не умеет, что уж там об остальном грить
[23:19:15] <s6> гарбаж рисует
[23:19:36] <alexey.veselovsky> ибо хаком сделано :-)
[23:19:48] <alexey.veselovsky> да, дабл-коммандер это какой-то трешак под OS X
[23:20:13] <alexey.veselovsky> впрочем, как и WinCommander
[23:20:17] <jordan36957> чего не так?
[23:20:50] <alexey.veselovsky> все не так! много мусора визуального. важное - мелко, не важное - крупно. Ctrl+O не работает вовсе. Нафига оно мне такое?
[23:21:19] <jordan36957> настройки - вид окна
[23:21:27] <alexey.veselovsky> и?
[23:21:50] <jordan36957> я сразу убрал, панль инструментов, что бы освободить пространство
[23:22:17] <jordan36957> нет, значит нет.В опен сорсе принуждения нет.
[23:22:23] <alexey.veselovsky> там аццтойно все. начиная с шрифтов
[23:22:37] <jordan36957> да шрифты я менял
[23:22:45] <jordan36957> как в тотале
[23:22:59] <jordan36957> вроде шрифт вердана
[23:23:10] <jordan36957> непомню
[23:24:06] <jordan36957> у меня требования минимальные. потому мне подходит
[23:24:45] <alexey.veselovsky> http://cdn.imghack.se/images/f1cc9f8b15dcaf6589ab9ce0f5af937a.png
[23:24:49] <alexey.veselovsky> вот как оно выглядит
[23:25:11] <vlad2> ФАР изначально делался под винду. Без выпендрежа. И получилась конфетка.
[23:25:12] <alexey.veselovsky> оно тут настолько дико и не нативно смотрится, что просто блуе
[23:25:23] <jordan36957> ага, нужно допиливать в настройках
[23:25:40] <alexey.veselovsky> имена файлов - мелкие, зато бесполезные иконки - лошадиные
[23:25:46] <alexey.veselovsky> Ctrl+O нет
[23:25:51] <alexey.veselovsky> зачем оно такое вообще?
[23:25:52] <jordan36957> всё в настройках
[23:26:09] <vlad2> У меня еще почему-то вся верхняя часть засрана волбюмами - штук 50 их там.
[23:26:14] <jordan36957> я не разработчик, сейчас отпралю скрин с винды
[23:26:38] <alexey.veselovsky> что, все? как ctrl+o сделать?
[23:27:08] <alexey.veselovsky> причем они же явно поняли, что без ctrl+o они говно, поэтому предлагают по F9 костыль
[23:27:13] <alexey.veselovsky> кривой и убогий
[23:29:22] <vlad2> /me не понимает в чем проблема сделать комманд-лайн в гуйне на OSX
[23:29:33] <jordan36957> во http://i65.fastpic.ru/big/2014/0711/6a/85b567f00f01922aa3ad93a10e47986a.png
[23:29:38] <jordan36957> у меня так
[23:29:46] <alexey.veselovsky> видимо та же что и в линуксе - это ж эмулятор терминала в прогу тащить надо!
[23:29:50] <alexey.veselovsky> если полноценно делать
[23:30:04] <vlad2> Не полноценно, а хотя бы уровня ФАРа.
[23:30:17] <alexey.veselovsky> а у фара более чем полноценно :-)
[23:30:30] <alexey.veselovsky> относительно винды если ;-) оно умеет все то же что и cmd.exe + еще немного
[23:30:59] <alexey.veselovsky> ы-ы! восьмерочка!
[23:31:16] <alexey.veselovsky> на самом деле у тебя на скрине да, смотрится лучше, но точно такой же useless для меня что и на маке
[23:31:24] <s6> а я запинал цвета цыан на тёмно синем
[23:31:26] <s6> как в фаре
[23:31:35] <alexey.veselovsky> файликов в панельках помещается в 2 раза меньше чем в фаре
[23:31:42] <alexey.veselovsky> ctrl+o как небыло, так и нет
[23:31:47] <s6> пока даблкмд устраивает, лучшее из линухатных нортонов
[23:32:23] <s6> цтрл о нужен, да
[23:32:35] <s6> а не аутпут снизу как они предлагают
[23:32:48] <s6> там окно терминала можно в настройках врубить
[23:32:48] <alexey.veselovsky> там вроде вообще тупо инпут внизу :-)
[23:32:52] <s6> там окно терминала можно в настройках врубить
[23:32:56] <alexey.veselovsky> а мне нужен полноценный интегрированный шелл
[23:33:05] <alexey.veselovsky> ну это тоже убого
[23:33:29] <s6> а, есть ещё от одного кодера из Демоса - сделанный из баша , развитие deco
[23:33:37] <alexey.veselovsky> причем WinCommander, клоном которого этот дабл и является, страдал ровно от того же
[23:33:44] <s6> by Вакуленко
[23:33:50] <alexey.veselovsky> url?
[23:33:53] <s6> WinCmd маздай
[23:34:05] <s6> bashcommander по моему - поищи
[23:34:28] <s6> но оно тож довольно неразвитое
[23:34:41] <alexey.veselovsky> ну мне многого и не надо
[23:34:46] <alexey.veselovsky> мне нужен в первую очередь шелл
[23:35:05] <s6> bashc он кажется называется
[23:35:28] <alexey.veselovsky> http://sourceforge.net/projects/bashc/
[23:35:48] <s6> я бы хотел полноценный фар под линух
[23:36:05] <s6> можно бы за бабло поделать =) шареварь
[23:36:51] <jordan36957> kpmý Я же говорю, буст расширяет стандартный STL, причём это всё натив код. Пенальти нет. Подключается один раз.
[23:37:14] <alexey.veselovsky> кроме увеличения exe’шника :-)
[23:37:38] <jordan36957> увеличение exe != понижение производительности
[23:37:48] <jordan36957> винты ёмкие
[23:38:06] <kpmý> наркоман
[23:38:09] <тихий бот> http://img0.joyreactor.cc/pics/comment/%D0%B3%D0%B8%D1%84%D0%BA%D0%B8-%D0%BF%D1%8C%D1%8F%D0%BD%D1%8B%D0%B9-%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D0%B8%D0%BA-%D0%BD%D0%B0-%D1%84%D0%B5%D1%81%D1%82%D0%B8%D0%B2%D0%B0%D0%BB%D0%B5-%D0%BA%D0%BE%D1%81%D0%BF%D0%BB%D0%B5%D1%8F-237660.jpeg
[23:38:15] <geniepro> http://1mgmu.com/pic/blog/drnar.jpg
[23:38:17] <alexey.veselovsky> ну на фоне объемов фоточек и видео размер exe вообще ничего не значит
[23:39:37] <s6> хаха. даблкмд гтк - масса варнингов
[23:39:39] <s6> например (doublecmd:28278): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
[23:43:28] <jordan36957> лазарус компилит или в гтк или qt. Прослойка гуи одна, что ниже можно всунуть любой граф тулкит
[23:44:09] <s6> альт-буквы в даблкмд не пашут
[23:45:10] <s6> F3 на file.out не пашет
[23:45:19] <jordan36957> настройки - клавиши- горячие клавиши
[23:45:25] <geniepro> kpmý: alexey.veselovsky ГО В ТАНКИ!!!!! ))
[23:45:27] <jordan36957> вроде можно настроить
[23:46:13] <s6> угораздило запустить less log.out в дабле. ерратическое поведение стд потоков
[23:46:35] <s6> это не хоткеи, это видимо типы файлов
[23:46:44] <geniepro> alexey.veselovsky: какой такой windows commander? этот проект уже сто лет называется тотал коммандером -- примерно с тех пор, как вин 3.11 уступила место винде 95
[23:46:50] <s6> хоткей написано "просмотр Ф3"
[23:47:32] <alexey.veselovsky> “Ранее программа называлась Windows Commander, но с 29 октября 2002 года, по требованию корпорации Microsoft, она была переименована.”
[23:47:41] <alexey.veselovsky> 2002 год - это уже XP была :-)
[23:48:27] <kpmý> geniepro: не, с меня на сегодня хватит
[23:48:59] <alexey.veselovsky> geniepro: в танки может в вскр вечором смогу
[23:49:30] <geniepro> ну вотще вы лентяи )))
[23:50:40] <geniepro> alexey.veselovsky> 2002 год - это уже XP была :-)
кстати вот да, на дворе уже 2014 год, а десктопные линуксы ДО СИХ ПОР не достигли того уровня юзабельности, что был у венды ХР в 2001 году!!! КАК ТАК???
[23:51:16] <alexey.veselovsky> а зачем им достигай той самой юзабельности? у них другое назначение и другая юзабельность :-)
[23:51:24] <alexey.veselovsky> повторять чужую систему - путь к провалу
[23:51:27] <s6> зато апт-гет есть
[23:51:32] <s6> и nm
[23:51:34] <s6> и ldd
[23:51:40] <geniepro> alexey.veselovsky: то есть ты согласен с тем что линукс говно и нинужен? о_О это что-то новенькое ))
[23:53:59] <geniepro> http://ima.la/i/xfodegnuoeeyp.jpg
[23:54:12] <alexey.veselovsky> конечно нужен. вопрос кому :-) там же сценарии работы другие. и они, пожалуй, более приспособлены к современным реалиям чем вендосценарии. и чем дальше - тем больше
[23:54:58] <kpmý> главное чтобы в линукс заходить через путти, остальное норм)
[23:55:15] <alexey.veselovsky> да там все норм :-)
[23:56:06] <kpmý> ну в screen мышь не работает, в tmux клавиатурные сочетания
[23:56:22] <kpmý> всё вроде норм, а работать получается только из гуйной консоли с плюшками
[23:57:07] <kpmý> как там
[23:57:15] <kpmý> по форме верно, а по сути издевательство
[23:59:28] <kpmý> зато можно гордиться отличной памятью на всякие хуйни типа tar -xcf