Drive your career as React Developer with Symphony Solutions!
×Закрыть

Weekly linkdump #156

Интересные ссылки за неделю:

Активные темы на форуме:

LinkedIn

25 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.
2Макс:

Гуляя в тенистой роще, Анаксимен беседовал со своим учеником. "Скажи мне, — спросил юноша, — почему тебя часто одолевают сомнения? Ты прожил долгую жизнь, умудрён опытом и учился у великих эллинов. Как же так, что и для тебя осталось столь много неясных вопросов? «В раздумье философ очертил посохом перед собой два круга: маленький и большой. «Твои знания — это маленький круг, а мои большой. Но всё, что осталось вне этих кругов, — неизвестность. Маленький круг мало соприкасается с неизвестностью. Чем шире круг твоих знаний, тем больше его граница с неизвестностью. И впредь, чем больше ты станешь узнавать нового, тем больше будет возникать у тебя вопросов».

To Denys Nikolayenko говорит: 23.12.2008 в 22: 49 Соотношение должно было измениться хотя бы по той причине, что жизненный цикл систем стал гораздо дольше, а разработка упростилась/ускорилась. Т.е. времени на поддержку существуюющих решений (читай, рутину или bugfixing в понимании молодого поколения) стало идти больше, чем на разработку систем с нуля. Я именно об этом говорил.Если говорить в абсолютных цифрах, то неплохо бы сравнить и количество программистов сейчас и 40 лет назад. Думаю, количество творчества в пересчете на одного программиста думаю все таки резко упало. Я не знаю, что там было 40 лет назад, меня тогда еще не было, но я тебе сказать, что даже по сравнению с тем, что было 10−15, ситуация изменилась существенно. Перечитал. Похоже на старческое брозжание. Пора прекращать, мне еще рано:) В целом я хотел обратить внимание, не на изменение характера профессии, а на изменение характера профессионализма. Может это и не было основной мыслью статьи, но это именно то, в чем на мой взгляд наибольшая ее ценность.Макс Ищенко говорит: 23.12.2008 в 23: 03Согласен, но см. выше про количество программистов. Кроме того, есть также выражение «Новое — это хорошо забытое старое». Один простой пример, казалось бы недавно запущенный Яндекс.Пробки, является концептуальной копией проекта, который был сделан нашей командой в 2002−2003 годах, для одной из европейских компаний. Разница в том, что он в web’е, а у нас был на клиентском ПК (я бы сказал embedded, но после флуда на ветке GL, я уже боюсь это слово применять). Тут впору вспомнить Джоэла, с его Microsoft Goes Bonkers. Реально нового не так уж много. Ну и для полноты раскрытия темы можно еще перечитать The High-tech illusion (из Peopleware).eugene_n говорит: 24.12.2008 в 00: 09Именно. Системы образования, которая развивала навыки системного мышления уже нет. А замены ей еще нет, и, к сожалению, непонятно будет ли...

Denys Nikolayenko

Когда в стране системный кризис, то тут уже не до культуры проектирования.

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

По стечению обстоятельств я работаю в стенах Института Кибернетики основаного В.М. Глушковым. Состояние там действительно плачевное. Но я не думаю что если бы в СССР изначально велось проектирование своих систем, то что-то бы существенно изменилось (за исключением Поисков, Парусов и т.д. и т.п.). Когда в стране системный кризис, то тут уже не до культуры проектирования.

В начале 1970-х появились машины серии «Ряд». Так получилось, что во время моего распределения после МГУ мне пришлось быть свидетелем, как А.С. Кронрод боролся за продолжение проектирования и производства оригинальных советских машин (он даже предлагал назвать серию «АС» — автоматическая советская — по своим инициалам) против В.М. Глушкова и Л.Т. Кузина, которые ратовали за копирование IBM. Одним из аргументов у последних было то, что можно будет воспользоваться всем математическим обеспечением, созданным для IBM и ликвидировать то небольшое отставание в вычислительной технике, которое имелось в конце 1960-х.Глушков и Кузин победили (а судьей был председатель ГКНТ Кириллин), но все оказалось не так-то просто. Первый компьютер серии с трудом (титаническим трудом инженеров-электронщиков, запустивших его в жаркое лето 1972 года на ВДНХ, после чего они искупались в фонтане Дружбы Народов) был запущен в 1972 году, а массовая работа на нем — только в 1979 году. Все это время я неплохо зарабатывал лекциями по ОС ЕС ЭВМ. Документация по системе переводилась моими однокурсницами и другими людьми, не представлявшими себе, что такое компьютер вообще и операционная система в частности, и разобраться по такой документации было невозможно.Таким образом, Глушков и Кузин просчитались именно в этой компоненте — культуре пользования. Теперь я понимаю, что неправ был и Кронрод, за которого я «болел», потому что надо было и копировать IBM и делать свои машины именно для сохранения культуры. А в итоге к 80-м мы потеряли культуру проектирования элементов, потом и культуру проектирования устройств, а сейчас от нас уходит (вместе с носителями — людьми, которые умеют это делать) культура создания операционных систем.

Как теперь видно, что и в направлении разработки програмного обеспечения мы не далеко ушли от индусов и китайцев раз тягаемся с ними в плоскости стоимости услуг

The software development in Russia is several times cheaper than in USA or Europe and even cheaper than in India.

если брать в абсолюте то в нашем направлении сейчас гораздо больше творчества нежели было 40 лет назад

Как сказал Ашманов: «чем больше расширяется круг уже сделанного, тем шире разрывы в периметре, тем БОЛЬШЕ несделанного».

To Анонимно

Что касается статьи, то в приведенном тобой аспекте я все таки более согласен с автором. Хотя бы потому что, как по мне, «бытовая и повседневная»! = «рутинная». Но ты зацепил хорошую тему. Да, ты прав, рутина была, есть (и будет). Но, во-первых, соотношение рутинной и не рутинной работы 40, 30, 20 лет тому назад и сейчас плавно трансформировалось из 80 на 20, в 20 на 80.

Я склонен считать что эта пропорция не изменилась. И более того, если брать в абсолюте то в нашем направлении сейчас гораздо больше творчества нежели было 40 лет назад. По одной простой причине, прогресс никто не отменял, и количество нестандартных задач, которые требуют творческого подхода и особых знаний неуклонно растёт. Эти задачи возникают не только и не столько внутри компьютерных наук, а больше на стыках с другими. IMHO. Информационные технологии по своей сути — подспорье для для всех сфер человеческой деятельности.

Анонимно говорит: 23.12.2008 в 08: 38Да автор, в общем-то, и не отрицает что он собирается на пенсию:), при этом описывая эволюцию отрасли программирования на протяжении всей своей профессиональной карьеры.То что ты говоришь, отлично укладывается в рамки метфоры — профессия шофера. Тебя не интересует как автомобиль едет, ты знаешь где педали, руль и главное что он едет. А как сделать чтобы это все ехало — это задача архитектора проектировщика автомобиля. Но есть два нюанса: 1. Понимание принципов устройства автомобиля в некоторых случаях далеко не лишнее. Наверное, самый наглядный и часто встречающийся пример — это засаженный по самые пороги в болото внедорожник, которых в умелых руках играючи преодолевает такое препятствие.2. Каким образом, при таком подходе («моя хата з краю»), должны появляться архитекторы? Если вокруг никто не знает «как приложение взаимодействует с базой данных, как обменивается информацией с внешним миров и различными сервисами». Ушел архитектор из проекта и все? Я уже не говорю про то, что такой подход не будет работать при использовании XP (да и гибких методологий, в целом), там хочешь не хочешь, а прийдется узнать принцип работы всех частей системы. Да и «хорошая архитектура» — это что-то недалеко ушедшее от серебрянной пули. «Сложная система, спроектировання „с нуля“, никогда не заработает. Следует начинать с работающей простой системы» ©. А для того чтобы архитектор мог развивать архитектуру, ему нужен квалифицированный feedback от разработчиков, а часто и оппонирование. А «архитектор всегда прав» — это я бы сказал тупиковый путь, так как человек не сталкивающийся с кодом на детализированном уровне, не сможет прочувствовать что лучше применить в той или иной ситуации. Но это мое ИМХО.Кроме того, пример запроса к БД (persistence layer, business logic) из WM_PAINT, — это как раз пример того, что может получиться при недостаточном знании своих инструментыльных средств, и незнания чего делается у соседа.Программирование уже перешло на более высокий уровень.Да никуда оно не вышло. Да появилось больше готовых компонент. Нам уже не нужно писать библиотеки для работы с протоколом HTTP, но если ты уж работаешь с такой библиотекой, то знать как работает протокол необходимо. Если я прошу разработчика сжимать HTTP траффик, с целью оптимизации производительности, то я ожидаю всего лишь установки заголовка Accept-Encoding в gzip, а не выдумывания хитрой «связки абстракций» из ZipInput/OutputStream’ов, и в результате вопроса, а как это сделать если сервер не наш. Для этого нужно знать, что абстракция HTTP пакета, состоит из команды, заголовков и тела. И нужно знать какие стандартные заголовки бывают, и какие возможности заложены уже в сам протокол. А окромя как из RFC эти данные взять особо неоткуда.

