nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 04:31



Reply to topic  [ 235 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11, 12, 13 ... 16  Next
а не замутить ли нам недосимулятр? 
Author Message
Senior

Joined: 07 Aug 2006 10:18
Posts: 185
Reply with quote
Post 
b2m wrote:
Думал-думал как избавиться от этих функций - никак не придумал. Похоже, это неотъемлемая часть этого метода.
Да, неотъемлимая. Но дело не в том чтобы избавится, а в том чтобы... Ненужный полиморфизм просто. Сбивающий с толку. Но кстати этого можно избежать, если не использовать перегрузку на этих виртуальных методах, то есть давать более подробные названия:
Code:
virtual point_distance(point *p) = 0;
virtual segment_distance(line_segment *s) = 0;
На возможностях API этих классов оно никак не скажется, а вот код методов станет более очевидным.
b2m wrote:
А ещё, не нравилась необходимость объявлять все эти виртуальные и по большей части абстрактные distance(point*),distance(line_segment*),... в базовом классе primitive.
А вот это, как раз, как я понял обдумав, офигенная фишка метода. Все эти методы объявляются в базовом как абстрактные, и если добавляя новый примитив мы, где-то в производном классе забыли дописать метод, то мы получим ошибку компиляции. В том же lisp'е, забывчивость приводит к run-time ошибками. Что не очень удобно данном случае. С тегированием будет то же самое. С DoubleDispatch не скажу -- до конца не дочитал, и не знаю чем там дело кончилось.
Ещё один плюс такого подхода -- нет необходимости ни в rtti, ни в тегировании.
Склоняюсь именно к нему.


16 Sep 2012 03:56
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
bar wrote:
давать более подробные названия:
Code:
virtual point_distance(point *p) = 0;
virtual segment_distance(line_segment *s) = 0;
На возможностях API этих классов оно никак не скажется, а вот код методов станет более очевидным.

А вот это, мне кажется, делать не надо. Чаще всего ты будешь иметь дело именно с указателем на абстрактный primitive. Например список объектов для отрисовки. Поскольку тип примитива неизвестен, то неизвестно и какой из методов надо вызывать. А если метод один единственный, то и проблем нет.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


16 Sep 2012 04:15
Profile WWW
Senior

Joined: 07 Aug 2006 10:18
Posts: 185
Reply with quote
Post 
b2m wrote:
bar wrote:
давать более подробные названия:
Code:
virtual point_distance(point *p) = 0;
virtual segment_distance(line_segment *s) = 0;
На возможностях API этих классов оно никак не скажется, а вот код методов станет более очевидным.

А вот это, мне кажется, делать не надо. Чаще всего ты будешь иметь дело именно с указателем на абстрактный primitive. Например список объектов для отрисовки. Поскольку тип примитива неизвестен, то неизвестно и какой из методов надо вызывать. А если метод один единственный, то и проблем нет.
Всё известно, перегрузка ведь не даёт ничего кроме синтаксических особенностей записи вызова функции. Если у нас есть point* мы можем вызвать point_distance, если есть primitive* мы можем вызвать primitive_distance. А какого именно типа у нас указатель хранит адрес примитива мы всегда знаем.


16 Sep 2012 16:43
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 859
Reply with quote
Post 
bar wrote:
Всё известно, перегрузка ведь не даёт ничего кроме синтаксических особенностей записи вызова функции. Если у нас есть point* мы можем вызвать point_distance, если есть primitive* мы можем вызвать primitive_distance. А какого именно типа у нас указатель хранит адрес примитива мы всегда знаем.

Но, согласись, в основной программе кроме primitive_distance ты ничего другого не будешь использовать. Или ты хочешь отказаться от полиморфизма и хранить объекты каждого класса в отдельных коллекциях (которые хранят указатели на конкретный класс) и потом все пары обрабатывать? :)

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


16 Sep 2012 23:07
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Джентльмены, извините за небольшой оффтоп, но люди вы эрудированные,
а меня вдруг очень заинтересовал следующий вопрос.

А под i8080(Z80) были какие-либо симуляторы электронных схем?

_________________
iLavr


16 Sep 2012 23:21
Profile
Senior
User avatar

Joined: 09 Aug 2012 11:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
Для симуляции не знаю, а вод для разводки дорожек точно было!

_________________
Хочу стать всезнайкой ;-)


17 Sep 2012 02:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
He3HauKo wrote:
Для симуляции не знаю, а вод для разводки дорожек точно было!

Да это все знают - Лэйаут... и его модификации...


А вот были ли какие-либо симуляторы электронных схем под i8080(Z80)?
Пусть даже самые простые...

_________________
iLavr


17 Sep 2012 02:56
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
He3HauKo wrote:
Для симуляции не знаю, а вод для разводки дорожек точно было!

Да это все знают - Лэйаут... и его модификации...


А вот были ли какие-либо симуляторы электронных схем под i8080(Z80)?
Пусть даже самые простые...


Ща сделаем ;)

_________________
:dj: https://mastodon.social/@Shaos


17 Sep 2012 06:49
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Lavr wrote:
А вот были ли какие-либо симуляторы электронных схем под i8080(Z80)?
Пусть даже самые простые...
Ща сделаем ;)

"Верю, ибо абсурдно..." (щютка :lol: )

А серьёзно - под Спецтрумом там или под СР/М?

_________________
iLavr


17 Sep 2012 10:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Lavr wrote:
Lavr wrote:
А вот были ли какие-либо симуляторы электронных схем под i8080(Z80)?
А серьёзно - под Спецтрумом там или под СР/М?

Вот, к примеру, нашарил:

Image

MicroCap 3.0 — написанный на QuickBasic 3.0, который работал на XT.
Говорят, даже шевелился! :o
Значит и для i8080(Z80) может быть не всё так уж грустно? :roll:



PS. Пошустрил я в сети этот Micro-Cap III на Basюc-е - так ведь нету!!! :o

_________________
iLavr


17 Sep 2012 18:02
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Lavr wrote:
А вот были ли какие-либо симуляторы электронных схем под i8080(Z80)?
Ща сделаем ;)

А в принципе, как человек, имеющий опыт - ты как считаешь, ресурсов
популярных 8-биток могло хватить для эмуляции схем, или это всё ж "абсурдно" ?

_________________
iLavr


18 Sep 2012 08:19
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
Lavr wrote:
А вот были ли какие-либо симуляторы электронных схем под i8080(Z80)?
Ща сделаем ;)

А в принципе, как человек, имеющий опыт - ты как считаешь, ресурсов
популярных 8-биток могло хватить для эмуляции схем, или это всё ж "абсурдно" ?


простых цифровых - запросто

а вот SPICE не полетит :)

_________________
:dj: https://mastodon.social/@Shaos


18 Sep 2012 09:10
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
простых цифровых - запросто
а вот SPICE не полетит :)

Сомнения меня гложут несколько... считал я на Васюке "Специалиста" довольно
серьёзные многоконтурные схемы, причем Рунге-Куттом 4-го порядка.
Это было также медленно, как MicroCap 3.0 на ХТ - но считало вполне честно.
Конечно, это не SPICE, но кто сказал, что SPICE - форевер?
Вон этот MicroCap 3.0, оказывается, вобще Эйлером считал... :-?

Кстати - попался мне ещё один не-SPICE симулятор по гнутой лицензии...
Программа анализа электронных схем Xlab 4.0
Xlab 4.0 распространяется бесплатно (GNU General Public License, GPL)
Единственное - что он польский... но мож исходники будут интересны...

_________________
iLavr


18 Sep 2012 09:36
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
про протеус в другом топике:

http://www.nedopc.org/forum/viewtopic.php?t=10110

_________________
:dj: https://mastodon.social/@Shaos


17 Nov 2012 10:22
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
про протеус в другом топике:
http://www.nedopc.org/forum/viewtopic.php?t=10110

А говорил, что в форуме нет такой возможности - отрезать и цеплять в другие топики... :-?

_________________
iLavr


17 Nov 2012 11:09
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 235 posts ]  Go to page Previous  1 ... 7, 8, 9, 10, 11, 12, 13 ... 16  Next

Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.