Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2015, 09:44   #1
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
Стрелка Мастер-класс виртуозного программирования

Этот блог я посвящаю светлой памяти своего научного руководителя Зацепина П.М., одного из самых выдающихся IT-специалистов современности, глубоко осведомлённого во всех IT-вопросах и прежде всего, в вопросах программирования.


Доброго времени суток, уважаемые форумчане! Я, как бы это громко ни звучало – потомственный хакер. В этом смысле мне в жизни повезло, как с родственниками, так и с учителями. Виртуозное программирование – это одна из составляющих моего хакерского бытия.

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

Сюда, на форум, пришёл, чтобы пообщаться с тремя категориями коллег: равными, младшими и старшими:
- младшим (тем, кто хочет научиться писать такие же программы как я) окажу посильную помощь,
- у старших (те, кто смогут найти в моих программах баги или предложат более лаконичные решения) поучусь,
- а с равными (те, кто пишет программы на том же уровне, что и я) – просто обменяюсь рукопожатиями.

На панацею конечно не претендую, т.к. могут существовать разные стили программирования, вместе с тем, мой подход к программингу, объективно весьма интересен. Вот им я и собираюсь делиться в этом блоге. Больше всего внимания будет уделено:
- вопросам математической модели, алгоритмам и блок-схемам,
- философским и культурным аспектам программирования,
- модульности и повторного использования кода.

Ну вот, довольно много громких слов сказал в свой адрес, теперь их надо как-то подтвердить. Лично для меня знакомство с программистом начинается со знакомства с его типичной программы: «Покажи мне свою программу, и я скажу, кто ты», – поэтому приведу пример своей. Так и хочется сказать, что написана special for sources.ru, но нет, её я написал в далёком 2002-м году.

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

Чаще всего в своих мини-статьях я для иллюстрации разных концепций буду ссылаться на эту программу. Если администрация форума милостиво предоставит мне доступ к редактированию этого первого поста, то я по мере добавления новых статей, буду вставлять в него ссылки на них – для более удобной навигации по теме.

PS. Если я слишком громким пинком ворвался в ваше дружное Сообщество, прошу прощения за это. Если никто не против, в скором времени напишу сюда что-нибудь ещё. Конструктивная обратная связь приветствуется.
Вложения
Тип файла: zip Grapher.zip (7.3 Кб, 32 просмотров)
#define QUESTION bb || !bb

Последний раз редактировалось Vedrus; 12.01.2015 в 10:27.
Vedrus вне форума Ответить с цитированием
Старый 16.01.2015, 10:21   #2
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от Vedrus Посмотреть сообщение
Насколько мне это удалось – судить вам (см. аттач).
Цитата:
В Индии с некоторых времен существует практика оценки производительности труда программиста на основе количества написанного кода. Чем больше кода, тем больше программист работает, и, следовательно, выше его оклад.
<C> Lurkmore
Теперь я понял, как заработать денег!

P.S. Надо тоже что нибудь из Шрилы Прабхупады почитать, может тоже торкнет.
kvitaliy вне форума Ответить с цитированием
Старый 16.01.2015, 11:19   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Чем больше кода, тем больше программист работает, и, следовательно, выше его оклад.
Наверное потому и появился термин "Индокод". Качество кода от его количества не зависит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.01.2015, 12:25   #4
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Vedrus. Я зря потратил время на просмотр вашего: Grapher.zip . Вы мне за это должны 100 рублей РФ.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 16.01.2015, 13:13   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
- важность математической модели, алгоритма и блок-схем,
Где описание "важности" мат. модели?
Цитата:
- подробная иллюстрация языковых возможностей,
Не видел никаких иллюстраций.
Цитата:
- интуитивно понятные идентификаторы,
Код:
 {---Выделение числа после знака---}
        s1 := ''; i := o+1;
        while (Pos(S[i], '+-*/)') = 0) and (i <> Length(S)+1) do
          begin
            s1 := s1+S[i]; Inc(i)
          end; {while (Pos(S[ ...}
        Val(s1, Rez, Code);
И где здесь "интуитивная понятность"?
Цитата:
- грамотная разбивка на модули,
- хорошее документирование,
С этим пожалуй соглашусь.
Цитата:
- хорошая структура,
По-Вашему это хорошая структура?
Код:
    case Ch of
        '0'..'9', 'a'..'z', 'A'..'Z', '.',
        '(', ')', '+', '-', '*', '/': if Length(Fun) < 70
                                        then begin
                                               Fun := Fun+Ch;
                                               Bar(x, y, x+810, y+20);
                                               OutTextXY(x, y, Fun)
                                             end; {if Length ...}
Цитата:
- и ряд других.
Насколько мне это удалось – судить вам (см. аттач).
Вам удалось только доказать, что у каждого программиста свой стиль, в чём-то совпадающий, а в чём-то отличающийся от других.
Ничего супер оригинального я не увидел.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 16.01.2015, 13:17   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
{---Выделение числа после знака---}
Кстати цикл тут не обязателен. Val() и Copy() на пару справятся без проблем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мастер-наряд v.1 MA$kiT Microsoft Office Excel 0 15.10.2012 23:54
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! xeops C# (си шарп) 0 15.05.2012 20:31
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24