Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C ispred Jave po popularnosti?

[es] :: Advocacy :: C ispred Jave po popularnosti?

Strane: << < .. 17 18 19 20 21 22 23

[ Pregleda: 85195 | Odgovora: 443 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 13:42 - pre 83 meseci
nije bas tako, nema veze sa primerom iz paskala, ti kada pokrenes
virtualnu masinu ti toj masini alociras neku kolicinu rama i ona ne moze
da "kasnije" uzme vise od toga, tako da ti kad startas jvm ti mu sa -Xms
setujes inicijalni heap, -Xmx maximalni heap (dakle on ce da uzima od
os-a izmedju Xms i Xmx po potrebi) -Xss max thread stack ..

startuj

java -XshowSettings:all

i on ce ti pokaze koje sve propertie vm ima, i sa

java -X

ces da dobijes sve te X parametre (za stek, heap i slicno)

takodje pogledaj -XX* opcije

to je normalno ponasanje, imas virtualnu masinu - podesavas kako hoces
ta masina da se ponasa, zasto max heap nije == max ram hosta, zato sto
garbage collection radi razlicito u odnosu na to koliko heap-a imas
prazno ... ako ti je 50+% heap-a prazno, sto bi uopste trosio vreme na gc :)

sto se "nikada nije imao potrebe da petlja išta eksplicitno sa GC-om" ..
znam ja mnogo "seniora" koji nisu, ali to samo zavisi sta prave i kako
.. ako naguras sve one ogromne frameworke oni u sebi imaju explicitno
drndanje sa gc-om, takodje serverske aplikacije uglavnom ne
startuju/testiraju/podesavaju ti developeri nego sysadmini koji vrlo
dobro znaju da to ne moze tako kako mali perica zamislja inace imas
uzasne pikove svaki put kad se okine gc, tako da imas fore tipa da kazes
da ti GC radi NONSTOP 2% vremena ili 5% vremena ili ako su developeri
losiji i nemaju ideju kako radi java pa kreiraju i unistavaju objekte
non stop 10% vremena ... tako nemas pikove gc radi non stop i app
performanse su vrlo "predictable" ... imas odlican tekst recimo ovde:
http://blog.sokolenko.me/2014/11/javavm-options-production.html takodje
procitaj i komentare ispod posta

sto se c++ dela tice, naravno, tako radi i C i bilo koji drugi nativni
jezik koji ima malloc/new/free/delete .. ideja GC-a u "modernim"
jezicima je da je sve vise "programera pajsera" koji ne umeju da urade
free/delete pa to umesto njih radi GC ... u tom slucaju moras da imas
zauzeto "vise rama" nego sto ti treba zato sto gc-u treba neko vreme da
oslobodi visak .. sa min/max heap ti podesavas virtualnoj masini granice
u kojima hoces da radi .. nista drugacije se ne ponasaju ni "nativni
jezici sa gc-om"

> Nema tu malloc ko u C-u da napraviš niz čija se veličina određuje u
fazi izvršavanja,
> nego se u fazi prevođenja određuje veličinu niza koja piše u sorsu
kao konstanta.
> Dakle, ako stavim mali niz, onda neće moći da radi sa veliim
podacima, a ako stavim
> veliki, zauzimaće mnogo RAM-a čak i ako korisnik radi nešto što
zahteva mali deo tog
> niza. Znam da je savremeni Pascal dobio zamenu za malloc/free.

jok, omasio si skroz, napravis dinamicki niz u javi i on zauzima tacno
toliko mesta koliko treba, cak stavise, napravis, vektor, mapu ili
stagod, i automatski alocira onoliko rama koliko treba kada dodas
objekat u mapu, vektor... i on taj ram alocira sa nekim svojim
"jvm_malloc na primer" sa svog heap-a od jvm-a, pa ako nema dovoljno
rama na heap-u da to odradi on sistemskim malloc poveca heap do max heapa...

