OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 12:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Среда, 03 Октябрь, 2007 09:58 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
J (http://jsoftware.com)

Почему Java, а не Javascript, Joy, Jovial, J#, ... ?

P.S. А что за C какой-то? Component Pascal что-ли? :-D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Среда, 03 Октябрь, 2007 10:53 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
info21 писал(а):
У Гуткнехта есть постдок, который пытался ввинтить эти средства в один из языков Г (забыл какой). Мы с ним взяли некие мои реальные модули (строк тыща-полторы) и посмотрели, какая там будет польза от этих средств. Оказалось -- ничтожная (максимум десяток простых циклов спряталось под спец. конструкциями). Так это дело, похоже, и заглохло.


Это, наверное, Oberon-V? Чтобы от подобных средств была польза, надо изначально программу писать с их учетом. Пытаться приспособить готовую - гиблое дело. К тому же, сейчас векторные машины не особенно в моде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Среда, 03 Октябрь, 2007 15:49 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Тогда не пытался, а "ввинтил" уже: "A Programming Language for Vector Computers", R. Griesemer, Diss Nr. 10277, ETH Zurich, 1993.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Среда, 03 Октябрь, 2007 23:41 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
info21 писал(а):
У Гуткнехта есть постдок, который пытался ввинтить эти средства в один из языков Г (забыл какой). Мы с ним взяли некие мои реальные модули (строк тыща-полторы) и посмотрели, какая там будет польза от этих средств. Оказалось -- ничтожная (максимум десяток простых циклов спряталось под спец. конструкциями). Так это дело, похоже, и заглохло.

Бывают вещи менее тривиальные, чем простые циклы. Иногда несколько циклов может спрятаться в одной-единственной строчке MATLAB-подобного языка. Да и не всякой программе на пользу это пойдёт. Вот если идёт активная работа с матрицами и векторами - тогда эффект будет особенно ярким.

Trurl писал(а):
К тому же, сейчас векторные машины не особенно в моде.

Какая разница, есть вектора на аппаратном уровне или нет - интерпретатор или компилятор их всё равно смогут эмулировать. Цикла while на аппаратном уровне тоже нет. Очень часто надо гнаться не за скоростью выполнения, а за скоростью разработки и наглядностью.

PGR писал(а):
На J время потратить точно стоит. В нём матрично-векторная арифметика из MATLAB доведена до предела

А насколько там хорошо с математическими библиотеками?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Четверг, 04 Октябрь, 2007 01:31 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
ScrollLock писал(а):
А насколько там хорошо с математическими библиотеками?

jsoftware.com писал(а):
J is particularly strong in the mathematical, statistical, and logical analysis of data.

Или вам нужно что-то конкретное?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Четверг, 04 Октябрь, 2007 08:32 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
PGR писал(а):
Тогда не пытался, а "ввинтил" уже: "A Programming Language for Vector Computers", R. Griesemer, Diss Nr. 10277, ETH Zurich, 1993.


Речь шла о 2006 годе.

Общее ощущение (по опыту): если не делать программу специально для векторной машины, то все это фигня -- сложности новой много, а эффекта -- мало (в т.ч. для скорости разработки; скорее, обратный эффект из-за, опять же, новой сложности).

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

Заявления типа "is particularly strong in the mathematical, statistical, and logical analysis of data" -- это такие заклинания, которые обозначают что-нибудь примитивное, вроде "напихали туда десяток фич, которые на первый программистский взгляд полезны для манипуляций с матрицами". Чаще всего реального смысла в них нету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Четверг, 04 Октябрь, 2007 09:23 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
PGR писал(а):
Или вам нужно что-то конкретное?

Ну не то чтобы очень конкретное, но интересно, есть ли численное решение систем нелинейных уравнений, линейный и нелинейный МНК, блок символьной математики

info21 писал(а):
А прог-е без физико-математической части для меня бессмыслица.

А как же такие программы, как драйвера? Часто (но не всегда) там идёт работа с оборудованием с математикой на уровне арифметики. Хотя на практике лучше взять сложную физико-математическую часть из библиотеки (например, для систем уравнений, работы со сжатыми изображениями, архивами, музыкой и видео).

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Четверг, 04 Октябрь, 2007 10:17 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Делая выбор между средствами надо исходить из того что тебе нужно иметь после выполнения работы:
1) программируешь чтобы программу написать;
2) программируешь чтобы задачу решить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Четверг, 04 Октябрь, 2007 16:29 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
ScrollLock писал(а):
Какая разница, есть вектора на аппаратном уровне или нет - интерпретатор или компилятор их всё равно смогут эмулировать.

А зачем их эмулировать? Смысл ведь был в том, чтобы вставить в язык конструкции, которые легко эффективно компилировать, скажем, на Cray Y-MP.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Четверг, 04 Октябрь, 2007 19:12 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Цитата:
Доступных для простого человека векторных машин в наше время нет, а вот языки с матричными типами данных есть. И иногда имеет смысл делать программу именно для языка с матричными типами.

