Re[4]: Когда я говорил...
От: Codechanger Россия  
Дата: 18.06.12 13:38
Оценка:
Программисты делятся на две категории — те, которые больше создают, чем решают проблемы и те, которые больше решают проблем, чем создают.

Все остальное особого значения не имеет. Корреляции с объемом знаний/навыков/умений тоже не выявлено.
Re[2]: Когда я говорил...
От: Abyx Россия  
Дата: 18.06.12 18:19
Оценка: -1
Здравствуйте, Пофигист, Вы писали:

П>Здравствуйте, о_О, Вы писали:


о_О>>Воскресный вброс на хабрэ. Ничего сверх, исключительно для ознакомления


П>

П>Когда я говорил, что нельзя платить тысячи долларов тем, кто не знает, чем абстрактный класс отличается от интерфейса, вы продолжали им платить. Теперь у нас все зарабатывают тысячи долларов, но х*р его знает, чем абстрактный класс отличается от интерфейса.

П>Я дико извиняюсь за свою дремучесть, но может кто разъяснит на пальцах мне, сипиписту, чем же у вас явистов и шарпистов так уж принципиально отличаются абстрактный класс от интерфейса? Понаплодили, блин, сущностей зачем-то.

я тоже пишу на С++, но знаю чем абстрактный класс отличается от интерфейса.
более того, язык тут ни при чем, это базовые понятия ОО-подхода (в Си тоже можно применять классы (абстрактные) и интерфейсы).

собственно отличие состоит в возможности владения объектом.

class IFoo
{
public:
    virtual void doSomething() = 0;

protected:
    ~IFoo() {}
};

это интерфейс.
мы не можем владеть объектом с интерфейсом IFoo, т.е. мы не можем использовать smart_owning_ptr<IFoo> (или сделать delete fooPtr

class AFoo
{
public:
    virtual void doSomething() = 0;

    virtual ~AFoo() {}
};

это абстрактный класс.
мы можем владеть объектами абстрактного класса AFoo, т.е. мы можем использовать smart_owning_ptr<AFoo> (или сделать delete fooPtr

в качестве дополнительного материала можно почитать про interface (!) segregation principle, и заодно подумать о
class IDestructible { public: virtual ~IDestructible() {} };
In Zen We Trust
Re[3]: Когда я говорил...
От: SkyDance Земля  
Дата: 18.06.12 23:49
Оценка: +1 -1
З
A>
A>class IFoo
A>{
A>public:
A>    virtual void doSomething() = 0;

A>protected:
A>    ~IFoo() {}
A>};
A>

A>это интерфейс

Правда ?

Это не то что не интерфейс, это еще и класс с ошибкой.
Re[4]: Когда я говорил...
От: Glas  
Дата: 19.06.12 05:45
Оценка:
Вы бы хоть у автора статьи спросили, о каких интерфейсах и абстрактных классах он говорит. В С++ вообще нет ключевого слова interface, так значит и их как таковых там нет

An interface contains only the signatures of methods, properties, events or indexers. A class or struct that implements the interface must implement the members of the interface that are specified in the interface definition.

The abstract modifier indicates that the thing being modified has a missing or incomplete implementation. The abstract modifier can be used with classes, methods, properties, indexers, and events. Use the abstract modifier in a class declaration to indicate that a class is intended only to be a base class of other classes.
Re[5]: Когда я говорил...
От: о_О
Дата: 19.06.12 05:54
Оценка:
Здравствуйте, Glas, Вы писали:

G>Вы бы хоть у автора статьи спросили, о каких интерфейсах и абстрактных классах он говорит. В С++ вообще нет ключевого слова interface, так значит и их как таковых там нет

Ну наконец
Re[5]: Когда я говорил...
От: Пофигист Россия  
Дата: 19.06.12 05:56
Оценка:
Здравствуйте, TimurSPB, Вы писали:

П>>Да я в курсе. Но, по-моему, это крайне незначительная ерунда. Как там модно говорить, синтаксический сахар.

TSP>Эта ерунда очень значительная.

Бедные, несчастные сипипишные программисты! Они ведь даже слов таких, интерфейс и абстрактный класс, не имеют, а программируют же как-то.
Re[9]: Когда я говорил...
От: zubr Россия  
Дата: 19.06.12 06:28
Оценка:
Здравствуйте, Donz, Вы писали:

D>Здравствуйте, NikeByNike, Вы писали:


D>И опять неверно. В Дельфи, например, можно создать экземпляр абстрактного класса. Невозможность создания экземпляра абстрактного класса — это фича конкретных языков, которая скорее является следствием других особенностей понимания абстрактных классов в языке.


Мне кажется просто при написании копмилятора поленились Ибо все практически стараются придерживаться идеи абстрактность — противоположность конкретике, как следствие невозможность создавать экземпляры абстрактных классов; что очень даже логично.


The superclass is called “abstract” because its implementation is incomplete so clients do not create instances of it. The subclasses that a client can create instances of are referred to as “concrete.” [WWW90, page 27]

взято здесь
Re[6]: Когда я говорил...
От: TimurSPB Интернет  
Дата: 19.06.12 06:31
Оценка:
П>Бедные, несчастные сипипишные программисты! Они ведь даже слов таких, интерфейс и абстрактный класс, не имеют, а программируют же как-то.
Да ниче. Привыкли. Справляемся.
Make flame.politics Great Again!
Re[2]: Когда я говорил...
От: TimurSPB Интернет  
Дата: 19.06.12 06:38
Оценка:
SON>Юзергрупп какой-то... Нафиг надо. Теннисный стол лучше.
Если ставят теннисный стол и настольный хоккей, значит айчеры запустили очередную "программу нематериальной мотивации". Короче, все эти плюшечки плохая примета — зп не поднимут.
Make flame.politics Great Again!
Re[3]: Когда я говорил...
От: Son of Northern Darkness  
Дата: 19.06.12 06:56
Оценка:
Здравствуйте, TimurSPB, Вы писали:

SON>>Юзергрупп какой-то... Нафиг надо. Теннисный стол лучше.

TSP>Если ставят теннисный стол и настольный хоккей, значит айчеры запустили очередную "программу нематериальной мотивации". Короче, все эти плюшечки плохая примета — зп не поднимут.

На прошлом месте был и стол и зарплата. На текущем вообще есть отдельный клуб, который получает финансирование от компании и тратит деньги на совместные выходы на природу, спонсирование спорта, всякие одноразовые события, типа обучения дайвингу или гольфу.
Re[6]: Когда я говорил...
От: carpenter Голландия  
Дата: 19.06.12 09:16
Оценка:
Здравствуйте, NikeByNike, Вы писали:

NBN>Есть. Причём ситуация усугубляется тем, что я программирую всё меньше и меньше и всё проще и проще. А всякие молодые начинают знать технологии про которые я даже не слышал


учиться учиться и еще раз учиться, как завещал В.И.

а вообще — я сам за простоту в коде, новые технологии должны упрощать код а не усложнять, если их, конечно пользовать не через Ж
Весь мир — Кремль, а люди в нем — агенты
Re[5]: Когда я говорил...
От: carpenter Голландия  
Дата: 19.06.12 09:21
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Сейчас куча старпёров будет доказывать, что их 10 лет опыта программирования на С/C++ не были потрачены зря и несомненно каким-то непонятным способом делают их лучшими специалистами.


Да да — так и есть

ирония, если че

Если серьезно — мое улучшение с возрастом стало не то что я стал лучше программировать — а стал более четко различать приоритет задач
не только в программировании но и по жизни — и искать наиболее оптимальные их решения
Весь мир — Кремль, а люди в нем — агенты
Re[2]: Когда я говорил...
От: carpenter Голландия  
Дата: 19.06.12 09:22
Оценка:
Здравствуйте, De-Bill, Вы писали:

о_О>>Воскресный вброс на хабрэ. Ничего сверх, исключительно для ознакомления


DB>Чувак не понимает одного. В современном IT большей части программистов нафиг не нужно знать, чем абстрактный класс отличается от интерфейса.


вы еще скажите что про виртуальный деструктор знать не обязательно
Весь мир — Кремль, а люди в нем — агенты
Re[3]: Когда я говорил...
От: о_О
Дата: 19.06.12 09:27
Оценка:
DB>>Чувак не понимает одного. В современном IT большей части программистов нафиг не нужно знать, чем абстрактный класс отличается от интерфейса.

C>вы еще скажите что про виртуальный деструктор знать не обязательно


не можешь перевернуть в уме список??? НА ПОМОЕЧКУ!!!11
Re[7]: Когда я говорил...
От: Nikе Россия  
Дата: 19.06.12 09:32
Оценка:
Здравствуйте, carpenter, Вы писали:

NBN>>Есть. Причём ситуация усугубляется тем, что я программирую всё меньше и меньше и всё проще и проще. А всякие молодые начинают знать технологии про которые я даже не слышал


C>учиться учиться и еще раз учиться, как завещал В.И.


Я учусь постоянно, только уже совсем другим вещам
Нужно разобрать угил.
Re[3]: Когда я говорил...
От: SkyDance Земля  
Дата: 19.06.12 22:35
Оценка:
C>вы еще скажите что про виртуальный деструктор знать не обязательно

Судя по приведенному совсем рядом
Автор: Abyx
Дата: 18.06.12
примеру, и вправду, не обязательно Только не говорите мне, что трава раньше зеленее была, я это тоже знаю.
Re[4]: Когда я говорил...
От: Brutalix  
Дата: 19.06.12 23:53
Оценка: -1 :))
Здравствуйте, De-Bill, Вы писали:

DB>А что плохого в 23-летних сеньёрах?


23х летние Сеньоры Програмисты, они как — как там в классическом анекдоте — и не сеньоры и не программисты. А так ничего плохого конечно. Есть такой прием организации производства — вместо бабок давать название должности попышнее. Типа требуются специалисты в лизинге и маркетинге. На почту марки клеить. 23х летние на это ведутся чаще чем 33х летние. А так, ответ на вопрос "что плохого?": да ничего плохого, если детишки довольны.

DB>Я и сам в 23 года мог дать фору многим 30летним программистам с 10+ годами опыта работы.


а вот моему соседу 93 и он свою жену каждый день е имеет. А я недавно нашел старый диск где записано что (и главное — как) писал в нежном возрасте. Бггггг. А тогда ведь тоже круче яик и эвереста был.

DB>И сейчас есть знакомые примерно такого возраста, которые успешно руководят отделами.


А вот 15ти летние капитаны в россии и аналогичных странах — это вообще песня. И это только в комерческих конторах, если это слово тут применимо. А вот эсли контора хоть каким боком связана с государством, то это не песня, а Песня. Да хором. Да с танцами. Тема слишком обширна, что бы ее тут раскрыть.
Re[5]: Когда я говорил...
От: Brutalix  
Дата: 20.06.12 00:16
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Сейчас куча старпёров будет доказывать, что их 10 лет опыта программирования на С/C++ не были потрачены зря и несомненно каким-то непонятным способом делают их лучшими специалистами.


Во во. Наверняка даже списки на время на бумажке обращать не умеют.
Re[9]: Когда я говорил...
От: abibok  
Дата: 22.06.12 17:44
Оценка:
D>И опять неверно. В Дельфи, например, можно создать экземпляр абстрактного класса. Невозможность создания экземпляра абстрактного класса — это фича конкретных языков, которая скорее является следствием других особенностей понимания абстрактных классов в языке.

Верно. А в C# можно создать даже экземпляр интерфейса.
Re: Когда я говорил...
От: ResidentR6  
Дата: 22.06.12 21:09
Оценка:
Спасибо, в точку!
Лучше только в Нашей Раше показано как организован изнутри омский
ГазМяс. Делается всё что угодно, любые "методы" кроме собственно игры в
футбол.

Кстати, а как достать инвайт на Хабр?
Технически меня должны пригласить, но чтобы это приглашение получить я
должен быть знаком с теми, кто уже там. А нормальный способ такое
знакомство получить — сам Хабр. То есть фактически я должен [по их
мнению] просто купить его.
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.