Понедельник, 25 Ноября 2024, 04:04

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 7 из 7
  • «
  • 1
  • 2
  • 5
  • 6
  • 7
Подскажите по языку Python
OpenGOOДата: Пятница, 20 Ноября 2015, 16:03 | Сообщение # 121
почти ветеран
Сейчас нет на сайте
Цитата FlyOfFly ()
Лучше(не для времени) написать свой движок на C++ с своим скриптовым языком .MYS и на нём делать игру

Лучше взять чужой и сделать это чужое еще лучше )


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
8Observer8Дата: Пятница, 20 Ноября 2015, 16:18 | Сообщение # 122
заслуженный участник
Сейчас нет на сайте
Цитата Xakep ()
ну да, только вот редактор карт ужасный, придется много докупить на AssetStore, хотя смотря какая игра.

2D карт? Можно использовать бесплатный Tiled Map Editor. Почему много докупать надо? Движок очень гибкий. Можно самому плагины писать.

Потом можно будет даже продавать свои плагины на Assert Store.


Сообщение отредактировал 8Observer8 - Пятница, 20 Ноября 2015, 16:22
GudleifrДата: Пятница, 20 Ноября 2015, 19:38 | Сообщение # 123
почти ветеран
Сейчас нет на сайте
Цитата Xakep ()
в питоне вообще инкапсуляции нету
Я где-то писал, что есть?
Поясню. Инкапсуляция в ООП не равняется ограничению доступа в С++. То, что я имею в виду, см. например, тут: классы используются не для построения модели мира, а для сбора данных отдельных вычислительных модулей в одном месте. Это, по-сути, отдельные, описатели состояния процессов. В C++ такая фигня встречается очень часто (я это называю "стиль ООП - чтоб было"). В принципе, в C структуры тоже используются в этих целях достаточно часто. И почти всегда это избыточно - этакое тяжелое наследие Вирта с его формулой "Алгоритмамы + Данные = Программы".



Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
OpenGOOДата: Пятница, 20 Ноября 2015, 22:44 | Сообщение # 124
почти ветеран
Сейчас нет на сайте
Если в питоне нет инкапсуляции, то значит и ООП в нём нет )

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
GudleifrДата: Пятница, 20 Ноября 2015, 22:56 | Сообщение # 125
почти ветеран
Сейчас нет на сайте
OpenGOO, нормально практически все в Python крутится вокруг понятия объектов, но строить из них "обычное ООП в понимании C++" или что-то иное, например, функциональное программирование, решает сам программист.
Кстати, интересно, почему C++-программисты так любят ООП, хотя обычно используют ОО-возможности С++ в очень усеченном варианте?


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.

Сообщение отредактировал Gudleifr - Пятница, 20 Ноября 2015, 22:57
OpenGOOДата: Пятница, 20 Ноября 2015, 23:50 | Сообщение # 126
почти ветеран
Сейчас нет на сайте
Потому что С++ не чистый ОО язык как С#.

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
GudleifrДата: Суббота, 21 Ноября 2015, 00:12 | Сообщение # 127
почти ветеран
Сейчас нет на сайте
Цитата Gudleifr ()
Кстати, интересно, почему C++-программисты так любят ООП...?

Цитата OpenGOO ()
Потому что С++ не чистый ОО

Пардон, но как-то неочевидно.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
SaiteiДата: Суббота, 21 Ноября 2015, 01:26 | Сообщение # 128
старожил
Сейчас нет на сайте
Цитата Gudleifr ()
Пардон, но как-то неочевидно.

Как раз недавно читал статью "Десять вещей, которые я терпеть не могу в ООП", может быть она вам будет интересна: http://habrahabr.ru/post/169601/
GudleifrДата: Суббота, 21 Ноября 2015, 01:55 | Сообщение # 129
почти ветеран
Сейчас нет на сайте
Saitei, спасибо за ссылку, но у меня все куда проще. Понимаю так:
Использовать ООП для моделирования (и разработки программ сверху вниз) невозможно, т.к. однажды написанную иерархию невозможно исправить, не разрушив. Т.е. я должен написать программу с первой попытки, что возможно только, если она маленькая, либо законспектирована на каком-то другом (не ОО) языке.
Использовать ООП для разработки снизу вверх не имеет смысла, т.к. без него проще, быстрее и короче.

