Подскажите по языку 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 |
|
| |
|