Například Qt používá UTF-16, kdežto glibc používá UTF-8 a omezeně i UTF-32.To ale nejsou znakové sady.
Japonci to ale řešit nemusí. Znaky z Shift-JIS jsou podmnožinou Unicode (viz http://www.microsoft.com/globaldev/reference/dbcs/932.mspx), a Japonci dnes používají Windows. Windows jedou komplet v UTF-16 (Win32, .NET, aplikace). Shift-JIS se používá stejně, jako u nás ANSI 1250 - tedy pro importy starých věcí, a v pár prehistorických aplikacích.Děláš si srandu? "Japonci dnes používají Windows"? Víš, jaký je absolutně nejrozšířenější OS v Japonsku (co do počtu instalací) a jakou znakovou sadu a kódování používá? Ne, Windows to opravdu nejsou, a Microsoft proti tomu systému bojuje někdy od roku 1989, ale zatím se mu to nepovedlo.
No to bude tym, ze z nejakeho dovodu sa tu v suvislosti s Ruby riesi uz dlho unicode (co je pre zmenu mne uplne ukradnute).
Python obcas pouzivam, zrovna nedavno som v nom pisal nieco dlhsie a oproti Ruby mi vadi/chyba (co ma zrovna momentalne napada):
s = set() t = set() s.add(3) #"lokal" s = s.union(t) #"lokal" l = len(s) #"global", podobne str(), repr()V ruby (bez miesanie niecoho co vyzera "globalne" a "lokalne", az na trik s Kernelom pre parriadkove skripty):
s = Set.new() t = Set.new() s.add(3) s.merge(t) l = s.length()
2) __str__ není vlastně nic jiného, než #to_s.
4) Ale má, sice trošku podivně, ale má: a ? b : c
=> c if a else b
5) Jo, tak to se líbí i mým kolegům pythonistům. :-) Vůbec by bylo skvělé, kdyby třeba PyPy mohl jednou podporovat alternativní knihovnu, tu bych si _velice_ rád udělal podle sebe. ;-)
1) Funkce nejsou totéž co uzávěry, a uzávěry nejsou totéž, co anonymní funkce. A Python má všechny tři. Budiž mu to připočteno k dobru (přestože bindingy v obklopujícím bloku jsou neměnné, ale to stejně zas až tolik nevadí, a navíc, jestli to chápu správně, se to změní s příchodem klíčového slova nonlocal
).
2) Procedurálně programujete tak jako tak. Neprocedurálně byste programoval v Prologu s využitím predikátové logiky nebo v SQL. Osobně nevidím problém v tom, že člověk má možnost použít jak funkci, tak i přímo implementující metodu, jelikož funguje oboje, ale spíš v tom, že to přispívá k celkovému "bordelu". Pokud jde o implicitní self, rubí model mi rozhodně nepřijde špatný, ale na pythoní se dá zvyknout celkem bez problémů. :-) To zvyknutí mi usnadňuje značná podoba Pythonu a Lispu (resp. ten CLOSový feel z toho, že příjemce zprávy je parametr funkce, byť v případě Pythonu stále ještě ptrivilegovaný).
5) Jde o to, že Ruby má (dle soudu mnoha lidí, a nejen rubistů :-)) velmi pěkně ošetřené možnosti programového vrtání se v objektech a třídách. Ne že by Python tohle postrádal, to si samozřejmě také nemůže dovolit, jen je to podivně rozházené všude možně po standardní knihovně. Tohle Ruby podědilo ze Smalltalku, který by bez toho ani nefungoval, protože už třicet let mění za chodu sám sebe, aniž by kdy byl jakožto 24/7 program ukončen. :-))) Já to vidím tak, že Ruby reflexi v podstatě bezpracně zdědilo ze Smalltalku již vyřešenou a tak působí mírně konzistentnějším dojmem - však se podívejte sám do dokumentace, třeba na instanční a třídní metody třídy Class. Otázku na metatřídy si jistě zodpovíte sám, když Vám položím protiotázku: Objektový programovací jazyk, jehož třídy mají prvotřídní status, metatřídy mít může nebo musí?