Если говорить "высоким штилем", программа состоит лишь из значений и действий, а любой ЯП добавляет к ним те или иные концепции имен, позволяющие как-то запомнить, к какому значению какое действие применимо. Есть ли среди них полезные? Например, С позволяет из простых значений и действий собирать сложные. C++ предлагает скрывать от программиста устройство подобных сложных объектов. FORTH настаивает на описании семантики концепций именования в явном виде... и т.д., и т.п. Но, самое главное, невзирая на все эти концепции, все ЯП имеют одну и ту же вычислительную мощность. Ни один из них, не может больше, чем другой. Выбор - дело вкуса и/или требование операционной системы.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.

Сообщение отредактировал Gudleifr - Суббота, 21 Ноября 2015, 01:56
AlexRabbitДата: Суббота, 21 Ноября 2015, 10:41 | Сообщение # 130
старожил
Сейчас нет на сайте
Saitei, Я бы Вам порекомендовал ознакомится с вот этим весьма старым ресурсом http://web.archive.org/web/20140705032244/http://www.geocities.com/tablizer/oopbad.htm , в частности с разделом на тему Table Oriented Programming. Там о разности подходов очень хорошо с примерами показано.

Сообщение отредактировал AlexRabbit - Суббота, 21 Ноября 2015, 10:42
GudleifrДата: Суббота, 21 Ноября 2015, 11:01 | Сообщение # 131
почти ветеран
Сейчас нет на сайте
AlexRabbit, это все от лукавого. Все сводится к тому, что если задача сложна, то существует лишь один путь ее решения - написание нового - проблемно-ориентированного - языка. Будет он считать в регистрах, на стеке, в ЭЛТ или в переменных - дело удобства описания задачи.
Кстати, обратите внимание: в большинстве ЯП язык арифметических выражений глубоко чужероден. По сути, "язык операторов" и "язык выражений" это два совершенно разных языка. С разной грамматикой.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
AlexRabbitДата: Суббота, 21 Ноября 2015, 11:10 | Сообщение # 132
старожил
Сейчас нет на сайте
Цитата Gudleifr ()
Все сводится к тому, что если задача сложна, то существует лишь один путь ее решения - написание нового - проблемно-ориентированного - языка.

Ну или выбор существующего под неё максимально близкого (я, с своё время, так пришел к Erlang, когда пришел в телекоммуникации)
Да я согласен, задачей не стояло показать, что какая-то парадигма хуже или лучше. Просто у любой есть свои сильные и слабые стороны. Нет смысла зацикливаться на языке или подходе. В "спорах" и "сравнениях" в заметках выше просто показаны разные подходы с примерами как раз. Возможно, не лучший вариант, но я не отслеживаю более актуальные материалы.


Сообщение отредактировал AlexRabbit - Суббота, 21 Ноября 2015, 11:11
GudleifrДата: Суббота, 21 Ноября 2015, 11:20 | Сообщение # 133
почти ветеран
Сейчас нет на сайте
Цитата AlexRabbit ()
Ну или выбор существующего под неё максимально близкого
Особенно, если он класса BASIC - есть все, что нужно, и не слишком много самокопания.
Я выбор языка связываю, скорее, не с выбором "наиболее подходящего", а с требованием операционной системы. В широком смысле - что есть в системе, что требует начальство и т.п.
Очень болезненно отношусь к постановке на компьютер новых обезьянников, тем более к необходимости их постоянно обновлять. Как бы, ОС, к которой надо еще нужно что-то добавлять для программирования - это зло.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
SaiteiДата: Суббота, 21 Ноября 2015, 14:04 | Сообщение # 134
старожил
Сейчас нет на сайте
AlexRabbit, спасибо за ссылочки, ознакомлюсь :)
Цитата AlexRabbit ()
Table Oriented Programming

Если мне не изменяет память, то в lua придерживаются такой же концепции?
AlexRabbitДата: Суббота, 21 Ноября 2015, 23:00 | Сообщение # 135
старожил
Сейчас нет на сайте
Цитата Saitei ()
lua придерживаются такой же концепции

Не совсем. Хотя на Lua можно программировать в рамках разных парадигм - включая ООП, фунциональный вариант, TOP, и да, там есть так называемые "метатаблицы", но это скорее своеобразный вариант реализации ООП (и они, метатаблицы в свою очередь представлены как объекты, позволяющие в рамках прототипной модели ООП реализовывать множественное наследование, например). По сути там такая же ООП как и в JavaScript (я про современный вариант).


Сообщение отредактировал AlexRabbit - Суббота, 21 Ноября 2015, 23:14
  • Страница 7 из 7
  • «
  • 1
  • 2
  • 5
  • 6
  • 7
Поиск:

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