-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
1

Можно ли на Haskell писать ответственные программы (если сам программист ответственный и устраняет ошибки в коде)?

27.11.2019, 14:56. Показов 1468. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имею в виду, не происходят ли некоторые неявные преобразования автоматически, даже если может произойти потеря точности? Можно ли применять Haskell для программирования в медицине, для программного обеспечения ядерных реакторов, для расчёта маршрутов транспорта (чтобы поезда не столкнулись), для расчета траекторий летательных аппаратов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2019, 14:56
Ответы с готовыми решениями:

Найдите ошибки в коде и если можно объясните
Какой вообще здесь принцип решения и Какой код подойдет для выполнения этого задания? Задания...

Требуется ответственный программист
Добрый день, уважаемые предприниматели! Меня зовут Ляпин Антон, я являюсь основателем Компании...

Требуется опытный и ответственный программист.
Срочно требуеться программист для крупного проекта. Работа удаленная. Отличное знание PHP,HTML...

Если if не выполняется, то можно не писать else?
Например, код: if (a==true) cout << "a true"; else cout << "a false"; Можно заменить...

21
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,605
Записей в блоге: 13
27.11.2019, 15:23 2
Очень странный вопрос... Уж меньше всего он относится к Haskell с его строгой системой типов. Насколько мне известно, в Haskell вообще не выполняются неявные преобразования, за исключением очевидного Int/Integer -> Double/Float в случае, когда не задана дробная часть. К примеру, 6 преобразуется в 6.0. Но такое преобразование не может привести к потери точности. Обратное преобразование выполняться не будет. Его нужно делать явно. К примеру, есть функция:

Haskell
1
2
f :: Int -> [Int]
f x = [x,x,x]
Попытка вызвать ее так
Haskell
1
f 6.3
приведет к ошибке. Но можно
Haskell
1
f $ round 6.3
Вопрос странен еще и потому, что потеря точности зависит не столько от ЯП, сколько от машинной арифметики. А она зависит от железа.
2
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
27.11.2019, 15:47  [ТС] 3
потеря точности зависит не столько от ЯП, сколько от машинной арифметики. А она зависит от железа.
А какое железо лучше?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,605
Записей в блоге: 13
27.11.2019, 15:56 4
Цитата Сообщение от supmener Посмотреть сообщение
А какое железо лучше?
- если речь о плавающей точке, то чем больше длина мантиссы, тем лучше. У расхожих процессоров проблема короткой мантиссы решается программно (Java - класс BigDecimal, Haskell - тип BigFloat )... Тут я немного сам себе противоречу.
1
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
27.11.2019, 16:20  [ТС] 5
Не имел в виду точность вычисления цифровых значений, а возможность появления ошибок, из-за которых что то пойдёт не так. Реактор перейдёт на не запроектированный режим, диагностический алгоритм в медицине перейдёт на соседнюю ветку и не то продиагностирует, поезд пойдет не по своему маршруту, ракета улетит не туда.

Правильно ли понял, что чтобы этого не произошло, лучше выбрать Haskell, а не Python или это без разницы?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,605
Записей в блоге: 13
27.11.2019, 16:21 6
Думаю, Вы правы. Haskell в данном случае явно лучше.
0
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
27.11.2019, 16:33  [ТС] 7
А какие варианты функциональных языков программирования ещё можно применять для указанных целей? Есть ли у Haskell альтернативы (какие ещё другие языки функционального программирования подойдут), в которых тоже все так хорошо предусмотрено, чтобы не произошло непредвиденных ситуаций?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,605
Записей в блоге: 13
27.11.2019, 16:38 8
Мне кажется, Erlang. Он хорошо протестирован временем.
0
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
27.11.2019, 16:49  [ТС] 9
Haskell или Erlang можно размещать на сервере в интернете, чтобы вести диалог с пользователем через браузер или в консоле CMD?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36578 / 20308 / 4218
Регистрация: 12.02.2012
Сообщений: 33,605
Записей в блоге: 13
27.11.2019, 16:55 10
supmener, можно. Кстати, есть масса онлайн-компиляторов
0
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
27.11.2019, 17:41  [ТС] 11
Благодарю. Имел в виду не взаимодействие с программистом, а с пользователем готовой программы. Если знаю html, то нужно ещё изучать javascript, как добавку в браузере к Haskell или Erlang на сервере или его применение может привести к тому, что что то пойдет не так в применении к отраслям, описанных в первом сообщении темы?

Добавлено через 40 минут
Haskell или Erlang, что изучать?
0
Модератор
5046 / 3275 / 526
Регистрация: 01.06.2013
Сообщений: 6,802
Записей в блоге: 9
28.11.2019, 04:59 12
Цитата Сообщение от Catstail Посмотреть сообщение
за исключением очевидного Int/Integer -> Double/Float в случае, когда не задана дробная часть
То есть числовые литералы приводятся к требуемому типу неявно. (И строковые литералы приводятся к разным типам строк при включении расширения OverloadedStrings, так же, есть приведение списков). В остальных случаях, любое приведение типа только через вызов специальных функций. Даже Float в Double.
Цитата Сообщение от supmener Посмотреть сообщение
что что то пойдет не так
Готовьтесь что что то всё равно пойдёт не так (закон Мерфи). При использовании любого языка. Но, всё таки, со строго типизированными языками Мерфи реже срабатывает.
Цитата Сообщение от supmener Посмотреть сообщение
Haskell или Erlang, что изучать?
Haskell
2
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
28.11.2019, 07:53  [ТС] 13
А почему Haskell?
0
Модератор
5046 / 3275 / 526
Регистрация: 01.06.2013
Сообщений: 6,802
Записей в блоге: 9
28.11.2019, 07:56 14
Цитата Сообщение от supmener Посмотреть сообщение
А почему Haskell?
Потому что статически строго типизированный, с развитой системой типов.
1
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
28.11.2019, 08:00  [ТС] 15
А почему Catstail думал, что Erlang подойдёт?
0
Модератор
5046 / 3275 / 526
Регистрация: 01.06.2013
Сообщений: 6,802
Записей в блоге: 9
28.11.2019, 08:06 16
Цитата Сообщение от supmener Посмотреть сообщение
А почему Catstail думал, что Erlang подойдёт?
Подойдёт. Статическая типизация не абсолютное требование. И ещё туча языков подойдёт.
1
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
28.11.2019, 08:11  [ТС] 17
Это какие ещё языки другие?
0
Модератор
5046 / 3275 / 526
Регистрация: 01.06.2013
Сообщений: 6,802
Записей в блоге: 9
28.11.2019, 08:17 18
Цитата Сообщение от supmener Посмотреть сообщение
Это какие ещё языки другие?
На главной странице киберфорума много разделов по разным языкам, большинство подойдут.
0
-207 / 93 / 14
Регистрация: 26.06.2013
Сообщений: 4,604
28.11.2019, 08:45  [ТС] 19
Имел в виду, какие другие языки функционального программирования подойдут?
0
Модератор
5046 / 3275 / 526
Регистрация: 01.06.2013
Сообщений: 6,802
Записей в блоге: 9
28.11.2019, 15:14 20
OCaml,F#
1
28.11.2019, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2019, 15:14
Помогаю со студенческими работами здесь

Имеет ли смысл писать код на Cи, если можно на Си++?
Есть некий код, который вы можете написать на си, или же на с++. Стали бы вы писать его на си?

На чем скорее всего пишутся сложные, большие, быстрые и ответственные программы?
Из этой статьи с сайта ithappens узнал, что лучше всего Visual Basic. А что Вы думаете по этому...

Можно ли писать программу на бумаге, если нет компьютера?
У меня в ближайшие 6 месяцев не будет компьютера. Возможно ли писать программы на обычной бумаге...

Что делать, если хочется писать программы на заказ?
Хачю писать програми на заказ, посоветуйти мне што нибуть

Можно ли писать программы на смартфонах и КПК?
Если да, то с помощью каких программ (компиляторов и интерпретаторов) и на каких моделях это...

Можно ли в С++ писать программы с красивым интерфейсом
У меня такой вопрос а вот в с++ нельзя писать красивые программы? тоесть с интерфейсом там чтоб...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru