powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / omniPascal - что за чудо?
25 сообщений из 106, страница 2 из 5
omniPascal - что за чудо?
    #39659733
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUC++ компилятор тоже может быть быстрый
Если над ним будет работать человек с головой, а не сообщество теоретиков
Собственно, насколько мне известно, ребята из Clang смогли выжать скорости за счёт итеративной разработки
Clang - одно из тормознутых творений.
Си в принципе заточен на долгую компиляцию ради меньшего исполняемого модуля.

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

Зависит от опций компилятора
Можно выставить режим, чтобы всё это не компилилось
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659735
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidIDEA Intellij очень хороший IDE для Жабы.Эмбаркадере есть чему поучиться

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

Это только то, что вспомнилось сходу.

Я не работал в Вижуал Студии, но после Идеи Делфя выглядит убого. Это я сейчас только об IDE.

Про сами языки я молчу. Хотя те же лямбды в джаве сделаны на порядок проще
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659737
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
_Vasilisk_LeonidIDEA Intellij очень хороший IDE для Жабы.Эмбаркадере есть чему поучиться

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

Это только то, что вспомнилось сходу.

Я не работал в Вижуал Студии, но после Идеи Делфя выглядит убого. Это я сейчас только об IDE.

Про сами языки я молчу. Хотя те
борла же лямбды в джаве сделаны на порядок проще
в то время, когда создавался Delphi, всего этого не требовалось.
зато сделали интерфейс для сторонних плагинов.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659741
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorнет, из-за того, что паскаль-компилятор однопроходный, и не компилит лишнего
Это - следствие отсутствия макросов и модульной структуры проекта :)
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659744
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
YuRockdefecatorнет, из-за того, что паскаль-компилятор однопроходный, и не компилит лишнего
Это - следствие отсутствия макросов и модульной структуры проекта :)
макросы вещь очень удобная, я категорически согласен на эту фичу в Дельфи !
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659745
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorмакросы вещь очень удобная, я категорически согласен на эту фичу в Дельфи !Кто ж от такого откажется. Только поздно (касаемо Дельфи). В других паскалях - еще может быть. Например - в omniPascal :)
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659750
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че вам инлайны не угодили вместо макросов?
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659752
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUЧе вам инлайны не угодили вместо макросов?Это другое. Инлайны тоже нужны. Макросы <> функции.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659753
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
YuRockSOFT FOR YOUЧе вам инлайны не угодили вместо макросов?Это другое. Инлайны тоже нужны. Макросы <> функции.
+100
великий оптимизатор не понимает разницу между макросами и инлайнами
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659754
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

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

Ну так ты ни инлайнов, ни дженериков не знаешь. О чем с тобой говорить ))
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659757
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_LeonidIDEA Intellij очень хороший IDE для Жабы.Эмбаркадере есть чему поучиться

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

Это только то, что вспомнилось сходу.

Я не работал в Вижуал Студии, но после Идеи Делфя выглядит убого. Это я сейчас только об IDE.

Про сами языки я молчу. Хотя те же лямбды в джаве сделаны на порядок проще

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

Ну так ты ни инлайнов, ни дженериков не знаешь. О чем с тобой говорить ))
моё неприятие генериков не исключает того, что я их знаю.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659769
SOFT FOR YOUЧе вам инлайны не угодили вместо макросов?

Запретить и расстрелять! Он не может и 1 строку заинлайнить, без оверхеда

Вот инлайн
Код: 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.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
---.pas.135: begin
006A0E68 55               push ebp
006A0E69 8BEC             mov ebp,esp
006A0E6B 83C4F8           add esp,-$08
006A0E6E 33C0             xor eax,eax
006A0E70 8945FC           mov [ebp-$04],eax
006A0E73 8B450C           mov eax,[ebp+$0c]
006A0E76 33D2             xor edx,edx
006A0E78 55               push ebp
006A0E79 68030F6A00       push $006a0f03
006A0E7E 64FF32           push dword ptr fs:[edx]
006A0E81 648922           mov fs:[edx],esp
---.pas.136: if TYPE(x) <> TT_STRING then
006A0E84 0FB65008         movzx edx,[eax+$08]
006A0E88 80FA06           cmp dl,$06
006A0E8B 740F             jz $006a0e9c
---.pas.137: x := ConvertType(x, TT_STRING);
006A0E8D 6A06             push $06
006A0E8F 50               push eax
006A0E90 A1D4C81F01       mov eax,[$011fc8d4]
006A0E95 8B00             mov eax,[eax]
006A0E97 FFD0             call eax
006A0E99 83C408           add esp,$08
---.pas.139: result := GetStrXXX(x);
006A0E9C 33D2             xor edx,edx
006A0E9E 55               push ebp
006A0E9F 68E60E6A00       push $006a0ee6
006A0EA4 64FF32           push dword ptr fs:[edx]
006A0EA7 648922           mov fs:[edx],esp
006A0EAA 8945F8           mov [ebp-$08],eax
006A0EAD 8D45FC           lea eax,[ebp-$04]
006A0EB0 8B55F8           mov edx,[ebp-$08]
006A0EB3 8B12             mov edx,[edx]
006A0EB5 83C214           add edx,$14
006A0EB8 83EA04           sub edx,$04
006A0EBB B9E9FD0000       mov ecx,$0000fde9
006A0EC0 E807B1D6FF       call @LStrFromPChar
006A0EC5 8B4508           mov eax,[ebp+$08]
006A0EC8 8B55FC           mov edx,[ebp-$04]
006A0ECB E828AED6FF       call @LStrAsg
006A0ED0 33C0             xor eax,eax
006A0ED2 5A               pop edx
006A0ED3 59               pop ecx
006A0ED4 59               pop ecx
006A0ED5 648910           mov fs:[eax],edx
006A0ED8 68ED0E6A00       push $006a0eed
006A0EDD 8D45FC           lea eax,[ebp-$04]
006A0EE0 E8B3A9D6FF       call @LStrClr
006A0EE5 C3               ret 
006A0EE6 E9659ED6FF       jmp @HandleFinally
006A0EEB EBF0             jmp $006a0edd
---.pas.141: end;
006A0EED 33C0             xor eax,eax
006A0EEF 5A               pop edx
006A0EF0 59               pop ecx
006A0EF1 59               pop ecx
006A0EF2 648910           mov fs:[eax],edx
006A0EF5 680A0F6A00       push $006a0f0a
006A0EFA 8D45FC           lea eax,[ebp-$04]
006A0EFD E896A9D6FF       call @LStrClr
006A0F02 C3               ret 
006A0F03 E9489ED6FF       jmp @HandleFinally
006A0F08 EBF0             jmp $006a0efa
006A0F0A 59               pop ecx
006A0F0B 59               pop ecx
006A0F0C 5D               pop ebp
006A0F0D C3               ret 
006A0F0E 8BC0             mov eax,eax




