Здравствуйте, mik1, Вы писали:
M>Бакалавр где-то в Торонто. Теперь в Сиднее работает. Очень любопытный путь у этого хлопца. Вроде выше среднего уровня казался... Вообще чего-то меня люди в последнее время расстраивают.
[off] потому что Java?
Re[6]: Любой программный продукт портят студенты и индусы
Здравствуйте, ArtemGorikov, Вы писали:
AG>Здравствуйте, mik1, Вы писали:
M>>Бакалавр где-то в Торонто. Теперь в Сиднее работает. Очень любопытный путь у этого хлопца. Вроде выше среднего уровня казался... Вообще чего-то меня люди в последнее время расстраивают.
AG>[off] потому что Java?
В каком смысле потому что Java? Вопрос про меня или про хлопца?
Re[7]: Любой программный продукт портят студенты и индусы
Здравствуйте, mik1, Вы писали:
M>Здравствуйте, ArtemGorikov, Вы писали:
AG>>Здравствуйте, mik1, Вы писали:
M>>>Бакалавр где-то в Торонто. Теперь в Сиднее работает. Очень любопытный путь у этого хлопца. Вроде выше среднего уровня казался... Вообще чего-то меня люди в последнее время расстраивают.
AG>>[off] потому что Java?
M>В каком смысле потому что Java? Вопрос про меня или про хлопца?
Про хлопца и жаву- правда ли что есть корреляция?
Re[8]: Любой программный продукт портят студенты и индусы
Здравствуйте, ArtemGorikov, Вы писали:
AG>Здравствуйте, mik1, Вы писали:
M>>Здравствуйте, ArtemGorikov, Вы писали:
AG>>>Здравствуйте, mik1, Вы писали:
M>>>>Бакалавр где-то в Торонто. Теперь в Сиднее работает. Очень любопытный путь у этого хлопца. Вроде выше среднего уровня казался... Вообще чего-то меня люди в последнее время расстраивают.
AG>>>[off] потому что Java?
M>>В каком смысле потому что Java? Вопрос про меня или про хлопца? AG>Про хлопца и жаву- правда ли что есть корреляция?
Нет никакой. Я пока не видел живого индуса, который бы писал нормальный код.
Re[9]: Любой программный продукт портят студенты и индусы
Здравствуйте, mik1, Вы писали:
M>Здравствуйте, ArtemGorikov, Вы писали:
AG>>Здравствуйте, mik1, Вы писали:
AG>>>>[off] потому что Java?
M>>>В каком смысле потому что Java? Вопрос про меня или про хлопца? AG>>Про хлопца и жаву- правда ли что есть корреляция?
M>Нет никакой. Я пока не видел живого индуса, который бы писал нормальный код.
Я не видел чтобы индус при мне писал код Видел индусов с жава-резюмами и в майке SUN, живьем. Сегодня только рассказывал коллеге что такой фольклор у русских программистов про индусов, — он не понял, говорит все лажают.
Re[10]: Любой программный продукт портят студенты и индусы
Здравствуйте, ArtemGorikov, Вы писали:
M>>>>В каком смысле потому что Java? Вопрос про меня или про хлопца? AG>>>Про хлопца и жаву- правда ли что есть корреляция?
M>>Нет никакой. Я пока не видел живого индуса, который бы писал нормальный код. AG>Я не видел чтобы индус при мне писал код Видел индусов с жава-резюмами и в майке SUN, живьем. Сегодня только рассказывал коллеге что такой фольклор у русских программистов про индусов, — он не понял, говорит все лажают.
У нас их в последнее время все болше становится. Так что как они пишут я вижу. Скоро из зоопарка уходить придется.
Re[4]: Любой программный продукт портят студенты и индусы
N>>Исправлять не стал. Пускай сам в своем г-не копаются.
M>Я, кажется, догадался. Это такая индийская реализация smart pointer-а. Типа при любом нормальном выходе из метода память чистить. Реализация для Сишных (не плюсовых) динозавров.
Только в данном случае будет утечка, т.к. "delete parser" вызовется для нуля.
Re[4]: Любой программный продукт портят студенты и индусы
N>>>Исправлять не стал. Пускай сам в своем г-не копаются.
M>>Я, кажется, догадался. Это такая индийская реализация smart pointer-а. Типа при любом нормальном выходе из метода память чистить. Реализация для Сишных (не плюсовых) динозавров.
A>Только в данном случае будет утечка, т.к. "delete parser" вызовется для нуля.
Не будет утечки, этот указатель передается в функцию, там по этому адресу положат не ноль.
Re[5]: Любой программный продукт портят студенты и индусы
A>>Только в данном случае будет утечка, т.к. "delete parser" вызовется для нуля.
N>Не будет утечки, этот указатель передается в функцию, там по этому адресу положат не ноль.
Я немного подправил исходный код. Что происходит. В первой строчке создаётся указатель parser1, который имеет значение NULL и некий адрес, пусть, например 0x..01.
Далее вызывается функция function, при этом ей передаётся параметр parser1, который имеет значение NULL и адрес 0x..01. При вызове функции происходит копирование значений параметров. В данном случае скопируется NULL. Адрес parser1 копироваться не будет, т.к. мы передаём не &parser1, а просто parser1.
Т.е. на входе функция function имеет параметр parser2 со значением NULL. Естественно этот параметр тоже где-то расположен и имеет некий адрес, например 0x..22.
Далее создаётся новый экземпляр CTLVParser, результатом операции new будет новый указатель, имеющий значение {new CTLVParser()}, это значение и будет записано в ячейку памяти parser2. Т.е. теперь parser2 имеет ненулевое значение. Но напомню, что parser2 — это всего лишь локальная переменная, находящаяся по адресу 0x..22, которая ничего не знает о переменной parser1 (адрес 0x..01). При завершении функции адрес 0x..22 станет недоступен, а память утечёт.
После вызова функции удаляется память, расположенная в ячейке parser1. Т.к. там лежал NULL и никто его не менял, то delete просто проигнорирует это значение.
Исправить код можно, если вместо CTLVParser* принимать на вход CTLVParser**. Тогда функция сможет получить тот самый заветный адрес 0x..01 и возможно, что-то туда сохранит.
Кстати, замечу, что подобная ситуация будет и в Java и в C#.
Re[6]: Любой программный продукт портят студенты и индусы
Здравствуйте, Олег К., Вы писали:
M>>>>В итоге получается убожество, этакий франкенштейн — здесь и веб сервисы, и Remoting, кое-где на силу пришитый threading. Паттерн на паттерне и паттерном погоняет. ___>>>У Вас какое-то нездоровое отношение к паттернам. ___>>>Это всего лишь готовые решения строго определенных задач
W>>Паттерны это даже не решения, а лишь идеи решения некоторых типовых задач.
ОК>Я бы сказал не типовых, а надуманных задач.
Нифига не надуманных! Мы вот сварганили неплохую систему проверки лабов. В основе — шаблонный метод и стратегия. Это позволяет наращивать систему без модификаций основного ядра.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Любой программный продукт портят студенты и индусы
Здравствуйте, alzt, Вы писали:
A>>>Только в данном случае будет утечка, т.к. "delete parser" вызовется для нуля. N>>Не будет утечки, этот указатель передается в функцию, там по этому адресу положат не ноль.
A>Я немного подправил исходный код. Что происходит. В первой строчке создаётся указатель parser1, который имеет значение NULL и некий адрес, пусть, например 0x..01. A>Далее вызывается функция function, при этом ей передаётся параметр parser1, который имеет значение NULL и адрес 0x..01. При вызове функции происходит копирование значений параметров. В данном случае скопируется NULL. Адрес parser1 копироваться не будет, т.к. мы передаём не &parser1, а просто parser1. A>Т.е. на входе функция function имеет параметр parser2 со значением NULL. Естественно этот параметр тоже где-то расположен и имеет некий адрес, например 0x..22. A>Далее создаётся новый экземпляр CTLVParser, результатом операции new будет новый указатель, имеющий значение {new CTLVParser()}, это значение и будет записано в ячейку памяти parser2. Т.е. теперь parser2 имеет ненулевое значение. Но напомню, что parser2 — это всего лишь локальная переменная, находящаяся по адресу 0x..22, которая ничего не знает о переменной parser1 (адрес 0x..01). При завершении функции адрес 0x..22 станет недоступен, а память утечёт. A>После вызова функции удаляется память, расположенная в ячейке parser1. Т.к. там лежал NULL и никто его не менял, то delete просто проигнорирует это значение.
A>Исправить код можно, если вместо CTLVParser* принимать на вход CTLVParser**. Тогда функция сможет получить тот самый заветный адрес 0x..01 и возможно, что-то туда сохранит.
A>Кстати, замечу, что подобная ситуация будет и в Java и в C#.
Как многа букаф...
Тут ясно с тех слоув: указатель передается по значению.
Остальное — следствие сего печального факта: в функции создается локальная копия, в которую и помещается адрес. При выходе из функции локальная копия умирает, и вуаля — имеем потерянную ссылку.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Любой программный продукт портят студенты и индусы
Здравствуйте, Michael7, Вы писали:
M>Здравствуйте, mik1, Вы писали:
M>>Но это не индийский метод. Этот хлопец сначала собрал 16-ную строку, само собой, при помощи деления и остатка от деления на 16. Именно строку (String). А дальше уже он конвертирует ее как десятичную строку в число, поскольку, как он правильно понял, в строке не может быть символов A-F... M>>Интересно их код читать — такие затейники Понятно, почему именно они Камасутру написали...
M>Интересно, что у них с образованием? Нормальный-то человек, просто знает в минимальном объеме битовые операции и представление чисел.
Мне думается,что дело не в образовании, а в особенностях собеседования.
Наши расейские мальчики-зайчики а-ля Каа.Питон или Икемефула то же ещё те затейники.
Но только на собеседованиях.
В то время, как наш рашковец за месяц нанимает двух человек — ведь надо, чтобы новый багофиксец знал все алгоритмы, взвешивал арбузы да укладывал люки, ясен Фаулер, круглые.
Индус за тот же месяц нанимает целую команду, включая тим-лида и говорит: "Что делать, хазяина? Работать хотим."
Ну, выгонят пятерых из 20, ну напишет индус что-то криво — да и х$# с ним — проект получен, люди работают, караван идёт.
Re[4]: Любой программный продукт портят студенты и индусы
Здравствуйте, Michael7, Вы писали:
M>Здравствуйте, mik1, Вы писали:
M>>Но это не индийский метод. Этот хлопец сначала собрал 16-ную строку, само собой, при помощи деления и остатка от деления на 16. Именно строку (String). А дальше уже он конвертирует ее как десятичную строку в число, поскольку, как он правильно понял, в строке не может быть символов A-F... M>>Интересно их код читать — такие затейники Понятно, почему именно они Камасутру написали...
M>Интересно, что у них с образованием? Нормальный-то человек, просто знает в минимальном объеме битовые операции и представление чисел.
Точнее, я согласен, в образовании — просто индусы набирают индусов с любым образованием.
Возможно, это одна из причин почему они врут в резюме — всё равно, если попадёшь на собеседование к индусу, а вероятность этого велика, то проверять никто ничего не будет.