Język dowolny to język komputerowy, w którym kodowanie można umieścić w dowolnej linii i nadal jest ważne. Oznacza to, że kod może zaczynać się w jednej linii, kończyć kilka linii w dół i nadal być poprawnym poleceniem. Pozycjonowanie czasami jest nieco ważne w przypadku zgrupowanych elementów, ponieważ programowanie musi znajdować się w grupie, ale nadal można je pozycjonować w dowolnej linii. Istnieje kilka języków programowania, które używają elementów języka o dowolnej formie, ale nie są one w pełni wolne. Zaletą tego typu programowania jest to, że programiści mają znacznie łatwiejszy czas na wpisywanie kodu bez martwienia się o łamanie wierszy, a zarówno bezpieczeństwo, jak i rozwiązywanie problemów są zwykle lepsze.
W niektórych językach programowania bardzo ważne jest pozycjonowanie. Na przykład, jeśli połowa polecenia znajduje się w jednej linii, a druga połowa w innej, to polecenie nie zostanie zainicjowane, ponieważ jest nieprawidłowe. W przypadku języka o dowolnej formie może istnieć nieskończona liczba znaków końca wiersza, a polecenie nadal będzie ważne. Jednocześnie, chociaż pozycjonowanie nie jest ważne, składnia jest, więc niektóre polecenia muszą następować po innych, aby działały zgodnie z przeznaczeniem.
W zależności od samego języka o dowolnej formie, wiele języków programowania ma zgrupowane elementy, w których początek i koniec grupy są otoczone nawiasami lub podobnymi znakami. Pozycjonowanie zwykle jest nieco ważniejsze w atmosferze grupowej, ponieważ polecenia muszą znajdować się w grupie, aby były ważne. Jednocześnie, dopóki znajdują się w grupie, nie ma znaczenia, czy wszystkie polecenia znajdują się w jednej linii, czy mają wiele znaków końca linii.
Większość języków programowania jest w formie wolnej lub nie, ale istnieje kilka wyjątków, w których język programowania może łączyć oba. W tym przypadku jest jak język o dowolnej formie, ponieważ niektóre elementy, takie jak tabele lub określone grupy, mogą być dowolne, ale inne elementy muszą być odpowiednio rozmieszczone. Te języki zwykle mają tylko kilka elementów o dowolnej formie.
Zalety języka swobodnego mogą nie wydawać się tak duże, ponieważ umożliwia to programiście umieszczenie kodu w dowolnej linii i działanie, ale są pewne duże zalety. Po pierwsze, programista nie musi tracić czasu na sprawdzanie prawidłowego pozycjonowania, więc rozwiązywanie problemów z nieprawidłowym kodem jest zwykle łatwiejsze. Jeśli programista chce zwiększyć bezpieczeństwo, może umieścić cały kod w jednej długiej poziomej linii. Jest to trudne do odczytania, co utrudnia kradzież.