Мне интересно можно ли на PABC.Net разработать игру или довольно хороший софт? В случае с разработкой игры интересует насколько хорошей ее можно сделать, насколько сильно позволит ваш PABC.Net в этом? Если ли ограничения в этом деле?
На киберфоруме есть пара игрушек реализованных на PABC.NET Полезные коды для PascalABC.NET - PascalABC.NET
Какой в этом сакральный смысл? 3D-игры пишут на готовых движках, чтобы получать нормальный fps. Вы какой fps собираетесь получать, управляя видеокартой из-под .NET ?
Т.е. можно, конечно, построить дом, не покупая стройматериалы, но для этого придется строить соответствующие фабрики самому. Найти глиняный карьер, построить рядышком кирпичный заводик…
Быстро или медленно - это в 3D как раз и есть fps. Вы уж определитесь…
Он опережает в чем? Во времени выполнения Вами написанных программ? Во-первых, это всего лишь какие-то Ваши конкретные программы. Можно легко написать в ABC такую программу, что Free Pascal просто “уйдет в себя”, а ABC за пару секунд даст результат. Дело в классе задачи и в умении использовать те или иные средства конкретной реализации языка. Поэтому, когда используете термин “лучше” в отношении какого-то компилятора, всегда делайте оговорку, что лучше не “вообще абстрактно”, а для конкретных задач, конкретно Вами написанных.
К паскалю можно прикрутить игровые движки:
Поищите там и другую инфу.
Проблема здесь не в паскале, а самом движке. Обычно они непростые и требуют изучения. Работать они будут, но есть ли в этом смысл?
разработать игру Большая программа 5000 строк кода fps не главное, надо протестировать, быстро ли будет работать игра на .NET платформе
Зашел тут на свой любимый форум, и сразу же сломался. Зачем так?
А если по сабжу, нарисовать спрайтов и подвигать можно хоть на кубейсике. А вот сделать так, чтобы результат был кому-нибудь нужен - для начала посоветую познакомиться с С++, а затем почитать Unreal Engine. Ну, можно еще присоединиться к сообществу ЛГБТ и использовать Unity. CRYENGINE тоже из православных.
Заметим, что поддержка C# в некоторых из них есть(cry), но в виде расширения к Visual Studio, так что интереса оно представляет чуть менее чем совсем никакого в данном контексте. Не забудем еще того, что и работать оно будет медленнее - выбирая платформу .NET, автоматически получаешь тормоза в комплект. А что касается PABC.NET… Да, наверное, какие-нибудь самодельные движки, написанные такими же/чуть умнее умниками, использовать получится. Только процентов 99, что это программирование никаким образом не будет отражать реальные проблемы геймдева, и придется к тому же дебажить и править эти самые самоделки(т.к. они никому не нужны, и никто их по серьезному не использует).
Игровой движок, написанный для Free Pascal, особенно если он написан руками не курильщика, будет использовать низкоуровневое API используемой платформы для максимальной производительности, т.к. не ограничен в возможностях платформы(язык компилируемый, и не использует виртуальную машину AFAIK). .NET такими возможностями не обладает, и поэтому портировать его никому бы и в голову не пришло - придется переписать самые сложные и критические системно-зависимые участки кода, которые к тому же в новой версии должны работать хотя бы не в два раза хуже по производительности…
Нет, castle-engine никто никуда не портировал. Ищите в сторону движков, разработанных изначально с поддержкой платформы .NET(лучше - исключительно с поддержкой .NET). Потом можно подтянуть скомпилированные .dll-сборки, и использовать их хоть в C#, хоть в F#, хоть в PABC.NET.
Как думаете, автор вот этой презентации нам нагло врет? На странице 8 читаем: “PascalABC.NET опережает Free Pascal по скорости выполнения программ на большинстве тестов.” Эту презентацию немного подлатали, до этого там было еще сравнение с С++ - практически один к одному… Вот у меня почему-то нет причин автору не верить. А у Вас, как следует из процитированного выше, видимо есть? Были прецеденты?
Мда… Значение слова “чувак”: открываем и читаем, в частности вот что:
А вот народы Азии так называют молодого кастрированного барана или козлика. В жаргонном варианте отталкиваются как раз от этого варианта словообразования, поскольку так исторически сложилось, что подавляющее большинство словарного запаса воров и злодеев имеют яркую сексуальную окраску…"
Наверно, все же стоит подумать, прежде чем так публично обращаться к незакомому человеку.
Ну, это дело сугубо российское/СНГшное. Проблема в том, что учителя информатики в школах(да и в университетах некоторых, чего уж тут говорить) забальзаковского возраста, и в его силу совершенно не хотят изучать ничего современного. Чтобы сократить “разбег” между современным программированием и доисторическим, я так полагаю, и был создан PABC.NET - Питон, к примеру, мог бы выполнять 99% функциональности ни разу не хуже, IDE/модули вроде GraphABC вполне можно написать или даже найти неплохие готовые. Действительно, и приходящим студентам, и школьникам гораздо проще изучать что-то новое и современное именно таким образом, если есть некоторая база старого Паскаля, внушенная старыми преподавателями. Для этих старых преподавателей, опять таки, переход происходит гораздо плавнее, нежели на любой другой язык. Паскаль - на самом деле отсталый от жизни язык, т.к. его уже полтора десятка лет никто толком не использует при разработке реальных проектов, а именно это необходимо для полноценного развития языка. Ну, я тут не шучу. То, что находятся энтузиасты, которые таки приводят это в продакшен(сайт с паскаледевелопментом), скорее, во-первых, исключение, а во-вторых - в основном, проблема, т.к. для такой разработки специалистов будет очень мало, что чрезвычайно неэффективно для менеджмента компании(уйдет такой паскалепрограммист из компании, понаписав ~1kk строк кода за пару лет, и никто потом этого добра не разгребет).Программиста на Python/Java/C++/JavaScript/Node.js/Ruby/[нужное_вставить] найти проще, и особенных преимуществ, помимо религиозных(а именно это движет старой школой) Паскаль не дает.
В Европе/Америке этого не происходит, т.к. там учительская/преподавательская база обновляется значительно быстрее, и стагнирующий курс/учитель/преподаватель долго не протянет - там за эту работу платят, а у нас работают “по призванию”… К сожалению, именно эти “призванцы” в большинстве случаев уверены, что знают все лучше всех, Единственный Правильный Путь, и попытка заставить их выйти из “зоны комфорта” может привести к чему угодно, только не к изменению учебного курса.
Как мне кажется, для различных вариантов Паскаля есть такие пути развития событий:
Delphi: развивается, забыта, не нужна, стоит бешеного бабла. Пользуется некоторым количеством энтерпрайза, в основном для поддержки легаси-кода(по ссылке). Умрет, как только этот небольшой набор компаний куда-нибудь денется. Free Pascal: мертворожденный проект с претензией на кроссплатформенность и продакшен. Слышали о нем только пара олимпиадников, да преподаватели. Вот пример того, почему он мертв. А их много… Лазарус за убогость не клевал только ленивый. Borland/Turbo Pascal: этим семидесятилетним учителям информатики пора идти на пенсию. PABC.NET: Выполняет функциональность “моста” между Turbo Pascal и современными языками программирования, ради чего и нужен. За пределами этого неинтересен, и интересу этому просто так не возникнуть - .NET-языки, за исключением C#, даже у Microsoft толком пиарить не получается(F# 32й в списке популярности)…
Не надо полагать, для чего был создан этот паскаль: его головной разработчик вот тут подробно об этом говорит - и почему именно паскаль, и почему именно такой.
Паскаль, безусловно, в коммерческих проектах практически не используется и об этом открыто говорят его разработчики (все та же ссылка, что и выше). Но вот по поводу TIOBE - это очень спорный критерий. TIOBE - это индекс цитируемости, т.е. величина, показывающая насколько много и часто о том или ином программном средстве упоминается в СМИ и приравненных к нем источниках. Понятно, что если С++, к примеру, обладает миллионами “дремучих загогулин”, в них часто будут ловиться и много об этом писать. Т.е. наряду с действительно популярным ПО в TIOBE будут попадаться языки, на которых приходится работать в силу тех или иных причин, какими бы заковыристыми и неудобными они не были. Более верно, по-моему, смотреть на ресурсах, связанных с трудоустройством - куда больше всего нужны разработчики.[quote=“JediKnight, post:20, topic:1502”] Delphi: развивается, забыта, не нужна, стоит бешеного бабла [/quote]
Дельфи - закрытый Борландом коммерческий проект и он уже ничего не стоит, поскольку с сопровождения снят.
А вот это верно.
@RAlex Delphi ~ RAD Studio, в таком контексте. Как горшок не назови… Что касается TIOBE - да, конечно, 100%-корректного рейтинга он не дает. Но суть вопроса темы там все-таки отображается: Паскалем там и особенно и не пахнет, а мелкие дергающиеся время от времени проценты дельфей есть медленный но верный процесс, понятно, какой. @EvolutionPixels Гхм. И что? На дельфи в хорошие годы много софта написали - если не ошибаюсь, кстати, чрезвычайно популярный Windows Commander, ставший Total’ом впоследствии. То, что есть написанный софт, никак не говорит о популярности языка. D? А какие кардинальные преимущества он мне перед С++ даст(я на нем деньги зарабатываю)?^^
Вы просто не умеете писать на С/С++, я полагаю.
Как человек, имеющий непоследнее отношение к ААА гейм-индустрии в общем и к Remedy Entertainment в частности, могу сказать, что Northlight engine (Quantum break) написан преимущественно на С++. К тому же это пример довольно плохого движка, так что на рекламу D он не тянет.
В научных работах до сих пор активно используется фортран
Подтверждаю
И в инженерных расчетах ему пока тоже нет реальной альтернативы.
Я просто тихо ненавижу этот язык C++. Си мне гораздо ближе и мене мозго выносящий. Холивар дальше продолжать не буду, сил и нервов не хватит спорить. Язык каждому свой нравится и тут уж спорить незачем.
Как довольно хорошие и развивающиеся на стадии альфа-бета версий есть такие движки для языка D - http://dash.circularstudios.com/ - https://github.com/gecko0307/dgl - https://github.com/gecko0307/atrium Если интересно глянте, но не надо после этого что-то говорить типо C++ лучше. Для меня язык C++ самый неудобный из компилируемых.
Я уже сказал с вами я холивар на эту тему не продолжаю все. Использую то что мне нравится и все.
Если вы так свято в это верите то почитайте это https://geektimes.ru/post/280272/ и это https://www.linux.org.ru/forum/development/12413943 - в последней ссылке есть все необходимые ответы от пользователей. Да новый Vulkan хорош, но что-то я на нем много игр то не нашел (где его новая популярность?). А про DirectX вообще говорить нечего, он не кроссплатформенный (Windows only), так что он отпадает а Vulkan да подойдет. Нашел список игр на Вулкане но чет мало http://pluggedin.ru/open/tablica-igr-s-podderghkoy-API-Vulkan и вот еще http://www.amd.com/ru-ru/markets/game/technologies мда если так пойдет то Вулкан сольется быстрее чем OpenGL.
Я имею доступ к информации от nVidia и AMD driver teams в рамках BDP (benchmark development process) и знаю, что они собираются поддерживать, а что — нет. В драйверах будет сохраняться legacy-поддержка OpenGL и nVidia возможно некоторое время будет продолжать добавлять новые функции в виде проприетарных расширений. Кстати, на проходящих в данный момент GDC и MWC Khronos заявлений об обновлениях OpenGL не сделали.
Direct3D 12 и Vulkan (и, кстати Metal) очень похожи, но HLSL более удобен, в сравнении с GLSL и пока отсутствуют хорошие компиляторы Spir-V -> HLSL, им будут ограниченно пользоваться. Игр мало, т.к. архитектура движков для D3D12/Vulkan очень отличается и компаниям требуется время, чтобы реализовать новые рендеры. Иными словами, сложность программирвоания графики ОЧЕНЬ выросла. Кстати, у D3D12 есть одно серьезное преимущество перед Vulkan помимо HLSL: когда вы пишете под D3D12 вы пишете код “практически” совместимый с XBox One.
Давайте на этом оффтоп закончим. Вы можете пользоваться, чем хотите, разумеется.