LINUX.ORG.RU

OpenGL: Python vs C++


1

4

Поступил заказ написать за неделю приложение с шейдерами, но в общем и целом вполне выполнимое за данный срок. Клиент требует или C++ или Python. Вот и думаю, у обоих подходов есть недостатки лично для меня

Python

  • Я новичек. Писал на Python несколько раз. В то же время писал код на еще десятке ЯП, потому думаю что после прочтения парочки мануалов получится достаточно хорошо. Но не как у Python разработчика.
  • Питаю ненависть
  • Python и в Африке Python, потому под виндой нужно будет один раз запустить и удостовериться что работает
  • Производительность ЯП не имеет значение, так как все загонится в буферы в GPU и буду просто иногда дергать Draw.
  • Легко можно профорсить клиенту PyGtk, PyQt, SDL и не будет маразма с виндовыми API

C++

  • Тут качество кода будет выше. На С++ я писал много.
  • Питаю ненависть
  • Могут заставить поставить винду и писать в студии. На WinAPI o_O. Умею. Не хочу. Я бы лучше в уютном быдлолинуксе все сделал, потом пересобрал все под виндой. Даже если я так сделаю, то ядреный ад с GCC на винде, которой у меня даже еще нет.
  • Адовый dance со сборкой, жонглированием с библиотеками. Я вообще по большому счету не знаю как правильно интегрировать PyQt, PyGtk, SDL со студией.

Не знаю что выбрать. С++ ненавижу, это просто пошлый язык. Python придется учить для того чтобы написать недельный проект. И по-моему клиент хочет начать прямо сейчас.

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



Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от shty

Ну ты знаешь, и паскаль юзают, только это исключение а не правило. Короче пусть тс сам думает, может там действительно заказчик шаристый и знал о чем говорил упоминая питон.

lorovec
()
Ответ на: комментарий от lorovec

Юзают. Для квестовой логики и прочего. А движков целиком на шарпе я тоже не видел

Zorn
()
Ответ на: комментарий от lorovec

и паскаль юзают, только это исключение а не правило

вот ты флюгер (только что говорил что не юзают, а теперь уже юзают оказывается), и это уже статистика

shty
()
Ответ на: комментарий от shty

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

lorovec
()

Python

Питаю ненависть

C++

Питаю ненависть

Тяжелый случай. Выбирай то, что любишь.

ymuv
()

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

aptyp
()
Ответ на: комментарий от lorovec

С чего бы это вдруг? Лето, нечего халявы ловить:-)

aptyp
()
Ответ на: комментарий от lorovec

Да ТС не сказал, что за проект, что должен делать. Может ему готовый движок взять (ogre, там) с питонообертками и вперед.

Zorn
()
Ответ на: комментарий от Zorn

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

vertexua
() автор топика
Ответ на: комментарий от Zorn

Может ему готовый движок взять (ogre, там) с питонообертками и вперед.

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

lorovec
()
Ответ на: комментарий от lorovec

на крестах то кросс-платформенно? Не смешите меня. Для каждой ос придется переписывать, это не считая процессоры, он не далеко от ассемблера ушел, собственно по этому и не умер еще.

Кривыми руками и для одной платформы написать не получится.

2ТС:
Думаю плюсы будут лучше: вы их знаеете (ну говорите, что знаете), поддержка проекта на плюсах будет проще (если проект не сдохнет раньше).

andreyu
()
Ответ на: комментарий от lorovec

Сишарп это будущее, гаймдева по крайней мере.

Ага, особенно на консолях и мобильниках. Шли бы вы отсюда.

andreyu
()
Ответ на: комментарий от lorovec

вот тупо возьмем задачу перевести int в string

Ну да, в вашей некомпетентоности виноват именно C++.

andreyu
()
Ответ на: комментарий от lorovec

факт в том, что написать на крестах пулучится с сотней библиотек, без них кресты подходят лишь для сравнения 2>0, все

Так толсто, что даже тупо.

не одного не видел еще, кто бы кресты без того же боста юзал.

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

p.s. Вам бы в школу сходить или спеллчекер настроить.

andreyu
()
Ответ на: комментарий от lorovec

Ну в этой структуре работаю, так что аналитики лора мне по одному месту.

Уборщиком?

andreyu
()
Ответ на: комментарий от lorovec

Ты вообще вкурсе, что говорить о проекте запрещается контрактом? Этим занимается специальный отдел, создающий социальное мнение.

Это пестец.

andreyu
()
Ответ на: комментарий от ymn