Ну почему же нет? Блоки SSE, например.
Игровые приставки Sony PS3 и вроде новые X-BOX'ы содержат в себе процессор Cell с 1-им ядром общего назначения и 8-ю векторными ядрами...
Современные видеокарты ATI и nVidia...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Четверг, 04 Октябрь, 2007 21:03 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Trurl писал(а):
А зачем их эмулировать? Смысл ведь был в том, чтобы вставить в язык конструкции, которые легко эффективно компилировать, скажем, на Cray Y-MP.

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

Geniepro писал(а):
Ну почему же нет? Блоки SSE, например.

Спасибо, что напомнили. Кстати, а матрицы там есть? Ведь вектор - это частный случай матричного типа. Но даже если и так, то такие вещи, как матрицы динамического размера - требуют высокоуровневого механизма.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Пятница, 05 Октябрь, 2007 03:09 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
ScrollLock писал(а):
Ну не то чтобы очень конкретное, но интересно, есть ли численное решение систем нелинейных уравнений, линейный и нелинейный МНК, блок символьной математики

Линейный и нелинейный МНК точно есть, символьной математики нет. По объёму библиотеки функций Матлабу с его toolboxes равных нет... А вот по скорости J иногда намного обгоняет Матлаб, хоть и интерпретатор. Например, на программе поиска в матрице столбца, содержащего максимальный элемент (из "J for C Programmers"), программа на J быстрее матлабовской в 5 раз при матрице 5000x5000.


Последний раз редактировалось PGR Пятница, 05 Октябрь, 2007 03:25, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Пятница, 05 Октябрь, 2007 03:14 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
ScrollLock писал(а):
Geniepro писал(а):
Ну почему же нет? Блоки SSE, например.

Спасибо, что напомнили. Кстати, а матрицы там есть? Ведь вектор - это частный случай матричного типа. Но даже если и так, то такие вещи, как матрицы динамического размера - требуют высокоуровневого механизма.

Там только векторы длиной до 4.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Пятница, 05 Октябрь, 2007 03:21 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
info21 писал(а):
PGR писал(а):
Тогда не пытался, а "ввинтил" уже: "A Programming Language for Vector Computers", R. Griesemer, Diss Nr. 10277, ETH Zurich, 1993.

Речь шла о 2006 годе.

Так это не Oberon-V, а что тогда?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Пятница, 05 Октябрь, 2007 07:29 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
PGR писал(а):
Так это не Oberon-V, а что тогда?


Почему это должно быть "что"-то? :-)
Возятся себе и возятся...
А тут народ кипятком пысает от каждой композиты...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Пятница, 05 Октябрь, 2007 07:33 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
ScrollLock писал(а):
... Бывают вещи менее тривиальные, чем простые циклы. Иногда несколько циклов может спрятаться в одной-единственной строчке MATLAB-подобного языка. .... Вот если идёт активная работа с матрицами и векторами - тогда эффект будет особенно ярким.


Под простыми я имел не однократные, а FOR-ы.

Иногда = очень редко.

Активная работа с матрицами = всегда маленькая доля реалистичного проекта. Все остальное имеет меру, приближающуюся к нулю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Пятница, 05 Октябрь, 2007 07:38 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
ScrollLock писал(а):
... И иногда имеет смысл делать программу именно для языка с матричными типами.


Это все теория.
На практике -- что значит "иногда", что значит "имеет смысл".
Через пару лет за горизонтом первоначального планирования почему-то оказывается, что смысла не имело...

-----
Писать драйверы -- отдельная профессия. Узкая специализация.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Пятница, 05 Октябрь, 2007 19:04 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
info21 писал(а):
Активная работа с матрицами = всегда маленькая доля реалистичного проекта. Все остальное имеет меру, приближающуюся к нулю.

Но при написании программ, имеющих дело в основном с расчётами, численными методами и статобработкой, матричный тип бывает незаменим. А написании интерфейсной части (основная часть реалистичной программы) он нисколько не мешает, наоборот помогает при построении графиков.

Цитата:
На практике -- что значит "иногда", что значит "имеет смысл".

Надо смотреть конкретную задачу и решать.

Цитата:
Через пару лет за горизонтом первоначального планирования почему-то оказывается, что смысла не имело...

Через пару лет всё может измениться и программу придётся переписывать. Не всегда нужно планировать в такую даль (хотя оно и весьма полезно, чтобы расширять программу было легко)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Суббота, 06 Октябрь, 2007 08:28 

Зарегистрирован: Понедельник, 01 Октябрь, 2007 16:45
Сообщения: 14
а правда на блэкбоксе можно написать ОС гораздо быстрее и качественно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос для всех...
СообщениеДобавлено: Суббота, 06 Октябрь, 2007 10:37 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
John Frost писал(а):
а правда на блэкбоксе можно написать ОС гораздо быстрее и качественно?

конечно


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB