Пятница, 29 Марта 2024, 13:15

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Паскаль мертв? (Object Pascal)
Паскаль мертв?
XakepДата: Понедельник, 19 Августа 2019, 11:13 | Сообщение # 61
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата ShortKedr ()
Кстати память в C++ от структур тоже сама отчистися если знать как это делается

Можно и классы также передавать, только не по ссылке, а по значению, в C++ вообще классы от структур ничем не отличаются кроме области видимости по умолчанию.

Цитата ShortKedr ()
Из крутых проектов, сделанных в Delphi можно отметить GameMaker Studio от YoYo Games

он уже не на дельфи, его давно переписали на плюсы.

Цитата ShortKedr ()
По большей части оно и не сильно нужно, struct больше такая опциональная версия класса со своими особенностями, спокойно заменяется классами. Да и не всегда struct удобнее класса обычного в C#

для разных микрооптимизаций вполне себе хороший инструмент, лучше сделать struct Point с двумя параметрами и передавать по значению, чем класс и постоянно аллоцировать память через GC. А если программируешь в Data Oriented Design то использование классов в принципе стоит минимизировать.
ShortKedrДата: Понедельник, 19 Августа 2019, 11:50 | Сообщение # 62
Renword Studio
Сейчас нет на сайте
Цитата Xakep ()
он уже не на дельфи, его давно переписали на плюсы.

Не знал, в районе 8 версии(очень давно) был ещё на них. Ну как бы всё равно)

Цитата Xakep ()
Можно и классы также передавать, только не по ссылке, а по значению, в C++ вообще классы от структур ничем не отличаются кроме области видимости по умолчанию.


Да и не только они)

Цитата Xakep ()
для разных микрооптимизаций вполне себе хороший инструмент, лучше сделать struct Point с двумя параметрами и передавать по значению, чем класс и постоянно аллоцировать память через GC. А если программируешь в Data Oriented Design то использование классов в принципе стоит минимизировать.


Вот это правильное замечание. Зависит всегда от задачи. Для обычных программ, которым не нужен DOT(DOD), можно их опустить. Но да они быстрее, и если говорить об оптимизации в шарпе, то вполне отличный инструмент, но не всегда бывает удобен(но это исключение)


Сообщение отредактировал ShortKedr - Понедельник, 19 Августа 2019, 11:52
drcrackДата: Понедельник, 19 Августа 2019, 12:39 | Сообщение # 63
старожил
Сейчас нет на сайте
ну у нас-то тут геймдев форум и в нашем деле struct — незаменимая вещь
страшно представить нагрузку на сборщик мусора если бы все эти Vector3 вдруг стали полноценными классами

кто не в курсе — локальные переменные если они struct (Vector3, Quaternion и многое другое в Unity) размещаются на стеке или вообще в регистрах (если влезут), т.е. не требуют никаких затрат ни на аллокацию памяти, ни на сборку мусора

кроме того, struct хорошо сочетается с кешем процессора
если есть например массив struct'ов, при работе с ним оно большими кусками попадает в кеш и чтение ускоряется на порядки

короче говоря, вот это мягко говоря неправда:
Цитата
По большей части оно и не сильно нужно, struct больше такая опциональная версия класса со своими особенностями, спокойно заменяется классами.

по крайней мере применительно к играм
ShortKedrДата: Понедельник, 19 Августа 2019, 23:33 | Сообщение # 64
Renword Studio
Сейчас нет на сайте
Цитата drcrack ()
короче говоря, вот это мягко говоря неправда:

