Hot Topic (More than 25 Replies) Об алгоритмах... (Прочитано 262 раз)
Spiteful
Разбирающийся
****
Вне Форума


мэн крутой

Сообщений: 1168
Местоположение: Саратов
Зарегистрирован: 19.04.2005
Re: Об алгоритмах...
Ответ #40 - 03.02.2015 :: 07:25:04
Post Tools
Итак, автор дал свой ответ на извечный вопрос "Программирование - наука или искусство?". Это похвально.
Разумеется, алгоритмы это хорошо, это "наше всё". В императивном программировании.
Алгоритм это граф. Как представлять граф - понятное дело, закона нет, кому как нравится. Не думаю, что будет справедливым обвинять в шаманстве тех, кто выбрал для себя текстовое представление этого графа.

ОФФ. Забавно слышать от Ператрона выпады против теоретиков  Смех
  

(Вложенный файл удалён)

- Комбики ламповые. Примочки транзисторные.
- Я за старые технологии. Я за аналоговую схемотехнику.
Наверх
ICQ  
IP записан
 
Rst7
Гуру
*****
Вне Форума


Мимо проходил...

Сообщений: 1619
Местоположение: Харків-city
Зарегистрирован: 22.03.2010
Re: Об алгоритмах...
Ответ #41 - 03.02.2015 :: 08:23:53
Post Tools
Peratron писал(а) 02.02.2015 :: 22:08:54:
Ведь своими тезисами, я, ни много ни мало, но покушаюсь на ЧСВ целого клана профессионалов  Смущённый


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

А любителей абстракций высокого уровня видали. По нынешним временам это выглядит так.

Например, стоит задача построить канал связи, скажем, OFDM. Любитель блок-схем рисует в Матлабе (пользуясь там, кстати, уже приготовленными шаблонами) полный тракт обработки, изучает его поведение, а потом пытается упростить себе работу - в Матлабе есть возможность получить сгенеренный по схеме тракта код. А потом этот код пробуют запихать в живое железо. И наступает звиздец - потому что не лезет - ни по памяти, ни по быстродействию. Можно, конечно, и такой прибор сделать, но сколько он будет стоить? Да и с надежностью у всяких вычислительных монстров очень нешироко.

Профессионал, понятное дело, оценив поведение тракта в Матлабе, пишет полноценную реализацию, с оптимизацией кода в меру своего профессионализма. Что в результате приводит к снижению себестоимости в массовом производстве. И к повышению надежности.

В данном случае не надо путать настоящего профессионала с расплодившимися нынче говнокодерами.

А рассказывать про самолеты нам не надо, ибо "не так все было" (ц). Сами как бы по специальности РТСЛА учились.
  

(Вложенный файл удалён)

"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен
Наверх
WWW  
IP записан
 
Beermonza
Участник


Re: Об алгоритмах...
Ответ #42 - 03.02.2015 :: 12:50:31
Post Tools
kwlw писал(а) 03.02.2015 :: 06:48:29:
Цитата:
Peratron про регистры не писал, я хочу знать от Вас, что означает картинка в ответ на вопрос "Какой вывод сделали?" относительно рекомендации ознакомиться с MMX и SSE? ...я не терплю слинивание в кусты когда надо держать ответ  Злой


В принципе никого не волнует что вы терпите, а что нет.

Прекрасно это понимаю, но говорю прямо, что мне не нравится.

kwlw писал(а) 03.02.2015 :: 06:48:29:
А так, ради правды и интереса, как раз при утреннем кофе подвернулся наш главпрог с которым 13 лет бок обок всё строим. Обмусолили тему без ненужных эмоции. Чтож - убедили, был не прав, признаюсь   Печаль. Слишком оптимистично посмотрел на современные off-the-shelf компиляторы и слишком броско на код генерированный ими.

"Я снова Вас зауважал" (с) Гараж.

kwlw писал(а) 03.02.2015 :: 06:48:29:
Оказывается, иногда компиляторов "тянет" на странные вещи, например рваться использовать память, когда намного быстрей в куске кода высокого повторения обойтись только регистрами. И т.п. "шутки". Т.е. подгоняя под конкретную архитектуру приходится изрешетить код директивами препроцессора и вставками из асма. В наше то время!

Проблема в том, что высокоуровневый ЯП - уже двойной интерпретатор, напичканный универсальными командами. Внутри команды "CopyMemory" ссылка на модуль "Move" между ними транслятор. "Move" содержит код на ассемблере (тоже ЯП, но более низкого уровня), использует 32-битные регистры. И затем этот код на асме компилятор перешьёт в машинный код. Парадокс в том, что в блок-схеме какого-нибудь алгоритма копирование информации из одного участка памяти в другой выглядит одинаково и для стандартной "CopyMemory" и для скоростной вставки, что я показал выше. Инженеру, не понимающему в программировании толком, нужен факт копирования памяти, и тут кроются сюрпризы. А на уровне структуры ВЯП коды совершенно разные, но выполняют одно и то же с разной скоростью. Поэтому блок-схема как принцип работы программы в целом по входам и выходам - это хорошо, а как способ записи самого кода - бумажная волокита.

Мне недавно Батя говорит "мы находимся на пороге внедрения виртуальной модели карьера, без бумажных планов горных работ, что ускоряет работу в десятки раз", я ему "в каком году я тебе говорил, что это надо делать? ...в 2002!" ...созрели.
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
 
  « Главная ‹ Раздел Наверх этой страницы