Здравствуйте, StandAlone, Вы писали:
SA>Понимашь, знание using и while — это как знание собственной ладони. В определенном возрасте каждый знает ее в совершенстве... SA>А вот потом уже учится доставлять удовольствие клиенту, а не себе.
А так же коллегам, которые смотрят потом на творение человека, которому базовые знания не нужны и думают как очередной кумар-стайл шедевр поддерживать. Знаем таких, проходили и всеми силами стараемся не брать в команду.
Здравствуйте, ·, Вы писали:
·>Каких применений? Где ещё в c# есть LC?
Вот, очень наглядное свидетельство широты лба кругозора специалиста по while.
Это печально.
·>Понятно, т.е. знаний ЯП нет, а просто code-monkey конкретного фреймворка. Топикстартеру такие значит не нужны.
Знаешь, кто такие code monkey? Это "низкооплачиваемые низкоквалифицированные кодеры"(с)я,
·> Во-вторых, за код меня таки хвалят и о using прекрасно я знаю, хотя опыта c# у меня 9 дней, а то и меньше, в общей сложности. Но чую, если бы я умел объяснять получше, то я мог бы зарабатывать раза в 1.5 больше.
Спасибо за пример!
Те самые низкооплачиваемые низкоквалифицированные кодеры, которые не могут понять, что любой ЯП это всего лишь инструмент. И деньги зарабатывают за применение инструмента, а не знание наизусть инструкции к перфоратору.
Именно поэтому бизнес-логика намного важнее знания деталей работы ThreadPool. Потому что через 3 года про тредпул все забудут,в моде будет TPL,... YouNameItL.
А ты так всю жизнь и будешь специалистом по перфоратору, "бетон ломай стена круши мусор вывози", который мог бы зарабатывать!, вроде не бездельники, и могли бы жить!.... но чет не получается.
Здравствуйте, kaa.python, Вы писали:
KP>А так же коллегам, которые смотрят потом на творение человека, которому базовые знания не нужны и думают как очередной кумар-стайл шедевр поддерживать. Знаем таких, проходили и всеми силами стараемся не брать в команду.
Ага. Расскажи, сколько раз тебе пригождалось базовое знание обходить деревья в ширину с применением стека при разработке веб-приложений или слоя доступа к данным.
Погладь, погладь свое ЧСВ.
Здравствуйте, mgu, Вы писали:
mgu>Ну, вместо геттеров-без-(общественных)сеттеров использовать readonly.
Так можно, но прокатит только в двух случаях:
1. Поле value типа.
2. Поле immutable типа.
mgu>А если имеются ссылочные поля, то в геттерах возвращать клоны значений.
Вот. Этот финт нужен для пропертей mutable типов.
Если у нас ссылочное поле immutable типа, то ему тоже можно просто readonly поставить.
M>using в С# используется в 3-ёх различных ситуациях. Dispose популярен поскольку на всех интервью его спрашивают. 2-ой — using System тот же Java import (daaah!), а вот 3-ий — это для тех кто реально клювом не щёлкает.
Есть using derective и есть using statement.
Я бы не смешивал всё в одну кучу, это разные вещи. То что вы спрашивали это using statement и имеет только одну цель: вызов Dispose().
Вот как раз using derective используется в трёх различных ситуациях.
Здравствуйте, StandAlone, Вы писали:
SA>Ага. Расскажи, сколько раз тебе пригождалось базовое знание обходить деревья в ширину с применением стека при разработке веб-приложений или слоя доступа к данным. SA>Погладь, погладь свое ЧСВ.
Зря ёрничаешь. На днях строил список зависимостей приложения на CMake для их последующей установки. Что по сути обход дерева, причем рекурсию использовать было нельзя в силу кривости самого CMake. Классика ж примитивных задач с собеседования, которые "никогда не встречаются в реальной жизни и никому не нужны". Ага, никому и никогда не нужны
Здравствуйте, kaa.python, Вы писали:
KP>Зря ёрничаешь. На днях строил список зависимостей приложения на CMake для их последующей установки. Что по сути обход дерева, причем рекурсию использовать было нельзя в силу кривости самого CMake. Классика ж примитивных задач с собеседования, которые "никогда не встречаются в реальной жизни и никому не нужны". Ага, никому и никогда не нужны
так как обходил-то? постфиксно, инфиксно, префиксно? За 5 минут на бумажке без интернета? Примитивно с собеседования, да?
Я не ёрничаю.
Я даю тебе возможность погладить свое ЧСВ и почувствовать себя не прорабом во главе оравы джамшутов с перфораторами, а доктором Эмметт Латроп Браун, в совершенстве знающим уравнения Максвелла и способном собрать небольшой гиперболоид из короткозамкнутых коллекторников.
Практически обстановку собеседования создаю.
Правда, зачем все эти навороты в зоопарке при классическом ремонте, я
Дерево зависимостей приложения он строил. Вручную.
:(
А огонь трением разжигать умеешь?
Здравствуйте, StandAlone, Вы писали:
SA>·>Каких применений? Где ещё в c# есть LC? SA>Вот, очень наглядное свидетельство широты лба кругозора специалиста по while. SA>Это печально.
По делу-то есть что сказать? Просвети.
SA>·>Понятно, т.е. знаний ЯП нет, а просто code-monkey конкретного фреймворка. Топикстартеру такие значит не нужны. SA>Знаешь, кто такие code monkey? Это "низкооплачиваемые низкоквалифицированные кодеры"(с)я,
Знаю. Вот они и могут обойтись знанием как запихать бизнес-логику в WCF.
SA>·> Во-вторых, за код меня таки хвалят и о using прекрасно я знаю, хотя опыта c# у меня 9 дней, а то и меньше, в общей сложности. Но чую, если бы я умел объяснять получше, то я мог бы зарабатывать раза в 1.5 больше. SA>Спасибо за пример! SA>Те самые низкооплачиваемые низкоквалифицированные кодеры, которые не могут понять, что любой ЯП это всего лишь инструмент. И деньги зарабатывают за применение инструмента, а не знание наизусть инструкции к перфоратору. SA>Именно поэтому бизнес-логика намного важнее знания деталей работы ThreadPool. Потому что через 3 года про тредпул все забудут,в моде будет TPL,... YouNameItL. SA>А ты так всю жизнь и будешь специалистом по перфоратору, "бетон ломай стена круши мусор вывози", который мог бы зарабатывать!, вроде не бездельники, и могли бы жить!.... но чет не получается.
И то, и то важно. Без знания инструмента так и будешь закручивать гвозди микроскопом.
Да и в условиях интервью знания инструмента проверить хоть сколько-то реально. А знания бизнес-логики — что с ними делать-то? Да и в большинстве случаев не нужно новому работодателю твоё текущее знание бизнес-логики.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, StandAlone, Вы писали:
SA>Многие программисты страдают неумением объяснять.
Взаимодействие людей — основная проблема в любых сложных проектах. Другая проблема — реальная мотивация, не многие понимают что их на самом деле мотивирует, не говоря уже про понимание других людей.
Здравствуйте, Klikujiskaaan, Вы писали:
K>А их приглашают? K>Если есть выбор между раджикумаром и белым человеком — у раджикумара шансов практически 0.
Я честно выключил все расовые предрассудки, но все равно ни один индус не попал в шорт лист чисто по знаниям.
Здравствуйте, turbocode, Вы писали:
T>Я не ставил бы элементарные вопросы на первое место потому что могут неправильно вас понять и у кандидата всякое желание пропадет с вами продолжать разговор, а дальше кандидат либо скатится в тролинг либо сам уйдет. В индусов менталитет скорее другой и они по умолчанию рассчитывают что их будут пороть на собеседовании независимо от их опыта.
Ну и славно, что пропадет, а у меня с таким пропадет желание работать. Так что все довольны, а принцессы пусть и дальше ищут своих принцев.
Здравствуйте, StatujaLeha, Вы писали:
SL>А что тут ожидается в качестве ответа? SL>Вот у нас есть immutable тип. Это значит, что после создания объект этого типа внутреннее состояние не меняет. SL>Если же у объекта есть операции, подразумевающие изменения(например, Add для immutable коллекции или Replace для string), то этот метод при вызове на основе текущего состояния создает новый объект с состоянием, соответствующим проведенной операции.
Здравствуйте, kaa.python, Вы писали:
KP>Зря ёрничаешь. На днях строил список зависимостей приложения на CMake для их последующей установки. Что по сути обход дерева, причем рекурсию использовать было нельзя в силу кривости самого CMake. Классика ж примитивных задач с собеседования, которые "никогда не встречаются в реальной жизни и никому не нужны". Ага, никому и никогда не нужны
Это не то, у меня была другого рода проблема. Есть бинарник и несколько библиотек у которых есть зависимости от других библиотек и т.д. На этапе подготовки инсталляционного пакета нужно собрать все библиотеки, разложить их по директориям, поправить RPATH/install_name_path и т.п на 3-х платформах (для Windows/Linux/macOS). Так как есть несколько уровней зависимостей (дерево, фактически), библиотек может просто нет в дереве зависимостей самого CMake проекта и информацию пришлось извлекать отдельно, из бинарников, благо такое API есть в составе CMake. Но вот API для "дать имя головного модуля и получить зависимости всех уровней" нет. В принципе, там работы всего ничего, но сам CMake-скрипт то еще говнище где даже рекурсии не работают, что осложняло дело несколько
T>>Я не ставил бы элементарные вопросы на первое место потому что могут неправильно вас понять и у кандидата всякое желание пропадет с вами продолжать разговор, а дальше кандидат либо скатится в тролинг либо сам уйдет. В индусов менталитет скорее другой и они по умолчанию рассчитывают что их будут пороть на собеседовании независимо от их опыта. A>Ну и славно, что пропадет, а у меня с таким пропадет желание работать. Так что все довольны, а принцессы пусть и дальше ищут своих принцев.
Не каждому охота кому то что то доказывать с нуля и работать потом по системе: ты никто и звать тебя никак, твое мнение ничто, выполняй приказ. кругом, шагом марш!
Здравствуйте, Mystic Artifact, Вы писали:
MA> readonly — это спецификатор доступа к полю. К типу это вообще не имеет отношения. Кроме того — прелесть immutable типов в том, что их можно шарить между кем угодно бесплатно — они неизменны. А вот возврат клонов — это уже не совсем то — т.к. наблюдаемое состояние (взвращаемые ссылки) — меняются.
Ну, можно и const тогда задействовать, но есть очевидные ограничения использования. Или сериализовать в файлы с запретом модификации, но это тоже... как-то... через задний проход.
MA> Вообще по хорошему для работы с immutable типами нужен язык который их понимает — иначе куча писанины без явно определенных гарантий / удобств. Под удобствами — это "структурное" сравнение значений например. И т.п.
Да, мне кажется, что языки с модификаторами immutable, singleton и т. п. давно напрашиваются.
Здравствуйте, kaa.python, Вы писали:
KP>Именно. Базовая вещь — знание языка на котором ты работаешь. Нет ни малейшего желания тратить время на объяснения почему так писать нельзя, и как это делать правильно человеку претендующему на позицию отличную от позиции юнтора. Не знает инструмент — до свидания.
Вот смотрите: на этом форуме инструментом для донесения своей мысли является русский язык, а вы пренебрегаете его "синтаксисом". Задачи положено ставить опытными программистами младшим на человеческом языке, и неправильно расставленные запятые могут привести к неверному истолкованию. Вопрос: требуется ли от разработчика знание только языка программирования или это правило распространяется также на языки коммуникации?
Далее. Имеется описанный вами экземпляр программиста. У вас нет желания тратить время на объяснения. А откуда у него возьмутся знания о правильном написании программ? Из учебников? А вот загляните в учебники... мама родная! Я вот недавно распространялся по поводу Cracking the Code Interview. Да я бы таких авторов... да тряпками... А вдруг неиспорченная душа прочитала сие поделие? Хорошо, есть священные канонические писания, а если кандидат принадлежит к другой секте? Да даже спросите на RSDN у 10 человек, как написать singleton, и получите 12 разных ответов. Как плохо пишущему программисту научиться, прорвать заколдованный круг? Вы, я уверен, являетесь сильным программистом, а когда-то тоже делали первые шаги. ПодЕлитесь способами профессионального роста?
Желание обучать, умение объяснять -- не есть ли это признаки гуру?