LINUX.ORG.RU

История изменений

Исправление ASM, (текущая версия) :

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

При написании любого приложения необходимо сначала выставить приоритеты. Список этих приоритетов примерно такой:

  • (1) Простата кода
  • (2) Скорость разработки
  • (3) Производительность работы
  • (4) Стабильность работы
  • (5) Минимизация используемой памяти

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

В свою очередь что же делаете вы: 1. Вы пишете что программа обычно это приложение которое делает супер вычислений, т.е. выставляется (3) на последнее место. 2. Вы пишете что крайне важно (5).

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

Если расставить приоритеты как (2), (1), (3,4), (5), то написание сервера обрабатывающего соединения вполне логичнее будет написать многопоточным.

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

Исходная версия ASM, :

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

При написании любого приложения необходимо сначала выставить приоритеты. Список этих приоритетов примерно такой:

  • (1) Простата кода
  • (2) Скорость разработки
  • (3) Производительность работы
  • (4) Стабильность работы
  • (5) Минимизация используемой памяти

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

В свою очередь что же делаете вы: 1. Вы пишете что программа обычно это приложение которое делает супер вычислений, т.е. выставляется (2) на последнее место. 2. Вы пишете что крайне важно (5).

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

Если расставить приоритеты как (2), (1), (3,4), (5), то написание сервера обрабатывающего соединения вполне логичнее будет написать многопоточным.

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