В случае с C# да, в случае с Java частично. Когда нужно оптимизировать согласен, есть даже библиотека, которая вводит аннотацию @Struct, которая позволяет классу работать подобно структуре, если бы это были переменные по отдельности. Однако опять таки мы говорим о JVM, а JVM работает совершенно иначе. И работа с памятью у неё отличается. Создай класс Vector3 и выдели место под сотни тысяч таких, да из-за специфики Java он будет занимать немного больше(не критично для современных компрьютеров), однако всё будет работать быстро, достаточно быстро. Если всё же требуется какая-та оптимизация, то и здесь у языка Java и JVM есть целый ряд решений на этот счёт, так же как есть и сторонние. Всё очень относительно - зависит от того вокруг чего крутиться, вы крутитесь вокруг C# в данный момент, и вокруг этой оси суждение верное, не спорю)

Цитата drcrack ()
кто не в курсе — локальные переменные если они struct (Vector3, Quaternion и многое другое в Unity) размещаются на стеке или вообще в регистрах (если влезут), т.е. не требуют никаких затрат ни на аллокацию памяти, ни на сборку мусора

Вообще если говорить про такую работу именно структур и их "особенность", то это скорее относится только к C# и его платформе, чем ко всем языкам где есть структуры. В C++ структура - это тот же класс только с публичной видимостью по умолчанию, а аллокация данных зависит только от того как типы этих структур используются в коде, в частности как объявляются и т.п. Сборщика мусора в С++ например нет, и мы управляем памятью в ручную кроме тех переменных которым не было специально выделено место - для них всё работает аналогично и выгружаются они по окончании зоны их видимости, т.е. метода или блока, после которого уже не используются(к ссылкам это не относится), как вы писали выше.

К чему весь этот сырбор - в цитировании были упомянуты оба языка, что может ко-то ввести в заблуждение. "Struct не особо нужно" относилось к Java, кстати, хотя и не очень понятно(перечитал) =)


Сообщение отредактировал ShortKedr - Понедельник, 19 Августа 2019, 23:39
XakepДата: Вторник, 20 Августа 2019, 05:33 | Сообщение # 65
めちゃくちゃちゃ
Сейчас нет на сайте
для realtime GC всегда плохо и даже линтер в Java ругается на создание Rect или Point внутри основного цикла, любой GC останавливает все потоки для сборки, какие-то релазации останавливают чтобы только пометить память и освободить в отдельном потоке, какие-то и вовсе останавливают все потоки пока не освободят память, плюс ко всему делается дефрагментация памяти, после дефрагментации памяти для всех переменных нужно обновлять адреса и опять же без остановки всех потоков тут никак. В общем все это не будет работать достаточно быстро для realtime систем, плюс ко всему сами классы очень жирные в Java и очень плохо кешируются в процессоре (да и классы в принципе кешируются везде плохо), поэтому Java не сильно и прижился ни в играх ни в десктопе, за некоторыми исключениями (IDEA, Minecraft), потому-что писать оптимизированный софт на Java сложно. Зато на серверах Java зашел на ура, там всегда узким местом была не память, а БД и сеть.
Конечно в 2019м году железо достаточно быстрое, чтобы не беспокоиться о таких вещах в каких нибудь инди проектах (хотя и от инди проекта зависит, первые версии майнкрафта постоянно фризились), но там, где нужна максимальная производительность Java плохо подходит.
OtinagiДата: Вторник, 20 Августа 2019, 08:53 | Сообщение # 66
постоянный участник
Сейчас нет на сайте
А я обожаю Делфи (: Постоянно пишу программы на нём и для дома, и для работы. Мне он очень нравится, потому что, как уже писали выше, интерфейс программы можно накидать за пару минут и за вечер сделать годную программу. При этом очень легко использовать WinApi, а при работе с оборудованием это незаменимо. Ещё в нём очень низкий порог вхождения. Например, в школе я Делфи 7 изучыл за ночь, написал переводчык с работой с БД к утру и поехал с ним на конференцыю, где занял какое-то место призовое (: Так же мне очень нравится, что скомпилированный проект работает на всех Виндоус без установки всякого дополнительного редистрибутива и фреймворка. И ещё программы работают очень быстро. И со времён Делфи 6 он почти не изменился. Я до сих пор беру книгу Архангельского по Делфи 6, когда нужно понять те или иные свойства компонентов. Уверен, всё выше написанное есть и в других ЯП, но так, чтобы всё и сразу в одном месте, без "если" и установки дополнений и расшырений - я не видел. Так что из всех ЯП для меня Делфи всегда будет на первом месте.

Но сразу хочу сказать, что никогда никого не заставлял учыть и писать на Делфи (как и на каком-нибудь другом языке), хоть и через мои руки прошло достаточное количество студентов. Я счытаю, что под каждую конкретную задачу подходит какой-то свой конкретный язык. Поэтому всегда перед написанием программы я трачу некоторое время, чтобы выбрать максимально подходящый ЯП. Я и на ассемблере до сих пор часто пишу, например, когда нужно дешыфровать 3-DES за пару миллисекунд на встраиваемом слабеньком оборудовании (=

Цитата Ordan ()
Есть такое, но бесплатная утилита CnWizards устраняет выше перечисленные неудобства.

Я ещё вместе с CnWizards использую "ModelMaker Code Explorer", который с недавних пор стал бесплатным.

Цитата Ordan ()
Кстати Космические рейнджеры вроде на дельфе сделали.

В продолжении темы написанного софта на Делфи я добавлю используемые мною Altium Designer, Light Alloy, Total Commander, FL Studio, AIMP.


«Смерти меньше всего боятся те люди, чья жизнь имеет наибольшую ценность.»
Иммануил Кант


Сообщение отредактировал Otinagi - Вторник, 20 Августа 2019, 08:54
drcrackДата: Вторник, 20 Августа 2019, 16:10 | Сообщение # 67
старожил
Сейчас нет на сайте
Цитата
Я до сих пор беру книгу Архангельского по Делфи 6, когда нужно понять те или иные свойства компонентов.

проще говоря, язык остановился в развитии 15 лет назад
OtinagiДата: Среда, 21 Августа 2019, 07:57 | Сообщение # 68
постоянный участник
Сейчас нет на сайте
Цитата drcrack ()
проще говоря, язык остановился в развитии 15 лет назад

Стабильность (:


«Смерти меньше всего боятся те люди, чья жизнь имеет наибольшую ценность.»
Иммануил Кант
DimaLinkДата: Воскресенье, 25 Августа 2019, 20:07 | Сообщение # 69
почетный гость
Сейчас нет на сайте
ShortKedr, martuk, Спасибо за пояснение). Если вдруг будет время попробую ХЕЛОУ ВОРЛД написать на паскале. Чисто из любопытства.
Помнится в институте были лабы на ТУРБО ПАСКАЛЕ 6.0 , на тему инкапсуляция полиморфизм наследование. И все). ТАм под МС ДОС все еще было, типа синий экран такой. Разработка от компании Борланд.
ShortKedrДата: Воскресенье, 25 Августа 2019, 20:32 | Сообщение # 70
Renword Studio
Сейчас нет на сайте
Цитата DimaLink ()
Помнится в институте были лабы на ТУРБО ПАСКАЛЕ 6.0 , на тему инкапсуляция полиморфизм наследование. И все). ТАм под МС ДОС все еще было, типа синий экран такой. Разработка от компании Борланд.

Среда разработки под MS-DOS, всё верно

FreePascal по виду аналогичен, только спокойно запускается под Windows, насколько я знаю, и имеет ЯП ObjectPascal, а не просто процедурный олдовый Pascal
Delphi сейчас всё равно самое лучшее что есть для Паскаля, скорее всего, не знаю каких либо аналогов этому творению, хотя и слабенько по сравнению с другими средами разработки, особенно если сравнивать со средами JetBrains. Ну и Pascal по синтаксису кода менее удобный и более времязатратный, чем Си-подобные языки - это как один из факторов, почему он не столь популярен и его не развивают почти

Добавлено (25 Августа 2019, 20:48)
---------------------------------------------
Цитата drcrack ()
проще говоря, язык остановился в развитии 15 лет назад

Цитата Otinagi ()
Стабильность (:


Однако чисто в теории не всё так далеко и ушло. Любые технологии можно воспроизвести и тут, но на это уже потратили время, и наверно незачем.
Хотя меня и пугают вещи, которые происходят, например с разработкой сайтов и "современными технологиями" - когда программист от неумения, или нехватки времени перегружает сайт в несколько раз тяжёлыми библиотеками, большая часть функционала которого нахрен ему не нужна, а то что нужно можно и самому в короткие сроки воспроизвести. Не весело же когда 1 страничка выкачивает 10мб трафика, а на ней ничего нет почти. Тоже самое что писать крестики нолики в Unity, за неимением опыта OpenGL и какого нибудь языка, например C++. Лишние затраты, лишняя нагрузка, хоть и с новыми компами этого никто не заметит, а вот лет 20 назад по шапке бы настучали за такое. Сейчас мало кто думает об оптимизации, на тот же рынок игр посмотреть...

Добавлено (25 Августа 2019, 20:53)
---------------------------------------------
Цитата Xakep ()
для realtime GC всегда плохо и даже линтер в Java ругается на создание Rect или Point внутри основного цикла, любой GC останавливает все потоки для сборки, какие-то релазации останавливают чтобы только пометить память и освободить в отдельном потоке, какие-то и вовсе останавливают все потоки пока не освободят память, плюс ко всему делается дефрагментация памяти, после дефрагментации памяти для всех переменных нужно обновлять адреса и опять же без остановки всех потоков тут никак. В общем все это не будет работать достаточно быстро для realtime систем, плюс ко всему сами классы очень жирные в Java и очень плохо кешируются в процессоре (да и классы в принципе кешируются везде плохо), поэтому Java не сильно и прижился ни в играх ни в десктопе, за некоторыми исключениями (IDEA, Minecraft), потому-что писать оптимизированный софт на Java сложно. Зато на серверах Java зашел на ура, там всегда узким местом была не память, а БД и сеть.
Конечно в 2019м году железо достаточно быстрое, чтобы не беспокоиться о таких вещах в каких нибудь инди проектах (хотя и от инди проекта зависит, первые версии майнкрафта постоянно фризились), но там, где нужна максимальная производительность Java плохо подходит.

Основная причина почему Java есть то что он есть, и почему всё так в нём, а не иначе)


Сообщение отредактировал ShortKedr - Воскресенье, 25 Августа 2019, 20:54
nikolas-zДата: Воскресенье, 25 Августа 2019, 21:58 | Сообщение # 71
был не раз
Сейчас нет на сайте
Цитата Otinagi ()
Но сразу хочу сказать, что никогда никого не заставлял учыть и писать на Делфи (как и на каком-нибудь другом языке), хоть и через мои руки прошло достаточное количество студентов. Я счытаю, что под каждую конкретную задачу подходит какой-то свой конкретный язык. Поэтому всегда перед написанием программы я трачу некоторое время, чтобы выбрать максимально подходящый ЯП. Я и на ассемблере до сих пор часто пишу, например, когда нужно дешыфровать

Судя по всему, сэр, вы и по русски с трудом глаголете. Студенты? У вас? Нда... А что вы преподаёте, сударь? Уж не программирование ли? Может, еще какой-нибудь спецкурс ".. Ребята нахрен Lazarus и FreePascal Go Delphi6 вот это шняга на все времена"...
Извините, иногда срываюсь, читая местный бред.... Но редко...


Под лежачий камень... мы всегда успеем.
TimKruzДата: Воскресенье, 01 Сентября 2019, 04:47 | Сообщение # 72
старожил
Сейчас нет на сайте
Цитата drcrack ()
проще говоря, язык остановился в развитии 15 лет назад

Я таки не понимаю, какое развитие может быть у языка программирования? Кроме исправления багов в компиляторах...
Нет, ObjectPascal/Delphi и FreePascal/Lazarus развиваются. Конечно, не так быстро, как всякие си, но есть ли смысл добавлять кучу лишнего мусора в язык, в котором и так есть всё необходимое для хорошей жизни?

Цитата ShortKedr ()
Ну и Pascal по синтаксису кода менее удобный и более времязатратный

Если тебе Pascal кажется неудобным и времязатратным по синтаксису, то ты просто не знаком с языком Ada.
Вот у Ada синтаксис, ИМХО, самый лучший, лучше Pascal. Да и в целом она строже, как Pascal на максималках...
Только по производительности не очень и изучать трудно, трудно найти нужную информацию...

Цитата nikolas-z ()
Судя по всему, сэр, вы и по русски с трудом глаголете. Студенты? У вас? Нда...

Судя по всему он белорус, и если его родной язык белорусский, то вполне очевидно, почему ему трудно даются некоторые элементы русского языка.

Цитата ShortKedr ()
FreePascal всё таки компилятор, сам язык называется ObjectPascal.

Free Pascal - современный диалект Object Pascal, т.е. отдельный ЯП.
Компилятор Free Pascal называется FPC (Free Pascal Compiler), и он умеет в разные диалекты в режиме совместимости.

Цитата Ordan ()
у дельфи помимо классов есть такая штука как "Record", у него функционал как у класса, однако его не нужно ни создавать, ни удалять

Record не является аналогом класса.
Record - сложный тип данных, как string или array. Только настраиваешь самостоятельно.
Class - эволюция object из старого Object Pascal (да, раньше была другая реализация ООП), позволяет объединять процедуры-функции вместе с данными, определяется как ссылка. Кстати, старые object создавать тоже не нужно было, но точно не помню, это устаревший функционал.

Т.е. record - сложная переменная для данных, а class - пачка методов, которые могут владеть данными.
Хотя в принципе процедуры могут быть представлены как данные (ссылки), но это всё-таки совсем разные вещи.

Цитата Ordan ()
К примеру если я создам массив из миллиона Record, а потом изменю размер массива до 10, то вся память сама освободится и никакого гемороя

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

И таки нельзя забывать, что переменные типа record можно создавать динамически, т.е. через New(), удаляя через Dispose(). Вот тут-то можно получить утечку, если забыть Dispose() и потерять ссылку...

Кстати, с помощью динамически создаваемых record можно делать какие угодно динамические структуры данных - стеки, очереди, деревья и т.д. Т.е. тип record может содержать в себе ссылку на тот же тип record, очень удобно.

И для сравнения: массив из миллиона class будет изначально содержать указатели на nil (аналог null). Ты в этих указателях можешь хранить ссылки на экземпляры классов, которые совсем не обязательно освобождать при уменьшении массива - ведь они могут использоваться где-то ещё. По сути, ты должен воспринимать массив как набор ссылок на объекты, а не как набор объектов - удаление массива ведёт к потере ссылок и ничего не говорит о состоянии объектов (которые, вообще-то, могут быть освобождены сборщиком мусора, если на них больше нет активных ссылок, но это не точно).

Цитата drcrack ()
просветите, какие у него вообще есть преимущества перед актуальными языками типо Java/C#/C++?

Ну если ты сомневаешься, то для тебя - никаких.
Меня больше интересует, какие преимущества есть у Java/C#/C++, если их синтаксис отвратителен, стиль кода ужасен, первые два сидят на медленных виртуальных машинах (совсем не Forth), и они не предоставляют ничего уникально нового по сравнению с любым другим языком. Единственный сомнительный плюс - производительность C++, но кому нужна производительность кода, который невозможно безболезненно прочитать человеческими глазами? Эдак лучше на Ассемблере писать, ещё быстрее получится, и никаких лишних синтаксических гадостей не будет.

Цитата drcrack ()
ну так и в Java/C# тоже нет проблем с памятью

Нет контроля над памятью - нет проблем с памятью, так что ли?)
Можно ли в Java/C# вручную адресовать какой-то блок памяти? Вряд ли, они же на виртуальных машинах, абстрагируются от доступа к реальному железу... Можно сказать, что памяти у Java/C# вообще нет))




