math_baby's blog

< lipanj, 2005 >
P U S Č P S N
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      


Dnevnik.hr
Gol.hr
Zadovoljna.hr
Novaplus.hr
NovaTV.hr
DomaTV.hr
Mojamini.tv

Komentari On/Off

Opis bloga
math_baby's blog
Razmisljanja o svijetu softvera

Linkovi
Blog.hr
Forum.hr
Internet Monitor

Sorry, your browser is not Java enabled, you will not be able to chat.

30.06.2005., četvrtak

Nova Java5 u usporedbi s novim C#-om 2.0 totalno jadna i porazena: i u Javi ne vrijede ni pisljivog boba i C#-implementacija ih generalno tuce na svim poljima!


Bas danas sam gledala malo kako rade i u novoj Javi5 u usporedbi s C#-om. Ljudi moji, ovo je prekrasno!

Naime, ako je ovo sto su dolje rekla ova, u svijetu programiranja, vrlo ugledna gospoda, Ken Arnold (vidi ovaj link: http://weblogs.java.net/blog/arnold/archive/2005/06/s_consid_1.html ) i Anders Hajlsberg (link: http://www.artima.com/intv/s2.html , posebno pogledati podnaslov "Comparing C# and Java Generics", ciji sazetak donosim dolje), onda ispada da su u novoj Javi zaista katastrofalno lose, slampavo, povrsno i neefikasno napravljeni i, koji u biti uopce ne vode racuna o tome radi li se, pri njihovom instanciranju i supstituciji parametra za tip T, o "pravim objektima" ili o onome sto se u javi zove "primitivni tipovi", poput int, long, itd... : jer, kod a u javi uvijek se obavlja supstitucija parametra T s tipom Object, a zatim se, u generiranom bytecodeu, po potrebi stalno radi cast tog objekta nazad u potrebni tip! eek Katastrofalno lose, amaterski i neefikasno uradjeno! Da i ne govorimo o problemima pri upotrebi refleksije nad ovim java ima, koje refleksija jednostavno ne prepoznaje kao takve! Uzas!

C# je sa svojim nacinom rada s ima i sa svojim posebnim tretiranjem tzv. value types i reference types, naprosto potpuno superioran ovoj jadnoj java-implementaciji! Uostalom, ako ne vjerujete meni, uvijek mozete procitati sto kazu strucnjaci, a ako ne vjerujete ni njima, uvijek mozete uzeti bytecod i proucavati ga, kao i promatrati izvodjenje u runtimeu, mjeriti ga, itd. Beskrajno me veseli to da su Sun i njegova bezvezna Java opet spushili od prekrasnog C#-a i superiornog Microsofta! Neka samo tako nastave i uskoro ce java biti stvar proslosti, HAHAHAHAHA! :D:D:D

Uglavnom, evo najznacajnijeg izvatka iz usporedbe generika u Javi i C#-u:

Bruce Eckel: How do C# s compare with Java s?

Anders Hejlsberg: Java's s implementation was based on a project originally called Pizza, which was done by Martin Odersky and others. Pizza was renamed GJ, then it turned into a JSR and ended up being adopted into the Java language. And this particular s proposal had as a key design goal that it could run on an unmodified VM [Virtual Machine]. It is, of course, great that you don't have to modify your VM, but it also brings about a whole bunch of odd limitations. The limitations are not necessarily directly apparent, but you very quickly go, "Hmm, that's strange."

For example, with Java s, you don't actually get any of the execution efficiency that I talked about, because when you compile a class in Java, the compiler takes away the type parameter and substitutes Object everywhere. So the compiled image for List is like a List where you use the type Object everywhere. Of course, if you now try to make a List, you get boxing of all the ints. So there's a bunch of overhead there. Furthermore, to keep the VM happy, the compiler actually has to insert all of the type casts you didn't write. If it's a List of Object and you're trying to treat those Objects as Customers, at some point the Objects must be cast to Customers to keep the verifier happy. And really all they're doing in their implementation is automatically inserting those type casts for you. So you get the syntactic sugar, or some of it at least, but you don't get any of the execution efficiency. So that's issue number one I have with Java's solution.

Issue number two, and I think this is probably an even bigger issue, is that because Java's s implementation relies on erasure of the type parameter, when you get to runtime, you don't actually have a faithful representation of what you had at compile time. When you apply reflection to a List in Java, you can't tell what the List is a List of. It's just a List. Because you've lost the type information, any type of dynamic code-generation scenario, or reflection-based scenario, simply doesn't work. If there's one trend that's pretty clear to me, it's that there's more and more of that. And it just doesn't work, because you've lost the type information. Whereas in our implementation, all of that information is available. You can use reflection to get the System.Type for object List. You cannot actually create an instance of it yet, because you don't know what T is. But then you can use reflection to get the System.Type for int. You can then ask reflection to please put these two together and create a List, and you get another System.Type for List. So representationally, anything you can do at compile time you can also do at runtime.


I, sto reci na kraju osim: cunac i ostali "javasi", dosta je vise bilo tog Sun-ovog "javasluka"! Vrijeme je za Sunovu sasvim zasluzenu smrt, kao i za jedno ovece upokojenje svima mile vam Jave, kao i za pompozno ustolicenje besprijekornog i najboljeg jezika na svijetu (C#-a), kao i najbolje platforme na svijetu: .NET-a i njegovog svemocnog CLR-a!

Patite gledajuci kako mastodont proslosti, Java, umire! HAHAHAHAHHAHAHA!

C#-pozdrav svima od vase najdraze
math_babyrolleyes

- 20:29 - Komentari (2) - Isprintaj - #

29.06.2005., srijeda

Samo za linux-fanatika Shadowmana!


Shadowman, evo ti nesto poucno: procitaj OVO ŠTIVO i pokrij se ushima!
- 20:54 - Komentari (0) - Isprintaj - #

27.06.2005., ponedjeljak

Par rijeci o komentarima...


Napomena: ubuduce ce svaki komentar koji bude velicao linux i pljuvao po windowsima bit ce nemilice obrisan. Zasto?

Zato sto ja mrzim debilni Linux, idiotski open-source, lopova Linusa Torvladsa i sve ostalo sto ima veze s tom najkretenskijom pojavom u informatickom svijetu. Ako zelite aplaudirati Linuxu, velicati ga uz istodobno obavezno pljuvanje po Windowsima, to mozete raditi na mali milijun drugih sajtova, blogova, foruma (posebno, na www.forum.hr , koji je, po tom pitanju, zaista najfanaticniji, i u kojem prakticki da i nema posta na IT podforumu koji ne dize Linux u zvijezde!).

Prema tome: svi stovatelji Linuxa i mrzitelji Windowsa, odjebite odavde! Ja cu vas odavdje brisati, cenzurirati i proganjati! I to cu ciniti s neizmjernim uzitkom! Jebite se sa svojim Linuxom i drkajte na njegovu "ljepotu", ali sto dalje odavde! Odjebite za sva vremena!


- 20:46 - Komentari (2) - Isprintaj - #

26.06.2005., nedjelja

Kriminalna bagra krade sve sto moze i svojim kradjama unistava sve intelektualne vrijednosti IT-industrije!

Slucaj open-sourcea i Linuxa je, osim kao IT-fenomen, zanimljiv i kao socioloski fenomen. Ideja "komjunitija" koji sam svojim seljacko-nestrucnim rucicama "gradi" vlastiti operativni sustav uvelike me podsjeca na ideju gradjenja pruge Brcko-Banovici nakon drugog svjetskog rata, u doba procvata tzv. "radnih akcija". Vec u casu gradnje bila je zastarjela i neznalacki napravljena. Medjutim, pruga je imala i jednu drugu dimenziju: rad na pruzi sirio je medju nasim nacijama duh "komjunitija", koji se tada zvao duh bratstva i jedinstva. Svi su se odjenom voljeli i svi su bili braca. Sve dotle dok se nismo medjusobno poklali.

No, najgori od svega je taj linux-fanatizam koji ulazi u sve pore drustva: ljudi najednom ocekuju da sve bude besplatno, jer, ako moze softver biti besplatan, zasto onda ne bi i, recimo, nagibni vlak bio besplatan? Naravno, odgovor je jednostavan, ali trazi malo volje da se ovaj problem uopce shvati. Evo, pokusat cu: recimo da setate gradom i da vas netko pocne vuci za rukav zeleci vam prodati fancy zlatnu ogrlicu u bescjenje, recimo za 100Kn. Biste li to kupili? Ima nas svakakvih, ali ja to ne bih kupila, iz barem dva razloga:

a) ogrlica najvjerojatnije nije od zlata nego od nekog jeftinog metala

b) cak i da jest zlatna, mozda je nekome ukradena

Recimo, dalje, da vam netko nudi na prodaju DVD-player, auto ili bilo sto drugo po nevjerojatno niskoj cijeni. Biste li to kupili? Ja ne bih: najvazniji razlog zbog kojega to ne bih nikad kupila je taj sto ne zelim imati problema sa zakonom. Ako je roba ukradena a ja je kupim (jos pri tome znajuci ili sumnjajuci da je ukradena), tada sam i ja sudionik u zlocinu.

E sad, pogledajmo linux: citav Internet (a ponajvise, cini mi se, upravo forum www.forum.hr sa svojim fanatiziranim idiotima poput Shadowmana, glupana AxMija i njima slicnih kretena) u posljednje vrijeme mi zaista slici na onog prodavaca zlatne ogrlice: oni mi nude "vrlo kvalitetan operativni sustav po mizernoj cijeni medija na kojem dolazi snimljen". Znajuci koliko inace kostaju kvalitetni operativni sustavi, ja se prirodno pitam: kako je moguce da nesto navodno kvalitetno bude tako jeftino? Naravno, odgovor moze biti samo taj da je linux tako jeftin (besplatan) zato sto je ukraden i/ili zato sto nije dovoljno kvalitetan (tj. lazan je kao i ona "zlatna" ogrlica).

Neki ovdje govore da su vremena kada smo placali za softver proslost i da ce softver ubuduce biti besplatan, ali, kao, hardver nece. Mislim da ne mogu biti vise u krivu oni koji tako misle: jednako kao sto nikad i nigdje na svijetu nije bilo besplatnog rucka, tako nikad i nigdje softver nece biti besplatan. Linux-softver je trenutno besplatan, ali to je zato sto je pokraden. Onoga casa kada se dijelovi linuxa "vrate" svojim pravim vlasnicima, od kojih su ih beskrupulozni "opensorsaski" zlocinci oteli, istoga trena Linux vise nece biti besplatan, nego ce biti neinteresantan i zaostao proizvod koji vise nikog nece zanimati: jer, ruku na srce, Linux je ljudima (ili mozda bolje reci ciganima koji se cigane i ne zele platiti softver?) zanimljiv samo zato sto je trenutno besplatan. Cim to vise ne bude bilo tako (a taj dan se blizi, zbog zakonskih mjera koje ce ga uskoro bitno ograniciti), Linux ce izgubiti svaku interesantnost.

Zivio Microsoft! Zivio George Bush! Zivjele zapadne vrijednosti!
Dolje fundamentalisti!

- 15:27 - Komentari (0) - Isprintaj - #

<< Prethodni mjesec | Sljedeći mjesec >>