Какова основная структура программы Юлия? - PullRequest
4 голосов
/ 31 октября 2019

Каковы основные структурные аспекты, которые должны существовать в коде Джулии, который я пишу? Я свяжу реализацию этого на каком-то другом языке для справки.

Я ищу официально санкционированные компоненты для самого языка, а не мнение о передовой практике.

Базовая структура программы на C

Базовая структура программы на Java

Ответы [ 2 ]

5 голосов
/ 31 октября 2019

Более крупные программы Julia обычно имеют сначала включенные модули, затем любое объявление const глобальных переменных const, затем одну или несколько функций, а затем оператор, который вызывает выполнение первой функции.

Однако ваш вопросможет быть из-за того, что вы уже знаете, что C и Java имеют определенную структуру, предписанную для компиляции и запуска.

Возможно, сравнение минимальных программ Hello World поможет.

Здесьявляется минимальной программой Julia:

println("Hello world!")

Julia наследует свою бесплатную программу, структурирующую больше от Fortran и особенно Python, чем C или Java. Вот минимальная программа на Python:

print("Hello world!")

Вот минимальная программа на Fortran77:

print *, "Hello world!"

С другой стороны, C требует для той же функции оболочки main ()функция и включение кода для печати на экран. Вот минимальная программа на C:

#include<stdio.h>

int main()
{
    return printf("Hello World!\n");
}

Java также требует, чтобы ее функция main () была заключена в определенный пользователем класс. Вот минимальная программа на Java:

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello world!");
    }
}

Итак, у Джулии просто нет определенных структурных требований, которые вы найдете хорошо задокументированными для языков C или Java.

4 голосов
/ 31 октября 2019

Прежде всего, если вы новичок в Джулии и структура написания программы в ней, я предлагаю вам проверить Официальные документы Джулии для отличного объяснения того, как начать писать код в Джулии,

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

Юлия как язык очень мало навязывает вам как программисту. Это может привести к некоторой неопределенности и сомнениям со всей вновь обретенной свободой. Существуют некоторые базовые структуры, которым необходимо следовать, несмотря на гибкость, предоставляемую языком: операторы

  1. using и import обычно делаются в самом верху файла.
  2. Вот и все! (Не стесняйтесь редактировать, если вы думаете, что есть больше).

Также стоит проверить Руководство по стилю Julia для таких вещей, как:

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

В общем, Джулия гибкая. Есть очень мало вещей, которые вы должны включить в свою программу.

Важно обозначить разницу между написанием простого сценария Julia и созданием проекта в Julia .

Хотя существуют ограниченные структурные предложения для создания простого сценария, есть ряд предложений, связанных с тем, как можно структурировать проект Julia. Фактически, многие из этих аспектов встроены в саму Юлию! Вы можете узнать больше о создании проектов Julia (которые должны иметь аналогичную, если не ту же структуру, что и пакеты Julia) здесь .

Примечание. Если вы пытаетесь найти структуру Package в Julia, отличный ресурс будет PackageTemplate.jl .

...