@deerbeer
Razlika je u tome što je koncept interfejsa redukovan - ne može sadržati atribute niti implementaciju ni jedne jedine metode. Uvedeni su zbog redukovanja pojma višestrukog nasleđivanja, koji inače u punoj snazi ume da pravi probleme. Java, C# i Python nemaju virtuelno nasleđivanje, jer kod jednostrukog nalseđivanja klasa i višestrukog nasleđivanja interfejsa to nije potrebno.
@vlaiv
Pravilo jasne dodele nije zadovoljeno u kodu
Code:
int x, y = x;
Znači, čita se vrednost promenljive x na mestu na kome nije garantovano da joj je dodeljena vrednost. To je u jezicima C# i Java sintaksna greška. Dakle, bag te vrste ne možeš napraviti, a da uspeš da iskompajliraš program.
Prednost GC-a je upravo to što si naveo - nemogućnost curenja (mada i tu može doći do curenja ako imaš niz pokazivača na nekorišćene objekte).
4. Izričiti pokazivači boluju od problema zbog kojih su izmišljani razni pokazivački paterni i GC.
5. Pa, valjda je bolje da postoji nezaobilazna, tj. obavezujuća kontrola da slučajno ne čitaš đubre u listi argumenata.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.