Форум » Media » Прога » Ответить

Прога

Bloodiness: Тут есть пргограммизды или кодеры? Если идея принципиально новой игры :3

Ответов - 179, стр: 1 2 3 4 5 6 7 8 9 All

Bloodiness: С pygame не прокатит, предвижу.

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

Archi: Bloodiness пишет: С pygame не прокатит, предвижу. ну... кто знает, кто знает c4tnt пишет: И таки да. Как так неудачно можно перегрузить оператор в сях, чтобы это вызвало тонны отладки??? довольно закономерный вопрос))


Bloodiness: >> И таки да. Как так неудачно можно перегрузить оператор в сях, чтобы это вызвало тонны отладки??? В Москве нам давали небольшой тест по проге. Последним заданием давались шесть программ на разных ЯП, в каждой была ошибка, характерная для определенного ЯП. В яве было использование == вместо .equals() для сравнения двух Integer. В сях была штука с перегрузкой операторов. Оригинала теста у меня конечно же нет, но собака там зарылась в том, что перегруженный оператор обладал не тем приоритетом, которым бы хотелось или что-то в этом роде. >> Вся тормознутость явы имеет те же корни, так что тут простой выбор. С тормозами бороться проще. Оптимизация, JIT и мнемоизация(недавно прочитал об этом методе, понравилось) спасут. Да тут еще на помощь приходит профилировщик. Иными словами, у явы уже сотни готовых решений для прикладного программирования. В Си++ конечно есть Qt, но команда Qt, как я слышал, написала слишком много велосипедов. Си++ не предоставляет удобную работу. Я пытался по WorldCpp написать простую прогу с сокетами - хрен там валялся. Проблемы с кодировкой + сама по себе немного дебильная реализация сокетов, которую я не осилил, ибо про себя сказал: "Да пошло оно к чертям!" - И перелез на питон. Как вы например реализуете парсер того же няша на Си++?

c4tnt: парсер, прошу прощения, кого???? С тормозами бороться проще. Чтобы бороться с тормозами, нужна адекватная поддержка со стороны языка. Ни разу не слышал об выровнянном выделении памяти в яве, например. Да и возможности специализировать контейнер тоже нету там, в си она есть, поскольку контейнер пишешь сам. JIT - это всё же злое колдунство, как и любой другой процесс компиляции. Да ещё и сама компиляция занимает некоторое время, а большие программы могут компилироваться довольно долго. Мнемонизация - это, я так понимаю, p-коды. Тут скорее если в скриптовом языке этого нет, то его можно сразу считать нехорошим и негодным в плане быстродействия.

Bloodiness: >> парсер, прошу прощения, кого???? Teh Задание: написать прогу, которая в качестве аргумента принимает число, а возвращает псто с няша соответствующего указанному числу. http://nya.sh/ >> Чтобы бороться с тормозами, нужна адекватная поддержка со стороны языка. Ни разу не слышал об выровнянном выделении памяти в яве, например. Да и возможности специализировать контейнер тоже нету там, в си она есть, поскольку контейнер пишешь сам Вот отсюда и вылетают ошибки. Оно не нужно. Лучше уж предоставить распределение памяти виртуальной машине. >> Да ещё и сама компиляция занимает некоторое время, а большие программы могут компилироваться довольно долго. Это же JIT. От размера программы ничего не зависит. >> Мнемонизация - это, я так понимаю, p-коды. Не знаю, что есть р-коды, но вероятнее всего нет.

c4tnt: Нда... ТЗ, бессмысленное и беспощадное... Вот быстренько налуркал мини-терминал на сях: http://tehnofil.ru/?id=91 Оно не нужно Да, с тормозами бороться не нужно, пусть они нейтрализуют закон Мура и всё будет хорошо От размера программы ничего не зависит. Реальность с вами не согласна А что есть мнемонизация?

Bloodiness: >> Нда... ТЗ, бессмысленное и беспощадное... Мне пригодилось некогда. >> Вот быстренько налуркал мини-терминал на сях: Вот один из примеров, когда я смотрю на код и говорю: "Так пишут только мудаки!" Невменяемые конструкции в примере детектед. Типичный стиль любого плюсиста. >> Да, с тормозами бороться не нужно, пусть они нейтрализуют закон Мура и всё будет хорошо Вы же написали очевидный бред. Я все вел к тому, что бороться с тормозами нужно путем оптимизации, а не рассчитывать на то, что пара сотен лишних миллисекунд ничего не решают. Нужно писать эффективные алгоритмы, а не отмазываться тем, что "мне не дают управление памятью, поэтому все это тормозит!" У явы есть куча рекомендаций по использованию тех или иных структур данных в зависимости от ситуации, а так же несколько правил при разработке десктопных приложений. Конечно находятся те, кто не придерживается их, но им нужно отрывать руки с корнем. >> Реальность с вами не согласна Еще один бред же. JIT не компилирует всю программу, он лишь переводит некоторые циклы и прочие повторяющиеся блоки кода в машинный код, дабы увеличить производительность. Долгая компиляция - это удел больших программ на Си++. >> А что есть мнемонизация? Способ, позволяющий уменьшить время на сложные расчеты, путем заимствования куска оперативной памяти. Например нам нужно написать очень точный синус. Для этого будем считать рядами(пока забьем на то, что готовое решение уже есть в стандартной библиотеке). Расчет рядов - дело трудоемкое. Синус периодичен. Сперва снимем период с аргумента, а потом сделаем так: заводим хештаблицу вида (число;результат), проверяем есть ли там уже этот аргумент в качестве ключа - если нет, считаем и заносим в таблицу, иначе извлекаем из таблицы готовый результат, экономя время.

пожиратель кошек: Зачем объяснять китайцу, что палочками есть неудобно?

Bloodiness: >> Зачем объяснять китайцу, что палочками есть неудобно? Кстати солидарен. Ваши попытки убедить меня, что ява неудобна и тормознута, а Си++ венец творения бессмысленны. Я же сказал, что писать на ней не собираюсь.

Archi: Bloodiness пишет: Ваши попытки убедить меня, что ява неудобна и тормознута, а Си++ венец творения бессмысленны. Я же сказал, что писать на ней не собираюсь. фейспалм же! Какая жаль... Причем явно вот такой.

Bloodiness: >> фейспалм же! Какая жаль... "Какая жаль", но вместо чего-то аргументированного я опять получаю в ответ какую-то ерундень.

Archi: Bloodiness пишет: "Какая жаль", но вместо чего-то аргументированного я опять получаю в ответ какую-то ерундень. Ну ессно, я же ламер. Просто вижу поверхность, а глубже забираться лнь. PS ламер пока. Может быть скоро буду кем то другим... может быть любителем)

Bloodiness: Ну я так сказал, ибо речь о плюсах завел первым не я. Мне тут упорно доказывают, что надо писать на плюсах. А я упорно отказываюсь. ADDED: Ламерство - не преступление. Все начинали дилетантами.

Archi: Bloodiness пишет: Ну я так сказал, ибо речь о плюсах завел первым не я. Мне тут упорно доказывают, что надо писать на плюсах. А я упорно отказываюсь. Не надо, а лучше было бы. Думаю для такого приложения не будет проблем и не будет допущено ошибок. Пусть и время разработки повышенное... Зато, не надо думать как подключать библиотеку или управлять тормознутостью. Ну оптимально же, это очевидно. Bloodiness пишет: Ламерство - не преступление. Все начинали дилетантами. Дада... а я так сказать пытаюсь рассуждать.

c4tnt: Ваши попытки убедить меня, что ява неудобна и тормознута, а Си++ венец творения бессмысленны. Где я утверждал то, что выделено красным??? JIT не компилирует всю программу, он лишь переводит некоторые циклы и прочие повторяющиеся блоки кода в машинный код, дабы увеличить производительность. Но милый кай, ведь у тебя будет в игре фреймцикл, который должен прокручиваться с частотой не менее 60 Hz чтобы злобные геймеры не закидали помидорами... А внутри него будет находиться вся физика, которую нельзя задать изначально и вся графика и даже вся логика - наверняка это весьма большой кусок кода? Или JIT скомпилирует только некоторые места в нём?

Bloodiness: >> Не надо, а лучше было бы. Думаю для такого приложения не будет проблем и не будет допущено ошибок. Пусть и время разработки повышенное... Зато, не надо думать как подключать библиотеку или управлять тормознутостью. Ну оптимально же, это очевидно. В Си++ библиотеки подгружаются просто автоматом. Тормознутостью управлять надо и там и там. Просто в Си++ все сопряженно с головной болью, которую я испытывать не хочу. И это отнюдь не оптимально. ADDED: >> Где я утверждал то, что выделено красным??? Это гипербола. По сути весь диалог ведет к этому. Уж кому как не вам должно быть понятно, что инструмент мной уже выбран, и сколонять меня в сторону другого - бесполезное занятие. К слову, вы знакомы с другими ЯП, отличными от Си/Си++? >> Но милый кай, ведь у тебя будет в игре фреймцикл, который должен прокручиваться с частотой не менее 60 Hz чтобы злобные геймеры не закидали помидорами... А внутри него будет находиться вся физика, которую нельзя задать изначально и вся графика и даже вся логика - наверняка это весьма большой кусок кода? Или JIT скомпилирует только некоторые места в нём? Вы думаете я так хорошо знаком с технической частью? Ошибаетесь. Я не в курсе как поведет себя JIT в этой ситуации, я лишь знаю для чего он нужен. Очевидно, что некоторые участки будут скомпилированны по ходу. А какие именно я не знаю.

Archi: Bloodiness пишет: В Си++ библиотеки подгружаются просто автоматом. Тормознутостью управлять надо и там и там. Просто в Си++ все сопряженно с головной болью, которую я испытывать не хочу. И это отнюдь не оптимально. ну что же тогда делать? Давайте изобретем оптимальный ЯП чтоле

c4tnt: В Си++ библиотеки подгружаются просто автоматом. Без STD в си с плюсами и без оных вполне возможно писать и требовательные игры так и пишут частенько PS. Посмотрел импорт думовской гейм-длл. Там есть только KERNEL32 и всё PPS. Знакомы и видели там те же самые прелести, что и в си. Следовательно читабельность кода зависит не от языка а от программиста, а значит нет смысла вешать всех собак на язык программирования. Я просто говорю о том, что адекватное и быстрое ядро для игры проще сделать на си, нежели на яве или питоне

Bloodiness: >> ну что же тогда делать? Давайте изобретем оптимальный ЯП чтоле Зачем писать велосипед? Python уже есть.



полная версия страницы