Вот без
Код: 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.
---.pas.135: begin
006A0E68 55               push ebp
006A0E69 8BEC             mov ebp,esp
006A0E6B 53               push ebx
006A0E6C 8B5D0C           mov ebx,[ebp+$0c]
---.pas.136: if TYPE(x) <> TT_STRING then
006A0E6F 0FB64308         movzx eax,[ebx+$08]
006A0E73 3C06             cmp al,$06
006A0E75 7411             jz $006a0e88
---.pas.137: x := ConvertType(x, TT_STRING);
006A0E77 6A06             push $06
006A0E79 53               push ebx
006A0E7A A1D4C81F01       mov eax,[$011fc8d4]
006A0E7F 8B00             mov eax,[eax]
006A0E81 FFD0             call eax
006A0E83 83C408           add esp,$08
006A0E86 8BD8             mov ebx,eax
---.pas.139: result := PAnsiChar(NativeInt(@x.val) - 4);
006A0E88 8B4508           mov eax,[ebp+$08]
006A0E8B 8B13             mov edx,[ebx]
006A0E8D 83C214           add edx,$14
006A0E90 83EA04           sub edx,$04
006A0E93 B9E9FD0000       mov ecx,$0000fde9
006A0E98 E82FB1D6FF       call @LStrFromPChar
---.pas.140: end;
006A0E9D 5B               pop ebx
006A0E9E 5D               pop ebp
006A0E9F C3               ret 

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

Ну если бездумно, Delphi не самый оптимальный компилятор. Почему ты думаешь, что с чисто гипотетическими макросами будет быстрее )
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659771
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUПраздный вопрос. Приведи пример, когда одно хорошо, а инлайном или константами не решается
Миллиард примеров. Когда надо - тогда и не решается.
Вот, например (может и не самый лучший и наглядный, но лучше - лень искать):
https://github.com/FirebirdSQL/firebird/blob/master/src/include/firebird/UdrCppEngine.h
использование:
https://github.com/FirebirdSQL/firebird/blob/master/examples/udr/Functions.cpp
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659774
SOFT FOR YOUВасЁкПупкин,

Ну если бездумно, Delphi не самый оптимальный компилятор. Почему ты думаешь, что с чисто гипотетическими макросами будет быстрее )

Потому что надо знать как работают макросы. Макросы, это str-replace на нужное значение

С ними ты получишь 100% код, который бы мог написать руками

Пример развёртывания макросов
Код: pascal
1.
cpp -P code2.h
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659775
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Я ничо не понял
Но справедливости ради признаю твою правоту :)
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659778
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUНу так ты ни инлайнов, ни дженериков не знаешьБлагодаря дженерикам и лямбдам (в реализации делфи) просмотр современного делфевого кода вызывает у меня рвотный рефлекс.
Потому я и говорю, что делфи уже ни макросы не спасут, ни объекты в стеке, ничего. Язык убит (оригинальный делфи который (копирайт Borland и post-Borland), а у других паскалей есть шансы).
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659779
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вы понимаете под лямбдами в дельфи?..
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659781
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpА что вы понимаете под лямбдами в дельфи?..
Лично я - всё, что связано с этим
https://ru.wikipedia.org/wiki/Лямбда-выражение
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659787
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Нет знаю. Мне всё нравится. И дженерики, и лямбды
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659789
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUНет знаю. Мне всё нравится. И дженерики, и лямбдыНа вкус и цвет. Я про себя говорил.
...
Рейтинг: 0 / 0
omniPascal - что за чудо?
    #39659794
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockalekcvpА что вы понимаете под лямбдами в дельфи?..
Лично я - всё, что связано с этим
https://ru.wikipedia.org/wiki/Лямбда-выражение
Т.е. в контексте дельфей - только анонимные функции? Или там в 10ке ещё что-то новое ввели на эту тему?
...
Рейтинг: 0 / 0
25 сообщений из 106, страница 2 из 5
Форумы / Delphi [игнор отключен] [закрыт для гостей] / omniPascal - что за чудо?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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