Сообщение отредактировал TimKruz - Воскресенье, 01 Сентября 2019, 04:49
ShortKedrДата: Воскресенье, 01 Сентября 2019, 07:22 | Сообщение # 73
Renword Studio
Сейчас нет на сайте
Цитата TimKruz ()
Если тебе Pascal кажется неудобным и времязатратным по синтаксису, то ты просто не знаком с языком Ada.
Вот у Ada синтаксис, ИМХО, самый лучший, лучше Pascal. Да и в целом она строже, как Pascal на максималках...
Только по производительности не очень и изучать трудно, трудно найти нужную информацию...

Давай вспомним теперь машинный язык и сравним с ним Ada, так сказать возвращаясь к корням, максимальным возможностям и максимальному изврату.

Если вы не знакомы с Си подобным языком по синтаксису, конечно не поймёте его преимуществ для программиста. Я 2 года сидел на object pascal, после чего перешёл к C#, Java и C++. И что я могу сказать - эти языки гораздо удобнее и приятней для комлексной разработки чего-либо, будь то игры, приложения, сетевые приложения и т.д

Добавлено (01 Сентября 2019, 07:37)
---------------------------------------------
Соглашусь, что pascal не отстал в развитии как язык, чего нельзя сказать о средствах разработки с ним связанные и их популярности. Си подобные языки уже давно вытеснили pascal, по понятным причинам(писал выше)

Вообще говорить что вот твой язык лучше всех, а остальное гумно - не есть хорошо. У всего есть своё применения и не будет программист, который знает допустим C++ и JS писать веб игру на c++ с различными костылями и прочим непотребством. Вместо С++ в этом конкретном примере можно поставить и Pascal. И речь тут не идёт о движках где можно писать на плюсах веб игру и т.п.


Сообщение отредактировал ShortKedr - Воскресенье, 01 Сентября 2019, 07:40
afqДата: Воскресенье, 01 Сентября 2019, 12:30 | Сообщение # 74
Разработчик
Сейчас нет на сайте
Я в какой то книге читал такое, что в вузах преподают паскаль. Даже книжки столярова начинаются вроде с паскаля. Видимо его легче выучить, чем си. Но всё же потом в вузе учат си. Так что если вы выучили паскаль, то переходите на си. А потом после си, уже можете на любой другой язык переходить. Паскаль вряд-ли мёртв. Но если вы хотите зарабатывать деньги на программировании, то лучше учить другой язык.
drcrackДата: Воскресенье, 01 Сентября 2019, 12:58 | Сообщение # 75
старожил
Сейчас нет на сайте
Цитата
Нет контроля над памятью - нет проблем с памятью, так что ли?)
Можно ли в Java/C# вручную адресовать какой-то блок памяти? Вряд ли, они же на виртуальных машинах, абстрагируются от доступа к реальному железу... Можно сказать, что памяти у Java/C# вообще нет))

