• Привет, Гость!
  • Войти
  • Регистрация
  • Записи
  • Форумы
  • Люди
  • Файлы
  • Работа
  • Технологии
  • Все
  • Новости
  • События
  • Статьи
  • Блоги

Сергей Тепляков

Многопроцессорная компиляция проектов на VC++ 2008

SergeyT.
23.02.2010 13:58

Одной из отличительных особенностей процесса компиляции исходных кодов на языке программирования С++ (по сравнению с языками с «двухфазной» компиляцией) является относительно большое время компиляции. Так, если длительность процесса компиляции проекта на C#, состоящего из пары сотен файлов занимает не более пары десятков секунд (естественно, что этот показатель зависит от аппаратной конфигурации компьютера), то процесс компиляции (и линковки) аналогичного по размеру проекта на С++ может занимать в десять раз больше времени.

Второй особенностью компиляции в языках С и С++ является независимая компиляция каждого модуля трансляции (.cpp (или .c) файла) с последующей линковкой всех объектных файлов в единую библиотеку или исполняемый файл. Из-за этой особенности возникает естественный вопрос о возможности параллельной компиляции нескольких .cpp файлов параллельно на многопроцессорном или многоядерном компьютере.

Подробнее...

SergeyT.
23.02.2010 13:58
Комментариев:0 Просмотров:251
Теги: c++

Что нового в третьем издании книги Джеффри Рихтера "CLR via C#"

SergeyT.
14.02.2010 23:37

До официального выхода третьего издания знаменитой книги Джеффри Рихтера “CLR via C#” остался еще один день (официальная дата выхода – 15 февраля 2010 года), а доброжелатели уже постарались над тем, чтобы эта книга стала достоянием широкой общественности.

Но речь здесь пойдет не об этом, а о тех нововведениях, которые появились в третьем издании по сравнению со вторым (хотя содержание третьего издания уже давно доступно, но сравнивать вручную содержания двух книг – дело хлопотное, поверьте, я только что этим занимался:)). Кроме того, некоторые темы я пробежался глазами, чтобы определить в чем именно заключаются отличия.

Первое, что бросается в глаза, так это то, что третье издание "подросло" в объеме чуть более чем на 150 страниц. Второе издание содержит 736 страниц, а третье - 896.

Подробнее...


SergeyT.
14.02.2010 23:37
Комментариев:9 Просмотров:997
Теги: books[technical], c#, clr

Рецензия на книгу Джоэла Спольски "Джоэл. И снова о программировании"

SergeyT.
12.02.2010 14:15

Так уж получается, что к продолжениям аудитория всегда предъявляет более высокие требования, чем к первым частям произведений. Классическим примером является кинематограф, ведь каждый раз после выхода продолжения очередного (особенно удачного) фильма постоянно слышишь что-то вроде: "Да, фильм/актер/актриса/режиссер/продюсер/мальчик, заваривающий кофе уже не тот, вот первая часть фильма была ого-го, а вторая - так себе. Вполне естественно, что подобное отношение к продолжениям касается не только голливудских блокбастеров, но и компьютерной литературы.

Сегодня речь пойдет о продолжении известной книги Джоэла Спольски "Джоэл. И снова о программировании", вышедшей вслед за первой частью... Подробнее...
SergeyT.
12.02.2010 14:15
Комментариев:0 Просмотров:446
Теги: books[technical], philosophy

Диагностика проблем загрузки сборок

SergeyT.
08.02.2010 10:39
Практически каждый разработчик сталкивался с неприятной ситуацией, когда во время загрузки приложения, разработанного с использованием .NET Framework, возникают какие-то ошибки, связанные с поиском или загрузкой сборок и запуск приложения завершается предложением отправить отчет в Майкрософт. Кроме того, практически каждый, кто читал замечательную книгу Джеффри Рихтера, ужаснулся тому многообразию вариантов, откуда может быть загружена сборка, а также богатым возможностям администрирования .Net приложений (probing, dependend assemblies, codebase, Publisher Policy и др.) [1], [2]. Помимо проблем с поиском нужной сборки подливают масла в огонь вероятные ошибки загрузки сборок, связанные с вопросами безопасности (в результате чего генерируется SecurityException), а также форматом сборки (исключение BadImageFormat).

Подробнее...
SergeyT.
08.02.2010 10:39
Комментариев:0 Просмотров:372
Теги: debugging, .net

[ANN] Бесплатные тесты на Brainbench по C#3.0 и .NET framework 3.5

SergeyT.
05.02.2010 10:44

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

Подробнее...

SergeyT.
05.02.2010 10:44
Комментариев:2 Просмотров:710
Теги: programming, c# 3.0

Выбор типа возвращаемого значения

SergeyT.
20.01.2010 12:11
Не так давно на форуме rsdn.ru был поднят вопрос о выборе типа возвращаемого значения для некоторого метода, возвращающего коллекцию объектов. Какой тип выбрать: более абстрактный (например, для коллекциях в C# это может быть IEnumerable<T>), более конкретный (например, List<T>) или остановиться на каком-либо промежуточном варианте (например, IList<T>)?
К этому вопросу можно подойти с двух сторон. С чисто теоретической точки зрения и с прагматично-практической.
Начнем по-порядку.

Теоретические обоснования выбора типа возвращаемого значения

Теоретическое обоснование выбора типа возвращаемого значения восходит к формальной теории верификации программ и проектированию по контракту Бертрана Мейера.
Существует формальная математическая нотация определяющая корректность некоторых программ, которая представлена формулой корректности.
{P} A {Q}
Определение этой формулы звучит так:
Цитата

Любое выполнение A, начинающееся в состоянии, где P истинно, завершится и в заключительном состоянии будет истинно Q.

Подробнее...

SergeyT.
20.01.2010 12:11
Комментариев:0 Просмотров:609
Теги: oop, philosophy

Цитатник компьютерной литературы. Что нового?

SergeyT.
18.01.2010 11:04
За месяц после публикации последней информации о цитатнике, в нем накопилось немало новых и весьма интересных цитат.
Вот, что появилось нового:
Фредерик Брукс. Мифический человеко-месяц.
Радости профессии
Радости профессии
Во-первых, это просто радость, получаемая при создании чего-либо своими руками. Как ребенок радуется, делая куличики из песка, так и взрослый получает удовольствие, создавая какие-либо вещи, особенно если сам их и придумал. Я думаю, что этот восторг - отражение восторга Господа, творящего мир, восторга, проявляющегося в индивидуальности и новизне каждого листочка и каждой снежинки.

Джеймс Коплиен. Программирование на С++
Цитаты
Синтаксис языка до определенной степени формирует наше восприятие, но простое описание синтаксиса в "руководстве пользователя" станет всего лишь отправной точкой. Структура наших программ (а следовательно, и тех систем, которые мы строим) в основном определяется стилем и идиомами, используемыми для выражения архитектурных концепций.
Стиль отличает истинное мастерство от простой удачи. Эффективный стиль воспитания ребенка, программирования и вообще всего на свете строится на основе личного опыта или опыта других. Программист, который умеет правильно связывать возможности языка программирования с потребностями приложения, пишет превосходные программы. Но чтобы выйти на этот уровень, необходимо от правил и механического запоминания перейти к идиомам и стилю, а в конечном счете - к концептуальным и структурным абстракциям.

Стив Макконнелл. Остаться в живых
Часть 1.
Часть 2.
Плюшевый медвежонок вслед за Кристофером Робином спускается по лестнице, считая затылком ступеньки - бум, бум, бум. Он знает - это единственный способ перемещаться с этажа на этаж, хотя иногда ему кажется, что должен быть и другой. И он бы догадался, что это за способ, если б его перестали колотить затылком о ступени и дали хоть чуточку подумать. Но чаще ему кажется, что никакого другого способа просто нет.

Роберт Гласс. Факты и заблуждения профессионального программирования
Цитаты
Реальность - это убийство прекрасной теории бандой мерзких фактов.

Том Демарко. Deadline. Роман об управлении проектами
Часть 1. Из записной книжки мистера Томпкинса
Часть 2. Цитаты
Глава 4. Четыре основных правила менеджмента
1. Найти нужных людей.
2. Дать им ту работу, для которой они лучше всего подходят.
3. Не забывать о мотивации.
4. Помогать им сплотиться в одну команду и работать так дальше.
(Все остальное - административная ерундистика.)


Мартин Фаулер. Рефакторинг. Улучшение существующего кода
Часть 1
Часть 2
Компилятору все равно, красив код или нет. Но в процессе внесения изменений в систему участвуют люди, которым это не безразлично. Плохо спроектированную систему трудно модифицировать. Трудно потому, что нелегко понять, где изменения нужны. Если трудно понять, что должно быть изменено, то есть большая вероятность, что программист ошибется.

Джоэл Спольски. Джоэл о программировании
Часть 1.
Часть 2.
Ты никогда не стремился стать менеджером. Как и большинство разработчиков программ, с которыми я знаком, ты был бы гораздо счастливее, если бы тебе позволили спокойно сидеть и писать код. Но ты лучший разработчик, и когда с Найджелом, прежним руководителем группы, произошел этот несчастный случай на банджи и с лэптопом, всем показалось естественным, что на его место надо выдвинуть тебя, звезду команды.

Джон Роббинс. Отладка приложений для Microsoft .NET.
Об ошибках и отладке
Как выяснилось, мои кошки – отличные отладчики, и они помогли мне решить огромное количество действительно неприятных ошибок. Собирая их вокруг своего рабочего места, я рисую проблему на белой доске и позволяю кошкам воздействовать на меня своими магическими лучами. Конечно же, однажды я делал это, не приняв душ и будучи одетым в одни шорты, - было немного трудно объяснить ситуацию курьеру службы доставки, который все это время ошеломленно стоял у двери.

Гради Буч. Объектно-ориентированный анализ и проектирование.
Часть 1. Сложность
Часть 2. Пять признаков сложных систем
Врач, строитель и программистка спорили о том, чья профессия древнее. Врач заметил: "В Библии сказано, что Бог сотворил Еву из ребра Адама. Такая операция может быть проведена только хирургом, поэтому я по праву могу утверждать, что моя профессия самая древняя в мире". Тут вмешался строитель и сказал: "Но еще раньше в Книге Бытия сказано, что Бог сотворил из хаоса небо и землю. Это было первое и, несомненно, наиболее выдающееся строительство. Поэтому, дорогой доктор, вы не правы. Моя профессия самая древняя в мире". Программистка при этих словах откинулась в кресле и с улыбкой произнесла: "А кто же по-вашему сотворил хаос?"

Алан Шаллоуей и Джеймс Р. Тротт. Шаблоны проектирования.
Часть 1.
И не имеет значения, сколько усилий было приложено, насколько тщательно был проведен анализ - пользователь просто не может сформулировать все необходимые требования сразу. Слишком много неизвестного несет в себе будущее. Времена меняются. И та было всегда...
Ничто не может предотвратить наступление перемен. Однако это не значит, что к их приходу нельзя подготовиться.


SergeyT.
18.01.2010 11:04
Комментариев:0 Просмотров:624
Теги: philosophy

Шаблоны проектирования. История успеха

SergeyT.
14.01.2010 11:15

Эта статья опубликована в 3-м номере журнала RSDN Magazine за 2009 год.

Введение

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

Подробнее...

SergeyT.
14.01.2010 11:15
Комментариев:0 Просмотров:1385
Теги: philosophy

Три факта о книге Роберта Гласса «Факты и заблуждения профессионального программирования»

SergeyT.
21.12.2009 23:56
Факт №1. Автор хотел назвать эту книги “The F-book”

Обсуждение

Роберт Гласс изначально хотел, чтобы эта книга получила название “Fifty-Five Frequently Forgotten Fundamental Facts (and a Few Fallacies) about Software Engineering” (Пятьдесят пять часто забываемых фундаментальных фактов (и несколько заблуждений) из области разработки программного обеспечения), или коротко “The F-book”, однако издатели посчитали первое название слишком длинным, а во втором названии букву F – слишком грязной (F-word обозначает не только слово, начинающееся с буквы F, но и вообще слово, не рекомендуемое к употреблению в приличном обществе (спасибо редакторам за разъяснения)), поэтому сошлись на более коротком и презентабельном названии.

Подробнее ...
SergeyT.
21.12.2009 23:56
Комментариев:0 Просмотров:675
Теги: philosophy

Преждевременная оптимизация - корень всех зол

SergeyT.
14.12.2009 10:02

Многие специалисты компьютерной области знают (ну, или хотя бы слышали) следующее высказывание:

Преждевременная оптимизация - корень всех зол в программировании

Большая часть этих самых компьютерных специалистов склоняется к мысли, что автором этой цитаты является Дональд Кнут и хотя для многих программистов не важно, кто на самом деле является автором, у меня этот вопрос вызывал интерес и я решил заняться им более подробно.
Подробнее ...
SergeyT.
14.12.2009 10:02
Комментариев:7 Просмотров:1242
Теги: philosophy
Страницы: ← предыдущая следующая → 
1 2

Сергей Тепляков

SergeyT. разработчик
(none)
  • Блог

Облако тегов

.net books[technical] c# c# 3.0 c++ clr debugging oop philosophy programming
Строишь сложные системы? Хостинг от Parking.Ru

Записи

Популярные
  • mezastel > Сокращенный генератор C# в стиле Zen Coding
  • Enrey > О поедании памяти DataTable
  • XaocCPS > Установка Visual Studio 2010 RC
  • serbelyakov > DataGridView
  • Sergey Grigorev > Pex как инструмент для автоматизиции тестирования в .NET
  • XaocCPS > Bundler : клиентская оптимизация JavaScript в ASP.NET
  • mbakirov > Must have плагины для Visual Studio 2010 RC
  • shapovalov > AtomicCms - новая система управления сайтом на база ASP.NET MVC
  • paxer > Kentico CMS как платформа для разработки веб приложений на ASP.NET
  • clevelus > Новая электронная книга о Visual Studio 2010
Все популярные записи
Обсуждаемые
  • Enrey > О поедании памяти DataTable
  • sos > Работа на двух экранах - повышение производительно­сти или рассредоточение внимания?
  • paxer > Kentico CMS как платформа для разработки веб приложений на ASP.NET
  • serbelyakov > DataGridView
  • shapovalov > AtomicCms - новая система управления сайтом на база ASP.NET MVC
  • SergeyT. > Что нового в третьем издании книги Джеффри Рихтера "CLR via C#"
  • spugachev > Создание внебраузерных Silverlight приложений. Часть 1.
  • XaocCPS > Bundler : клиентская оптимизация JavaScript в ASP.NET
  • RaveNoX > Экспорт функции из .Net dll или пишем managed функцию для rundll32
  • ~44-ый > Немного о юзабилити. Веб-сайты.
Все обсуждаемые записи

Блоги

Новые
  • desco> Случайные записи
  • sashaeve> Блог Microsoft .NET User Group Винница
  • lukesky> Новости технологии NitrosBase
  • RaveNoX> Arthur Kraev
  • Rockie> Gennady G.(Rockie)
  • Новатор> SharePoint. Шаг за шагом.
  • ivanoff> Denis Ivanov
  • paxer> Программировани­е - как страсть
  • Realist> Build Your Web
  • veleslav> veleslav
Обсуждаемые
  • mihailik> Олег Михайлик
  • ceo> Нотатник Вiктора Шатохiна [MSFT]
  • gaidar> Gaidar Magdanurov
  • MikhailChernomo­rdikov> Mikhail Chernomordikov [MSFT]
  • Alexander Lozhechkin [MSFT]> Alexander Lozhechkin
  • agladkik> Andrey Gladkikh: Microsoft Dynamics
  • beerbong> Bong Blog
  • sos> Dmitry Soshnikov [MSFT]
  • not-a-kernel-gu­y> Зеркало: Not a kernel guy
  • sergun> Sergey Zwezdin
О сайте   Свяжитесь с нами   Конфиденциальность   Версия для печати
Работает на 1С-Битрикс: Управление сайтом ASP.NET  |  Хостинг на Parking.Ru