fora je u tome sto kada obrises objekat iz vektora, ili kada obrises ceo
vektor ta memorije se ne vrati automatski na heap dok je garbage
collector ne vrati.. nemas mogucnost da ti kazes delete() ili free() i
vratis to nego mora dereferenciras i cekas da gc to vrati "sam". ...
tako da u poredjenju sa C++, sve radi prilicno isto, jedino sto imas
samo malloc() i new, nemas free() i delete, free i delete se pozivaju
"automagicno" :D
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 15:08 - pre 83 meseci
Ja hoću da ako korisnik radi nešto malo memorijski zahtevno, da jvm ne zauzme mnogo. Ali, ako korinik radi nešto memorijski zahtevno, da može da alocira ako ima dovoljno RAM-a.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 15:31 - pre 83 meseci
pa onda ne koristis javu :D
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 16:12 - pre 83 meseci
Da li je .Net normalniji po tom pitanju?

Nije meni frka što će za sitan proces da zauzme 10-tak MB RAM-a. Nego da ne ždere mnogo u startu, ali da može da se naždere ako je neophodno.

[Ovu poruku je menjao Nedeljko dana 04.06.2017. u 19:01 GMT+1]
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+836 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 16:25 - pre 83 meseci
Neka mala console app ce ti zauzeti u startu nekih 10-15 MB u .net.

Nisam siguran da je to vazan podatak, nego moguce je da bi ti legao .NET Core, jer mozes da cukas i startujes u lindzi.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 18:06 - pre 83 meseci
A šta radi java? Je li odmah poždere ne znam šta ili ako ne poždere odmah, onda ne može da se naždere po potrebi ili šta?

Kako se Google bori s tim?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 18:39 - pre 83 meseci
> Da li je .Net normalniji po tom pitanju?

nemam pojma, mislim da je vise amnje isti, posebno ako ne koristis clr
nego mono da bi radio vam microsnota

> Nego da ne ždere mnogo u startu, ali može da se naždere ako je neophodno

pa stavis mu init heap da bude malecan i uzece ti u startu samo toliko
rama, a max stavis na koliko ocekujes max da ti terba.. default verzije
za init i max su prilicno "odokatvno uzete za prosecni app"

> jer mozes da cukas i startujes u lindzi

mono je i dalje uzasno bagovit :( ... ja licno za "desktop" apps
koristim paskal (lazarus), pokazao se mnogo dobro za linux+osx+windows
app with same code.. mada ja toliko malo desktop app pisem da je to moje
iskustvo ne-preterano-bitno

> Je li odmah poždere ne znam šta ili ako ne poždere odmah, ..

sto bi bilo sta pozdrala odma? alocira odma min heap, i tu radi, kada ne
moze unutar tog heap-a da se snadje povecava do max heap-a, ako joj
zatreba i preko max heap-a pukne zbog nedostatka rama .. nema tu neke
prevelike filozofije tako radi vecina virtualnih masina .. kod jave imas
mogucnost da setujes init i max, kod nekih je po defaultu init neka
malecna vrednost a max = max_available_ram .. ali nacin funkcionisanja
je vise manje isti ... ono sto ne radi ni kod jedne vm je da os moze da
odsvapuje deo rama koji se "nije pipno duze vreme" posto os nema pojma
kako se taj ram koristi jer sto se os-a tice to je sve jedan veliki blob
.. tako da su sve vm aplikacije (i java i .not i erlang i elixir i ..)
nezgodne za memory management (swap je prilicno beskoristan)

> Kako se Google bori s tim?

ako mislis na google-google, nikako, oni jako malo koriste javu, a tamo
gde koriste vrti se "jedan app na serveru" u tom slucaju je podesavanje
vrlo jednostavno - initheap = maxheap = maxavailableram i to je to, os
ne radi nista, jvm hendla sav ram i to je to .. nista drugo se ne vrti
osim tog jednog multithreading procesa na celoj masini .. dal je ta
masina bare metal ili neki opem vm to je nebitno .. no oni skoro sve
vrte na c/c++ tako da je tu java beznacajna

ako mislis na google-android, imas sve probleme koje imas i sa javom na
obicnom desktop/server sistemu.. e sad nisam siguran taj dalvik njihov
kako tacno radi, da li se sve droid aplikacije vrte na jednom vm-u ili
se podize po jedan vm za svaki app, obzirom da na telefonu nemas "spor i
jeftin storage po kome mozes jeftino da pises i brises" swap je nebitan
tako da je memory management bez problema prepusten samom vm-u ... u
svakom slucaju, kao developer, imas sve probleme koje imas i na desktopu
+ tu i tamo po nesto alata vise nego na desktopu za monitoring object
management-a, gc-a i slicno .. i imas sve "benefite" koje ti java pruza
u odnosu na c++

nista drugaciji nije ni swift osim sto na iosu svaki app trci u sendboxu
tako da je sto se nekih stvari tice nezgodniji za development a sa druge
strane opet sigurniji i zgodniji.. (npr na iosu nemas common file system
za sve aplikacije kao na normalnim os-ovima, da bi 2 aplikacije podelile
neki podatak, tipa datafajl, treba da izvodis ozbiljnu gimnastiku)
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 18:52 - pre 83 meseci
Hvala vam svima što mi rasvetljavate ovo!
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 19:29 - pre 83 meseci
Citat:
bogdan.kecman:
ideja GC-a u "modernim"
jezicima je da je sve vise "programera pajsera" koji ne umeju da urade
free/delete pa to umesto njih radi GC ...

Znaš, umem ja da uzmem motiku u ruke, pa ipak odem u pekaru i kupim lebac.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p1-76.bvcom.net.



+1064 Profil

icon Re: C ispred Jave po popularnosti?04.06.2017. u 22:47 - pre 83 meseci
bogdane net.core je za servere, nema gui ;)
MS bi se polomio da portuje GUI na Linux, onda bi Windows puko ;p

