Где в классах счётчик оборотов?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

haword писал(а):еще раз - создаешь класс, который реализовывает работу твоего бесконечного цикла. на основе этого класса строишь свою программу которая использует цикл из этого класса. и тогда сможешь в любом месте получить свой счетчик кто бы этот цикл не запустил.


То есть никакого хака к уже имеющемуся коду твой метод не даёт, а в своём коде и так всё реализуется процедурно. Всё больше убеждаюсь, что в ООП новые ништяки беспонтовые, реализуют только бесполезную фигню, новые версии fpc нужно качать лишь для совместимости.

haword писал(а):да и вообще, тут не компилятор надо переделывать тут надо логику работы переделывать )


Лажу предлагаешь. В процедурщине всё и так работает, а ООП для каждого чиха нужно ломать лишь бы не вводить фич отсутствующих в дельфях и жабопитонах.

haword писал(а): кстати тот же питон который используют для ИИ весь построен на ООП и как то справляется же ) и счетчиков нету у него там в циклах.


Потому и используют, что конкуренты мух ловят и ничего нового не предлагают. В федоре питон в yum вызывал столько нареканий, что ему сделали замену на Си. Питон даже с загрузкой кучи пакетов в инсталляторе Анаконда справляется через жопу. Кликаешь поставить галочку с носителя пакет, а после установки линукса оказывается что он не установлен и нужно ставить его с двд блина через rpm. Наелся этих глюков питонопрограмм. У питона там преимущество только в незамечании критических ошибок программы. Завершилась строка с критической ошибкой, пофиг - выполняем следующую! В итоге кажется что всё работает хорошо, бабло получено, продукт в продакшене, всё норм, бизнес крутится! Интерпретируемые скриптовые языки позволяют даже книжку в текстовом формате запустить вместо программы, главное чтобы маркеры конца строки были той системы. Интерпретатор запускает строки с текстом, плюётся ошибками и запускает следующую строку пока не натыкается на пример с кодом программы на нужном языке. И если пример не содержит мусора, то выполняет его как будто так и должно быть. А вот компиляторы fpc и gcc не умеют скомпилить из текстовой книжки работающую программу, загрузи в них учебник по языку программирования, они с ошибкой откажутся выдать рабочий бинарь :mrgreen:

haword писал(а):как и писали выше это нахрен никому не надо кроме специфических целей и поэтому зачем кому то встраивать это в систему не понятно. тебе надо - ты и делай. это не сложно.


С таким подходом и паскаль нахрен никому не нужным получается. Ищешь инструмент на паскале, а он в зачаточном состоянии или вообще отсутствует.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Сквозняк писал(а): Ищешь инструмент на паскале, а он в зачаточном состоянии или вообще отсутствует.

"А нет ли у вас другого глобуса?" (С) :mrgreen:
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Снег Север писал(а):
Сквозняк писал(а): Ищешь инструмент на паскале, а он в зачаточном состоянии или вообще отсутствует.

"А нет ли у вас другого глобуса?" (С) :mrgreen:

Поскольку реальная экономика во многих регионах глобуса находится в жоппе, посмотрим что там у нас в игрострое: движки написаны или на плюсах или на шарпе - ну очень "круто". Из незаброшенных конкурентов есть только кастле, который далёк от выхода на производственную мощность. С видеоредакторами всё ещё хуже, там вместо ПО на паскале хрен волосатый во все поля классов.
sts
энтузиаст
Сообщения: 519
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Сообщение sts »

сквозняк походу 40 оборотов дерябнул - никак не отпускает.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Сквозняк писал(а):написаны или на плюсах или на шарпе

За плюсами и шарпом стоят корпорации с бюджетами больше многих государств. Только и всего.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

Снег Север писал(а):
Сквозняк писал(а):написаны или на плюсах или на шарпе

За плюсами и шарпом стоят корпорации с бюджетами больше многих государств. Только и всего.

Корпорации позволяют писать на говне, которое потом предлагается лохам на халяву бесплатно патчить и тестировать. С тестированием нормально, от него хреново уклоняться, а вот с патчами лажа полная. Авидемукс даже до древнего виртуалдуба не дотягивает, как слепили когда-то на коленке из говна, так сейчас и пованивает. Мало того что падает, так стандартные плагины никто не патчит. Пытался им наложить логотип с прозрачностями, это вообще звиздец полный. Насильно в него можно загрузить png с прозрачностями, но производимые графическими редакторами файлы не подходят, наверно требуется редактор эпохи наполеоновских войн. А пропатчить плагин для приёма современных png просто некому! И я не полезу без крайней надобности править ПО буржуев, которые не принимают паскаль в репозитории. Нет в репах ПО на паскале? Ну так и хрен вам патчи для ПО на цпп, нанимайте погромистов за бабки.

