powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / omniPascal - что за чудо?
25 сообщений из 106, страница 4 из 5
omniPascal - что за чудо?
    #39660309
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidничего нам этого не надь, нам бы провославный Delphi7 вернуть под Вынь10
В смысле - вернуть? Delphi5,6,7 отлично работают под последней сборкой Вынь10 (и всеми предыдущими). Скоро, кстати, Fluent Design поддерживать научатся
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660413
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUимитация динамических массивов и строк через память на стеке
Я дин. выделение памяти стараюсь вообще не использовать, если важна скорость. Не то, что "имитирую".
Недавно сервер написал на пару сотен клиентов. По потоку на клиента.
Так вот - в нём (в клиентских потоках) нет ни единого выделения памяти - всё на стеке (которого хватило 64k на поток). Т.ч. и "лок-фри менеджер памяти" не пригодился :)
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660414
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidно Дельфи за пределами бывшего Совка И Латинской Америки и почему-то Австралии вообще крайне редко где использовали, а теперь так и вообще позабыли.
Не надо свои заблуждения выдавать за истину. Все сильно иначе ...
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660417
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Это во-первых, потому, что логика простая
А во-вторых, такое количество потоков - тоже не есть гуд
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660418
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Скажешь тоже
Пользовательский уровень - это верх простоты и изящности
Ни у кого нет такой обертки над строками в памяти
Максимум, что ты обычно можешь вытянуть, в том же SAX, например, это указатель на символы и длину
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660453
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUЭто во-первых, потому, что логика простая
Ну смотря с чем сравнивать. Аутентификация, и затем обмен в обе стороны пакетами репликации и их обработка.
SOFT FOR YOUА во-вторых, такое количество потоков - тоже не есть гуд
Смотря для чего. Основное время их работы - передача данных. Т.е. ожидание этих данных, сохранение происходит очень быстро (insert в базу закаченного пакета).
А обработка - уже в другом месте - в пуле потоков по кол-ву процессоров.
Т.ч. для [в основном] ожидающих потоков - 100-200 потоков - фигня. У меня вот сейчас на 32бит Win10 после перезагрузки уже больше 1000 каких-то потоков таскменеджер показывает, и ничего.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660462
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorрегистронезависимость - это очень крутая штука.
Без неё весь текст программы превращается в месиво
Когда-то мне тоже казалось, что регистронезависимость - это круто. Но постепенно я понял, что за четверть века работы так и не встретил ни одной ситуации, где бы она пригодилась, и единственное, чему она способствует - стилистическому разнобою, когда один называет переменную i, другой обращается к ней как к I, и это как-то работает. Я понимаю, что в своё время Вирт решил таким образом проблему платформозависимости, приравняв машины, где у символов были регистры, с теми, где их не было - но сейчас это уже неактуально, а в остальном - одни минусы.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660589
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUdefecator,

Скажешь тоже
Пользовательский уровень - это верх простоты и изящности
Ни у кого нет такой обертки над строками в памяти
Максимум, что ты обычно можешь вытянуть, в том же SAX, например, это указатель на символы и длину

я про тот лапшекод, который в исходниках.
ТАКОЕ поддерживать - это себя не уважать.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660735
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13.06.2018 18:52, softwarer пишет:
> в своё время Вирт решил таким образом проблему платформозависимости, приравняв машины, где у символов были регистры, с теми, где их не было

а ведь лысеешь уже...
и такая хрень в голове!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660781
alekcvp,

У меня есть самописный конвертер
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
var 
 bflush : integer;
begin
  while true do
  begin
	if s.lookahead = 0 then 
	begin 
		fill_window(s);
		if s.lookahead = 0 then 
		begin
			if flush = Z_NO_FLUSH then
			   exit(need_more);
			break;
		end;
	end;
	
	s.match_length := 0;
	Tracevv((stderr,"%c", s.window[s.strstart]));
	_tr_tally_lit(s, s.window[s.strstart], bflush);
	dec(s.lookahead);
    inc(s.strstart);
	
	if bflush then
		FLUSH_BLOCK(s, 0);
  end;

  s.insert := 0;
  if flush = Z_FINISH then 
  begin
	FLUSH_BLOCK(s, 1);
	exit(finish_done);
  end;
  
  if s.last_lit then 
	FLUSH_BLOCK(s, 0);
  Result := block_done;
end;




А воот так выглядит фаст фибаначи на cи
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
int Fibonacci(int n) {
	unsigned long Result = 1;
	unsigned long cash = 0;
	unsigned long cash2;

	if(n < 1)
		return 0;

	for(int i = 1; i < n; i++) {
		cash2 = Result;
		Result += cash;
		cash = cash2;
	}
	return Result;
}




А так на дельфи через мой конвертер
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
function Fibonacci(n: Integer): Cardinal;
var
  cash, cash2: Cardinal;
  i: Integer;
begin
  Result := 1;
  cash := 0;

  if n < 1 then
    exit(0);

  i := 1;
  while i < n do
  begin
    cash2 := Result;
    inc(Result, cash);
    cash := cash2;
    inc(i);
  end;
end;




Программка
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils;

function Fibonacci(n: Integer): Cardinal;
var
  cash, cash2: Cardinal;
  i: Integer;
begin
  Result := 1;
  cash := 0;

  if n < 1 then
    exit(0);

  i := 1;
  while i < n do
  begin
    cash2 := Result;
    inc(Result, cash);
    cash := cash2;
    inc(i);
  end;
end;

var
  n: Integer;

begin
  try
    while True do
    begin
      Readln(n);
      Writeln('Result Fibonacci: ', Fibonacci(n));
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.


...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660784
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ВаСЁКПупкинalekcvp,

У меня есть самописный конвертер
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
var 
 bflush : integer;
begin
  while true do
  begin
	if s.lookahead = 0 then 
	begin 
		fill_window(s);
		if s.lookahead = 0 then 
		begin
			if flush = Z_NO_FLUSH then
			   exit(need_more);
			break;
		end;
	end;
	
	s.match_length := 0;
	Tracevv((stderr,"%c", s.window[s.strstart]));
	_tr_tally_lit(s, s.window[s.strstart], bflush);
	dec(s.lookahead);
    inc(s.strstart);
	
	if bflush then
		FLUSH_BLOCK(s, 0);
  end;

  s.insert := 0;
  if flush = Z_FINISH then 
  begin
	FLUSH_BLOCK(s, 1);
	exit(finish_done);
  end;
  
  if s.last_lit then 
	FLUSH_BLOCK(s, 0);
  Result := block_done;
end;





А воот так выглядит фаст фибаначи на cи
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
int Fibonacci(int n) {
	unsigned long Result = 1;
	unsigned long cash = 0;
	unsigned long cash2;

	if(n < 1)
		return 0;

	for(int i = 1; i < n; i++) {
		cash2 = Result;
		Result += cash;
		cash = cash2;
	}
	return Result;
}





А так на дельфи через мой конвертер
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
function Fibonacci(n: Integer): Cardinal;
var
  cash, cash2: Cardinal;
  i: Integer;
begin
  Result := 1;
  cash := 0;

  if n < 1 then
    exit(0);

  i := 1;
  while i < n do
  begin
    cash2 := Result;
    inc(Result, cash);
    cash := cash2;
    inc(i);
  end;
end;





Программка
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils;

function Fibonacci(n: Integer): Cardinal;
var
  cash, cash2: Cardinal;
  i: Integer;
begin
  Result := 1;
  cash := 0;

  if n < 1 then
    exit(0);

  i := 1;
  while i < n do
  begin
    cash2 := Result;
    inc(Result, cash);
    cash := cash2;
    inc(i);
  end;
end;

var
  n: Integer;

begin
  try
    while True do
    begin
      Readln(n);
      Writeln('Result Fibonacci: ', Fibonacci(n));
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.





на каком основании из этого:
int Fibonacci(int n)

получилось это:
function Fibonacci(n: Integer): Cardinal;

?

Сдаётся мне, что кто-то несколько трындит !
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660791
defecator,

На основание
Код: plaintext
1.
unsigned long Result = 1;



Я не мог положится на возврат из функции, потому что не один компилятор и сам на него не полагается - исходя только из возврата

...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660793
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
так и знал, что ты рукам переписывал
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660794
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorSOFT FOR YOUdefecator,

Скажешь тоже
Пользовательский уровень - это верх простоты и изящности
Ни у кого нет такой обертки над строками в памяти
Максимум, что ты обычно можешь вытянуть, в том же SAX, например, это указатель на символы и длину

я про тот лапшекод, который в исходниках.
ТАКОЕ поддерживать - это себя не уважать.
Когда научишься писать быстрый код - он тоже будет лапшеобразным
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660796
defecator,

Собираешь все return и смотришь тип переменной - которой будет собрана, тип переменной - переменная, которая хранится в базе, в базе ключ переменной - хранит информацию о типе переменной, и типе вложенности - самой переменной.

Исходя из этого, из всех return (Массив в базе) Можно просмотреть все возможные типы - тип будет один, и надо будет выбрать общий подходящий, под это попадает переменная - которая имеет постоянный возврат, а не символический - статический, который бы и преобразовался в конечном итоге в integer но как есть unsigned long в типе возврата, мы не может позволить создать утечку в данных - переполнения, по этому мы выбираем в пользу unsigned long нежели чем integer и преобразовываем на стеке вывода в Delphi нужный тип Cardinal


Вот так это и работает

Неужели нельзя знать основ ? Или реально, delphi отупляет... Да, C++ Сложный Дядя, но он построен так, что способен глотнуть ошибки программиста и преобразовать в правильный кол. А Delphi что - же ? И не видала такого наверное
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660801
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUdefecatorпропущено...


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

моя система видеонаблюдения перемалывает огромные потоки видео,
и в ней нет ни строчки лапшекода.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660809
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Это потому, что ты используешь чужой лапшекод
А сам ничего оптимального написать не можешь
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660815
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUdefecator,

Это потому, что ты используешь чужой лапшекод
А сам ничего оптимального написать не можешь

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

В системе нет вообще визуальных компонентов,
потому что нет никаких визуальных интерфейсов, кроме браузерного
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660817
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один чел на собеседовании у нас сказал, что ученые доказали не так давно, что С++ настолько сложен и всеобъемлющ, что вся его мощь женщине открыться, например, не может. Мозгов женщине не хватает. Только мужик может освоить всю его глубину. Чел этот, кстати, даже результатами своего собеседования не поинтересовался, сбежал, узнав, что мы тут на Delphi программируем. А вот шеф задумался крепко, сказал даже мне, что, может, стоило программу-то складского учета на С++ писать...
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660880
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorSOFT FOR YOUdefecator,

Это потому, что ты используешь чужой лапшекод
А сам ничего оптимального написать не можешь

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

В системе нет вообще визуальных компонентов,
потому что нет никаких визуальных интерфейсов, кроме браузерного
Ты видеокодеки самолично писал?
Ну-ну, втирай дальше )
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660916
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUdefecatorпропущено...


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

В системе нет вообще визуальных компонентов,
потому что нет никаких визуальных интерфейсов, кроме браузерного
Ты видеокодеки самолично писал?
Ну-ну, втирай дальше )

видекодеки используются системные виндовые, кроме MJPEG, G.7xx - это всё самописное.
но видеокодеки - это 1% от кода системы
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39660964
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВаСЁКПупкин,

А если не пытаться из Delphi сделать суррогатный си, то:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function Fibonacci(n: Integer): Cardinal;
var
  i: Integer;
  m1, m2: Cardinal;
begin
  m1 := 0;
  m2 := 1;
  Result := 0;
  for i := 1 to n do begin
    Inc(Result, m2);
    m2 := m1;
    m1 := Result;
  end;
end;

...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39661101
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Эмбаркадере есть чему поучиться

1. Автоматическое добавление import при упоминании класса в коде или при вставке фрагмента кода из буфера обмена
2. Автоматическое формирование отступов, в том числе при вставке фрагмента кода из буфера обмена
3. Подсказка имени объявляемой переменной на основании имени типа
4. Создание геттеров/сеттеров и инициализация поля класса в конструкторе просто по клику на это поле.

Это только то, что вспомнилось сходу.
1 - странно костыль выдавать за преимущества
2 - фиговая штука - может конечно для питона и норм, всегда отключаю.
3 - зачем??? в паскале тип после имени объявляется
4 - чё-чё?
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39661111
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail TchervonenkoВсем доброго времени суток!

сегодня в очередной раз наткнулся тут на упоминание о omniPascal, кто то его уже пробовал? Какие впечатления?
Чем это лучше/хуже родной среды от delphi или lazarus и в чём смысл сего творения?

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

Архитектурно выходит пшик с кучей дублируемого кода из компилятора. IDE для системных языков можно нормально сделать только с поддержкой компилятора, как например было сделано в BP 7.0.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39661120
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)_Vasilisk_Эмбаркадере есть чему поучиться

1. Автоматическое добавление import при упоминании класса в коде или при вставке фрагмента кода из буфера обмена
2. Автоматическое формирование отступов, в том числе при вставке фрагмента кода из буфера обмена
3. Подсказка имени объявляемой переменной на основании имени типа
4. Создание геттеров/сеттеров и инициализация поля класса в конструкторе просто по клику на это поле.

Это только то, что вспомнилось сходу.
1 - странно костыль выдавать за преимущества
2 - фиговая штука - может конечно для питона и норм, всегда отключаю.
3 - зачем??? в паскале тип после имени объявляется
4 - чё-чё?
Кроме делфей не пользовал другие иде?
В идее это настолько привычные фичи, что диву даюсь, насколько делфи отстает от норм по удобствам.
...
Рейтинг: 0 / 0
25 сообщений из 106, страница 4 из 5
Форумы / Delphi [игнор отключен] [закрыт для гостей] / omniPascal - что за чудо?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]