От А.Б.
К Alexandre Putt
Дата 24.08.2009 22:27:08
Рубрики Россия-СССР; Крах СССР; История; Идеология;

Re: Вот понимать - точно надо. :)

>Что значит "на самом деле"? Куда его прикрутить?

Это значит - на самом деле. Вы ж не собираетесь утверждать что есть только 2 решения любой задачи - правильное и неправильное? :)

>Ассемблер - язык программирования. Да или нет? Синтаксис у него есть?

Есть, но он не главное. Скажем так, сперва это формализм, а потом уже - синтаксис. Кстати - забавное предположение - в угоду "синтаксису", похоже, часть вполне легальных инструкций оказалась "за бортом" масма.

>О том, что "грамматика" Фортрана позволяет не декларировать переменные, что, естественно, невозможно для "грамматики" ассемблера.

А смысл в том велик? Ассемблер так тоже может - dw 1024 dup(?) - и у вас есть 1К "переменных" - каких хотите. :)


>Хм, если у Вас нет мат сопроцессора, то ассемблер Вам ничем не поможет.

Поможет запросто. Просто надо самому знать что и как посчитать. Итеррационно или рядами. Вот если не знать - то да. Это будет проблема. :)

>Вы, конечно, можете изготовить самопальный эмулятор. Но зачем? Как-то суть программирования за этим теряется.

Как раз нет. Суть, по моему, теряется за "кустарщиной ремесла".

>Ох, трудно даётся понимания того, что собственно есть язык программирования

Средство для формализации "алгоритмической" задачи.
А что для вас представляет собой "язык программирования" (коих, кстати, много есть на свете)?

>Ну так спецпакеты вызывают библиотеку на фортране.

Нет. Вовсе нет. Скорее "на ассемблере" - точнее - в коде, сгенеренном С++. Что очень близко к ассемблеру. :)


От Александр
К А.Б. (24.08.2009 22:27:08)
Дата 24.08.2009 23:26:49

Re: Вот понимать...

>>Хм, если у Вас нет мат сопроцессора, то ассемблер Вам ничем не поможет.
>
>Поможет запросто. Просто надо самому знать что и как посчитать. Итеррационно или рядами. Вот если не знать - то да. Это будет проблема. :)

В ИБМ704, что характерно, работа с вещественными числами была реализована аппаратно. То есть "сопроцессор" был. Равно как и у БЭСМ и прочих мэйнфреймов.

До чего назойливы могут быть участники, искренне верящие что строка фортрана транслируется в 300 строк ассемблера, программу управления ядерным реактором можно написать за пару часов, а АМД с Интелом пислали свои версии БЛАС-а на фортране.

Дурак написал учебник, а попугай его вызубрил. Сюр, да и только.

>>Ох, трудно даётся понимания того, что собственно есть язык программирования
>
>Средство для формализации "алгоритмической" задачи.
>А что для вас представляет собой "язык программирования" (коих, кстати, много есть на свете)?

Трудно дается что фортран не лучший предмет для рассуждений о "собственно языке программирования", по причине примитивности.

>>Ну так спецпакеты вызывают библиотеку на фортране.
>
>Нет. Вовсе нет. Скорее "на ассемблере" - точнее - в коде, сгенеренном С++. Что очень близко к ассемблеру. :)

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

Эти примитивы не только дурачек с матлабом на писишке пользовать будет, но и серьезные дяди, которые ждут результатов вычисления на тысячепроцессорном суперкомпьютере неделями. Какой там нафиг фортран? Мало ли что в предисловиях к учебникам напишут. Но народ впечатлительный к звону, источника которого не знает.
--------------------
http://www.orossii.ru

От Администрация (Monk)
К Александр (24.08.2009 23:26:49)
Дата 24.08.2009 23:49:21

3 дня р/о за переход на личности. (-)


От Alexandre Putt
К Александр (24.08.2009 23:26:49)
Дата 24.08.2009 23:36:18

Вы как всегда всеведущи

BLAS не содержит ни строчки ассемблера и на 100% написан на фортране.

GOTO BLAS действительно написан на ассемблере

Но вот LAPACK - опять на фортране, от и до. Неверующие и всезнающие могут обратиться к исходникам.

Ряд других пакетов более высокого уровня написаны на C, иногда с вкраплениями Фортрана.

От Alexandre Putt
К А.Б. (24.08.2009 22:27:08)
Дата 24.08.2009 22:50:46

Re: Вот понимать...

>Это значит - на самом деле. Вы ж не собираетесь утверждать что есть только 2 решения любой задачи - правильное и неправильное? :)

А что, нет? Есть другой вариант? :)

>Есть, но он не главное. Скажем так, сперва это формализм, а потом уже - синтаксис.

Ну так как там с неявным заданием переменных? :)

>>О том, что "грамматика" Фортрана позволяет не декларировать переменные, что, естественно, невозможно для "грамматики" ассемблера.
>
>А смысл в том велик? Ассемблер так тоже может

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

> - dw 1024 dup(?) - и у вас есть 1К "переменных" - каких хотите. :)