насчет Java не скажу, в C# есть указатели которые покрывают 99% задач по прямой работе с памятью
по сути единственное что нельзя сделать стандартными средстами — напрямую передать управление по какому-то адресу

Цитата
первые два сидят на медленных виртуальных машинах

что значит медленных? ты куда-то торопишься? или в твоих проектах фпс упирается в производительность виртуальных машин?

Цитата
Эдак лучше на Ассемблере писать

лучше писать код на ассемеблере чем глупости на форумах)

PS
прекратите насиловать труп
доля паскаля на рынке языков программирования меньше чем доля линукса на десктопах
я сам когда-то сидел в дельфи 6-7 но язык давно устарел и непригоден для разработки
XakepДата: Воскресенье, 01 Сентября 2019, 13:02 | Сообщение # 76
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата ShortKedr ()
Соглашусь, что pascal не отстал в развитии как язык, чего нельзя сказать о средствах разработки с ним связанные и их популярности. Си подобные языки уже давно вытеснили pascal, по понятным причинам(писал выше)

В общем-то язык программирование - это не только сам язык, это и инфраструктура, различные библиотеки, инструменты по управлению зависимостей итд. Не уверен как там сейчас обстоят дела, но сильно хуже чем в том же C/C++.

Цитата ShortKedr ()
У всего есть своё применения и не будет программист, который знает допустим C++ и JS писать веб игру на c++ с различными костылями и прочим непотребством

