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 ★★★★
()
Ответ на: комментарий от vertexua

Или на Python, но я в нем не силен

vertexua ★★★★★
() автор топика
Ответ на: комментарий от 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 ★★★★★
()
Ответ на: комментарий от vertexua

костылей и нюансов там горы

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

jtootf ★★★★★
()

Весь тред не читал. Кресты нужны, на них писать куда удобнее. Товарищей, которые предлагают 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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.