Re[3]: Куды котимся?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.08 01:22
Оценка:
Здравствуйте, Maxim S. Shatskih, Вы писали:

ГВ>>Две-три ключевых проверки: что файл открылся (открыт) и что запись прошла успешно и полностью, и что удалось нормально закрыть, если открывали. Интересно, почему о второй проверке никто не вспомнил?


MSS>write() не может пройти не полностью.


Смотря какой.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: Куды котимся?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.08 01:29
Оценка:
Здравствуйте, Maxim S. Shatskih, Вы писали:

ГВ>>Две-три ключевых проверки: что файл открылся (открыт) и что запись прошла успешно и полностью, и что удалось нормально закрыть, если открывали. Интересно, почему о второй проверке никто не вспомнил?


MSS>write() не может пройти не полностью.


Вернее так: если успешно, то полностью.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[14]: в очередной раз о собеседованиях
От: alzt  
Дата: 15.09.08 05:43
Оценка:
Здравствуйте, Gradient, Вы писали:

A>>>Я про такие выражения узнал на первом курсе.

A>>>А про теорию множеств, булеву алгебру на 2-м или на 3-м. И уже запоминал, что U это как ||, а ^ это как &&, ну чёрточка вверху — это ! .
A>>>Проходил это я очень подробно, с кучей доказательств. Но в голове ничего не осталось.
A>>>А как применить отрицание к целому выражению я и до этих курсов знал.

SD>>Ахаха у меня почти так же, разве что про || и && я знал еще до универа.


G>Да доказательств-то там — табличка на 4 строчки. Чтобы написать 12 единиц или нулей никаких знаний не надо. ИМХО как раз то, что хотел видеть у кандидатов автор темы — умение ответить на простенький вопрос для проверки наличия мозга.


Не доказательство, а доказательства и их в булевой алгебре достаточно много, не все можно по табличке проверить.
Re[15]: в очередной раз о собеседованиях
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.08 13:23
Оценка:
Здравствуйте, alzt, Вы писали:

G>>Да доказательств-то там — табличка на 4 строчки. Чтобы написать 12 единиц или нулей никаких знаний не надо. ИМХО как раз то, что хотел видеть у кандидатов автор темы — умение ответить на простенький вопрос для проверки наличия мозга.


A>Не доказательство, а доказательства и их в булевой алгебре достаточно много, не все можно по табличке проверить.


Да можно, можно... Только табличка будет километров на сорок.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: в очередной раз о собеседованиях
От: Abalak США  
Дата: 15.09.08 15:33
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, olegkr, Вы писали:


