Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 01.03.2019
Сообщений: 42

Какой стиль программирования наиболее подходит для численных расчётов?

26.05.2020, 10:55. Показов 1625. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно подробнее
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2020, 10:55
Ответы с готовыми решениями:

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

Какой язык программирования больше подходит для создания сайта
Я давно уже увлекаюсь программированием,в данный момент изучаю С++. Вот мне стало любопытно, как создать свой сайт? какой язык лучше...

какой язык программирования лучше всего подходит для новичка?
не подскажите какой язык программирования лучше всего подходит для новичка?

13
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
26.05.2020, 17:41
Функциональный (как слышится, так и пишется).
1
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
27.05.2020, 06:46
Цитата Сообщение от Shamil1 Посмотреть сообщение
Функциональный (как слышится, так и пишется).
Полностью согласен. Лично меня зацепил язык APL, "для себя" пишу именно на нём, но не волшебник, только учусь.
0
0 / 0 / 0
Регистрация: 01.03.2019
Сообщений: 42
27.05.2020, 19:41  [ТС]
Shamil1, а можете объяснить почему? Например, в каком-нибудь сравнении. Ну так, коротко.
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
28.05.2020, 11:11
1. Численные расчёты - это чистые функции.
2. ФП - лаконичен и код очень близок к математическому описанию
0
2630 / 1642 / 266
Регистрация: 19.02.2010
Сообщений: 4,361
28.05.2020, 11:30
Цитата Сообщение от Shamil1 Посмотреть сообщение
Численные расчёты - это чистые функции.
Такой аргумент подходит и для обычного процедурного программирования. В интеловской MKL и в прочих реализациях интерфейса https://ru.wikipedia.org/wiki/... ubprograms - чистые функции.
0
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
28.05.2020, 12:05
https://vimeo.com/299593868
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
28.05.2020, 15:18
Цитата Сообщение от VTsaregorodtsev Посмотреть сообщение
Такой аргумент подходит и для обычного процедурного программирования.
В данном случае это аргумент в обратную сторону. То есть, есть ряд задач, для которых ФП не очень удобно использовать, но численные расчёты к ним не относятся (так как численные расчёты - это чистые функции).
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
28.05.2020, 22:42
В императивщине с памятью понятней.
Цитата Сообщение от Вадим Тукаев Посмотреть сообщение
APL
Во, векторное программирование! Была мысль взять какой-нибудь задачник по числякам и попробовать порешать на J. Но прошла.
1
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
29.05.2020, 10:53
Цитата Сообщение от helter Посмотреть сообщение
Во, векторное программирование! Была мысль взять какой-нибудь задачник по числякам и попробовать порешать на J. Но прошла.
А я купил все (или почти все) книги про APL на русском языке. В первую очередь полезен "Курс АПЛ" Гилмана и Роуза. Кстати, хочу его купить в оригинале, там более новое издание. Но это уже скорее для коллекции, а пока и на русском сойдёт. Просто берём и решаем все задачки. Если идти постепенно, то всё легко и просто. Благо есть GNU APL, бесплатная версия Dyalog APL и даже онлайн-интерпретатор tryapl.org Подозреваю, что Вы решили изучить J методом кавалерийского наскока.
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
29.05.2020, 13:05
Цитата Сообщение от Вадим Тукаев Посмотреть сообщение
Подозреваю, что Вы решили изучить J методом кавалерийского наскока.
Не уверен, что понял. В любом случае, я у меня скорее была идея познакомиться, чем изучать. J надо знать хотя бы чтобы ворчать на numpy там, где он отличается от J.

Добавлено через 12 минут
Любопытно, как в J реализованы массивы. Как так вышло, что массивы неизменяемые, а работает эффективно? В принципе, в заметках о реализации написано, если не вру, что, дескать, при вычислении выражения память выделяется malloc-ом, а после вычисления освобождается, и никакой сборщик мусора не нужен. Но, вероятно, есть и трюки. Например, в книге сказано, что изменение одного элемента массива такого вида:
Code
1
A  =:  new index } A
не сопровождается массивным копированием данных. Видимо, J понимает, когда массив можно повторно использовать.

Хитрая там логика под капотом или не хитрая - всё равно магия. В numpy, например, такой магии нет. В документации пишут, когда временные массивы создаются, когда - нет; когда возвращается view в массив, когда - новый массив. Поэтому, по моим ощущениям, с императивщиной в общем спокойней, чем с функциональщиной, а векторный язык удобней скалярного.
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
29.05.2020, 14:06
Цитата Сообщение от helter Посмотреть сообщение
Как так вышло, что массивы неизменяемые, а работает эффективно?
Есть структура данных persistent vector. Обычно реализована на основе 32-дерева, где все данные хранятся в листьях. Все операции, включая копирование - О(1).
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
29.05.2020, 14:17
Не уверен, что конкретно J использует хитрые функциональные структуры данных. Тем более, за персистенцию надо платить. По идее, под капотом сишные массивы и циклы по ним. Буквально из сишных структур данных реализация использует только одну: массив, содержащий немного метаданных. Скорее, он просто следит, когда можно сделать присваивание.
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
30.05.2020, 02:02
Цитата Сообщение от helter Посмотреть сообщение
Не уверен, что конкретно J использует хитрые функциональные структуры данных. Тем более, за персистенцию надо платить.
Я не знаю, что использует J. Цена за персистенцию не высока и окупается при использовании рекурсивных функций, даже если не использовать неприятные для массивов функции, типа удаление произвольного элемента. Для тяжёлых операций типа сортировки обычно встроенная (библиотечная) функция копирует вектор в обычный массив, сортирует и копирует обратно в вектор.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2020, 02:02
Помогаю со студенческими работами здесь

ПК для численных расчетов
Добрый день, помогите пожалуйста подобрать конфигурация ПК для численных расчетов на работе. В игры на нем играть никто не будет. Главное...

Какой язык программирования выбрать для простых расчетов и отрисовки результата в виде чертежа
Не могу выбрать язык программирования. Основные требования: Бесплатный компилятор Относительная простота (или на уровне PHP, Pascal,...

Какой язык программирования больше подходит для работы с веб приложениями html
здорово народ какой язык программирования больше подходит для работы с веб приложениями html и.т.д.

Рабочая станция для численных расчётов
Доброго всем времени суток Начну данный пост из далека. Так как являюсь радиофизиком, то в компьютерах (точнее в железе) понимаю мало,...

Какой IDE-Редактор наиболее подходит под мои требования
Вот требования к редактору: • Поддержка русского языка • Работа на ОС Windows версий XP и\или 7 • Работа с HTML • Работа с HTML 5 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru