Обсуждение
Читать и комментировать в ЖЖ ↗
Ну вобще символьные вычисления - это давно известная и устоявшаяся ветка (правда в академическом мире, не в мейнстриме) Их тех кто развиваются сейчас - Maude [ http://maude.cs.uiuc.edu/ ] (его уже пытаются использовать как язык общего назначения) , Stratego [http://strategoxt.org/Stratego/StrategoLanguage ]
Комментарий
Так это всё старые и известные идеи, речь идёт о втором их пришествии -- ибо Mathematica это в некотором роде мейнстрим (хотя и не программистский мейнстрим, но в этом и идея Вольфрама и кобольщиков: донести мощь программирования до непрограммистов).
Я про все эти "старые идеи" ещё в семидесятых и начале восьмидесятых слышал. Я ведь первую свою программу в 1975 году написал, а на Forth писал в 1980, когда он был в высокой моде, а не примером древней эзотерики, как сейчас. Это были дивные времена, когда jak40 рядом со мной реализовывал второй из двух существовавших в мире компиляторов языка SETL (теории множеств, тогда это называлось "язык сверхвысокого уровня"), а я сам писал на Макроассемблере Системы/360 макру MOVE, которая перемещала что хочешь куда хочешь, сама занимая более 400 перфокарт.
А потом всё вдруг умерло.
А сейчас вдруг опять начинает цвести и пахнуть, на текущий мейнстрим уже не слишком молятся.
Комментарий
Да -- хорошо бы. [ я в свое время приложил руку к APS ]
Комментарий
Опять "программирование на естественном языке"? "Ну типа посчитай мне что-нибудь"? ;)
Комментарий
а в чем застой?
новые языки просто как грибы растут, я в принципе не успеваю с ними познакомиться хотя бы чуть-чуть, типа прочитать описание (ибо будет полная каша в голове)
Комментарий
Так и нет уже никакого застоя. А вот ещё года четыре назад у меня не было ощущения, что новые языки растут как грибы. Об этом и пост.
Комментарий
не было времени/сил вдаваться в подробности, вопрос: а это точно не Решатель?
Комментарий
нельзя объять необъятное (с) ..
тут достаточно простой движок приходицца постоянно чистить от излишков кода, просто чтобы он не загнулся от потери контроля, а они хотят напихать в ядро всякой хрени побольше и со всем этим хозяйством потом как-то выживать
питон и иже с ним имхо получил популярность за счет динамической типизации и сборки мусора, привлекательной для быстрого написания скриптов на коленке и толп школоты
профессионалы тщательно выбирают каждый инструмент и ещё дорабатывают его под себя, а не пользуюцца коробочными наборами из 100500 навороченных приспособлений
Комментарий
Ну, предложите профессионалу-инженеру (основной рынок Вольфрама) попользоваться "тщательно выбранным хаскелем, доработав его для себя". На чём должен программировать простой инженер, который ещё не забыл математику, которой его учили в ВУЗе?
К "напихиванию в ядро всего побольше" есть замечание Alan Kay, что сложность элементарных биологических конструктов в разы сложней того, что обычно представляют "сложным" программисты. Возможно, говорит он, нужно поучиться тут у природы, и наши "базовые детальки" делать более сложными.
Комментарий
На чём должен программировать простой инженер, который ещё не забыл математику, которой его учили в ВУЗе?
Чего ж этот инженер математику не забыл, а Хаскель или еще что забыл напрочь (или даже не знал)? Может упор надо делать в ВУЗе на нем...
Комментарий
Ну, расскажите преподавателям инженерного (авиационного, железнодорожного и т.д.) ВУЗа, каким языкам программирования нужно учить инженеров. Может, они вас и послушают. Но мне кажется, что они послушают Вольфрама. И будет выпускник ВУЗа знать язык Вольфрама (как сейчас знает язык MatLab), а не хаскель.
Комментарий
> На чём должен программировать простой инженер, который ещё не забыл математику, которой его учили в ВУЗе?
если программировать, в смысле разрабатывать софт для фон-неймановской архитектуры, то на плюсах конечно - если надо, можно выжать всю производительность из железа, если не надо - можно не выжимать :о))
если занимацца моделированием или математическими экспериментами, то для этого есть специальные тулы, но они не предназначены для разработки софта
> сложность элементарных биологических конструктов в разы сложней того, что обычно представляют "сложным" программисты
у биологических систем есть очень много времени для эволюции. Если попросить пару миллионов лет на выпуск первой версии софтины, заказчег этого не поймёт ..
ну то есть в любой достаточно сложной "детальке" есть баги, и чем она сложнее, тем больше багов и труднее их найти - в реальном софте иногда находят сделанные десятилетия назад баги, и это не предел
Комментарий
У вас какой-то бытовой разговор пошёл, совершенно вырванный из контекста, по факту оторвавшись в оффтоп. Почитайте, пожалуйста, материалы по ссылкам в моём посте и попытайтесь ответить ещё раз с учётом прочитанного.
Комментарий
Что принципиально измениться если Матлаб заменить на Вольфрам? Шило на мыло
Вот если на хаскель заменить, то точно изменится :)
Комментарий
Осталось Волфраму объяснить, почему ему не нужно изобретать собственный язык, а вместо этого взять хаскель -- что его "принципиальные изменения", о которых он толкует в своём тексте, как раз "непринципиальны", а вот заимствование хаскеля принесёт ему настоящее уникальное "принципиальное" счастье, и позволит заработать на этом много-много денег от рвущихся к обработке данных инженеров :)
Комментарий
языки и сложность разработки софта - это оффтоп ? вот оно как, михалыч ..
"иди учи матчасть" хороший аргумент только когда нечего сказать по существу, а очень хочецца побыть собакой сверху ..
Комментарий
я не умею объяснять чего-то маркетологам
если цель заработать много-много денег и захватить рыночную нишу, то наверное они лучше знают что делать
Но я кагбэ про другое. Мышление легче формируется в более раннем возрасте, т.е. кагбэ есть разница, что сперва учить, Хаскель или винегрет. Например, программеров в амеровских вузах часто учат функ программирвоанию на первом курсе (хаскль или МЛ). И это очень правильно. Потому что потом они освоят любой винегрет.
А если их учить винегрету, то с Хаскелем потом (через несколько лет) увы уже будет тяжеловато. Да и с модифицированными рецептами винегрета тоже могут быть проблемы.
Учитывая что в будущем инженер определенно должен уметь программировать, то учить его на первом курсе стоит тоже как раз Хаскелю. Ибо он формирует мышление прежде всего. А тут трудно придумать что-то лучше Хаскеля.
Комментарий
Хорошо, тогда идите учите матчасть. Мне хочется побыть собакой сверху. По существу сказано в ссылках в комментируемом посте, чего уж мне повторять за великими.
Комментарий
Это два разных подхода к программированию, я на них и сослался в посте:
-- кобол, ибо "в жизни тяжело программировать нормальным людям не нужно, это нужно только очень маленькому числу профи". А лучше вообще без кобола, сразу естественный язык и никакого программирования (машина составит и оптимизирует программу сама). Это Вольфрам, хоть он и будет отрицать свою похожесть на кобольцев. Люди из Autodesk, которые придумали нынешний iLogic (вместо Lisp, который был в первых Autocad) следуют примерно той же логике рассуждений.
-- набор мозгодробительных DSL, одним из которых может быть и хаскел (но и на нём ведь жизнь не остановилась) -- ибо программировать это прежде всего думать. Обучение детей это наше всё, учим думать и программировать в одном флаконе, в жизни всё пригодится. Это Алан Кей.
Дальше чешем затылок и вспоминаем прогноз, согласно каждый человек на Земле уже давно должен был стать программистом -- но что-то на это не похоже. Самый сложный язык программирования, который учат максимальное количество людей -- это язык формул Excel. Остальные как-то обходятся, несмотря на вопли про "недостаток программистов".
Комментарий
Mathematica — это коробочный набор, который при этом легко доработать под себя.