2Антон Мартыненко: напишите свой логин на support@developers.org.ua — будем восстанавливать пароль что-ли.

To: Анонимно говорит: 22.12.2008 в 20: 00Сейчас в приложениях применяют многоуровневые архитектуры, и часто программисту вообще не надо знать, как приложение взаимодействует с базой данных, как обменивается информацией с внешним миром и различными сервисами. Это называется хорошая архитектура приложения, и за нее отвечает архитектор (ну и какое-то количество программистов, которые работают с persistence layer). Если архитектура плохая — тогда каждому программисту приходится лезть в дебри MS SQL, различных сетевых протоколов, изучать как работают «инструментальные средства». Я считаю это неверно.Программирование уже перешло на более высокий уровень. Сейчас надо умение думать, чтобы уметь создавать/связывать/манипулировать абстракциями. Знание протокола http и CoInitialize are obsolete. Как работает CoInitialize — можно за час (день, неделю, выбрать нужное...) изучить с помощью мсдн и кучи документации. А научиться думать — это почти нереально (если сейчас не умеешь =)).Конечно все это ИМХО, я сам далеко не архитектор и не могу тягаться с автором, но я считаю что ему пора на пенсию =) ЗЫ Забыл свой пароль, коментарий от 22.12.2008 в 16: 02 и этот — Антона Мартыненко

To: Анонимно говорит: 22.12.2008 в 16: 02Не нужно утрировать. Не думаю, что речь идет о понимании того как работает подсветка синтаксиса в редакторе (хотя понимать как работает компилятор или отладчик все же полезно).В моем понимании, под инструментальными средствами в данном случае подразумевается third party tools/libraries, а не среды разработки/отладки/профилирования. И тут я ой как согласен с автором, ибо использовать WinHTTP API или Apache Commons HTTP Сlient, не зная как работает протокол HTTP (не ознакомившись с RFC) — это классический пример непонимания «как эти средства организованы внутри, по каким принципам они работают». А такое встречается сплошь и рядом: человек на собеседовании рассказывает, что он много работал с HTTP, в ответ я беру клавиатуру, делаю «telnet example.com 80», прошу сгрузить корневую страницу и вижу круглые глаза. А будь у него в институте разработка простого HTTP сервера, в виде курсового проекта, все было бы куда приятнее. Собственно, это как я понял этот текст.Хотя, если говорить про инструменты, то и там можно найти примеры. Приходит человек на собеседование. В резюме X лет разработки ActiveX компонент. Пара вопросов и обнаруживается, что он не имеет понятия ни об IDL, ни о CoInitialize, ни о threading models... потому что wizards. Люди часто пользуются всякими инструментами автоматизирующими разработку, без понимания того, что происходит за кулисами. «отсутствие такого понимания может вести к большим проблемам, начиная с неэффективности и кончая полной неработоспособностью» © Я уже не говорю про запросы к БД из обработчика WM_PAINT. Смешно? Но ничего не выдумано, это все случаи из практики.

На HTML скорее верстальщики называются чем пограммисты.

«Кроме того, инструментальные средства, которые они используют, становятся все более крупными, и мало кто понимает, как эти средства организованы внутри, по каким принципам они работают. Это и не требуется, если нужно только чуть-чуть подстроить такие средства, но при создании больших систем отсутствие такого понимания может вести к большим проблемам, начиная с неэффективности и кончая полной неработоспособностью.А понять внутреннюю организацию сложных систем можно только одним способом — самому сделать что-то подобное, пусть и гораздо более простое. Но я не слышал, чтобы студентам задавали в качестве курсовой работы создание простой операционной системы или системы управления базами данных.В итоге профессия программиста меняет свой характер. Если раньше программисты знали свою программу досконально, то теперь в лучшем случае они умеют эффективно использовать то или иное инструментальное средство. Появились вообще странные на мой вкус термины как программисты на PHP и HTML.»

===Я не согласен с автором. Я понятия не имею какием образом работает VS 2008, но это мне не мешает успешно участвовать в разработке гиганской системы ентерпрайз-уровня. Невозможно знать программу досконально, если в ней тысячи и десятки тысяч человеко-месяцев работы. Возможно знания о работе инструментальных средств понадобятся при профилировании (например когда обнаружится чрезмерная нагрузка на процессор, и прийдется ее устранять), но в других случаях — это оверхед. Чем автору не угодили программисты на PHP вообще не понятно, или он считает что программисты, это только те, кто пишет на асме и брейнфаке, а остальные это быдло?

Denys NikolayenkoЯ бы не делал акцент на сайте, вообще, и, тем более, не проецировал бы его на статью. У меня изначально сложилось мнение о том, что он давно не актуален. Что в общем-то, частая ситуация среди небольших компаний. Я называю это «сапожник без сапог» — у software outsourcing компании не хватает времени на то чтобы сделать (поддерживать в актуальном состоянии) свой сайт. Кроме того, думаю, что круг знакомств и авторитет Донского, наверное бы, позволил бы компании обойтись без сайта вообще. Если говорить об акцентах в разных русской и английской версиях сайтов, то в общем-то вполне себе нормальный текст, как на время его написания. Некоторые наши компании, до сих пор не осилили разделение сайта на языковые версии и мешают в кучу англо- и русскоязычное наполнение, что не менее смешно, чем сегодня читать текст написанный в 2000 году. Поэтому, повторюсь, обсуждая статью, не стоит проводить параллелей с сайтом.Что касается статьи, то в приведенном тобой аспекте я все таки более согласен с автором. Хотя бы потому что, как по мне, «бытовая и повседневная»! = «рутинная». Но ты зацепил хорошую тему. Да, ты прав, рутина была, есть (и будет). Но, во-первых, соотношение рутинной и не рутинной работы 40, 30, 20 лет тому назад и сейчас плавно трансформировалось из 80 на 20, в 20 на 80. Но это не то, с чего нужно начинать. Начинать, нужно с определения того, что такое рутина. Чем дальше в лес, тем чаще приходится встречаться с мнением, что рутина в работе программиста — это поддержка системы, программного продукта, т.е. работа после transition phase. Далеко ходить не нужно, достаточно обсуждение компаний тут почитать. Масса программистов, которые считают, что их истинное предназначение — это «творчество», которое в большинстве случаев заключается в том, чтобы «натяпляпать» продукт и «здихатись його». А поддерживать его, или, о ужас ужас, поддерживать чужой (да, ужас, но не ужас ужас ©:)) продукт — это ниже их достоинства. На самом же деле "Since the days when computers first came into common use, there must have been tens of thousands of accounts receivable programs written. There are probably a dozen or more accounts receivable programs underway as you read these words.«© Tom DeMarco, Timothy Lister. Вот где рутина (хотя в Peopleware это используется в другом контексте). В тысячный раз писать одно и тоже. Как по мне, лучше посидеть на саппорте единственного в своем роде продукта, чем «творчески» в тысячный раз изобретать велосипед.Аналогия, с торговлей ИМХО не совсем верна, так как и на продуктовом и на финансовом рынке есть люди, которые пытаются творчески подойти к процессу, так и те, кто действуют строго по заученной методике. Но это никак не влияет на то, что торговец является бытовой, повседневной, иными, словами, достаточно распространенной профессией.И последнее, жаль что ты не увидел за деревьями леса. Основная ценность статьи не в ее названии, не в том, что она показывает эволюцию профессии программиста (пусть даже на примере карьеры одного человека). В ней затрагиваются несколько достаточно важных тем, как то: плачевное состояние нашей системы образования, рост финансовой составляющей в мотивации выбора профессии и другие. И к сожалению, это мало кто видит.

Понты — это с тремя годами опыта делать столь громкие заявления.

Уважаемый аноним, а при чём здесь три года опыта? Так назывемые вами «понты» это моё субъективное мнение по поводу приведенной статьи, которое я имею право открыто высказать вне зависимости от «количества» опыта.Очень уж рассмешили расставленные акценты на русской и английской страничках компании ДИСКо (DISCo). Как http://www.disco.ru/russian/

«ДИСКо» с 1994 года на российском рынке интернет-технологий.Специализация «ДИСКо» — это разработка интернет-приложений для PDA-устройств с использованием клиент-серверных архитектур и технологий беспроводного доступа для российских и зарубежных партнеров.Мы также являемся ведущими российскими разработчиками финансового и прикладного ПО для карманных компьютеров — программ, предназначенных для организации товарного и денежного учета с использованием мобильных устройств класса Pocket PC (Windows Mobile). Мы работаем с самыми последними технологиями: PDA — Palm, Pocket PC; беспроводные технологии передачи данных — IrDa, Bluetooth, 802.11b; Интернет-технологии; хранение данных XML.

http://www.disco.ru/english/

The software development in Russia is several times cheaper than in USA or Europe and even cheaper than in India.Russia has a lot of highly qualified software engineers. Russian programmers are highly estimated in USA and Europe.The new technologies are immediately available in Russia.There are still few customers in Russia from USA and Europe. DISCo is unique Russian companyWe are 6 years on the offshore programming market.We are well known in the Silicon Valley.We can provide the most important things — in time development, quality and support.Our prices are very attractive.

Если ближе к сути, то я не согласен с тем что профессия програмиста от прошла «полный цикл от интеллектуальной и романтической до бытовой и повседневной». В любой профессии, в том числе и в нашей есть широкий спектр от абсолютной романтики до гнетущей рутины. Так есть сейчас и так было всегда, даже 40 лет назад, когда автор окончил матфак. Взять например ещё более древнии профессии — например торговец. Продавать на рынке — это скорее повседневная рутина, а вот торговать ценными бумагами и быть успешным — искусство.

Почему «Михаил Донский о программировании» Донский? Может надо все-таки исправить на «Донской».

Исправил

Почему «Михаил Донский о программировании» Донский? Может надо все-таки исправить на «Донской».

Где взять и откуда берутся программисты в России? Михаил Донской на Радио Свобода.подкастhttp://itblogs.ru/blogs/pod/ar...

Понты — это с тремя годами опыта делать столь громкие заявления.

Просто смешноhttp://www.disco.ru/russian/http://www.disco.ru/english/Одни понты и ничего по сути.

ЛОЛ, рядом со мной сидят два чувака — у каждого по 5 мониторов, у меня всего лишь три))

Спасибо за ссылку на Донского. Шикарнейшая статья!

Появились вообще странные на мой вкус термины как программисты на PHP и HTML. \

©Михаил Донской:)

На сайті http://mandolux.com/ є трохи wallpapers, в тому числі для 2х і 3х моніторів.

Подписаться на комментарии