Sto se GC-a tice, lepo je kad jezik omogucava i rucnu alokaciju/oslobadjanje i GC pa prema potrebi.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.static.sbb.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?05.06.2017. u 10:04 - pre 83 meseci
Sto se automatskog skupljanja djubreta tice, postoji vise metoda.

1. Stog (stack)

Implementiraju ga strukturni jezici kao C i Pascal i primenjuju se na lokalne promenljive. Ogranicenje mu je da redosled unisrtavanja mora biti obrnut od redosleda stvaranja. Stoga, C i Pascal implementiraju i gomilu (heap) koja nije upravljana.

2. Brojanje upucivanja (reference counting)

Implementira ga C++ kroz pametne pokazivace. Opstiji je od prethodne metode i funkcionise dok nema kruznih pokazivanja.

3. Metod dostiznosti (reachabiliyu method)

Implementiraju ga Java, C#, Python, Ruby, Javascript. Funkcionise pod jos opstijim uslovima, ali ni on nije svemoguc. Garantuje da nece obrisati nesto sto ne sme, ali ne garantuje da ce biti obrisano ono sto sme cak i u slucaju pokretanja GC-a.

Semanticko djubre je objekat koji se ne moze dostici u nastavku izvrsavanja programa, bez obzira na ulaze u nastavku rada. Problem utvrdjivanja semantickog djubreta je algoritamski neresiv.

Zamislimo da imamo programski kod oblika


Code:

String s = nesto;

Neki kod kome s ne treba

print(s);


Ukoliko se kod u sredini nikada ne zavrsava i , bez obzira na ulaze, onda je s nepotrebno i predstavlja djubre. Ako se kod u sredini moze zavrsiti, onda je s potreban.

Naravno, ovde je jednostavno prebaciti s iza tog bloka koda, ali program moze biti slozeniji.

Metod dostiznosti detektuje sta je memorijski dostizno, a sta ne (ne uzimajuci u obzir logiku programa). Ono sto je memorijski nedostizno, svakako je semanticko djubre. Medjutim, ono sto je memorijski dostiznoi, moze biti nedostizno bez obzira na ulaze zato sto je logika programa takva da to vise nece nikada upotrebiti.

To je ono sto mi smeta kod te metode. Ne znam pod kojim uslovima garantuje da nema curenja (recimo da ce se GC paliti povremeno, da to nije problem).
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: C ispred Jave po popularnosti?05.06.2017. u 11:08 - pre 83 meseci
Nedeljko,

.NET radi chunking sa sistemskom memorijom, u zavisnosti od konfiguracije u chunkovima od 16 do 64Mb, ne postoji min I max heap (min je 0, max je kolicina raspolozive virtuelne memorije). Koristi greedy strategiju uzimanja memorije od sistema (uvek ce radije da uradi global alloc nego Gen2), pa zato realno izgleda kao bloat, medjutim pod sistemskim pritiskom radi Gen2 cleanup i dealokaciju chunkova. Radni set CLR aplikacije je isti kao i za native aplikacije, nema potrebe definisati ga unapred. Generalno je optimizovan za veliki promet (alloc/dispose) malih objekata na ustrb prostorne efikasnosti.
.NET objekti nisu indeksirani i uvek imaju tacno jednu i samo jednu kopiju na heap-u i reference su uvek pointeri (na steroidima ) a ne kontrolni blokovi, tako da je svaki objekat moguce "pinovati" i time privremeno/trajno iskljuciti iz GCa i dobiti njegovu fizicku adresu (koja onda moze da se marsaluje unmanaged kodu). To postize tako sto umesto centralizovanog registra objekata (kontrolnih struktura za svaki objekat kao sto npr COM koristi kroz Variant) i 2-step indirektnog poziva, CLR drzi class grafove u seriji root-ova a JIT kompajler insertuje pointer management pozive nakon svakog out-of-scope mesta na kojem potencijalno treba da updejtuje svoje rootove. Ti menadzment pozivi su generalno brzi od klasicnog free poziva i na tome CLR hvata korak sa C/C++-om u odnosu na Javu i druge VMe. Glavni za*eb ljudi sa CLRom je sto ga posmatraju kao apstraktni VM, sto on nije. JIT sav (ali svih 100%) kod kompajlira u native kod optimizovan za platformu na kojoj ucitava asembli i kod se izvrsava direktno na metalu bez nadzora VMa, kao sto bi C++/Delphi radio. GC je vise kao neki lebdeci nadzornik koji se trudi da pohvata sve memory leakove koristeci injected pozive

https://www.simple-talk.com/do...ng-garbage-collection-in-.net/
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: C ispred Jave po popularnosti?05.06.2017. u 11:17 - pre 83 meseci
Odgovor na tvoj poslednji post je da nema jedinstvenog nacina. Memorijski dostizna lokacija koja se vise ne koristi je ista kao i da si u C++ alocirao nesto i onda zaboravio da ga dealociras. Softver ne moze da detektuje da li ce neka lokacija pod nekim uslovom biti kasnije referencirana samim tim analiza nije moguca.
.NET generalno ima resenje za to u dva pogleda, jedno je sistemsko (page boundaries, ako page memorije nije koriscen dugo sam sistem ce ga premestiti u VM i skinuti iz fizicke memorije), drugo je njegovo u vidu WeakReference pointera, koji zahtevaju malo vise truda.

https://msdn.microsoft.com/en-us/library/ms404247.aspx

Generalno to i nije bas toliki problem koliko ti se cini, ako ta klasa bas barata resursima koje ne zalis da budu zauzati dok GC ne ubije objekat postoji Disposable pattern koji omogucava mekano ubijanje objekta

https://msdn.microsoft.com/en-us/library/fs2xkftw.aspx
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.static.sbb.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?05.06.2017. u 13:26 - pre 83 meseci
Citat:
mmix: Odgovor na tvoj poslednji post je da nema jedinstvenog nacina. Memorijski dostizna lokacija koja se vise ne koristi je ista kao i da si u C++ alocirao nesto i onda zaboravio da ga dealociras. Softver ne moze da detektuje da li ce neka lokacija pod nekim uslovom biti kasnije referencirana samim tim analiza nije moguca.

To sam i napisao.

Ali, dripci iz MS lazu narod u MSDN-u.

Kad sam poslednji put proveravao, pisalo je da u potpuno upravljanim programima bez unsafe blokova nema potrebe razmisljati o alokaciji. Kao, savrseni su. How yes no.

Ma, mene zanima kriterijum koji treba program da zadovolji tako da znam da sam na konju da nema curenja.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.static.sbb.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?05.06.2017. u 13:27 - pre 83 meseci
Momci, hvala vam svima za sve ovo! Sve mi ovo puno znaci.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: C ispred Jave po popularnosti?05.06.2017. u 21:46 - pre 83 meseci
Pa najefikasniji nacin da smestis objekat na snajper GCa je da jednostavno nulujes referencu (tj sve reference). Time objekat izbacujes iz grafova i bice pociscen. To nulovanje mozes da stavis u managed deo Disposable paterna i voila.

Ali to stvarno nije toliki problem kao sto mislis, potreban je zaista veoma los stil programiranja da dovedes sebe u poziciju da imas toliko nekoriscenih rootova i delova grafova da to postane problem. Ako je stil programiranja iole smislen, stvari ce izspadati iz scope-a regualrno i cela stabla ce biti kolektovana koliko vec u nultoj generaciji.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Nothingman

Član broj: 31375
Poruke: 308
194.2.155.*



+112 Profil

icon Re: C ispred Jave po popularnosti?11.06.2017. u 14:15 - pre 83 meseci
Citat:
bogdan.kecman:

nista drugaciji nije ni swift osim sto na iosu svaki app trci u sendboxu
tako da je sto se nekih stvari tice nezgodniji za development a sa druge
strane opet sigurniji i zgodniji.. (npr na iosu nemas common file system
za sve aplikacije kao na normalnim os-ovima, da bi 2 aplikacije podelile
neki podatak, tipa datafajl, treba da izvodis ozbiljnu gimnastiku)


Mozda sam te pogresno razumeo kada si rekao "nista drugaciji nije ni swift", ali na iOS-u (swift i objective c) nemas garbage collector. Koristi se automatsko brojanje referenci, sistem slican smart pointerima u C++ jeziku. S tim da tamo imas intruzivno brojanje referenci - brojaci se nalaze u samim objektima (moguce je jer u sustini svi objekti nasledjuju zajednicki bazni objekat), a ne eksterno. Takodje, vidjao sam da ovakav sistem koriste i neki endzini u C++ koji su odlucili da ne koriste standardnu biblioteku vec su implementirali svoj sistem sa smart pointerima. Sorry za offtopic :)
Q: Are there really any systems where
void main() doesn't work?
A: It has been reported that programs using void main() can crash.
Q: The book I've been using, _C Programing for the Compleat Idiot_,
always uses void main().
A: Perhaps its author counts himself among the target audience.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: C ispred Jave po popularnosti?11.06.2017. u 14:26 - pre 83 meseci
> nemas garbage collector. Koristi se automatsko brojanje referenci,

brojanje referenci je takodje vrsta gc-a
 
Odgovor na temu

Nothingman

Član broj: 31375
Poruke: 308
194.2.155.*



+112 Profil

icon Re: C ispred Jave po popularnosti?11.06.2017. u 14:39 - pre 83 meseci
Ok, nemas GC kao u Javi koju si opisivao pre toga :)
Slozices se da postoji velika razlika izmedju ta dva GC metoda, tako da ne stoji ono "nista drugaciji nije ni swift" ;)

Q: Are there really any systems where
void main() doesn't work?
A: It has been reported that programs using void main() can crash.
Q: The book I've been using, _C Programing for the Compleat Idiot_,
always uses void main().
A: Perhaps its author counts himself among the target audience.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: C ispred Jave po popularnosti?11.06.2017. u 14:54 - pre 83 meseci
Citat:
Nothingman: Ok, nemas GC kao u Javi koju si opisivao pre toga :)
Slozices se da postoji velika razlika izmedju ta dva GC metoda, tako da ne stoji ono "nista drugaciji nije ni swift" ;)


nemas ti mogucnost da "normalno"
- da manipulises pointerima direktno
- da zauzimas i oslobadjas memoriju direktno

dakle "nista drugaciji nije ni swift" vezano za ovu pricu o kojoj smo pricali

naravno nije ni isti, zasto bi bio, ima neke fore koje java nema ( UnsafePointer<T> za pocetak ) i za razliku od jave ne trci u vm-u (llvm koncept koji koristi olaksava sandbox pricu ali swift se kompajlira za bare metal ne za vm) zato i radi drugacije... no da ne idemo u creva, to sto sa swiftom skoro pa mozes da odradis neke stvari koje sa javom ne mozes ne pravi neku razliku vezanu za ovu diskusiju, posebno sto je veliko pitanje kako ce se swift razvijati posto je prelazak sa 2 na 3 napravio ogromnu razliku, moje nagadjanje (nadam se da sam u krivu) je da je cela ideja sa prelaskom na swift (sa objc) lagano uvodjenje vm-a na ios jer ne mogu da nagadjaju vise kakav cpu ce biti u telefonu za X godina a hoce da zadrze kompatibilnost, oni vec rade nekakvo rekompajliranje aplikacije (binarne?!) "po potrebi" sa strane appstore-a .. nisam ispratio tacno sta se desava tamo, ali sa dev strane, moze sutra da izadje swift5 koji je potpuno managed i trci u vm-u :(


 
Odgovor na temu

[es] :: Advocacy :: C ispred Jave po popularnosti?

Strane: << < .. 17 18 19 20 21 22 23

[ Pregleda: 85195 | Odgovora: 443 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.