Здравствуйте, Astaroth, Вы писали:
A>Предметы, по которым требовалось бы делание хоть чего-нибудь за компом, кончились в первом семестре второго курса, начнутся снова где-то в районе диплома.
А книжки читать религия не позволяет? Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.
Здравствуйте, yeti, Вы писали:
Y>А книжки читать религия не позволяет? Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.
LaptevVV:
> A_V>>>>2. x = x+++++x;
[] > A_V>>>>4. ++x = x+++++x;
[] > 2. x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть
[] > 4. ++x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть.
[]
Валерий, вы же расставили пробелы не так как это сделал бы компилятор. Жадный лексический анализатор С распознает наиболее длинную возможную лексему. Так что для п.2 разбор будет произведен так
Здравствуйте, yeti, Вы писали:
Y>Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.
Нельзя! Нельзя научиться "по книжкам", по ним можно лишь получить теоретическую подготовку, реальные проекты обламывают большинство "книжных" начинаний. Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..." Книги безусловно полезно читать, поскольку они развивают, но возводить их в абсолют не стоит... единственный человек, совместивший в себе "теоретика" и практического программиста — это доктор Страуструп (душевнейший человек, кстати). Отсюда мое ИМХО — "научиться" можно только по реальным проектам, пусть и сделанным на коленке.
P.S.
Павел, это наверно в "Филосифию..." надо перенести...
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Mad Sin — She's So Bad It's Good ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..."
Не согласен. Заказчика может и не интерисует, но это точно будет инрерисовать того, кто будет читать твой код. (И этим кем-то можешь оказаться ты сам через пол года)
SDB>P.S. SDB>Павел, это наверно в "Филосифию..." надо перенести...
Если там такого нет, действительно в философию стОит.
Здравствуйте, Dr.Gigabit, Вы писали:
DG>Здравствуйте, SchweinDeBurg, Вы писали:
SDB>>Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..."
DG>Не согласен. Заказчика может и не интерисует, но это точно будет инрерисовать того, кто будет читать твой код. (И этим кем-то можешь оказаться ты сам через пол года)
SDB>>P.S. SDB>>Павел, это наверно в "Филосифию..." надо перенести...
DG>Если там такого нет, действительно в философию стОит.
Здравствуйте, SchweinDeBurg, Вы писали:
Y>>Если желания есть то можно и по книжкам научиться, а если нет — тут никакой препод не поможет.
SDB>Отсюда мое ИМХО — "научиться" можно только по реальным проектам, пусть и сделанным на коленке.
Я на самом деле примерно это и имел в виду — что ждать препода который придёт и всему научит не прокатит
ИМХО выучить по книжкам синтаксис вполне реально, а дальше "по реальным проектам, пусть и сделанным на коленке" (с)
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Нельзя! Нельзя научиться "по книжкам", по ним можно лишь получить теоретическую подготовку, реальные проекты обламывают большинство "книжных" начинаний.
Позвольте с вами не согласиться, уважаемый. Книги — это прежде всего чужой опыт. Есть книги содержащие голую теорию — справочники. По справочникам не учатся — уточняют детали.
Начинать проект, не основываясь ни на каком опыте, довольно трудно, долго и дорого.
SDB>Мой сенсей однажды сказал очень правильные слова — "заказчика не интересует, насколько красиво написана твоя программа, она просто должна работать..."
Полностью согласен с этим мудрым человеком.
SDB>Книги безусловно полезно читать, поскольку они развивают, но возводить их в абсолют не стоит... единственный человек, совместивший в себе "теоретика" и практического программиста — это доктор Страуструп (душевнейший человек, кстати).
Не возводить в абсолют чужой опыт может позволить себе только человек с неимоверным своим опытом.
SDB> Отсюда мое ИМХО — "научиться" можно только по реальным проектам, пусть и сделанным на коленке.
Учиться на свих ошибках можно, но на чужих — гораздо эффективнее.
Здравствуйте, nobody2, Вы писали:
N>Позвольте с вами не согласиться, уважаемый.
"Позвольте Вам этого не позволить..." (с) не помню
N>Книги — это прежде всего чужой опыт. Есть книги содержащие голую теорию — справочники. По справочникам не учатся — уточняют детали.
Согласен полностью. Хотя... а вот фундаментальный труд доктора Страуструпа (тот, что без Мэри Эллис написан) — это что? справочник? или учебник? ИМХО — ни то, ни другое. Учиться по нему плюсам, это страшное наказание, а вот читать, когда уже "все знаешь" — истинное удовольствие... столько нового для себя открываешь.
N>Полностью согласен с этим мудрым человеком.
Я тоже... теперь...
N>Учиться на свих ошибках можно, но на чужих — гораздо эффективнее.
Ну да, еще Бисмарк говорил — "только дураки учатся на собственных ошибках, а я предпочитаю учиться на ошибках других..." Тем не менее, для нас проблема "набивания шишек" все еще актуальна — ибо без них нет программиста (ИМХО). Только поизобретав велосипеды можно оценить красоту и удобство того, что "уже украдено до нас".
Как закоренелый виндовозник, я не жалею о том, что перед переходом на MFC я позанимался написанием собственных библиотек классов, переписыванием CRT (правда, это еще под Борландом было), etc. Да, я понимаю, что проходил кем-то уже "выстраданный" путь — но этого стоило, потому что параллельно я узнавал этот волшебный ЯП, носящий скромное имя C++. Я учился любить и ненавидеть его, "как можно любить и ненавидеть только самого себя" (с) Довлатов.
К сожалению, я не настолько тонко знаю Стандарт, как Павел, Андрей или Максим... но я люблю этот язык — безумный, неоднозначный... и такой красивый! И любовь эту питают не книжки, а реально сделанные проекты.
P.S.
Последняя фраза ене несет в себе ни малейшего сносбства.
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Motorhead — Civil War ]
Здравствуйте, nobody2, Вы писали:
N>Не возводить в абсолют чужой опыт может позволить себе только человек с неимоверным своим опытом.
ИМХО Вы не правы... "Патриотизм — религия бешеных..." (с) Вальтер Скотт. Любой фанатизм вреден — не все, кто пользуются boost'ом, являются крутыми профи... программер (даже сейчас, в эпоху тотального засилья RAD) должен посвятить какое-то время "набиванию шишек". И потом: "опыт — это то, что выприобретаете, читая написанное мелким шрифтом..." (с) С.Н.Паркинсон
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Motorhead — Dog-Face Boy ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>Ну да, еще Бисмарк говорил — "только дураки учатся на собственных ошибках, а я предпочитаю учиться на ошибках других..." Тем не менее, для нас проблема "набивания шишек" все еще актуальна — ибо без них нет программиста (ИМХО). Только поизобретав велосипеды можно оценить красоту и удобство того, что "уже украдено до нас".
Вот этот Бисмарк — и есть самый главный дурак. Одна своя ошибка, осознанная и набившая шишку, стоит десяти прочтений о десяти ошибках, совершенных другими людьми. Все, чему можно научиться на чужих ошибках — это бесполезному словоблудию на дилетантском уровне. Настоящее знание приходит только через собственный опыт.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Вот этот Бисмарк — и есть самый главный дурак.
Между прочим, он был канцлером Германии.
MS>Все, чему можно научиться на чужих ошибках — это бесполезному словоблудию на дилетантском уровне. Настоящее знание приходит только через собственный опыт.
Вы резки... но отчасти справдливы... как советский суд...
P.S.
Павел, этой ветке точно пора в "Философию..."
[ posted via RSDN@Home 1.1.4 beta 3 r241, accompanied by Motorhead — Out Of The Sun ]
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>"Позвольте Вам этого не позволить..." (с) не помню SDB>Согласен полностью. Хотя... а вот фундаментальный труд доктора Страуструпа (тот, что без Мэри Эллис написан) — это что? справочник? или учебник? ИМХО — ни то, ни другое. Учиться по нему плюсам, это страшное наказание, а вот читать, когда уже "все знаешь" — истинное удовольствие... столько нового для себя открываешь. N>>Полностью согласен с этим мудрым человеком. SDB>Я тоже... теперь...
И я — тоже! И уже давно... SDB>Как закоренелый виндовозник, я не жалею о том, что перед переходом на MFC я позанимался написанием собственных библиотек классов, переписыванием CRT (правда, это еще под Борландом было), etc. Да, я понимаю, что проходил кем-то уже "выстраданный" путь — но этого стоило, потому что параллельно я узнавал этот волшебный ЯП, носящий скромное имя C++. Я учился любить и ненавидеть его, "как можно любить и ненавидеть только самого себя" (с) Довлатов. SDB>К сожалению, я не настолько тонко знаю Стандарт, как Павел, Андрей или Максим... но я люблю этот язык — безумный, неоднозначный... и такой красивый! И любовь эту питают не книжки, а реально сделанные проекты.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Dr.Gigabit, Вы писали:
DG>Здравствуйте, LaptevVV, Вы писали:
LVV>>Ответ из моей книжки
DG>Можно ли где достать Вашу книгу в электронном варианте? Было бы очень интересно ознакомится.
Это — вторая... Она ещше в работе и постоянно уточняется — по результатам исследования стандарта и бесед на RSDN. Как закнчу — поговорю с мужиками — вывесим на сайте... Правда, не всю — в договоре оковорено, что всю — нельзя... А по частям — в личное пользование — это пожалуйста...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, folk, Вы писали:
F>LaptevVV:
>> A_V>>>>2. x = x+++++x; F>[] >> A_V>>>>4. ++x = x+++++x; F>[] >> 2. x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть F>[] >> 4. ++x = x++ + ++x; // неопределенное поведение. Ошибок компиляции не должно быть. F>[]
F>Валерий, вы же расставили пробелы не так как это сделал бы компилятор. Жадный лексический анализатор С распознает наиболее длинную возможную лексему. Так что для п.2 разбор будет произведен так
x = x ++ ++ + x ;
, а для п.4 так
++ x = x ++ ++ + x ;
и в обоих случаях получим ошибку компиляции.
Согласен... Два подряд постинкремента — не прокатят...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, SchweinDeBurg, Вы писали:
SDB>>>Книги безусловно полезно читать, поскольку они развивают, но возводить их в абсолют не стоит... единственный человек, совместивший в себе "теоретика" и практического программиста — это доктор Страуструп (душевнейший человек, кстати).
N>>Не возводить в абсолют чужой опыт может позволить себе только человек с неимоверным своим опытом.
SDB>ИМХО Вы не правы... "Патриотизм — религия бешеных..." (с) Вальтер Скотт. Любой фанатизм вреден — не все, кто пользуются boost'ом, являются крутыми профи... программер (даже сейчас, в эпоху тотального засилья RAD) должен посвятить какое-то время "набиванию шишек". И потом: "опыт — это то, что выприобретаете, читая написанное мелким шрифтом..." (с) С.Н.Паркинсон
Оверквотинг
Приобретение опыта через набивание шишек — несколько метафизично, такой подход был характерен еще до эпохи исторического материализма, во времена Максвела и Попова. Сейчас в науке преобладает другой подход.
Почему при изучении высш. матем. вам не приходит в голову дойти до интегрального исчисления эмпирическим путем? Почему принимаете на веру существование электро-магнитной индукции?
Отрицание, игнорирование и пр. предыдущего опыта занчительно увеличивает время обучения. А время — деньги, как говорит буржуазная протестантская этика. Тотальное засилье RAD также связано с экономией время и получением дополнительной прибыли в единицу времени.
Устроили на работе мини-опрос и возникли расхождения по следующим вопросам:
LVV>
LVV>17. Какие два вида полиморфизма реализованы в С++?
LVV>18. Дайте определение полиморфного класса.
LVV>29. Чем отличается чистый виртуальный деструктор от чистой виртуальной функции?
LVV>30. Зачем требуется определение чистого виртуального деструктора?
LVV>31. Наследуется ли определение чистой виртуальной функции?
Здравствуйте, valker, Вы писали:
V>Здравствуйте, LaptevVV, Вы писали:
V>Устроили на работе мини-опрос и возникли расхождения по следующим вопросам:
LVV>>
LVV>>17. Какие два вида полиморфизма реализованы в С++?
LVV>>18. Дайте определение полиморфного класса.
LVV>>29. Чем отличается чистый виртуальный деструктор от чистой виртуальной функции?
LVV>>30. Зачем требуется определение чистого виртуального деструктора?
LVV>>31. Наследуется ли определение чистой виртуальной функции?
V>Не могли бы вы в кратце просветить?
17 и 18
Александреску указывает, что в С++ реализованы два типа полиморфизма:
статический полиморфизм (compile-time polymorphism – полиморфизм времени компиляции), который осуществляется с помощью перегрузки и шаблонов функций;
динамический полиморфизм (run-time polymorphism – полиморфизм времени выполнения), реализуемый виртуальными функциями.
Класс, включающий виртуальные функции, называется полиморфным классом.
29 и 30
Класс, в котором определен чистый виртуальный деструктор, тоже является абстрактным, и создавать объекты этого класса запрещено. Однако чистые виртуальные деструкторы несколько отличаются от чистых виртуальных функций. Первое отличие проявляется при наследовании. Вспомним, что деструкторы не наследуются, а при отсутствии явного определения автоматически создаются в производном классе. Это означает, что класс-наследник не является абстрактным классом!
Второе отличие заключается в том, что при объявлении чисто виртуального деструктора нужно написать и его определение. Да-да, не поднимайте удивленно брови — нужно написать определение чистого виртуального деструктора для базового класса. Это несколько странное правило объясняется тем, что деструктор наследника обязательно вызывает деструктор базового класса — поэтому чистый деструктор должен все же быть определен
31.
Определять можно не только чистые деструкторы, но и чистые виртуальные методы. Класс, для которого это определение написано, по-прежнему является абстрактным классом. В отличие от чистых виртуальных деструкторов, даже определенная в базовом классе чистая виртуальная функция наследуется как чистая, поэтому производный класс тоже будет абстрактным при отсутствии собственного определения.
Из этого вроде следует. что определение не наследуется?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!