Это да, но на C++ таки можно писать веб игру без костылей, сейчас вроде как WebAssembly есть.
ShortKedrДата: Воскресенье, 01 Сентября 2019, 13:38 | Сообщение # 77
Renword Studio
Сейчас нет на сайте
Цитата Xakep ()
Это да, но на C++ таки можно писать веб игру без костылей, сейчас вроде как WebAssembly есть.

Это я для примера написал. Популярнийший движок JS V8 же на С++ написан, это не удивительно поэтому, да и потом, всякий код можно перевести почти во всякий язык без проблем. Тут только вопрос о качестве перевода)

Добавлено (01 Сентября 2019, 13:49)
---------------------------------------------
Цитата drcrack ()
PS
прекратите насиловать труп
доля паскаля на рынке языков программирования меньше чем доля линукса на десктопах
я сам когда-то сидел в дельфи 6-7 но язык давно устарел и непригоден для разработки

Справедливо)

Цитата TimKruz ()
Единственный сомнительный плюс - производительность C++, но кому нужна производительность кода, который невозможно безболезненно прочитать человеческими глазами? Эдак лучше на Ассемблере писать, ещё быстрее получится, и никаких лишних синтаксических гадостей не будет.

Ну так делай вставки кода Ассемблера)))
Такое ощущение, будто вы лингвист и для вас увидеть begin...end в куче слов проще чем два символа "{" и "}". Скорее всего вы просто не привыкли к такому ну или мы не люди, не знаю)

Поставить кавычку во много раз быстрее чем написать begin, объявить переменную в нужном месте гораздо быстрее, чем скролиться в начало блока для объявления. Код читается просто и без напрягов


Сообщение отредактировал ShortKedr - Воскресенье, 01 Сентября 2019, 13:53
DimaLinkДата: Воскресенье, 01 Марта 2020, 12:26 | Сообщение # 78
почетный гость
Сейчас нет на сайте
Не прошло и года, качнул себе DarkBasic,FreePasca из интереса. Осталось, хотя бы Хеллоу Ворлд на них сделать).
afqДата: Воскресенье, 01 Марта 2020, 15:20 | Сообщение # 79
Разработчик
Сейчас нет на сайте
ShortKedr, не знаю как pascal, но скорее всего как и delphi, но я думаю что в каком то смысле такой язык создавался по подобию ассемблера, но только по одному подобию. это что все переменные объявляются в начале функции. так же и в ассемблере. выделяешь стэк для переменных и указателей, а потом остальное код.
drcrackДата: Воскресенье, 01 Марта 2020, 17:20 | Сообщение # 80
старожил
Сейчас нет на сайте
паскаль создавался для обучения студентов, отсюда и синтаксис на основе английских слов, чтобы было понятно и не надо было запоминать значения всех скобочек и звездочек, и общая строгость во всем, чтобы был только один правильный вариант и люди не забивали голову тем, что для начального обучения не важно (типо блока var или procedure/function и т.д.)

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


Сообщение отредактировал drcrack - Воскресенье, 01 Марта 2020, 17:22
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Паскаль мертв? (Object Pascal)
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг