Мир полон языков гораздо более высокого уровня, позволяющих быстрое прототипирование (в чём PHP несомненно хорош), но работающих за рамках подхода «request-response» без костылей (ну, почти). Python тот же. Его даже в убунтах всяких используют для GUI местами. Erlang. Ruby. А на C/C++ сейчас решают только сверх-специфичные задачи, типа мега-гига-нагрузок или мини-нано-памяти или чего-то такого.
Собственно, вы сами привели пример такого «слесаря от IT», который кроме свеого любимого и прекрасного культового языка ничего учить не хочет, и находит отмазки почему бы это не делать далее. Без обид.
Ну вообще-то не очень в состоянии. Switch нарушает инкапсуляцию: это кто-то другой знает о том, какую фукнционал вызывать для данного класса в зависимости от его типа или (хуже) от его данных. Да, в общем-то, и наследование он слегка нарушает. Что делает такой подход не-ООП'шным. Ну или я просто не понял схему со switch.
Хотя вот почитал википедию, там ещё есть какой-то особый полиморфизм в функциональных языках. Не самая моя любимая парадигма, так что я не понял.
В любом случае, изначальный вопрос был про фразу «ООП и без виртуальных функций бывает». Я пытаюсь представить себе как именно.
1. Люки круглые потому тогда крышка, как бы она не повернулась вокруг любой оси, не падает внутрь.
2. Люки кругые потому что дырки круглые, а дырки круглые потому что трубы круглые, а трубы круглые потому что их так проще делать и транспортировать, да и давление лучше выдерживают.
3. Кто вообще сказал что люки круглые? Я видел много, очень много квадратных и прямоугольных люков. Особенно этим грешат телекоммуникационщики. Поэтому сам вопрос «почему люки круглые» — неправильный; он изначально подразумевает какое-то положение как аксиоматичное, что не соответствует реальности.
Так вообще-то все языки, начиная с базового синтаксиса, через ключевые слова и конструкции, и заканчивая стандартными библиотеками — не более чем «сахарок» над тру-хардкорным ассемблером. А то, знаете ли, можно и сайты на ассемблере писать, причём на ООП, ибо Virtual Method Table — не такая уж и сложная вещь на на уровне реализации.
Жаль кармы мало чтобы поставить плюсик. Поэтому одобрю комментом:
> В наших краях как правило software engineer-ами называют «слесарей от IT», а вовсе не инженеров. Тех, кто знают свой «станок» (Java, Linux, etc.), но не Computer Science.
Вот это я себе, наверное, в рамочку повешаю. Самое точно определение проблемы с инженерами, которых в наших краях нет вообще или их штучные количества. В лучшем случае есть разработчики. И всё больше банальных кодеров, которые сидят и пальцы гнут как они круты и что компании должны крутиться вокруг них, а не наоборот.
И когда встаёт задача сделать какую-нибудь систему N, какой-нибудь там фоновый демон или сокет-сервер, тогда начинаются такие пляски с бубном вокруг «любимого и крутейшего PHP» (или чего там ещё любимого и крутейшего), что у меня уже виски поседели на всё это смотреть.
А потом ещё заявляют что, де, «я программист на XXX, а свой YYY можете в жопу засунуть, я на нём делать ничего не буду, и точка»; где XXX — что-нибудь этак из 1970-ых.
Наболело, в общем.
PS: Моё личное желание «свалить» на красивом красном тракторе, кстати, вызвано не столько политическими диктаторскими замашками всяких там национальных лидеров, как у многих, сколько вот этим вакуумом достойных собеседников и соперников на техническом поприще. Хочется уже немного challenge'а.
Такие сложные навороты, конечно, использовать в коде не нужно. Но именно эти навороты получше любых головоломок показывают на сколько граблей кандидат уже наступил и сколько опыта у него за плечами.
Вспомнилось почему-то как один канадский футбольный тренер за пивом выдал фразу что-то типа Would you mind if I ask your permission to urinate your pissuar? В шутку, конечно же :)
CD & DVD довольно быстро начинают отшелушиваться. Я так за пару лет библиотеку своих фильмов потерял. Потом переключился на внешние HDD. Цена за ГБ сравнима или даже меньше чем у CD/DVD.
А если с Вашего ип неизвестные взломают хоумпагу Путина и навлекут месть его органов? Лицензии на предоставление беспроводного доступа же нет, сказать что сломали неустановленные лица согласно какой-нибудь оферте не получится. Значит сразу Вы в подозреваемых. В рамках РФ считаем что в виновных.
Об обмене знал заранее. На праздниках скатался и обменял wifi-роутер (не свисток). На ст.м. Речной вокзал в ТЦ Речной очереди не было. Я был один. В часов этак 15-16. Обменяли быстро. Интернет с 10.05.12 есть. Денег не закидывал (платил раз в марте, у них надо чтоб было разок с 21.12.11 до сейчас). Выдали две инструкции зачем-то. Пароль был в обоих инструкциях и на самом девайсе наклеен.
Мне повезло? Это что-то невероятное!
Расстроило только что Йота захотела делиться сканами моего паспорта с третьими лицами, согласно новой бумажке.
Победит тот, кто научится нативно и прозрачно маунтить удалённый диск в винде и грамотно организовывать локальное кеширование не на полный объём данных. Пока что кандидатов нет (перепробовал кучу софта — всё через одно место, даже WebDav, и тем более GoogleDocs/S3/etc).
Каждый из этих высокоуровневых запросов к API осуществляется посредством единственной SQL-транзакции, которая гарантирует, что клиент может полностью доверять любому ответу сервера.
А как вы обеспечиваете одну транзакцию БД на два вызова Thrift-сервисов?
Это не то чтобы полиморфизм, а скорее соблюдение протокола а ля duck typing. Ну или полиморфизм со множественным наследованием, что для многих программистов и/или во многих языках представляет собой мозговыносную проблему.
Когда они научатся писать свои программки и узрят насколько они получаются кривыми по сравнению с ожиданиями, они начнут подозревать что, в принципе, и всякие вконтакты-фейсбуки-ипр тоже кривые вот потому же (т.е. потому что всё шибко сложно даже для умов профессиональных программистов).
Собственно, вы сами привели пример такого «слесаря от IT», который кроме свеого любимого и прекрасного культового языка ничего учить не хочет, и находит отмазки почему бы это не делать далее. Без обид.
Хотя вот почитал википедию, там ещё есть какой-то особый полиморфизм в функциональных языках. Не самая моя любимая парадигма, так что я не понял.
В любом случае, изначальный вопрос был про фразу «ООП и без виртуальных функций бывает». Я пытаюсь представить себе как именно.
4. Люки круглые чтобы было о чём разговаривать на собеседованиях с HR'ом.
1. Люки круглые потому тогда крышка, как бы она не повернулась вокруг любой оси, не падает внутрь.
2. Люки кругые потому что дырки круглые, а дырки круглые потому что трубы круглые, а трубы круглые потому что их так проще делать и транспортировать, да и давление лучше выдерживают.
3. Кто вообще сказал что люки круглые? Я видел много, очень много квадратных и прямоугольных люков. Особенно этим грешат телекоммуникационщики. Поэтому сам вопрос «почему люки круглые» — неправильный; он изначально подразумевает какое-то положение как аксиоматичное, что не соответствует реальности.
> В наших краях как правило software engineer-ами называют «слесарей от IT», а вовсе не инженеров. Тех, кто знают свой «станок» (Java, Linux, etc.), но не Computer Science.
Вот это я себе, наверное, в рамочку повешаю. Самое точно определение проблемы с инженерами, которых в наших краях нет вообще или их штучные количества. В лучшем случае есть разработчики. И всё больше банальных кодеров, которые сидят и пальцы гнут как они круты и что компании должны крутиться вокруг них, а не наоборот.
И когда встаёт задача сделать какую-нибудь систему N, какой-нибудь там фоновый демон или сокет-сервер, тогда начинаются такие пляски с бубном вокруг «любимого и крутейшего PHP» (или чего там ещё любимого и крутейшего), что у меня уже виски поседели на всё это смотреть.
А потом ещё заявляют что, де, «я программист на XXX, а свой YYY можете в жопу засунуть, я на нём делать ничего не буду, и точка»; где XXX — что-нибудь этак из 1970-ых.
Наболело, в общем.
PS: Моё личное желание «свалить» на красивом красном тракторе, кстати, вызвано не столько политическими диктаторскими замашками всяких там национальных лидеров, как у многих, сколько вот этим вакуумом достойных собеседников и соперников на техническом поприще. Хочется уже немного challenge'а.
А вот про это нельзя ли раскрыть тему? Спасибо.
Мне повезло? Это что-то невероятное!
Расстроило только что Йота захотела делиться сканами моего паспорта с третьими лицами, согласно новой бумажке.
youtu.be/mElrEwfgizw?t=1m42s
А как вы обеспечиваете одну транзакцию БД на два вызова Thrift-сервисов?
Хотя да, я такой наивный…