Уровень языка (впечталения после пары дней с Haskell)
От: Shmj Ниоткуда  
Дата: 04.09.19 03:12
Оценка: 1 (1) +2
Вот, немного поковырял Haskell и испытал то же чувство, когда после Sinclair Basic (который с номерами строк и GOTO) перешел на Pascal.

Постоянный вопрос — неужели эту запись можно однозначно интерпретировать. Ну и краткость записи потрясает, как будто кто-то долго думал как можно записать короче, при этом чтобы не возникало коллизий.

Сожаление одно — это язык мечтателей. Т.е. сколько бы ты ни тратил на него времени, сколько бы не углублялся — в реальной твоей практике он тебе не понадобится Во всяком случае для меня — если у вас хороший мат. бэкграунд и пр. — ситуация может быть другой.

А так, вместо ребусов, для тренировки мозга — ОК.

Ну и вопрос. А есть ли языки более высокого уровня? Ну, если не считать языки естественные (гуманоидные тобишь), а вот реально чтобы можно было писать программы общего назначения. Или Haskell — это потолок?
Отредактировано 04.09.2019 3:26 Shmj . Предыдущая версия .
Re: Уровень языка (впечталения после пары дней с Haskell)
От: Patalog Россия  
Дата: 04.09.19 04:34
Оценка: :))
Здравствуйте, Shmj, Вы писали:

S>Вот, немного поковырял Haskell и испытал то же чувство, когда после Sinclair Basic (который с номерами строк и GOTO) перешел на Pascal.

S>А так, вместо ребусов, для тренировки мозга — ОК.

Взаимоисключающие параграфы детектед.
Почетный кавалер ордена Совка.
Re: Уровень языка (впечталения после пары дней с Haskell)
От: Sharowarsheg  
Дата: 04.09.19 22:07
Оценка:
Здравствуйте, Shmj, Вы писали:


S>Ну и вопрос. А есть ли языки более высокого уровня? Ну, если не считать языки естественные (гуманоидные тобишь), а вот реально чтобы можно было писать программы общего назначения. Или Haskell — это потолок?


Prolog?
Re: Уровень языка (впечталения после пары дней с Haskell)
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 05.09.19 01:17
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ну и вопрос. А есть ли языки более высокого уровня? Ну, если не считать языки естественные (гуманоидные тобишь), а вот реально чтобы можно было писать программы общего назначения. Или Haskell — это потолок?


Конечно есть — LISP и его диалекты. Причем они существенно проще Haskell для понимания, так как содержат в разы меньше абстракций.
Re: Уровень языка (впечталения после пары дней с Haskell)
От: LaptevVV Россия  
Дата: 05.09.19 05:12
Оценка:
S>Ну и вопрос. А есть ли языки более высокого уровня? Ну, если не считать языки естественные (гуманоидные тобишь), а вот реально чтобы можно было писать программы общего назначения. Или Haskell — это потолок?
1. Лисп намного проще, но идейно — тот же.
2. Пролог.
Имею пример в Ташкенте, когда один перец задачи АСУ писал на ТурбоПрологе.
3. APL.
В одной книжке один гуру признавался, что однажды ему пришлось расшифровывать программу на APL из 4 строчек.
Он потратил на это около 4 часов.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Уровень языка (впечталения после пары дней с Haskell)
От: HrorH  
Дата: 05.09.19 06:42
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ну и вопрос. А есть ли языки более высокого уровня? Ну, если не считать языки естественные (гуманоидные тобишь), а вот реально чтобы можно было писать программы общего назначения. Или Haskell — это потолок?


Полно. Но они еще реже используется.
Немного ближе к практике из этих языков Idris (там нет ленивости).
А так еще есть теорем пруверы. Agda, Coq, Lean theorem prover (в нем просто классный и самый понятный синтаксис для доказательства теорем),
Fstar (F*), Dafny. Кстати Wadler тут недавно написал книгу по Agda.

P.S. А так да, нужно математику хотя бы немного изучить. Если нужен список книг по математике могу написать
UPDATE: По Idris были лекции Брагилевского на русском. И еще есть книжка автора языка зачетная.
Отредактировано 05.09.2019 6:44 HrorH . Предыдущая версия .
Re[2]: Уровень языка (впечталения после пары дней с Haskell)
От: Shmj Ниоткуда  
Дата: 05.09.19 06:51
Оценка:
Здравствуйте, HrorH, Вы писали:

HH>Немного ближе к практике из этих языков Idris (там нет ленивости).


Idris немного читал на Хабре. Помоему похож на Haskell.

Coq смотрел для общего развития. Емнип, с ним те так все просто — ту же Великую Теорему (ее доказательство) так и не смогли выразить в Coq , хотя попытка такая есть.

HH>P.S. А так да, нужно математику хотя бы немного изучить. Если нужен список книг по математике могу написать


Нет денег для этого

Немного по работе сталкивался с математикой. Было сложно, но когда все получилось — очень большая радость на душе.

Сейчас я если что-либо изучаю, то только как часть проекта. Т.е. когда есть конкретная цель это использовать и знаю что получу. Может, если бы жил при коммунизме, то ради души бы изучал (а может быть и в потолок бы плевал — не знаю).
Отредактировано 05.09.2019 6:56 Shmj . Предыдущая версия .
Re[2]: Уровень языка (впечталения после пары дней с Haskell)
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 05.09.19 10:19
Оценка: +2
Здравствуйте, HrorH, Вы писали:

HH>Полно. Но они еще реже используется.

HH>Немного ближе к практике из этих языков Idris (там нет ленивости).
HH>А так еще есть теорем пруверы. Agda, Coq, Lean theorem prover (в нем просто классный и самый понятный синтаксис для доказательства теорем),
HH>Fstar (F*), Dafny. Кстати Wadler тут недавно написал книгу по Agda.

Они "выше уровнем" по хитрожопости системы типов и ее возможностям, но не в смысле "написать практичное приложение в меньшее количество строчек". Если нам нужно читать файлы, работать с сетью, показывать окошки и таблички, обращать матрицы и считать свертки, ни Кок, ни Агда, ни F* тут не помогут сделать это проще и короче, чем тот же Хаскель. Наоборот, кода будет больше, писать его будешь в десять раз дольше, зато ошибок в нем будет чуть меньше.

Вот у Clojure есть шанс (как ни больно это признавать сторонникам статических типов), ибо вместо описания ста типов и их свойств, там будет на всю программу три простых структуры, и все выражено в них. Но это на любителя.
Re[3]: Уровень языка (впечталения после пары дней с Haskell)
От: HrorH  
Дата: 05.09.19 11:01
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Они "выше уровнем" по хитрожопости системы типов и ее возможностям, но не в смысле "написать практичное приложение в меньшее количество строчек". Если нам нужно читать файлы, работать с сетью, показывать окошки и таблички, обращать матрицы и считать свертки, ни Кок, ни Агда, ни F* тут не помогут сделать это проще и короче, чем тот же Хаскель. Наоборот, кода будет больше, писать его будешь в десять раз дольше, зато ошибок в нем будет чуть меньше.


Да, под выше уровнем можно разное понимать. И "возможность написать практичное приложение в меньшее количество строчек" отличается от "возможности написать довольно большое приложение которое потом не замучаешься поддерживать", или "возможности написать приложение в котором почти нет ошибок".
Если ближе к практике то нужен какой-то язык, который хорошо поддерживает ООП и ФП вместе. И тут вроде бы впереди всей планеты Scala 3, который обещают допилить к середине 20-го года.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.