Widzę istniejące pytania dotyczące określonych języków programowania. Istnieją różnice w implementacji w określonych językach, ale czy istnieje teoretyczna różnica koncepcyjna?Czy istnieje różnica między listą a krotką?
Zmienna vs niezmiennej: W Pythonie listy są całkowicie zmienny podczas krotki są niezmienne lub uporczywie niezmienne tak, że modyfikacje tworzyć nowe krotki i nie rób w miejsce modyfikacji. Jest to jednak wyłącznie szczegół implementacji. W innych językach krotki są zmienne, a listy są niezmienne.
Heterogeniczna vs jednorodna: Semantycznie, krotki są zwykle heterogeniczne, natomiast listy są zazwyczaj jednorodne, ale jest to bardziej konwencja i jest wiele wyjątków. Dynamicznie pisane języki, takie jak Python, mają niejednorodne listy. Na przykład Haskell obsługuje całkowicie statycznie typowane niejednorodne listy o nazwie HList.
Finite vs Infinite: Teoretycznie lista może być nieskończona, a niektóre języki programowania (Haskell) obsługują nieskończone listy. Krotka nie może być nieskończona.
UPDATE: Jedyną teoretyczną różnicą jest to, że krotka musi być skończona, podczas gdy lista może teoretycznie być nieskończona. Pozostałe różnice są czystymi różnicami w implementacji.
Wikipedia mówi: "Krotka to skończona uporządkowana lista elementów.".
To wyjaśnia, że krotka jest listą, ale skończoną listą.
W jakim języku (językach) występuje zmienność? –
Listy i krotki w C++ są zmienne. – StilesCrisis
Możesz przenieść to pytanie na http://cs.stackexchange.com/ – StilesCrisis