а что вы напишите в резюме после окончания работы: «работал работу на работе»?!

Это пять :)

andreyu
()
Ответ на: комментарий от lorovec

я джабера не имею, это из среды линукс что для меня ново в целом.

А наличие мозга в голове для вас тоже что то новое?

andreyu
()
Ответ на: комментарий от Hertz

клепают, если есть инструментарий для нужной платформы. если его нет, а форт очень хочется впихнуть — пишут свой интерпретатор на сишечке, благо у форта (как и у лиспов) синтаксис простой.

ymn
()

Нарыть пример приложения c opengl, шейдерами и настроенной системой сборки.
Дописать нужный код.
Профит.

Язык при этом уже не важен.

//Тред не читал.

Biga
()
Ответ на: комментарий от vertexua

написать за неделю приложение с шейдерами

20% на Delphi во времена томагочи

особенно полезный опыт в свете программируемого конвейера

30% на С++, 50% на Java

да хоть на Smalltalk или REBOL

потому нет времени читать сотни книжек

гнать бы тебя в шею с проекта. с любого

jtootf
()
Ответ на: комментарий от jtootf

особенно полезный опыт в свете программируемого конвейера

ололо, ну когда шейдеры появились, тогда естественно с шейдерами, GLSL, HLSL.

30% на С++, 50% на Java

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

гнать бы тебя в шею с проекта. с любого

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

vertexua
() автор топика
Ответ на: комментарий от lorovec

std это по вашему голые кресты?

А System. - это по вашему голые шарпы?

O02eg
()

Весь тред не читал. Кресты нужны, на них писать куда удобнее. Товарищей, которые предлагают XNA можно слать далеко, ибо под крестами можно заюзать тот-же irrlicht/ogre3d.

adamix
()
Ответ на: комментарий от jtootf

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

Кстати, откуда такое сильное жжение в заднем проходе? Вроде ты был нормальным товарищем.

vertexua
() автор топика
Ответ на: комментарий от Virtuos86

Пока клиент не ответил на кучу вопросов.

vertexua
() автор топика
Ответ на: комментарий от vertexua

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

ни слова конкретики

Вроде ты был нормальным товарищем

не люблю идиотов

jtootf
()
Ответ на: комментарий от jtootf

ни слова конкретики

Я тебе тут на экзамене что-ли. Иди читай, список я перечислил.

не люблю идиотов

Откуда все д’Артаньяны беретесь...

vertexua
() автор топика
Ответ на: комментарий от vertexua

Я тебе тут на экзамене что-ли

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

ну да дело твоё, конечно

jtootf
()
Ответ на: комментарий от lorovec

питон в игровых проектах практически не используется

Небольшой такой примерчик: EVE online. Еще список игровых (и не только) проектов, написанных на питоне можно посмотреть здесь. Матчасть подучи.

P.S. ТС, бери тот язык, который знаешь, а говнокод на питоне, который ты забацаешь за неделю никому не нужен, не строй из себя гуру программирования.

Boba_Fett
()
Ответ на: комментарий от placeholder

насколько я помню шарп, это там делается в точности как на крестах.

dmfd
()
Ответ на: комментарий от placeholder

Переведи байт 0x0F в строку «0x0f» на си шарпе, потом о велосипедах послушаю.

В нормальных языках вся эта примитивщина искаропки:

[code=lisp]
CL-USER> (write-to-string #x0F :base 16 :radix t)
«#xF»
[/code]

gensym
()
Ответ на: комментарий от placeholder

и получили «0xf» вместо «0x0f». Представьте хексовый редактор, где между ними есть отличие.

вам не угодишь. не понял про отличия.

[code=lisp]
CL-USER> (format nil «#x~2,'0X» #x0F)
«#x0F»
[/code]

gensym
()
Ответ на: комментарий от gensym

не у меня одного в User line breaks тег code не обрабатывается

Virtuos86 👍
()
Ответ на: комментарий от lorovec

сравни с OCaml: string_of_int(13)

Или с Tcl: $i

Можно на C++ сделать универсальную функцию (для < C++11):

template<typename T>
inline std::string to_string(const T& v)
{
  std::ostringstream S;
  S << v;
  return S.str();
}
И будет to_string(value) для всех типов, для которых определена операция << с ostream. Не вижу проблем.

rymis
()

Специалистам по игрострою и OpenGL ES.
Может быть сможете чем-то помочь в этой теме http://www.gamedev.ru/code/forum/?id=164090

Если необходимо, заведу топик на ЛОРе.

trex6
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.