Строго говоря это не переменные, а просто адрес участка памяти. В общем, нет у него переменных и даже типов данных нет. Можете сколько угодно убеждать меня в том, что это можно реализовать, это всё равно будет абсурдно. Да, можно сделать динамическое выделение памяти. Если написать свой менеджер кучи. Если выделить в начале программы гигантский кусок памяти. Флаг в руки. Я посмотрю, сколько лет Вы будете работать, чтобы в итоге получить возможности, всё равно уступающие любому языку высокого уровня, и с непрофессиональной реализацией. И всё это - чтобы таки получить "Hello world" на выходе ,)

>Поможет запросто. Просто надо самому знать что и как посчитать. Итеррационно или рядами. Вот если не знать - то да. Это будет проблема. :)

Так а зачем? Вы как предпочитаете, зайти в автосалон, купить автомобиль и поехать на нём, или приобрести набор "сделай сам"?

Да, Вы можете написать подпрограммы для этого. Но Ваши подпрограммы будут уступать профессиональным, и на их написание Вы потратите лучшую часть жизни. Не проще ли взять Фортран, где уже всё для Вас сделано?

>>Вы, конечно, можете изготовить самопальный эмулятор. Но зачем? Как-то суть программирования за этим теряется.
>Как раз нет. Суть, по моему, теряется за "кустарщиной ремесла".

Какой кустарщиной? Если Вам нужно проанализировать результаты опыта, у Вас меньше всего времени на программную реализацию всего этого. Вам нужно быстренько реализовать алгоритм и работать с результатами обработки.

>Средство для формализации "алгоритмической" задачи.
>А что для вас представляет собой "язык программирования" (коих, кстати, много есть на свете)?

Понятийный аппарат + правила составления конструкций, выполняющих определённые действия над объектами. Разные языки дают разные возможности (хотя действительно много задач можно сравнительно беспроблемно решить на любом языке)

>>Ну так спецпакеты вызывают библиотеку на фортране.
>Нет. Вовсе нет. Скорее "на ассемблере" - точнее - в коде, сгенеренном С++. Что очень близко к ассемблеру. :)

Зависит от задачи.

От А.Б.
К Alexandre Putt (24.08.2009 22:50:46)
Дата 25.08.2009 08:00:42

Re: Жизнь многогранна. :)

>А что, нет? Есть другой вариант? :)

Конечно. Есть еще точность в решении, приемлемая или нет. Есть разного рода оптимальности в решении. Их довольно много может быть, правильных решений.
Это. разумеется, если не впадать в максимализм "для простоты".

>Ну так как там с неявным заданием переменных? :)

Так, что прежде чем использовать переменную по делу - вы (неявно для вас. быть может) ее зададите явно. Адресом и размером. На ассемблере - ровно так же дела обстоят. Только вот, "высокий уровень" языка не позволит вам просто провести "преобразование типа", а ассемблер - позволит. Он предполагает что его использующий - не чайник-кодировщик, а человек отчетливо понимающий что и зачем он делает. И что "unsigned int" на самом деле есть адрес-указатель, которым можно пользоваться без ошибки сразу по месту. И можно не городить "преобразование типа" всякий раз. :)

>А, ну да, я же и забыл, что в этом мире Вы исполняете почётную миссию нести флаг ассемблера!

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

>Ассемблер много чего может, что не нужно.

Значит процессор может много. чего "не нужно". Осталось выяснить почему так. Зачем проектировщики его мучались, создавая и усложняя то, "чего не нужно". Мазохисты или просто "давились за прибылью"? :)

>Строго говоря это не переменные, а просто адрес участка памяти.

А что для вас такое "переменная"? Что это такое для ЦП - я уже говорил. Но ваше мнение. отличное от мнения ЦП - интересно. :)

>Так а зачем? Вы как предпочитаете, зайти в автосалон, купить автомобиль и поехать на нём, или приобрести набор "сделай сам"?

Волей отечественного автопрома... до последних лет все мы проходили через "сделай сам". А причин "самоделок" может быть много. Мне. например, легче сделать "нужную зубочистку", чем лазить искать "последнюю версию чего-то там брендового", которая уже умеет ровно то что нужно в данный момент мне. :)

>Да, Вы можете написать подпрограммы для этого. Но Ваши подпрограммы будут уступать профессиональным...

А, может, и не будут. Но они точно будут делать то. что мне нужно. И я точно буду знать где в них таятся подвохи и как их исправить, если вдруг они окажутся неприемлемы.

>..., и на их написание Вы потратите лучшую часть жизни.

:) Лучшую часть лучше провести на диване?

>Не проще ли взять Фортран, где уже всё для Вас сделано?

Ни! ЗА! ЧТО!! С да асм - остальное от лукавого! За исключением мапла. :)

>Какой кустарщиной? Если Вам нужно проанализировать результаты опыта, у Вас меньше всего времени на программную реализацию всего этого.

Если ТАК свербит - то используется мапл или пакет статистики. Написанный вовсе не на фортране. я вас умоляю! :)

А вот коли выньдос (получив порцию кода в свежеоткопанную кулхацкерами дыру) закрывает вам доступ в директорию...
Вы мне расскажите как вы на фортране будете решать эту проблему. А я послушаю под пиво с чипсами. :)

>Понятийный аппарат + правила составления конструкций, выполняющих определённые действия над объектами.

ООП провалилась. Вы не в курсе, разве? :)

>Зависит от задачи.

Практически - не зависит. Фортран довольно давно эээ помрэ. :)