OberonCore https://forum.oberoncore.ru/ |
|
Вопрос для всех... https://forum.oberoncore.ru/viewtopic.php?f=35&t=671 |
Страница 2 из 4 |
Автор: | PGR [ Среда, 03 Октябрь, 2007 09:58 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
J (http://jsoftware.com) Почему Java, а не Javascript, Joy, Jovial, J#, ... ? P.S. А что за C какой-то? Component Pascal что-ли? |
Автор: | Trurl [ Среда, 03 Октябрь, 2007 10:53 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
info21 писал(а): У Гуткнехта есть постдок, который пытался ввинтить эти средства в один из языков Г (забыл какой). Мы с ним взяли некие мои реальные модули (строк тыща-полторы) и посмотрели, какая там будет польза от этих средств. Оказалось -- ничтожная (максимум десяток простых циклов спряталось под спец. конструкциями). Так это дело, похоже, и заглохло. Это, наверное, Oberon-V? Чтобы от подобных средств была польза, надо изначально программу писать с их учетом. Пытаться приспособить готовую - гиблое дело. К тому же, сейчас векторные машины не особенно в моде. |
Автор: | PGR [ Среда, 03 Октябрь, 2007 15:49 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
Тогда не пытался, а "ввинтил" уже: "A Programming Language for Vector Computers", R. Griesemer, Diss Nr. 10277, ETH Zurich, 1993. |
Автор: | ScrollLock [ Среда, 03 Октябрь, 2007 23:41 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
info21 писал(а): У Гуткнехта есть постдок, который пытался ввинтить эти средства в один из языков Г (забыл какой). Мы с ним взяли некие мои реальные модули (строк тыща-полторы) и посмотрели, какая там будет польза от этих средств. Оказалось -- ничтожная (максимум десяток простых циклов спряталось под спец. конструкциями). Так это дело, похоже, и заглохло. Бывают вещи менее тривиальные, чем простые циклы. Иногда несколько циклов может спрятаться в одной-единственной строчке MATLAB-подобного языка. Да и не всякой программе на пользу это пойдёт. Вот если идёт активная работа с матрицами и векторами - тогда эффект будет особенно ярким. Trurl писал(а): К тому же, сейчас векторные машины не особенно в моде. Какая разница, есть вектора на аппаратном уровне или нет - интерпретатор или компилятор их всё равно смогут эмулировать. Цикла while на аппаратном уровне тоже нет. Очень часто надо гнаться не за скоростью выполнения, а за скоростью разработки и наглядностью. PGR писал(а): На J время потратить точно стоит. В нём матрично-векторная арифметика из MATLAB доведена до предела А насколько там хорошо с математическими библиотеками? |
Автор: | PGR [ Четверг, 04 Октябрь, 2007 01:31 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
ScrollLock писал(а): А насколько там хорошо с математическими библиотеками? jsoftware.com писал(а): J is particularly strong in the mathematical, statistical, and logical analysis of data. Или вам нужно что-то конкретное? |
Автор: | Info21 [ Четверг, 04 Октябрь, 2007 08:32 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
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" -- это такие заклинания, которые обозначают что-нибудь примитивное, вроде "напихали туда десяток фич, которые на первый программистский взгляд полезны для манипуляций с матрицами". Чаще всего реального смысла в них нету. |
Автор: | ScrollLock [ Четверг, 04 Октябрь, 2007 09:23 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
PGR писал(а): Или вам нужно что-то конкретное? Ну не то чтобы очень конкретное, но интересно, есть ли численное решение систем нелинейных уравнений, линейный и нелинейный МНК, блок символьной математики info21 писал(а): А прог-е без физико-математической части для меня бессмыслица. А как же такие программы, как драйвера? Часто (но не всегда) там идёт работа с оборудованием с математикой на уровне арифметики. Хотя на практике лучше взять сложную физико-математическую часть из библиотеки (например, для систем уравнений, работы со сжатыми изображениями, архивами, музыкой и видео). info21 писал(а): если не делать программу специально для векторной машины, то все это фигня -- сложности новой много, а эффекта -- мало (в т.ч. для скорости разработки; скорее, обратный эффект из-за, опять же, новой сложности). Доступных для простого человека векторных машин в наше время нет, а вот языки с матричными типами данных есть. И иногда имеет смысл делать программу именно для языка с матричными типами. |
Автор: | Сергей Губанов [ Четверг, 04 Октябрь, 2007 10:17 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
Делая выбор между средствами надо исходить из того что тебе нужно иметь после выполнения работы: 1) программируешь чтобы программу написать; 2) программируешь чтобы задачу решить. |
Автор: | Trurl [ Четверг, 04 Октябрь, 2007 16:29 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
ScrollLock писал(а): Какая разница, есть вектора на аппаратном уровне или нет - интерпретатор или компилятор их всё равно смогут эмулировать. А зачем их эмулировать? Смысл ведь был в том, чтобы вставить в язык конструкции, которые легко эффективно компилировать, скажем, на Cray Y-MP. |
Автор: | Geniepro [ Четверг, 04 Октябрь, 2007 19:12 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
Цитата: Доступных для простого человека векторных машин в наше время нет, а вот языки с матричными типами данных есть. И иногда имеет смысл делать программу именно для языка с матричными типами. Ну почему же нет? Блоки SSE, например. Игровые приставки Sony PS3 и вроде новые X-BOX'ы содержат в себе процессор Cell с 1-им ядром общего назначения и 8-ю векторными ядрами... Современные видеокарты ATI и nVidia... |
Автор: | ScrollLock [ Четверг, 04 Октябрь, 2007 21:03 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
Trurl писал(а): А зачем их эмулировать? Смысл ведь был в том, чтобы вставить в язык конструкции, которые легко эффективно компилировать, скажем, на Cray Y-MP. Не только эффективная компиляция, но и повышение наглядности программы. В некоторых случаях вложенные циклы по сравнению с матричной арифметикой будут почти как goto. Geniepro писал(а): Ну почему же нет? Блоки SSE, например. Спасибо, что напомнили. Кстати, а матрицы там есть? Ведь вектор - это частный случай матричного типа. Но даже если и так, то такие вещи, как матрицы динамического размера - требуют высокоуровневого механизма. |
Автор: | PGR [ Пятница, 05 Октябрь, 2007 03:09 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
ScrollLock писал(а): Ну не то чтобы очень конкретное, но интересно, есть ли численное решение систем нелинейных уравнений, линейный и нелинейный МНК, блок символьной математики Линейный и нелинейный МНК точно есть, символьной математики нет. По объёму библиотеки функций Матлабу с его toolboxes равных нет... А вот по скорости J иногда намного обгоняет Матлаб, хоть и интерпретатор. Например, на программе поиска в матрице столбца, содержащего максимальный элемент (из "J for C Programmers"), программа на J быстрее матлабовской в 5 раз при матрице 5000x5000. |
Автор: | PGR [ Пятница, 05 Октябрь, 2007 03:14 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
ScrollLock писал(а): Geniepro писал(а): Ну почему же нет? Блоки SSE, например. Спасибо, что напомнили. Кстати, а матрицы там есть? Ведь вектор - это частный случай матричного типа. Но даже если и так, то такие вещи, как матрицы динамического размера - требуют высокоуровневого механизма. Там только векторы длиной до 4. |
Автор: | PGR [ Пятница, 05 Октябрь, 2007 03:21 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
info21 писал(а): PGR писал(а): Тогда не пытался, а "ввинтил" уже: "A Programming Language for Vector Computers", R. Griesemer, Diss Nr. 10277, ETH Zurich, 1993. Речь шла о 2006 годе. Так это не Oberon-V, а что тогда? |
Автор: | Info21 [ Пятница, 05 Октябрь, 2007 07:29 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
PGR писал(а): Так это не Oberon-V, а что тогда? Почему это должно быть "что"-то? Возятся себе и возятся... А тут народ кипятком пысает от каждой композиты... |
Автор: | Info21 [ Пятница, 05 Октябрь, 2007 07:33 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
ScrollLock писал(а): ... Бывают вещи менее тривиальные, чем простые циклы. Иногда несколько циклов может спрятаться в одной-единственной строчке MATLAB-подобного языка. .... Вот если идёт активная работа с матрицами и векторами - тогда эффект будет особенно ярким. Под простыми я имел не однократные, а FOR-ы. Иногда = очень редко. Активная работа с матрицами = всегда маленькая доля реалистичного проекта. Все остальное имеет меру, приближающуюся к нулю. |
Автор: | Info21 [ Пятница, 05 Октябрь, 2007 07:38 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
ScrollLock писал(а): ... И иногда имеет смысл делать программу именно для языка с матричными типами. Это все теория. На практике -- что значит "иногда", что значит "имеет смысл". Через пару лет за горизонтом первоначального планирования почему-то оказывается, что смысла не имело... ----- Писать драйверы -- отдельная профессия. Узкая специализация. |
Автор: | ScrollLock [ Пятница, 05 Октябрь, 2007 19:04 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
info21 писал(а): Активная работа с матрицами = всегда маленькая доля реалистичного проекта. Все остальное имеет меру, приближающуюся к нулю. Но при написании программ, имеющих дело в основном с расчётами, численными методами и статобработкой, матричный тип бывает незаменим. А написании интерфейсной части (основная часть реалистичной программы) он нисколько не мешает, наоборот помогает при построении графиков. Цитата: На практике -- что значит "иногда", что значит "имеет смысл". Надо смотреть конкретную задачу и решать. Цитата: Через пару лет за горизонтом первоначального планирования почему-то оказывается, что смысла не имело... Через пару лет всё может измениться и программу придётся переписывать. Не всегда нужно планировать в такую даль (хотя оно и весьма полезно, чтобы расширять программу было легко) |
Автор: | John Frost [ Суббота, 06 Октябрь, 2007 08:28 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
а правда на блэкбоксе можно написать ОС гораздо быстрее и качественно? |
Автор: | Info21 [ Суббота, 06 Октябрь, 2007 10:37 ] |
Заголовок сообщения: | Re: Вопрос для всех... |
John Frost писал(а): а правда на блэкбоксе можно написать ОС гораздо быстрее и качественно? конечно |
Страница 2 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |