I was just going through programming structure studies; In particular I was studying concurrent programs. I came across few articles where distinction between concurrent programs, parallel programs and distributed programs seems confounding.
My understanding is as follows:
concurrent programs : performs several tasks at the same time or gives a notion of doing so
parallel programs : algorithms for solving such problems allow some related tasks to be executed at the same time
distributed programs: Has more to do with available resources than inherent parallelism in the corresponding algorithm. More than one computing resource is available to solve the problem.
Could someone please point me to correct and detailed explanation of these terms?