Здравствуйте, Niemand, Вы писали:
N> На вопрос "почему?" непробиваемый ответ "оно заработало и я не хочу трогать". Сейчас он на полном серьезе жалуется что ему зп не поднимают
Ответь ему, что он работает, поэтому бухгалтерия не хочет ничего трогать
Не согласен с пунктом "API, Уровень 0" — "Часто нуждается в обращениях к документации". Так получается, что у меня нулевой уровень знаний для всех API, с которыми я когда-либо работал
ИМХО, при работе с API программисту нафиг не надо запоминать кучу подробностей типа "какой порядок параметров у функции записи в поток", "какая нужна строка форматирования для вывода трех знаков после запятой", "как называется функция — OpenFile или FileOpen" и т.п. Ответы на эти вопросы даст либо документация, либо Code completion в IDE. В лучшем случае эту информацию можно хранить в голове "в кэше", когда используешь конкрентую часть API, а когда прейдешь к работе с другой частью — можно смело забыть.
А что на мой взгляд действительно составляет знание API — это, во-первых, знание того, что можно и что нельзя сделать с помощью этого API. Соответствено, чем это знание более подробное, тем лучше человек знает API. И во-вторых, нужно знать признаки, по которым можно быстро найти ответы в документации.
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, Mamut, Вы писали:
M>>А какой у вас уровень?
К>Там не хватает уровня -1 (n!)
действительно не хватает. Был один знаток (назовем его Чак), о котором, не могу не расказать.
Объявил этот товарищ, что будет мозаику писать. Простенькая прога, в которой есть кнопка смены текущего цвета и поле для рисование с квадратиками. По нажатию на квадратик он меняет цвет на текущий. Поле где-то 100х100 квадратиков.
Ну я его благословил и забыл. Появляется этот Чак через дня 3 и говорит что почти готово. Ну думаю человек учится, старается, а пары только мешают (Чак учился не на програмера).
Приносит мозаику, с гордостью показывает. И я замечаю что квадратики, какие-то неплоские и вообще ведут себя как кнопки. Начинаю спрашивать как написал и передо мной предстает исходник на 500 КБайт с копипастенными обработчиками для каждой отдельной кнопки. Занавес
место эпилога: лень — защитный механизм от лишней работы
If the message above is in English — means I'm wasting my work time and work computer to post here. No hard feelings
Матерится по поводу того, сколько хрени пишут в блогах.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, D. Mon, Вы писали:
DM>Здравствуйте, skeptik_, Вы писали:
_>>Переводчик кстати обрезал левую колонку
DM>Никто ничего не обрезал, достаточно открыть в IE.
Ваще-то её поправили, и теперь и в ФФ всё ок (а раньше и в еи она была пуста). Прежде чем ставить минусы неплохо бы выяснить в чём дело, да?
Здравствуйте, D. Mon, Вы писали:
DM>Здравствуйте, skeptik_, Вы писали:
_>>Ваще-то её поправили, и теперь и в ФФ всё ок (а раньше и в еи она была пуста).
DM>Когда тут выложили ссылки на таблицы, у меня они плохо показывались в ФФ2 и отлично в ИЕ7. Пустых колонок не было.
Многие сидят на ХР и используют альтернативный браузер, поэтому семёрки у них нет. А некоторые вообще не на винде.
Системное программирование
0 Не знает что такое компилятор, линковщик или интерпретатор.
1 Базовое понимание компиляторов, линковщиков и интерпретаторов.
какое отношение это имеет к системному программированию?
Понимает, что такое ассемблерный код и как работают программы на уровне железа. Небольшое понимание виртуальной памяти и пэйджинга.
ну допустим, это похоже.
Понимает чем отличается kernel mode от user mode, что такое мульти-трединг, способы синхронизации и как реализованы примитивы синхронизации, может читать ассемблерный код.
а многопоточность тут причем? с каких пор она относится к сабжу? она что, только там и применяется, и более нигде?
Понимает, как работают сети, сетевые протоколы и может реализовать передачу данных через сокеты.
Понимает как работает весь "программный стэк": железо (CPU + Память + Кэш + Прерывания + микрокоды), двоичный код, ассемблер, статическая и динамическая линковка, копиляция, интерпретация, JIT-компиляция, сборка мусора, куча, стэк, адресация памяти…..
Ага, а также как варится яичница и гасится негашеная известь.
Опять смешались в кучу кони, люди... Тут и компиляция, и сборка мусора, и сеть, и многопоточность... застрелиться.
При этом, скажем, нет разделяемой памяти, очередей сообщений и прочих посиксных примитивов.
Наверное, они в многоточии все.
TDD почему-то объявлен панацеей, хотя имеется достаточно возражений по поводу этой методологии (впрочем, как и по поводу любой другой).
Не согласен с разделом Framework (уровень 3 — автор фрэймворка).
Поработал по жизни с двумя людьми, авторами своих фреймворков. Больше не хочу.
Ну не может один человек создать полноценный, безошибочный, легко поддерживаемый фрэймворк.
Из этого опыта понял, что любители писать свои фрэймворки, как правило, больные люди. Или истероиды или нарциссы.
Сейчас, если вижу очередного гения-фреймворщика, бегу от него как можно дальше или шлю самого как можно дальше.
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Курилка, Вы писали:
К>>Кстати defensive coding — антипаттерн для эрланга
N>Почему?
Скажем так, это входит в само понимание парадигмы fail fast. Т.е. реально ты не занимаешься проверкой всех параметров и их комбинаций, несовпадание (как правило в паттерн-матчинге) желаемого и действительного приводит к ошибке, которая элементарно может решиться перезапуском процесса.
Т.е. ключевой момент заключается в том, что обработкой ошибок занимается небольшая часть кода, т.е. это дело не "размазано" по всему проекту.
P.S. Наверное туманно объясняю, но видимо, я не особый идеолог эрланга
Здравствуйте, Mamut, Вы писали:
К>>>Кстати defensive coding — антипаттерн для эрланга N>>Почему?
M>Немного об этом здесь: http://www.rsdn.ru/Forum/?mid=2902549
Здравствуйте, skeptik_, Вы писали:
_>Гы, я сперва подумал, что не хватает уровня 4, то бишь O(1)
Это уже чистый дзен. Достигший его уже не программирует за ненадобностью
Работать с теми, кто имеет хороший рейтинг в TopCoder - это невероятная удача!
Да уж...
Ну и где их найти?
Таблица конечно интересная.
Спасибо.
Хотелось бы узнать мнение автора (и если автор не бкдет возражать — и других участников) — насколько эта таблица полна?
Или лучше создать параллельную ветку для обсуждения этого вопроса?
А вообще меня последнее время занимает вопрос...
Вот многие советуют зать МНОГО разных языков и технологий...
Но я опасаюсь, что пытаясь изучить многое, можешь толком не знать ничего...
Кто-то разделяет мои опасеня?
Моё имхо — таблица конечно интересная.
Но:
1) Кто и на основании чего её составил?
2) ИМХО всё же лучше когда программер составляет свой личный индивидуальный план развития.
CW>Работать с теми, кто имеет хороший рейтинг в TopCoder - это невероятная удача!
CW>
CW>Да уж... CW>Ну и где их найти?
CW>Таблица конечно интересная. CW>Спасибо.
Таблица интересная (я например открыл для себя вот этот интересный списочек), но и вопросов к автору много. В частности, почему автор считает, что distributed VCS и пролог — это nonplusultra? И быть топкодером ещё ничего не говорит о способности к индустриальной разработке. И почему я должен уметь делать db administration? А вообще таблица интересная.
К>>Там не хватает уровня -1 (n!)
_>Гы, я сперва подумал, что не хватает уровня 4, то бишь O(1)
O(1) — абсолютный максимум, а вот в другую сторону можно продолжать сколько угодно.
Ещё одно подтвеждение старой истины: разум человека ограничен, а глупость — беспредельна.
1) Может кто подскажет что такое code base? Ссылка на Вики мне не помогла. Я что-то не могу связать написанное в Вики с описанием уровней.
2) И может кто про домены пояснит? Кто нибудь с ними работал?
Здравствуйте, P_YegreS_P, Вы писали:
P_Y>2) И может кто про домены пояснит? Кто нибудь с ними работал?
Имеется в виду область деятельности, где применяется софт. Т.е. если пишешь софт для трейдеров, домен — это сам трейдинг. Если для бухгалтериии — сама бухгалтерия. И т.д.
Здравствуйте, skeptik_, Вы писали:
_>Ваще-то её поправили, и теперь и в ФФ всё ок (а раньше и в еи она была пуста).
Когда тут выложили ссылки на таблицы, у меня они плохо показывались в ФФ2 и отлично в ИЕ7. Пустых колонок не было.
_>Прежде чем ставить минусы неплохо бы выяснить в чём дело, да?
Минус означает мое несогласие с постом, не более того.
Здравствуйте, Niemand, Вы писали:
N>Приносит мозаику, с гордостью показывает. И я замечаю что квадратики, какие-то неплоские и вообще ведут себя как кнопки. Начинаю спрашивать как написал и передо мной предстает исходник на 500 КБайт с копипастенными обработчиками для каждой отдельной кнопки. Занавес
Бентли в "Жемчужинах" приводил хинди-код на коболе, примерно такого вида
if counter1 is equal to 1 then subtract 1 from counter1
if counter1 is equal to 2 then subtract 2 from counter1
.....
if counter50 is equal to 100 then subtract 100 from counter50
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, Niemand, Вы писали:
N>>Приносит мозаику, с гордостью показывает. И я замечаю что квадратики, какие-то неплоские и вообще ведут себя как кнопки. Начинаю спрашивать как написал и передо мной предстает исходник на 500 КБайт с копипастенными обработчиками для каждой отдельной кнопки. Занавес
К>Бентли в "Жемчужинах" приводил хинди-код на коболе, примерно такого вида К>
К>if counter1 is equal to 1 then subtract 1 from counter1
К>if counter1 is equal to 2 then subtract 2 from counter1
К>.....
К>if counter50 is equal to 100 then subtract 100 from counter50
К>
ооооооо! Помню еще один самородок с моей кафедры писал модель чего-то на джаве. жаль нет исходника, но идея сводилась к тому что были значения от 0 до 9 и он вставил все это в switch (схитрил, млин) и вызывал какой-то метод с этим же параметром.
типа
switch(i)
{
case 1: method(1); break;
case 2: method(2); break;
case 3: method(3); break;
...
}
На вопрос "почему?" непробиваемый ответ "оно заработало и я не хочу трогать". Сейчас он на полном серьезе жалуется что ему зп не поднимают
If the message above is in English — means I'm wasting my work time and work computer to post here. No hard feelings
Тут вот много ругательного, а я вот в целом согласен с приведенной таблицей. Можно я не буду ругать автора матрицы за неиделаьное совпадение данной матрицы с "идеальной матрицей компетентности программиста" в моей голове?
Так что пишу, что понравилось:
— про оформление кода
— ссылка на список Ганзельмана
— список книг
— про ведение блогов (считаю, эт правда)
— про знание алгоритмов
— про понимание того, как работают линковщики, сборщики мусора и т.д. Если человек этого не знает, он просто не сможет сделать некоторых сложных вещей
— про организацию файлов в проекте.
Здравствуйте, AlexFox, Вы писали: AF>Сейчас, если вижу очередного гения-фреймворщика, бегу от него как можно дальше или шлю самого как можно дальше.
Во, теперь буду знать чем народ распугипать!