Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

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

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

Студворк — интернет-сервис помощи студентам
Имею в виду, не происходят ли некоторые неявные преобразования автоматически, даже если может произойти потеря точности? Можно ли применять Haskell для программирования в медицине, для программного обеспечения ядерных реакторов, для расчёта маршрутов транспорта (чтобы поезда не столкнулись), для расчета траекторий летательных аппаратов?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2019, 14:56
Ответы с готовыми решениями:

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

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

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

21
64 / 49 / 1
Регистрация: 25.06.2015
Сообщений: 80
29.11.2019, 13:56
Студворк — интернет-сервис помощи студентам
C Haskell есть такая сложность, как непредсказуемая ленивость. Еще сборщик мусора с непредсказуемыми паузами. Для критически важных задач я бы рассматривал исключительно языки без сборки мусора, куда питон никаким боком не относится. Среди таких языков, к счастью, есть "Haskell на стероидах", более известный под названием Rust. Другие проверенные варианты: Ada, C, C++. К сожалению, с Ada связаны очень существенные и высокие политические риски, с которыми приходится считаться. Итого остается богатый выбор: Rust, C, C++. Два последних требуют крайне высокого уровня программистской квалификации, тогда как Rust гораздо менее требователен к программистским способностям разработчиков, но по эффективности исполнения программный код вполне на равных идет. А если вы изощритесь и начнете широко использовать ФП, то даже выиграете в скорости (Это у меня больная тема - попробуйте сравнить скорость обработки вложенных замыканий, а так называемые "продолжения" - это уже вложенные замыкания. Тогда сильно удивитесь и узнаете много нового о move-семантике, и почему только в C++20 перемещающий конструктор для std::function стал noexcept).
3
Антикодер
Эксперт функциональных языков программирования
1889 / 871 / 48
Регистрация: 15.09.2012
Сообщений: 3,092
30.11.2019, 01:10
Цитата Сообщение от supmener Посмотреть сообщение
А почему Haskell?
Да не то, чтобы haskell, просто функциональное программирование лучше знать, чем не знать. Я когда начинал вникать, то больше склонялся к Haskell, чем к Lisp. Привлекла краткость Haskell-я, и непонятно было - какой именно Lisp изучать.
Мне больше важна близость к математическим абстракциям, чем производительность(хотя нельзя сказать, что ghc собирает не производительные программы).

Понятно, что чем больше языков знаешь, тем лучше, или, чем шире кругозор, тем лучше. Но просто нужно знать сильные и слабые стороны функционального и процедурного программирования(возможно так же и ООП).
Например, Ivana написал интерпретатор своего функционального(?) языка Liscript на Python, Java, Haskell:
Liscript

Я, недавно, открыл для себя возможности basha:
У кого как выглядит рабочий стол? (2)
Хотя надо было это сделать на лет 5-7 раньше.

То есть необязательно всё на Haskell-е писать, можно и изящно сочетать языки.
Слабая сторона Haskell в том, что мало готовых примеров и библиотек. Меня это вполне устраивает. Плюс высокий уровень абстрагирования можно рассматривать как плюс, как и минус. Я, например, часто не вижу очевидных решений, как бы написал хороший среднестатистический хаскелист(не хватает и опыта, и памяти, и знаний, и умения мыслить абстрактно).

Получается основы Haskell-я знать крайне полезно. А дальше, нужно ли вам писать на нём параллельные и многопотоковые программы - решать вам. Тут моих знаний уже не хватит, чтобы понять, что лучше взять для таких программ - Haskell, C, Erlang, Go, NodeJS, Rust...

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

Можно посмотреть какие видосики на эту тему, но чем смотреть видосики, лучше прочитать книги по интересующим вас языкам программирования, чем читать книги лучше самому до всего додуматься и изобрести свой передовой, уникальный язык программирования, то есть лучше думать своей головой. Чем думать своей головой, лучше слушать своё сердце и душевную боль по жизни.

Мои рекомендации по изучению Haskell-я:
Учат ли в каких-нибудь учебних заведениях язык программирования Haskell? (ссылка на моё сообщение)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2019, 01:10

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

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

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

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

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


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

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

Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru