Protoze by to bylo pomale a zabiralo hodne pameti. Treba pole objektu - kazdy objekt v nem ma pointer, ktery na nej ukazuje. Navic je problem s cache.
nemuselo. treba numpy pole je z hlediska pythonu jen jeden objekt.
Tak trochu jsem predpokladal, ze dotaz byl hlavne na to, jak veci dela Java - treba C# ma hodnotove typy, ktere se chovaji (z hlediska programatora) jako objekty (v Jave).
A ano, ma to smysl, protoze ackoli teoreticky by prekladace mohly automaticky prelozit "objekty" (v tomto kontextu typy predavane a ukladane odkazem) na hodnotove typy (tedy typy predavane a ukladane primo), pochybuji, ze technologie prekladacu je natolik vyspela, aby se to zvladlo vsude, kde to ma smysl delat. Mozna za nejakych 30 let..
(Kdyz jsme tak u toho - nemam moc rad, kdyz se FP "prodava" s tim, ze pomuze paralelismu - ve skutecnosti to prekladace funkcionalnich jazyku zatim moc neumi, a je to trochu zavadejici argument, ktery muze vzbudit prehnana ocekavani. Mam FP rad, ale IMHO hlavni duvod je vyssi abstrakce a lepsi vysledna citelnost, nicmene technologie prekladacu jeste nedosahla dostatecne urovne, aby tohle dostatecne vykompenzovala.)
Navic je to uzitecne pro interoperabilitu - jeden z duvodu proc .NET zavedl hodnotove typy (treba struct) je jiste v tom, ze chteli mit moznost volat z .NET nativni knihovny, ktere obcas ocekavaji strukturu nebo pole struktur jako parametr. V Jave je tohle (pokud se nepletu) trochu problem.