avva: (Default)
[personal profile] avva
N.N., в порыве отчаяния: "Я не пишу на си-плюс-плюсе! Я пишу на копи-пейсте!"
Page 1 of 3 << [1] [2] [3] >>

Date: 2003-06-24 01:14 pm (UTC)
From: [identity profile] bobuk.livejournal.com
Сразу в мемориз. Спасибо! :)

Date: 2003-06-24 01:35 pm (UTC)
From: [identity profile] photon.livejournal.com
это на VB что-ли?

Date: 2003-06-24 02:10 pm (UTC)
From: [identity profile] motya.livejournal.com
Это про меня... :((

Date: 2003-06-24 02:14 pm (UTC)
From: [identity profile] alickop.livejournal.com
Я так свой диплом в лицее писал. За что получил трояк.

Date: 2003-06-24 02:51 pm (UTC)
From: [identity profile] evilalex.livejournal.com
:)
В точности про меня. Но я не пишу на C++ :)))

Date: 2003-06-24 03:00 pm (UTC)
From: [identity profile] avva.livejournal.com
Да нет, на C++ :) только на самом деле на копи-пейсте.

Date: 2003-06-24 03:03 pm (UTC)
From: [identity profile] mratner.livejournal.com
соль на раны...

Date: 2003-06-24 03:04 pm (UTC)
From: [identity profile] smilga.livejournal.com
А каков, кстати, был повод для отчаяния?

Date: 2003-06-24 03:14 pm (UTC)
From: [identity profile] avva.livejournal.com
На работе она постоянно и давно пишет на C++, внутри большого проекта. Но тут случились внутренние курсы по Design Patterns, на которых ей дали домашнее задание и она обнаружила к своему ужасу, что совершенно не может вспомнить кучу всяких вещей, типа того, как делать operator overloading или прототип функции main() (точнее, проще, чем вспоминать этот прототип, оказалось сделать новый проект в VC с темплейтом Hello, world). Она этого совершенно не ожидала и пришла в ужас.

Ну, таковы конкретные узкие причины появляения этого лозунга -- но, судя по энтузиазму ответов, он подходит в ещё многих разных ситуациях :-)

Date: 2003-06-24 03:27 pm (UTC)
From: [identity profile] vasja-iz-aa.livejournal.com
>но, судя по энтузиазму ответов, он подходит в ещё многих разных ситуациях

А не про одну ли это ситуацию? Для курсов и учебников - ООД, а реальной работе удобно другое.

Re:

Date: 2003-06-24 03:32 pm (UTC)

Date: 2003-06-24 03:41 pm (UTC)
From: [identity profile] malaya-zemlya.livejournal.com
Программисты делятся на два класса -
тех кто пишет весь проект пользуясь только копи и пейстом
И тех, кто каждый раз заново переписывает hello world

Date: 2003-06-24 03:53 pm (UTC)
From: [identity profile] arbat.livejournal.com
за последние три года поринтервьюировал около 200 человек. operator overloading знают около 5% опрошеных. Что такое private inheritance знают 2-3%. Чем отличается class от struct - 2-3%. Но это полбеды. Не всем нужно. На вопрос "зачем нужно наследование" 95% отвечают: "чтобы не переписывать код базового класса". Как работает конструктор - знает около 5%. Почему-то только 3-4% знают, что помещается на стек при вызове функции и что такое этот "стек". Чем отличается static member functino от non-static member function и при чем тут this - знают 2% и еще 3% быстро догадываются.

Date: 2003-06-24 04:24 pm (UTC)
From: [identity profile] maestroff.livejournal.com
У нас тут как-то интервьюировали одного афроамериканца (блин, в тему). Так он утверждал, что знает C++ "on the user level". Оказалось, что он это и имел в виду.

