Funktionsprogrammering
Absolut. Eller kanske inte. Beror ju på om man vill skapa något själv eller bara använda något som någon annan gjort. Vet i och för sig inte vilka språk du syftar på. Oavsett vet jag inte om ditt inlägg var särskilt informativt för TS. Men om du påstår att det är vanligt med program som inte baseras på val (if), mellanlagring (variabel) och iterationer (loopar) så får du gärna utveckla det för att bidra i tråden.
Du kan exempelvis använda dig av funktionsprogrammering.
Exempelvis haskell (http://www.haskell.org/haskellwiki/Haskell) Det finns flera andra liknande språk
Här kommer ett exempel som gör det ganska tydligt:
Quickorst i Haskell
quicksort :: Ord a => [a] -> [a]
quicksort [] = []
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
where
lesser = filter (< p) xs
greater = filter (>= p) xs
Som du ser så finns där inga loopar, ifsatser eller något annat som kan liknas med det. Ibland är det ganska smidigt med såna språk, se så får och glada rader det blir
Quicksort i C
void qsort(int a[], int lo, int hi)
{
int h, l, p, t;
if (lo < hi) {
l = lo;
h = hi;
p = a[hi];
do {
while ((l < h) && (a[l] <= p))
l = l+1;
while ((h > l) && (a[h] >= p))
h = h-1;
if (l < h) {
t = a[l];
a[l] = a[h];
a[h] = t;
}
} while (l < h);
a[hi] = a[l];
a[l] = p;
qsort( a, lo, l-1 );
qsort( a, l+1, hi );
}
}
Men det är ju vanligare med sekventiell programmering. Där varje rad sker för sig. Grunden för sådana språk är som KeyPakt säger ofta lite if-satser och några loopar. Men det finns även mycket mer som datatyper, rekursion, klasser, multithreading, typer, reflections etc.