
Алексей Ayaye :)
03.03.2017
20:19:42

Проксимов
03.03.2017
20:20:00
Бл*, заканчивайте. со своими указателями, частичными разрушениями, утечками памяти и деструкторами пора в C++ чат

Sergey
03.03.2017
20:20:15

Nikolay
03.03.2017
20:20:20
Какой-то странный питон тут у вас пошел

Google

arisu
03.03.2017
20:20:28

Gnobitel
03.03.2017
20:20:29

arisu
03.03.2017
20:20:34
но зачем этому не учить
когда можно вообще эту особенность исключить

Nikolay
03.03.2017
20:20:43
Деструкторы, виртуальные методы

Алексей Ayaye :)
03.03.2017
20:21:31
как известно, в С/C++ было много способов прострелить себе ногу. поэтому и появились другие языки, в том числе питон. вот мы и вернулись к теме )))

arisu
03.03.2017
20:21:42
а, кстати
вся эта возня с виртуальными методами

Sergey
03.03.2017
20:21:53
питон появился не поэтому, насколько мне не изменяет память)

arisu
03.03.2017
20:22:07
из-за нее deadly diamond еще образовать можно

Sergey
03.03.2017
20:22:22
пример в студию

arisu
03.03.2017
20:22:24
си и кресты убогие языки до невозможности

Sergey
03.03.2017
20:22:49
загуглил deadly diamond

Google

Aragaer
03.03.2017
20:22:53
про плюсы согласен, про С не надо. Он прекрасен в своей простоте

Sergey
03.03.2017
20:22:57
обычная мульти-наследуемость

arisu
03.03.2017
20:22:57
пример в студию
class A {};
class B : public A {};
class C: public A {};
class D : public C, public B {}; // bug
ошибся
не A, а C

Aragaer
03.03.2017
20:23:19
С - простой как кирпич. Если все сделать аккуратно, получается просто, надежно и понятно

arisu
03.03.2017
20:23:20
в последней строчке

Sergey
03.03.2017
20:23:21

arisu
03.03.2017
20:23:34

Sergey
03.03.2017
20:23:46
ну, логично)

arisu
03.03.2017
20:23:59
D имеет базы B и C, у которой по своему экземпляру A
раздельному

Sergey
03.03.2017
20:24:11
ну
где баг?
)

arisu
03.03.2017
20:24:29
в языке

Sergey
03.03.2017
20:24:44
*sigh* это не баг
это наоборот фича; в мире есть однозначный способ множественного наследования

Nikolay
03.03.2017
20:25:11
Это не баг
Это обычное наследование и mro

Google

Aragaer
03.03.2017
20:25:39
а если в A объявлен метод a, то вызывая d.a(), что будет вызвано?

Алексей Ayaye :)
03.03.2017
20:25:46

Aragaer
03.03.2017
20:25:50
А если он переопределен в C, но не в B?

Sergey
03.03.2017
20:25:52
через ::, если я правильно помню

Aragaer
03.03.2017
20:27:30
если б я умел в стикеры... вобщем как все сложно в этих ваших плюсах 8)

arisu
03.03.2017
20:27:34
это в питоне уже ввели
как раз на такие случаи
и весьма удачно)
ну и опять же
это можно было бы резолвить на этапе компиляции!

Sergey
03.03.2017
20:28:47
на всё ответ "legacy"

Gnobitel
03.03.2017
20:28:47

Sergey
03.03.2017
20:29:08
предлагаю js выкинуть и придумать что-нибудь хорошее

Алексей Ayaye :)
03.03.2017
20:29:19

Gnobitel
03.03.2017
20:30:00

Sergey
03.03.2017
20:30:17

Aragaer
03.03.2017
20:30:47
жс норм. Ну там кнопочку показать, в таком духе

Google

Sergey
03.03.2017
20:31:02
да, но не на большее
тем не менее

Nikolay
03.03.2017
20:31:32

arisu
03.03.2017
20:31:32

Aragaer
03.03.2017
20:31:36
я когда-то на жс писал xpcom приложение

Sergey
03.03.2017
20:31:39

Aragaer
03.03.2017
20:31:41
было прикольно 8)

arisu
03.03.2017
20:31:41
выкинуть жс и юзать луа например

Nikolay
03.03.2017
20:31:56

Sergey
03.03.2017
20:32:03
их много

Admin
ERROR: S client not available

andretshurotshka?❄️кде
03.03.2017
20:32:09

Sergey
03.03.2017
20:32:26
webasm
компилируется в js => js не пропадёт

Gnobitel
03.03.2017
20:32:30

andretshurotshka?❄️кде
03.03.2017
20:32:58

Dmitriy
03.03.2017
20:33:08

arisu
03.03.2017
20:33:11
не надо путать прямые руки, и зоопарк из операторов)

Sergey
03.03.2017
20:33:22

Dmitriy
03.03.2017
20:33:23
Каждый раз угараю.

Aragaer
03.03.2017
20:33:41
https://github.com/aragaer/nsieveapiservice/blob/master/eveapiservice.js - йех, давно было. Еще до свадьбы

Google

Gnobitel
03.03.2017
20:34:38
Ну и критиковать языки типа С на которых как правило пишится что-то низкоуровневое, типа драйверов и ядро ОС. Вообще не хорошо, при этом находясь не в теме

Aragaer
03.03.2017
20:34:47
но красота в том, что при желании оно 1в1 переписывалось на питон или плюсы. То есть на жс прототип (и я на этом и забил уже), а так норм

arisu
03.03.2017
20:35:04

Gnobitel
03.03.2017
20:35:07

Sergey
03.03.2017
20:35:21
слово "прототип" в js имеет особый смысл

arisu
03.03.2017
20:35:22
можно было бы писать низкоуровневое и без заморочек

Sergey
03.03.2017
20:35:38

Gnobitel
03.03.2017
20:36:02

arisu
03.03.2017
20:36:28
потому что это было бы бессмысленно)

Aragaer
03.03.2017
20:36:53
https://github.com/aragaer/jaet-pp/blob/master/src/chrome/content/pp.js - волшебная тулза, которая хранила состояние "проекта" в виде жсон, причем хранила несколько таких состояний в массиве (что позволяло делать undo и redo) и кидало этот жсон в скулайт базу

Gnobitel
03.03.2017
20:36:53
Знатоки всех исходников питона))

Sergey
03.03.2017
20:37:31
> указатель структуры
каждый раз мой внутренний интрпретатор спотыкается на этом словосочетании

Gnobitel
03.03.2017
20:39:02

Sergey
03.03.2017
20:39:09
и воспринимаю как
struct blah { void * ptr }

Gnobitel
03.03.2017
20:39:37
Лол

Aragaer
03.03.2017
20:40:01
http://stackoverflow.com/questions/13366083/why-does-the-arrow-operator-in-c-exist
во, тут написано

Sergey
03.03.2017
20:40:16
типо
"почему бы ptr.field автоматически не компилировать в ptr->field???"