O>>А вообще я фигею, насколько математики любят называть умными словами самые обычные вещи. Вот что такое булевая алгебра? Да ненамного сложнее +-/*, разобраться и понять можно за несколько часов, а сколько гонора и спеси.


M>Вообще-то булевая алгебра это дистрибутивная решетка, в которой каждый элемент имеет дополнение. Если ты с нуля за пару часов в состоянии понять, что максимальный идеал булевой алгебры совпадает с прообразом нуля при ее двузначных гомоморфизмах, то я снимаю перед тобой шляпу.


И как это знание мне поможет решать повседневные задачи по реализации бизнесс-логики? Логическое выражение надо записывать читабельно, а не "по-научному". Нормальные отступы и пусть даже излишние скобки делают условия читаемым, а оптимизатор сам все упростит если сочтет нужным.
Re[24]: в очередной раз о собеседованиях
От: Abalak США  
Дата: 15.09.08 15:37
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Оно никогда и не "постареет" в этом смысле. Нету основ для такого старения. На самом деле, программирование тяготеет к слиянию теории и "практики", и чем дальше, тем сильнее.


Это с повседневным-то внедрением managed платформ? Ну-ну
Re[25]: в очередной раз о собеседованиях
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.08 15:44
Оценка:
Здравствуйте, Abalak, Вы писали:

ГВ>>Оно никогда и не "постареет" в этом смысле. Нету основ для такого старения. На самом деле, программирование тяготеет к слиянию теории и "практики", и чем дальше, тем сильнее.


A>Это с повседневным-то внедрением managed платформ? Ну-ну


managed = smart-free? Это для меня новость.

Ты вообще в курсе, сколько всего было разработано и придумано на Lisp-платформах? Managed из managed-ов, между прочим.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[26]: в очередной раз о собеседованиях
От: Abalak США  
Дата: 15.09.08 15:48
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Abalak, Вы писали:


ГВ>>>Оно никогда и не "постареет" в этом смысле. Нету основ для такого старения. На самом деле, программирование тяготеет к слиянию теории и "практики", и чем дальше, тем сильнее.


A>>Это с повседневным-то внедрением managed платформ? Ну-ну


ГВ>managed = smart-free? Это для меня новость.


smart == теория? Это для меня новость.
Re[27]: в очередной раз о собеседованиях
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.08 16:04
Оценка:
Здравствуйте, Abalak, Вы писали:

ГВ>>>>Оно никогда и не "постареет" в этом смысле. Нету основ для такого старения. На самом деле, программирование тяготеет к слиянию теории и "практики", и чем дальше, тем сильнее.

A>>>Это с повседневным-то внедрением managed платформ? Ну-ну
ГВ>>managed = smart-free? Это для меня новость.
A>smart == теория? Это для меня новость.

Теория = unmanaged?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[26]: в очередной раз о собеседованиях
От: olegkr  
Дата: 15.09.08 16:07
Оценка: 3 (1)
Здравствуйте, AndrewVK, Вы писали:

AVK>Такую. И про Liskov Substitution Principle тоже никогда не слышал?

Нет, разумеется. Что-то мне все это напоминает случайно подслушанный разговор в театре двух театралок (произносить с романтически-напыщенной интонацией):
Театралка 1: Вы уже смотрели новую постановку "Х" от "Y"
Театралка 2: Нет, не довелось, к сожалению
Театралка 1 (всплескивая руками): Боже мой! Кааакооой пробеел!!!
Re[27]: в очередной раз о собеседованиях
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.09.08 16:12
Оценка: +1 :)
Здравствуйте, olegkr, Вы писали:

AVK>>Такую. И про Liskov Substitution Principle тоже никогда не слышал?

O>Нет, разумеется.

Ну что ж, ты отлично продемонстрировал мою точку зрения.

O>Театралка 1 (всплескивая руками): Боже мой! Кааакооой пробеел!!!


LSP это не постановка в театре, это базовый принцип ООД.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[8]: в очередной раз о собеседованиях
От: elmal  
Дата: 15.09.08 16:44
Оценка:
Здравствуйте, IID, Вы писали:

IID>Да что вы говорите Если я на бумажке на собеседовании не напишу все, требуемые по венгерской нотации, префиксы — то я джуниор ? =)

Я это подумал на основании слудеющего:
1) Видно, что не привык следовать коть какой-либо code convention. Нет системы в том, как форматируешь код. В одном случае if (, в другом случае for(, в одном случае i=0, в другом случае x1 = x2, ну и т.д. Нет системы;
2) Выпендрился знанием того, что делает оператор запятая. i++, angel+= здесь не особо к месту;
3) 0 != i. Тоже имхо выпендрился . Во первых, насколько я знаю, так делают чтоб уберечся от того, что спутаешь LValue с константой и вместо == поставишь =. В случае != никакой выгоды, кроме как ухудшения читаемости не получаем;
Остальное мелочи и субъективно
Re[10]: в очередной раз о собеседованиях
От: elmal  
Дата: 15.09.08 16:47
Оценка:
Здравствуйте, IID, Вы писали:

IID> Просьба привести код была адресована не вам, а товарищу elmal, чтобы он смог обосновать свой ярлык "джуниор".

Свой ярлык обосновал . Если исправить то, что написал, то на основании этого кода о кандидате не скажешь ничего не хорошего, ни плохого . А если не исправить, то как-то бросается в глаза, что в команде со строгим code convention не работал .
Re[8]: в очередной раз о собеседованиях
От: elmal  
Дата: 15.09.08 16:59
Оценка:
Здравствуйте, IID, Вы писали:

IID>Да, вот ещё что. Приведите ваш вариант, который вы бы набросали на бумажке на собеседовании. Не (как вы выразились) по-джуниорски (если честно, мне любопытно, что для вас было решающим фактором). Честный код, который вы способны написать не от ходя от кассы, за пару минут. Без хелпов и интернета. Отлично, если это будет что-то существеннее, чем приближение отрезками прямых.

Написал бы наверно практически тоже самое, так как помню из математики ровно столько же . В данном задании единственное, что я мог бы продемонстрировать, это умение соблюдать code convention и то, что я стараюсь писать код максимально понятно. Задание к сожалению слишком простое, чтобы это продемонстрировать . Просто код очень уж напоминает мой, который я писал в студенческие годы, вот и придрался .
Re[28]: в очередной раз о собеседованиях
От: Abalak США  
Дата: 15.09.08 17:15
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Abalak, Вы писали:


ГВ>>>>>Оно никогда и не "постареет" в этом смысле. Нету основ для такого старения. На самом деле, программирование тяготеет к слиянию теории и "практики", и чем дальше, тем сильнее.

A>>>>Это с повседневным-то внедрением managed платформ? Ну-ну
ГВ>>>managed = smart-free? Это для меня новость.
A>>smart == теория? Это для меня новость.

ГВ>Теория = unmanaged?


Не совсеи. Я просто ответил на очень спорное утверждение.
Re[14]: в очередной раз о собеседованиях
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.09.08 17:18
Оценка: 4 (1) +1
Здравствуйте, Abalak, Вы писали:

A>Здравствуйте, Mystic, Вы писали:


M>>Здравствуйте, olegkr, Вы писали:



A>И как это знание мне поможет решать повседневные задачи по реализации бизнесс-логики? Логическое выражение надо записывать читабельно, а не "по-научному". Нормальные отступы и пусть даже излишние скобки делают условия читаемым, а оптимизатор сам все упростит если сочтет нужным.


Я отвечал на это сообщение:
O>>>А вообще я фигею, насколько математики любят называть умными словами самые обычные вещи. Вот что такое булевая алгебра? Да ненамного сложнее +-/*, разобраться и понять можно за несколько часов, а сколько гонора и спеси.

Просто когда человек абсолютно не в курсе вопроса начинает делать глубокомысленные выводы... Типа ненамного сложнее +-*/... Булевая алгебра, как таковая, в основном не входит в институтскую программу, разве только где-нить ма мехмате. Поэтому логично сделать вывод, что она мало помогает решать повседневные задачи. Так, раздел алгебры, который изчается на последних курсах или в аспирантуре.

Что касается логических выражений, то я согласен, что их надо писать "читабельно". Вот умение оперировать логическими выражениями и позволяет записывать их более читабельно. Первая мысль, которая приходит в голову, далеко всегда не ясная и понятная. Иногда результат условного выражения это результат разнесенных во времени размышлений. Мозг не всегда идет к цели кратчайшим путем. Бывает, что он ломится в открытую дверь, делает замысловатые изгибы и т. п. Результат этого---рабочее логическое уловие, но повторяющее все эти изгибы. Если его преобразовать можно (1) получить интересные открытия (например, ветвление совсем не зависит от переменной, которая казалась нам необходимой) (2) устранить все лишние изгибы и сделать его более понятным. Никогда не было такого: упрощаешь условие и думаешь "надо же, как все просто, а такого наворотил?"

Например, в го если защищающая сторона пошла в область своего глаза, то глаз видоизменил форму, надо обновить критические пункты для него. Стоя условное выражение для этого, я вполне могу прийти до красивого и понятного решения:

  if (move.SideWhoMoved == defender && !move.IsPass() && node->eye.Get(move.Point))
  {
    answer->eye.AndNot(move.Point);

    Bitgoban temp = answer->eye;
    AnalyzeConstruction(&temp, &answer->critical);
  }


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

  if (move.SideWhoMoved == defender && !(move.IsPass() || !node->eye.Get(move.Point)))
  {
    answer->eye.AndNot(move.Point);

    Bitgoban temp = answer->eye;
    AnalyzeConstruction(&temp, &answer->critical);
  }


Тут рассуждение могло также всестись в терминах "или". Первая мысль: если пас или ход не в глазное пространство, то ничего обновлять не надо. Значит обновлять надо если сделать этому всем not. В рузельтате получается

  if (move.SideWhoMoved == defender && !(move.IsPass() || !node->eye.Get(move.Point)))
  {
      // .............
  }


Это иллюстрирует ход моей мысли. То, как я догадался до выражения. Но сама запись не так понятна читающим код. А потом, преобразовав его ты думаешь: надо же как все просто
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: в очередной раз о собеседованиях
От: Abalak США  
Дата: 15.09.08 18:07
Оценка:
Здравствуйте, Mystic, Вы писали:

В целом соглашусь с рассуждениями, но как это коррелирует с

Вообще-то булевая алгебра это дистрибутивная решетка, в которой каждый элемент имеет дополнение. Если ты с нуля за пару часов в состоянии понять, что максимальный идеал булевой алгебры совпадает с прообразом нуля при ее двузначных гомоморфизмах, то я снимаю перед тобой шляпу.

?

Когда пишу условие — тоже иду по ходу мысли, когда проверил, что работает еще раз просматриваю условие и часто нахожу более лаконичное и читабельное условие. Опять же читабельное != самое оптимальное. В данном случае нужно развитое логическое мыщление, а не знание гомоморфизмов.

Программирование это инженерное ремесло, тут часто важно логическое/пространственное восприятие цепочки Имеем -> Хотим Получить. Если этого нет, то ты хоть трижды помни все постулаты булевой алгебры — результата не будет. Много раз в универе наблюдал, как народ уходил в отл. на экзаменах, где в ответы подрузамевали кучу теорем и выводов, а в следующем семестре на курсовике не могли толком ничего реализовать (специальность — робототехника). Зато позаканчивали все с красными дипломами и кучей гонора. Где они сейчас, через 5 лет — , мне отсюда не видно. Вроде презентации Интела устраивают на выставках.
Re[28]: в очередной раз о собеседованиях
От: olegkr  
Дата: 15.09.08 18:26
Оценка: +1 :)))
Здравствуйте, AndrewVK, Вы писали:

AVK>LSP это не постановка в театре, это базовый принцип ООД.

Да почитал я про него. Теоретики, как обычно, в своем духе. Сформулировать и обозвать по-научному то, что и так используется на практике без всяких теорий.
И что спрашивается я нового узнал из этого принципа? Да ничего.
Re[29]: в очередной раз о собеседованиях
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.08 18:54
Оценка:
Здравствуйте, olegkr, Вы писали:

AVK>>LSP это не постановка в театре, это базовый принцип ООД.

O>Да почитал я про него. Теоретики, как обычно, в своем духе. Сформулировать и обозвать по-научному то, что и так используется на практике без всяких теорий.
O>И что спрашивается я нового узнал из этого принципа? Да ничего.

Ну, в общем — да, вполне коррелирует с вот этим высказыванием
Автор: olegkr
Дата: 19.08.08
:

IT-индустрия, в современном понимании этого слова, фактически стартовала в начала 90-х. Да и массовое обучение программистов тоже только тогда началось.


А до того ветер гудел над безмолвными водами.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[30]: в очередной раз о собеседованиях
От: olegkr  
Дата: 15.09.08 19:26
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Ну, в общем — да, вполне коррелирует с вот этим высказыванием
Автор: olegkr
Дата: 19.08.08
:

ГВ>

IT-индустрия, в современном понимании этого слова, фактически стартовала в начала 90-х. Да и массовое обучение программистов тоже только тогда началось.


Ой как нехорошо выхватывать фразы из контекста. В вышеприведенной ссылке обсуждалась IT-индустрия России, а не всего мира.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.