Date: 2003-06-24 04:53 pm (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
Я очень многих отсеивал вопросом, что такое виртуальный деструктор, и если они так хороши, почему не все деструкторы виртуальные.

Date: 2003-06-24 05:32 pm (UTC)
From: [identity profile] vasja-iz-aa.livejournal.com
>Чем отличается static member functino от non-static member function и при чем тут this - знают 2%

Знают, потому что в реальной работе выбирали, как в каком случае поступить или учебник хорошо помнят?

Date: 2003-06-24 06:21 pm (UTC)
From: [identity profile] mratner.livejournal.com
Вам шашечки нужны или ехать надо?

навеяло

Date: 2003-06-24 06:32 pm (UTC)
From: (Anonymous)
If you think C++ is not overly complicated, just what is a protected
abstract virtual base pure virtual private destructor, and when
was the last time you needed one?
(Tom Cargil, C++ Journal).

Date: 2003-06-24 06:55 pm (UTC)
From: [identity profile] arbat.livejournal.com

Этот вопрос меня достал когда-то. Его любили лет 5 назад. Я говорил - "виртуальный деструктор, это такой деструктор, который - виртуальный". На что обычно следовала поправка "а еще он вызывает деструктор базового класса" и мой страдальческий крик "любой деструктор..."

А вот зачем он нужен - этого я не спрашивал. Тем, кто знает, для чего наследование, он и так понятен. Остальные обычно хором рекомендуют делать все деструкторы виртуальными. На вопрос - почему в STL деструкторы не виртуальные - начинают слегка колебаться. Не говорить же, что авторы STL так себе программисты?

Да чего там. Я даю следующий тест. Предположим, я написал программу внизу. По какой-то идиотской причине я не хочу использовать стандартную строку, а хочу - свою MyString. Задача - написать интерфейс (только!!!) класса MyString, который нужен для того, чтобы скомпилировать и корректно прогнать мою программу. Корректно - означает, что она небольшая, но память все равно течь не должна. Кроме того, дополнительное условие: не должно быть ничего лишнего, т.е., того, что не будет использовано моей программой. Про все эелементы нового класса надо будет рассказать - где они нужны. Итак, программа (без include :-)

MyString greeting( const MyString& name )
{
return "Hello, " + name;
}

int main( int argc, char* argv[] )
{
if ( argc > 1 ) {
std::cout << greeting( argv[1] ) << std::endl;
}
}

Это могут сделать те же 5%.

А Вам такой тест: какие ошибки делает большинство? :-)

Date: 2003-06-24 06:56 pm (UTC)
From: [identity profile] arbat.livejournal.com

Как может ехать человек, не знающий, как работает конструктор?

Date: 2003-06-24 06:58 pm (UTC)
From: [identity profile] arbat.livejournal.com

Те, кто из Техниона - знают по школе. Остальные - из опыта.
Это же не профессия. Это - ремесло. Кунг Фу :-) Как в Гонг Конгском боевике: идет молодой парень, видит старого мастера, просится в ученики. И идет за ним, повторяя движения. Пока не поймет :-)

Date: 2003-06-24 07:02 pm (UTC)
From: [identity profile] mratner.livejournal.com
Так же как человек не знающий как работает двигатель автомобиля, который он водил последние 5 лет.

Date: 2003-06-24 07:17 pm (UTC)
From: [identity profile] arbat.livejournal.com

Вы, простите, говорите о программистах, или пользователях?

Date: 2003-06-24 07:40 pm (UTC)
From: [identity profile] malaya-zemlya.livejournal.com
По опыту знаю, что люди, которые знают о существовании перегрузки операторов, виртуальных базовых классов и dynamic_cast гораздо опаснее, чем простые копи-пейстеры. Копи-пейстеры гонят тупой код, но хотя бы он понятен, поскольку обычно надерган из стандартных примеров. А вот граждане, знакомые с тонкостями Це-Плюс-Плюс могут навернуть такое, что без бутылки не разберешься. Ибо велик и могуч язык Си++.
А автор кода еще и свалит из компании посредине проекта...

Кстати, вот вопрос, которым отсеиваются 95% желающих стать программистами видео-игр:
Даны два вектора, найти угол между ними.

Re:

Date: 2003-06-24 08:10 pm (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
Не понимают потребности MyString в собственном буфере?
Page 1 of 3 << [1] [2] [3] >>

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 1st, 2026 10:59 pm
Powered by Dreamwidth Studios