Если копировать говно корпораций не имея их бабла, то хреново получится. Если нет той поддержки, то надо конкурировать возможностями отсутствующими в корпоративных продуктах. Типа, у вас миллион погромистов, а на выходе говно худшего качества. А если говно будет одинакового качества, то победит лучший его пропихиватель.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

sts да походу больше. НГ всё таки скоро. Заранее готовится в цикл уйти. :)

А по сути:
С таким подходом и паскаль нахрен никому не нужным получается. Ищешь инструмент на паскале, а он в зачаточном состоянии или вообще отсутствует.

Ну и чего паритсо то? Бросай паскаль, переходи на то что нравитсо.

Окромя бредовости темы и goto, как то странно добавилась "процедурщина". Батенька вы что имеете ввиду под этим скромным названием то? По идее: функция, процедура, переменная существует в любом ЯП (я не о скриптах).
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Где в классах счётчик оборотов?
— А где тут руль? — спросил Гагарин.
— Деревня! — буркнул Королёв,
— ещё спроси: а где тут вожжи,
ещё «поехали!» скажи… :D
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

pupsik писал(а):Ну и чего паритсо то? Бросай паскаль, переходи на то что нравитсо.


А что есть лучше freepascal диалекта? Другой вопрос что добавляется лажа беспонтовая, а реальных улучшений практически и нет. Кто-то боится вводить фичи отсутствующие у корпораций.

pupsik писал(а):Окромя бредовости темы


Так это ты бредишь, а у меня всё по делу. Для управления кодом нужны события, циклы их генерируют, но помочь коду их генерировать, хотя-бы после разрешения директивами компилятора - низзя. Одно дело если это невозможно реализовать, но тогда нужно признать ущербность ситуации. А другое, включить дурку, как ты и поступил.
и goto

Его хреновость никто не сумел доказать, а польза очевидна.

Код: Выделить всё

как то странно добавилась "процедурщина". Батенька вы что имеете ввиду под этим скромным названием то? По идее: функция, процедура, переменная существует в любом ЯП (я не о скриптах).

Процедуры могут работать и без ООП а также заворачивать классы в рубероид и складировать в дальней силосной яме, где их не видно и не слышно. Хрясь и нету классов на горизонте, одни процедуры с функциями остались. Если в сущность не добавляются новые полезные фичи, а копипастить больше нечего, то и зачем её плодить :D
Seenkao
энтузиаст
Сообщения: 568
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Сквозняк писал(а):Процедуры могут работать и без ООП а также заворачивать классы в рубероид и складировать в дальней силосной яме, где их не видно и не слышно.
я просто выдёргиваю из класса то что нужно мне и пользуюсь как обычным процедурным программированием.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Хрень какая-то. Про счётчики, по которым нужно определять, что некий процесс выполнен.

Кусок из программы:

Код: Выделить всё

var     P: TProcessUTF8;
begin
  // Формирую всё, что нужно, для записи базы данных в архив.
...
  P := TProcessUTF8.Create(nil);
  try
    DM.con.Connected := False;
    P.CommandLine := S;
    P.Options := P.Options + [poWaitOnExit, poNoConsole];
    P.Execute;   
    Result := P.ExitStatus = 0;
  finally
    DM.con.Connected := True;
    P.Free;
  end;

Процесс в P сам знает, когда всё записано и отдаёт управление дальше.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

sign писал(а):Процесс в P сам знает, когда всё записано и отдаёт управление дальше.

Вот именно. И вообще программирование в современных многозадачных системах основано на событиях. Основы ООП создавались еще во времена ДОС и прочих однозадачных ОС, а процедурное программирование еще старше - ровесник эниаков и мэсм. Сейчас подзадачи программы должны слать своему диспетчеру события о ходе выполнения. Что, обычно, и делается нормальными программистами.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

нужны события, циклы их генерируют,
наконец то... Вам нужны события. А то всё обороты, циклы без счётчика и т.д.
Стало хоть более менее к чему первый пост похожий на реализацию "менеджера потоков".
Т.е. вы хотите что бы классы реагировали на событие? Как я понимаю ВСЕ классы? Но смысл от понимания вообще не прояснил. В чём сложность ведь вам дали посыл как. А вот пихать события во все классы... ну уж пардон - бред.

По поводу копипаста классов.... Это как то странно звучит: "копипаст"... Э... т.е. имеется ввиду копирование всего класса? Иль просто достаточно указать модуль и название класса?

Ваша "процедурщина" и попытка прояснить. Ничего не прояснила. То что всё состоит из "трёх китов" я упомянул. А ваше перефразирование вообще не в ту сторону.

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

Плиз, научитесь задавать более осмысленно вопросы, коли охота в ответ услышать норм ответ... Иначе бред и далее будет бредом...
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

sign писал(а):Процесс в P сам знает, когда всё записано и отдаёт управление дальше.


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

Добавлено спустя 24 минуты 25 секунд:
pupsik писал(а):наконец то... Вам нужны события. А то всё обороты, циклы без счётчика и т.д.


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

Т.е. вы хотите что бы классы реагировали на событие?


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

По поводу копипаста классов.... Это как то странно звучит: "копипаст"... Э... т.е. имеется ввиду копирование всего класса? Иль просто достаточно указать модуль и название класса?


Это значит копирование чужих решений лёгким способом, без нудного создания и регистрации переменных. Например, в игре, при создании одной глобальной переменной, обычно необходимо прописать её в _пяти_ местах! Создание переменной, сохранение, загрузка, инициация начальных данных, инициация перед входом в игру. А если копируешь класс "шибздик", то всеми своими потрохами занимается он сам, если использовать настройки по умолчанию, то может и ни в одном месте в его переменные вмешиваться не придётся, а если придётся, то не в пяти. Вроде бы клонировать шибздиков просто, но ведь нужно им ещё и разум дать. Обычно обучают класс всему сразу: вот тебе и человек и змея в одном флаконе, а использоваться будет часть умений. Но это ещё не предел "личностного роста" - можно привинтить ко всем клонам ещё и общий надмозг, а вот ему нужны хаки к классу чтобы получать данные из внутренностей его "организма", например от бесконечных циклов, которые дёргают шибздиков 100 раз в секунду.

Если цикл совершил несколько оборотов, значит шибздик не "проспал вспышку", а был её свидетелем и имел возможность отреагировать, а воспользовался ей или нет, это уже его личное дело. Например, надмозг орёт событие (которое шибздики сканируют каждый цикл) "шухер, люди идут" и ждёт что каждый шибздик отмотает 2 оборота своего бесконечного цикла, а когда это случится, то можно и людей запускать, шибздики точно всё услышали и если мочились на угол, то имеют все возможности застегнуть ширинку - предупреждение не проспали. Вот такая схема ИИ завязанная в том числе на обороты циклов.

Код: Выделить всё

Плиз, научитесь задавать более осмысленно вопросы

На первой странице был пример кода, от него и нужно было плясать, что непонятно.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Я хочу чтобы классы научились генерировать некоторые дополнительные события
ничто не мешает добавить (хотя бы хелпером) к классу "ожидание события". НО данная модификация необходима в крайне редких случаях. Зчм её внедрять? Только из-за "светлой мысли" необходимости? В принципе... вы можете в конфу обратиться. И, возможно, ребята добавят такую возможность.

оборот (цикл) и событие - разные вещи. Событие "ожидает" и не обязательно в цикле. Цикл.. хм просто "крутит" и что бы узнать "что" он накрутил необходим семафор. Это по простому описать если.

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

На первой странице был пример кода, от него и нужно было плясать, что непонятно.
Дело в том что обороты не вяжутся с "менеджером потоков". Который смутно проскальзывает в первом абзаце. Следующий абзац - мысли, мысли и очень хаотичные. И, кстати, обрезок - то что вы считаете кодом, не есть примером чего то. Тем более тот обрезок, более похож, на ту хрень что я в школе на баське катал. Лет этак 20+ назад. Великолепные конешн времена были. Касетники там всякие, часовое ожидание загрузки простейшей проги.. Реально весёлые. Но если оставаться в них... всё течёт и меняется. Не зря введено и изменено многое в ЯП. И не принимать этого, и пользоваться до сих пор тем что ранее было - бред. Это не касаемо теорий и расчётов 60-х + годов.
Ответить