Вопрос

Я изучаю фактор и языки J, чтобы поэкспериментировать с программированием без точки зрения. Основная механика языков кажется ясным, но ощущение того, как приблизиться к тому, как приблизиться к алгоритму - это проблема.

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

Как вы делаете это без явных переменных? Может быть, я думаю об этом все неправильно. Как я должен подойти к этому в бесплатном программировании?

Это было полезно?

Решение

Вот три важных совета, которые я нашел действительно полезным, имея дело с объединенной парадигмой (применяется к языку программирования фактора в моем случае):

  • Фактор ваш код беспощадно. Отказ Напишите чрезвычайно небольшие функции: если есть более 3-4 параметров стека, возможно, вы можете сломать его на более мелкие детали.
  • Инвестируйте свое время в учебных комбинаторах Dataflow (BI, TRI, расщепление, распространение, ...). Они позволяют выражать общие шаблоны дата данных, удаляя потребность сложных стековых переводов.
  • Научитесь строить цитаты из других цитатов. Отказ Используйте методы Carrying (Curry, с, ...), чтобы создать простые цитаты из параметров стека, и когда все становится слишком сложным, используйте жареные цитаты («FRY» Vocable). Они позволяют легко создавать сложные вложенные цитаты из шаблонов, без какого-либо стека.

И как всегда, читайте и «ходить» в существующий код. В факторе довольно легко изучить время выполнения и посмотреть, как дела работают.

Для вашего конкретного источника путаницы, если у вас много входных параметров в вашем алгоритме, самое важное, что нужно для изучения того, как они будут использоваться. Урожай для шаблонов данных. Вы должны действительно подумать о наилучшем способе «расписание» операций по наименьшем наборе соответствующих параметров.

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

Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top