Как стать автором
Обновить
29
3.2
Кирилл Белов @KirillBelovTest

Инженер по автоматизации тестирования

Отправить сообщение

Спасибо за ответ. Думаю квадратные скобки и двойной слеш это самая меньшая из проблем. На мой взгляд САМАЯ большая проблема в том, что это проприетарный язык, который 30 лет продавался только за деньги, а когда наконец до Стивена Хьюговича дошло, что опен-сорс двигает технологии вперед - было уже очень поздно.

Я общаюсь с разработчиками ядра и их мнение такое, что в том виде, в котором выпускает язык WRI прямо сейчас у него очень сомнительное будущее, куда больший толчок к развитию он получит в тот момент, когда у кого-то дойдут руки выпустить открытую реализацию языка с возможностью подключения пакетов из реализации WRI.

Какие ваши доказательства? Парадигмы программирования все примитивные и очень простые. Они основываются на нескольких простых принципах. ООП на инкапсуляции, наследовании, полиморфизме и абстракции. ООП код представляет собой в классическом виде объекты, которые обмениваются сообщениями. ФП смещает фокус с объектов, которые обладают "умениями" на действия или функции, которые обрабатывают данные. Символьное программирование концентрируется на преобразовании древовидных выражений при помощи правил замены. Никто вам не мешает писать ФП или ООП код на WL, но вы кажется невнимательно прочитали - я писал про те концепции, которые лежат в основе процесса вычисления кода. То что в большинстве случаев на WL пишут ФП-код - не говорит о том, по каким принципам работает ядро.

Вообще в моей голове сложилось такое мировоззрение, что символьное программирование - это одна из парадигм - такая же как функциональное программирование или ООП. По своим личным наблюдениям я могу только сказать, что оно более редкое, а поэтому менее освещенное. И я еще раз постараюсь кратко сформулировать свою мысль. Чаще всего символьное программирование подразумевает аналитические преобразования математических выражений. По крайней мере так это в популярных библиотеках, которые я встречал. Для этого же в большинстве случаев использую Haskell. Но весь язык Wolfram построен на этой концепции. В нем все является выражением, а исполнение кода происходит при помощи применения правил замен. В комментарии выше @Refridgerator говорил об алгоритмах Маркова, я в конце статьи упомянул про клеточные автоматы - и то и другое является классическим примером символьного программирования. И к тому и к другому можно свести принцип исполнения выражений на языке Wolfram. В общем главная мысль - WL не просто умеет работать с символьными выражениями, а целиком на них построен

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

Да, именно там такое количество модов на данный момент, т.е. 70 и 60 тысяч. На других сайтах меньше. Большинство модов между LE и SE/AE пересекаются, но скорее всего несколько тысяч модов уникальны для каждого по отдельности

Как это у вас получилось что на Skyrim всего 8000 модов? На LE сейчас 70 тысяч модов, а на SE/AE 60 тысяч

Хочу еще раз отметить одну из самых важных концепций проекта. Все, что печатается в ячейках с CodeMirror-редактора - является выражением на Wolfram Language. Это одна из самых главных особенностей Mathematica, которая там работает в точности так же. Отличие только в способе реализации. Mathematica - это приложение рабочего стола написанное на QT, а WLJS - такое же приложение, но в виде веб-страницы. В нашем приложении есть интерпретатор, который работает в браузере и передает результат выполнения кода на рендер браузеру и CodeMorror-редактору, но и в Mathematica точно так же есть отдельное Fronend Kernel, которое является интерпретатором зашитым именно в сам UI написанный на QT, а результат интерпретации передается в QT для рендера.

Еще раз спасибо, что напомнили. Только что установил текущую версию. Действительно с тех пор, как я последний раз запускал Максиму - там довольно много изменений произошло. Посмотрел документацию и приятно удивился сколько всего там есть. Интерфейс тоже порадовал своей аутентичностью. А еще я вспомнил, что мне там действительно очень понравилось - это то, что графики строятся в gnuplot

Wolfram Language - это уже не система компьютерной алгебры. В плане набора функций Maxima находится слишком далеко от Wolfram Language. Пользовательский интерфейс Максимы тоже не обладает той функциональностью Mathematica, о которой я писал в статье и концепцию которой мы сумели воспроизвести. Я пользовался максимой примерно 8 лет назад и может быть с тех пор многое изменилось, но в не кажется нельзя было редактировать output и пользоваться хотя бы отдалено похожим «синтаксическим сахаром» как в WL. Но я могу ошибаться. Я обязательно поставлю текущую версию и посмотрю что там изменилось. Спасибо вам за комментарий и напоминание

Насколько я знаю уже миллионы лет человек и его предки являются социальными организмами и следовательно эволюционировали все это время в обществе. В результате наш мозг лучше всего адаптирован к взаимодействию с другими членами общества и намного хуже работает если ему нужно разбираться в чем-то точном и техническом. Мы очень хорошо видим эмоции других, понимаем по выражению лица, глаз где опасность а где нет и так далее. Еще одним следствием является то, что любое необъяснимое являете человек стал наделять личностью, так как тогда можно сказать что явление тоже как член общества обладает своим характером и поведением, которое свойственно другим членам общества. А тогда явление становится более понятным и его можно объяснить. В итоге все это превратилось в религию. Так как вместо попыток найти рациональное объяснение тому что например ветер дует - человек просто сказал что у ветра такой характер и он дует потому что хочет. А дальше по индукции. Стало можно объяснить все необъяснимое. Так и появилась религия. Кстати у животных тоже есть религия. Точнее признаки религии и того что у них есть вера в высшие силы. Так вот… Из-за невероятного количества технологий, языков, методик и фреймворков уже стало невозможно запомнить как все они работают и тут подключаются те самые механизмы когда мы начинаем наделять личностью уже технологии а затем превращать их в духов и божества

Я сначала подумал, что пост Король Разработки написал

Я понял в чем дело. Почему-то в определенный момент текст, который в блоке с кодом перестал считаться редактором как те 1500 символом разрешенные для постов. В итоге я отредактировал и сократил текст поста

Я не знаю почему, но после публикации пропадает код из одного блока с кодом. В пустом блоке должно быть вот это:

chatGPT[chatId_, text_String] := 
Module[{userMessage, assistantMessage, chat, errorText = ""}, 
  If[Not[KeyExistsQ[$chats, chatId]], $chats[chatId] = {}]; 
  chat = $chats[chatId]; 
  AppendTo[chat,  userMessage = OpenAIChatMessageObject["user", text]];   
  assistantMessage = Check[
   OpenAIChatComplete[chat], 
   chat = {userMessage}; 
   errorText = "[HISTORY REMOVED]\n"; 
   OpenAIChatComplete[chat], 
   OpenAIChatComplete::openAIResponseFailureMessage
  ]; 
  $chats[chatId] = Append[chat, assistantMessage]; 
  errorText <> assistantMessage[[-1, "Text"]]
]

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

Я думаю, что среди всех, кто прочитал эта статью до конца не наберется 204 человека (на данный момент), которые прошли бы какой-то курс от GeekBrains. Скорее всего многие голосовали основываясь на общем впечатлении, а не только анализируя хороший ли конкретно тот курс, который они проходили или нет. Поэтому, думаю ответ на ваш вопрос будет скорее да, чем нет. Вы, скажем так, "познакомились" с Яндекс Практикум. То, что вы не нашли курс, рекламу которого встретили, можно отметить как минус курсов в целом, а не только самих материалов.
Я добавлю еще про Яндекс Практикум, чтобы пояснить мое отношение ко многим курсам. Меня в Яндекс Практикум приглашали в качестве ментора на один из курсов. В итоге работу ментором мне не предложили, так как была довольно большая конкуренция и я ее не прошел, но я прошел короткое обучение "как быть ментором в Яндекс Практикуме". Тренеры, которые проводят все эти подготовки менторов открыто говорят или акцентируют свое внимание на том, что главная задача ментора в том, чтобы удержать студента на этих курсах. Зачем? Затем чтобы он продолжал платить. Даже если он не хочет больше учиться - то нужно с ним попытаться обсудить проблемы и уговорить его, чтобы он взял "академический отпуск". т.е. чтобы не просто бросил курс, а подумал и потом вернулся. Да, это очевиднейшая мысль, но она говорит об общем корпоративном духе среди менторов, составителей и преподавателей этих курсов. Они могли бы говорить менторам, что самое главное, чтобы студент получил знания и с их помощью смог закончить курс, но увы нет. Менторам прямым текстом говорят, что главное чтобы студент платил. Ведь много тех, кто начав и заплатив начинают сомневаться или разочаровываются или понимают, что вообще-то практически все, что дают на курсах можно довольно легко найти в открытом доступе.

В комментариях пишут, что голосование неправильно или вообще бессмысленно приводя множество аргументов, в числе которых как и разница в трафике и в числе студентов. Я тоже хотел бы высказать свое мнение.

Во-первых, здесь некого защищать. Тему голосования можно было бы переименовать в "топ самых надоедливых курсов". Так было бы даже правильнее. Голосующие выбирают Skillfactory или Skillbox в том числе потому что их уровень маркетинга этого заслуживает.

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

На счет того, как генерируются руки и конечности. Меня тут заставили нарисовать сначала кошечку - я нарисовал только голову и получилось ровно и узнаваемо. Потом нужно было нарисовать собачку. Я решил ее сделать в профиль в полный рост и голова получилось нормально, а вот ноги очень криво. Очень естественно, что для человека конечности рисовать сложнее. Для нейросети видимо так же

Есть бесплатный Wolfram Engine - это полная реализация языка Wolfram и единственное отличие это отсутствуют UI из Mathematica. При этом можно легко добавить Wolfram Engine в качестве ядра для Jupyter Notebooks. Либо пользоваться из консоли. Код при этом можно писать в Wolfram Workbench или пользуясь расширениями для VS Code и других редакторов кода, но для VS Code есть официальное расширение. Ну и самое главное - есть бесплатный Wolfram Cloud в браузере.

Я пользовался Mathics и первое на что я обратил внимание - к сожалению она не поддерживает полностью синтаксис языка Wolfram. Хотя на тот момент говорилось что это именно его открытая реализация. В тот момент даже UpSetDelayed к сожалению не поддерживался. Ну и плюс быстродействие было примерно в 10-30 раз ниже.

А вообще отличная статья и напоминание про язык Wolfram (ведь Mathics реализует именно его), спасибо вам!

Добрый день! Не до конца понятны условия задачи. Все найденные числа должны быть в одних и тех же множествах? Что если множество такое:


{{1, 2}, {2, 3}, {3, 4}}


Здесь выходит, что 2 есть в первом и втором векторе, а 3 во втором и третьем. Ну и мое решение на Wolfram


image

Всегда мечтал дожить до дня когда к нам прилетит ufo

Информация

В рейтинге
818-й
Откуда
Саратов, Саратовская обл., Россия
Зарегистрирован
Активность