Автор Гілка: Історія програмування в картинках  (Прочитано 4461 раз)

Відсутній Дмитро Ковальов

  • Кореспондент
  • ***
  • дописів: 236
  • Карма: +0/-0
O'Reilly (http://www.oreilly.com/pub/a/oreilly/news/languageposter_0504.html) зібрав і склав до купи інформацію про 50 із 2500 існуючих на сьогоднішній день мов програмування.  І представляє це у вигляді чудового кольорового PDF файлу з різнокольоровими стрілочками, вказуючими на джерела виникнення мов програмування.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3822
  • Карма: +11/-0
  • Програміст
Re: Історія програмування в картинках
« Відповідей #1 : 2004-06-18 14:26:04 »
Delphi пішов від Visual Basic :) , Пітон пішов від Сі та Modula (а не від SmallTalk),...  :-/ Повний капець.
« Змінено: 2004-06-18 14:31:55 від lvm »
[Fedora Linux]

Відсутній Дмитро Ковальов

  • Кореспондент
  • ***
  • дописів: 236
  • Карма: +0/-0
Re: Історія програмування в картинках
« Відповідей #2 : 2004-06-18 17:37:38 »
На схемі вказано, що Делфі походить від БорландПаскаль і В.Бейсік -- абсолютно вірно. Можливо БП більше, ніж ВБ. Те ж саме і Питон -- він не має практично нічого спільного із SmallTalk, крім твердження, що "це повністю ОО мова".

Із схемою все нормально.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3822
  • Карма: +11/-0
  • Програміст
Re: Історія програмування в картинках
« Відповідей #3 : 2004-06-18 18:04:30 »
Delphi - IDE (з мовою програмуваня Object Pascal), Visual Basic - мова програмування (яка напевно пішла від notepad-а ;) ). А якже FreePascal - чому Lazarus-а на схемі нема?

У SmallTalk-а й Python-а дуже багато спільного, особливо коли розглянути Zope - подібний синтакс(хоча в Пітона він значно ближче до Сі-подібного стилю ніж у SmallTalk-a), дуже подібні підходи (особливо якщо розглядати образ якоїсь системи на SmallTalk та образ системи на Zope - Zope технічно інша система, але ідеї у них дуже подібні, проблеми теж).
[Fedora Linux]

Відсутній Satan

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
  • C++ Guru
Re: Історія програмування в картинках
« Відповідей #4 : 2004-06-23 14:59:31 »
На схемі вказано, що Делфі походить від БорландПаскаль і В.Бейсік -- абсолютно вірно. Можливо БП більше, ніж ВБ. Те ж саме і Питон -- він не має практично нічого спільного із SmallTalk, крім твердження, що "це повністю ОО мова".

Із схемою все нормально.

Delphi повністю пішов від VB як RAD система, сам же Object Pascal пішов від специфікації BP із деякими наворотами від C++, хоча наприклад множинного наслідування чомусь уникає ???
Ubuntu 8.04

Відсутній Yaroslav Fedevych

  • Літератор
  • ******
  • дописів: 1069
  • Карма: +0/-0
  • Людина — ніщо, справа — все
Re: Історія програмування в картинках
« Відповідей #5 : 2004-06-23 18:38:24 »
Хм, а комусь реально множинне наслідування дуже потрібне? Хіба щоб пальці віялом, як правило...

Потрібні речі нескладні, складні -- непотрібні. (с) Г. С. Сковорода.

Відсутній Anatoliy

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • Що новенького?
Re: Історія програмування в картинках
« Відповідей #6 : 2004-06-23 21:25:12 »
На схемі вказано, що Делфі походить від БорландПаскаль і В.Бейсік -- абсолютно вірно.

Це від VBasic Delphi, що успадкував? Те, що невеличка програма мишкою може збиратись?

Відсутній Satan

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
  • C++ Guru
Re: Історія програмування в картинках
« Відповідей #7 : 2004-06-23 23:33:24 »
Хм, а комусь реально множинне наслідування дуже потрібне? Хіба щоб пальці віялом, як правило...

Потрібні речі нескладні, складні -- непотрібні. (с) Г. С. Сковорода.

class I2DObject
{
public:
      virtual void CreateObject2D() = 0;
      virtual void DestroyObject2D() = 0;
};

class I3DObject
{
public:
      virtual void CreateObject3D() = 0;
      virtual void DestroyObject3D() = 0;
};

class UniversalObject :
                                    public I2DObject,
                                    public I3DObject
{
public:
      virtual void CreateObject2D();
      virtual void DestroyObject2D();
      virtual void CreateObject3D();
      virtual void DestroyObject3D();
protected:
      // some data requiered to our objects
};

void UniversalObject::CreateObject2D()
{
      // some code
}

void UniversalObject::DestroyObject2D()
{
      // some code
}

void UniversalObject::CreateObject3D()
{
      // some code
}

void UniversalObject::DestroyObject3D()
{
      // some code
}

int main()
{      
      I2DObject *my2D;
      I3DObject *my3D;

      // work with 2D object
      my2D = new UniversalObject;
      my2D->CreateObject2D();
      my2D->DestroyObject2D();

      delete my2D;

      // work with 3D object
      my3D = new UniversalObject;
      my3D->CreateObject3D();
      my3D->DestroyObject3D();

      delete my3D;


      return 0;      
}

Звісно і без множинного наслідування таке реально, але ж наскільки приємніше. Дійсно - ПРОСТО і гарно. Хоча можливо і Object Pascal дозволяє щось подібне - цього я не знаю. Але якщо хтось підкаже, то буду дуже вдячним ;)
« Змінено: 2004-06-23 23:44:34 від Satan »
Ubuntu 8.04

Відсутній Satan

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
  • C++ Guru
Re: Історія програмування в картинках
« Відповідей #8 : 2004-06-23 23:38:09 »

Це від VBasic Delphi, що успадкував? Те, що невеличка програма мишкою може збиратись?

Колесо - теж колись стало великим винаходом.
Ubuntu 8.04

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3822
  • Карма: +11/-0
  • Програміст
Re: Історія програмування в картинках
« Відповідей #9 : 2004-06-24 12:28:52 »

Звісно і без множинного наслідування таке реально, але ж наскільки приємніше. Дійсно - ПРОСТО і гарно. Хоча можливо і Object Pascal дозволяє щось подібне - цього я не знаю. Але якщо хтось підкаже, то буду дуже вдячним ;)
В Яві й об'єктному Паскалі (та багатьох інших мовах) такі речі робляться через інтерфейси - навіщо змішувати зовнішній інтерфейс та реалізацію? І виглядяють такі речі значно приємніше, ніж множинне успадкування.
[Fedora Linux]