Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

что изучить быстрее

55K
29 октября 2010 года
rusrus
10 / / 21.02.2010
на чем можно научиться писАть БЫСТРЕЕ? Приложения на C#, MS SQL с необходимыми библиотеками и включая WCF, WPF ИЛИ сайты(CMS) на html,css,php,mysql, како-нить php framework, jQuery, ajax
Страницы:
6
11 ноября 2010 года
George
4.1K / / 05.01.2007
Цитата: Kogrom
Так бы сразу и сказал :) Но, в идеальном мире даже и архитектор не нужен. Всё должно само строиться в лучшем виде.


Ну ну. Люди тож в идеальном мире не нужны - только вид из окна портят.

87
11 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: George
Люди тож в идеальном мире не нужны - только вид из окна портят.


George, ты эстет. Мне тебя не понять.

241
12 ноября 2010 года
Sanila_san
1.6K / / 07.06.2005
Цитата: Kogrom
Это относится к каравану верблюдов, а не программистам, работающим в команде. Тут аналогии нет, так как ты сам заметил, что[QUOTE=Sanila_san]в строительстве существуют не только архитекторы (которые, кстати, тоже часто бывают так себе), но и каменщики, монтажники и прочий люд, среди которого встречаются и мастера, и подмастерья.

[/QUOTE] То-то и оно, что эффективность работы команды определяется как сильными её участниками, так и слабыми. У команды из всех сильных участников эффективность наивысшая; из всех слабых - низшая или нулевая, если участники разные - то и эффективность будет где-то между нулём и максимумом. Если результат - величина хоть как-то постоянная (например, соответствие ТЗ), то время его достижения определяется тем участником, кто работает медленнее остальных. IRL всё несколько сложнее, но в целом принцип "на финише все или никто" работает.

Цитата: Kogrom
Что за странный вопрос? Конечно не понимаю, иначе бы не поставил вместе. Зачем вообще такие вопросы задавать? Это почти так же не вежливо, как задавать вопрос: "ты же понимаешь, что ты идиот?".

А вот на личности я давно уже не перехожу. ;) Смотри по пунктам:

 
Код:
Но должна ли вся команда быть из знатоков, которые владеют упомянутым минимумом?
Все ли сотрудники Canonical или Microsoft должны владеть какими-то необходимыми навыками?
 
Код:
Должны ли дома строиться бригадами архитекторов?
Все ли сотрудники Canonical или Microsoft должны быть программистами?

Эти мои вопросы всё ещё эквивалентны?

Цитата: Kogrom
Далее комментировать бессмысленно ибо ты сам же себе доказываешь, что не все должны иметь стандартный багаж навыков, знаний.

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

Цитата: Kogrom
Возможно, мы просто не понимаем друг друга. Может, ты говорил о том, что новичок должен отличать sort от find, а я уже понял, что он должен уметь оценивать сложность алгоритмов по науке.

Меня в школе учитель физики удивлял способностью прикидывать интеграл какой-нибудь функции в уме. Потом мы вычисляли его точно, результат совпадал иногда аж до сотых долей. Сложность алгоритма чаще всего достаточно именно прикинуть в уме, а сложность каких-то базовых алгоритмов вообще можно запомнить как таблицу умножения. Человек в среднем случае существо ленивое и затруднять себя вычислением сложности алгоритма не будет. Да, важно отличать sort от find, свойства объектов от переменных класса, ну и ещё в таком духе знать то, с чем работаешь.


Цитата: Kogrom
Ну, если он строит "just for fun", то конечно. Или может стоит разделить профессии: знаменитый архитектор небоскрёбов и знаменитый архитектор сараев...

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

241
12 ноября 2010 года
Sanila_san
1.6K / / 07.06.2005
Ну и в тему ТС нашёл в гуглридере цитату:[QUOTE=Peter Norvig][Programming] language choice is not as important as all the other choices: if you have the right overall architecture, the right team of programmers, the right development process that allows for rapid development with continuous improvement, then many languages will work for you; if you don't have those things you're in trouble regardless of your language choice.[/QUOTE]
87
12 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: Sanila_san
То-то и оно, что эффективность работы команды определяется как сильными её участниками, так и слабыми.


Это лишь в случае, когда главный участник не может заменить (изменить) кого-то из тех, кто тормозит.

Но про сильных и слабых - это ты говоришь. Я говорю о том, что в команде могут присутствовать спецы с различными навыками (включая базовые). И те навыки, которые ты назвал - не являются универсальными для всех.

Цитата: Sanila_san
Смотри по пунктам:
 
Код:
Но должна ли вся команда быть из знатоков, которые владеют упомянутым минимумом?
Все ли сотрудники Canonical или Microsoft должны владеть какими-то необходимыми навыками?
 
Код:
Должны ли дома строиться бригадами архитекторов?
Все ли сотрудники Canonical или Microsoft должны быть программистами?


Посмотрел. Ты исказил смысл как тебе было удобно (смотри выделенное). Одно дело - какими-то необходимыми, а другое дело - определить для всех некий искусственный минимум, взятый с потолка.

Цитата: Sanila_san
Вопрос в том, что такое стандартный багаж знаний. По сути, каждому достаточнот знать то, с чем он должен работать осознанно. Если надо уложить кирпичи - изучи, как класть кирпич. Надо выбрать структуру данных - изучи их. Надо выбрать шаблон проектирования - разберись с ними. Не раньше, но и не позже.


Я об этом и говорю. О чём спор тогда?

241
12 ноября 2010 года
Sanila_san
1.6K / / 07.06.2005
Цитата: Kogrom
Но про сильных и слабых - это ты говоришь. Я говорю о том, что в команде могут присутствовать спецы с различными навыками (включая базовые). И те навыки, которые ты назвал - не являются универсальными для всех.



А что я назвал?
[QUOTE=меня]Если программист не понимает, как выбирать, создавать и оценивать алгоритмы, если он не понимает структуры данных и методы работы с ними, если он не понимает, как работает компьютер и каковы его ограничения - он вряд ли когда-то напишет хоть что-нибудь хорошее.[/QUOTE]Конечно, эти навыки не нужны дизайнеру и проектировщику интерфейсов, они не нужны продавцу - но тогда о какой команде мы говорим? Если о команде именно программистов - тогда я предположу, что у них даже больше универсальных навыков, чем я тут написал.

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

А какой базовый минимум предложил бы ты?

241
12 ноября 2010 года
Sanila_san
1.6K / / 07.06.2005
Цитата: Kogrom
Цитата:
Вопрос в том, что такое стандартный багаж знаний. По сути, каждому достаточнот знать то, с чем он должен работать осознанно. Если надо уложить кирпичи - изучи, как класть кирпич. Надо выбрать структуру данных - изучи их. Надо выбрать шаблон проектирования - разберись с ними. Не раньше, но и не позже.

Я об этом и говорю. О чём спор тогда?

Спор о том, что надо уметь и знать прежде чем строить хотя бы сарай. Начать, пожалуй, можно и прямо с его постройки. Первый сарай почти наверняка получится кривым. Потом надо взять источник и разобраться с тем, почему получилось криво. Но ведь и для начала надо хотя бы уметь пилить и забивать гвозди!

В программировании для начала надо чуть больше, но ненамного. Но чтобы перерасти начало, надо таки учиться программировать, и постоянно применять это умение. Можно, сидя на унитазе, прочитать того же Макконелла, но от этого не будет толку. Можно прочитать его же за компом и прорешать задания на бумажке и непременно на компе - от этого толку будет гораздо больше. Но больше всего толку будет, если написать сколько-нибудь ценное приложение, используя те знания, которые уже выучены и натренированы. И опять же, моя позиция в том, что не зная основ из того же Макконелла или Вирта, не сделаешь ничего сложнее хелоуворда. Ну, ещё надо, чтобы всё это укладывалось в голове. На это нужно время и терпение, ну и практика. Лично я в школе долго не знал, что можно использовать бесконечный цикл для управления программой, хотя про циклы как таковые знал очень неплохо.

87
12 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: Sanila_san
А какой базовый минимум предложил бы ты?



Надо расписать подробнее, что подразумевалось.

Например, что значит: "выбирать, создавать и оценивать алгоритмы"? Должен ли программист знать разнообразные виды сортировки и знать, как они будут работать в зависимости от увеличения размера данных или ему достаточно знать что есть библиотечная функция sort?

Что значит: понимать "структуры данных и методы работы с ними"? Тут вообще каждый может понимать как хочет. Один скажет - массивы и структуры, другой - словари и списки, третий - файлы и базы данных. А что требуется то?

Что значит: понимать "как работает компьютер и каковы его ограничения"?
Должен ли начинающий программист знать это на уровне продвинутого пользователя или более него? А зачем? Что конкретно он должен знать?

А то может мы по разному понимаем.

Возможно, главным было бы умение проводить профилировку и тестирование программ. А все навыки бы подстраивались под это. Но почему-то начинают учить не с этого...

87
12 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: Sanila_san
Спор о том, что...


Вот с этой цитатой согласен (не цитирую полностью, ибо можно перейти).

241
14 ноября 2010 года
Sanila_san
1.6K / / 07.06.2005
Цитата: Kogrom
Например, что значит: "выбирать, создавать и оценивать алгоритмы"? Должен ли программист знать разнообразные виды сортировки и знать, как они будут работать в зависимости от увеличения размера данных или ему достаточно знать что есть библиотечная функция sort?

Для начала надо уметь разбивать решение задачи на последовательность шагов, которые потом придётся кодировать. Надо уметь решать задачи - в математическом смысле: ты знаешь, что у тебя на входе, ты знаешь, что должно быть на выходе, и тебе надо построить последовательность шагов, каждый из которых ты на месте конкретизируешь. Уметь сообразить хотя бы, как подойти к задаче и за что взяться сначала. Это умение создавать алгоритм.

Умение выбирать алгоритм - это как минимум способность для решения своей задачи найти в книжке Макконелла/Вирта/Кнута/etc. такой, который ещё не реализован библиотечной функцией. Где-то реализовано больше, где-то меньше. Ограничиваться таким умением не стоит, но для начала оно потребуется.

Умение оценивать алгоритм - это способность выбрать лучшее решение из нескольких возможных и применимость его для решения своей задачи. Это умение понять, почему так долго ищется маршрут по карте московского метро, вычисляется 25-е совершенное число или намертво ложатся все четыре ядра процессора. :) И таки да, поняв - исправить.

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

Цитата: Kogrom
Что значит: понимать "структуры данных и методы работы с ними"? Тут вообще каждый может понимать как хочет. Один скажет - массивы и структуры, другой - словари и списки, третий - файлы и базы данных. А что требуется то?

В первую очередь это то, с чем непосредственно работаешь. Начинающему питонисту нет пользы от знания того, что в конце сишных строк находится 0x00. Остальное - "в порядке повышения образованности". А ещё это - понимание каждого слова в мануале по инструменту. Например, понимание разницы между списком и кортежем.

Цитата: Kogrom
Что значит: понимать "как работает компьютер и каковы его ограничения"?
Должен ли начинающий программист знать это на уровне продвинутого пользователя или более него? А зачем? Что конкретно он должен знать?

полезно знать, что компьютер не может работать в выключенном состоянии, что он не может поделить некоторые числа нацело, что он не может вычислить некоторые выражения точно. Если пишешь аську, нелишне представлять себе работу стека TCP/IP. Ну и в таком духе.

Цитата: Kogrom
Возможно, главным было бы умение проводить профилировку и тестирование программ. А все навыки бы подстраивались под это. Но почему-то начинают учить не с этого...

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

262
15 ноября 2010 года
Iktomy
1.2K / / 11.10.2004
Небольшое философское замечание, подытоживающее т.с. настоящий момент: Всем известно, что знания, не примененные на практике, и практикой не закрепленные - являются слухами
6
15 ноября 2010 года
George
4.1K / / 05.01.2007
Цитата: Iktomy
Небольшое философское замечание, подытоживающее т.с. настоящий момент: Всем известно, что знания, не примененные на практике, и практикой не закрепленные - являются слухами

Не удержусь:

Цитата:
По белоснежной набережной в выходной день прогуливаются Пушкин с Натальей Гончаровой.
Раскланиваются со знакомыми, мило беседуют и наслаждаются солнышком.
Нечаянно Наталья Гончарова наступает в лужицу и пачкает край платья.
Пушкин достает белоснежный платок, припадает на колено и протирает Наталье ботиночки и край платья. Прохожие умиляются и одобрительно улыбаются поэту…
Свидетель этого рассказывает своему другу:
Вчера Пушкина с Гончаровой видел — она в лужу наступила — он платок достал, ботиночки ей протер! Кавалер!
Друг рассказал своему другу, тот — следующуму, и так далее…
5-ый рассказывает 6-му:
Пушкин вчера с Гончаровой шли — дороги не разбирают, торопятся — прям по лужам шлепают!
10-ый — 11-му:
Пушкина вчера видал — Гончарову пьяную тащил — она шатается, прям по лужам идет! Грязная вся!!!
20-ый — 21-му:
Вчера Пушкин с Гончаровой домой шли — в жопу пьяные, грязные, песни орут. Идут — чуть не падают! Фу!
50-ый — 51-му:
До чего докатились! Вчера Пушкина видел на набережной — Гончарову ногами пинает, а она в жопу пьяная в луже валяется! Грязная, матом на него орет!
100-ый — 101-ому:
Прикинь — вчера видел — сидит Гоголь на столбе и дрочит!

262
15 ноября 2010 года
Iktomy
1.2K / / 11.10.2004
Смешно, УК, хоть и не про войну. Один и моих любимых анекдотов.
241
15 ноября 2010 года
Sanila_san
1.6K / / 07.06.2005
А тут давно уже не про войну, зато лулзов наловить можно... Тысячи их! :)
6
15 ноября 2010 года
George
4.1K / / 05.01.2007
Кстати рекомендую почитать Хармса, у него в подобном духе много вещиц. :)
262
16 ноября 2010 года
Iktomy
1.2K / / 11.10.2004
УК Жорж как бы намекает афтору, что Хармса изучить еще быстрее, чем осеменять холмогорских гусей.

Это шоб тут никто не подумал, дескать флудим и все такое. Тут только и делают, что пекутся об афторе. Я вот ночи не сплю, например. Думу думаю!
6
16 ноября 2010 года
George
4.1K / / 05.01.2007
Ну афтора тут вроде давно нет, его вынесло ))))
А спор Санила Сана и Когрома че то надоел уже - фигня изначальная какая-то по-моему. :)
241
16 ноября 2010 года
Sanila_san
1.6K / / 07.06.2005
С Когромом иначе не получается, он въедлив как тестировщик.
262
17 ноября 2010 года
Iktomy
1.2K / / 11.10.2004
Ноно! Тестировщики - лучшие парни в этой Вселенной!
87
18 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Да. Одновременно было две темы: про шаблоны и эта. Тема про шаблоны должна была быть более интеллектуальной, а эта резко менее (в идеале, простое посрамление автора темы). Тогда бы интересно большему числу форумчан. А тут пришёл Когром и спровоцировал Санилу Сана поумничать, чем всё испортил...

Ну тогда давайте поговорим про "совок" и Тёму, что-ли?
Я буду как-бы за совок, а вы за Тёму... ;)
297
18 ноября 2010 года
koodeer
1.2K / / 02.05.2009
Если чо, я тоже за совок буду. Просто не люблю, когда обижают того, кто ответить не может. :)
87
18 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Если говорить честно, то термин совок я не очень чётко представляю. Для меня это что-то цементно-кирзачёвое, неладно скроенное, но крепко сшитое. И это представление немного противоречит тому, что приведено в комментарии тут:
http://tema.livejournal.com/776202.html?thread=413256714#t413256714

Думаю, там примеры не совка, а некоторых мутантов-гибридов. Делали люди несколько поколений всё прямое и параллельное из цемента, из чугуна, а тут их попросили сделать бантик. Ну на тебе цементный бантик...

А халтура и дилетантство - оно так и называется. Зачем сюда ещё "совок" приплетать?
262
18 ноября 2010 года
Iktomy
1.2K / / 11.10.2004
Тёма, Совок - кто все эти люди? Гопники из микрорайона, которые отжали у Когрома мобилу?
87
18 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: Iktomy
Тёма, Совок - кто все эти люди? Гопники из микрорайона, которые отжали у Когрома мобилу?



Да тут был аргумент, типа: "кто не знает алгоритмы - тот совок". Ну и в подтверждение статья некоего Тёмы.

87
18 ноября 2010 года
Kogrom
2.7K / / 02.02.2008
Кстати, на счёт алгоритмов. Была у меня как-то идея в Студентах сделать тему про оптимизацию алгоритмов. Типа, выкладывать относительно простую задачку и решение, а затем пытаться оптимизировать только за счёт изменения алгоритма.

Но пока только 2 практические задачки вспомнил (алгоритмы которых смог оптимизировать), потому идею отложил.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог