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

Go - Google-ov programski jezik

[es] :: Art of Programming :: Go - Google-ov programski jezik

Strane: < .. 1 2 3

[ Pregleda: 11280 | Odgovora: 50 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nedeljko
Nedeljko Stefanović

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



+2789 Profil

icon Re: Go - Google-ov programski jezik09.12.2009. u 17:08 - pre 174 meseci
A gde je GC u Qt-u? On definitivno ne čisti ono što ja napravim van Qt-a, a svoje đubre šisti kao svaka lepo vaspitana klasa.

Qt je dobar za takav C++ kakav jeste, ali me C++ svrbi.

1. Nema GC.
2. Nema pravilo jasne dodele.
3. Nema interfejse, jer ima višestruko nasleđivanje.
4. Ima eksplicitne pokazivače.
5. Ima prljave funkcije sa proizvoljnim brojem parametara.
6. Prljav je u poređenju sa jezicima C# i Java.
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
*.telenor.co.yu.



+2789 Profil

icon Re: Go - Google-ov programski jezik09.12.2009. u 19:29 - pre 174 meseci
Nemam ja problem sa C++ jezikom. Čak smatram da je bio izvanredan pogodak za vreme kada se pojavio, samo mislim da ga je malo vreme pregazilo. Eto, ima falinke koje su u drugim jezicima odavno prevaziđene.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
212.200.249.*



+1 Profil

icon Re: Go - Google-ov programski jezik10.12.2009. u 08:20 - pre 174 meseci
Bez neke preterane potrebe da se udje u bilo kakvu raspravu sta je bolje,
licno smatram da je C++ tata svim ostalim jezicima.

Stoga me interesuje sledece, ako bi neko mogao da mi objasni.

- Prednost interface-a u odnosu na abstraktne klase (ako postoji).
- Zasto je GC toliko vazna stavka? (osim pogodnosti da se ne mora razmisljati o alokaciji memorije)

I konkretno @Nedeljko:

(sta se podrazumeva pod)

2. Nema pravilo jasne dodele.

(ako mozes da pojasnis zasto ti smeta sledece)

4. Ima eksplicitne pokazivače.
5. Ima prljave funkcije sa proizvoljnim brojem parametara.
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: Go - Google-ov programski jezik10.12.2009. u 08:47 - pre 174 meseci
Citat:
@Nedeljko
3. Nema interfejse, jer ima višestruko nasleđivanje.

Kako nema interfejse ? Zovu se abstraktne klase ...
U cemu je ovde razlika ?

Code:
C++
class Foo 
{
   virtual int Blah () = 0 ; 
};


Code:
C# 
interface Foo 
{
   public int Blah () ; 
};


Ni jedan ni drugi primer klase tj. interfejsa se ne moze instancirati,
a klasa koja nasledjuje je obavezna da implementira metode u potpisu abstraktne klase ili interfejsa ...
Razlika je samo u sintaksi ..


Viva lollapalooza
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.telenor.co.yu.



+2789 Profil

icon Re: Go - Google-ov programski jezik10.12.2009. u 11:24 - pre 174 meseci
@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.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
217.65.205.*



+2789 Profil

icon Re: Go - Google-ov programski jezik10.12.2009. u 11:39 - pre 174 meseci
Uzgred budi rečeno, zna li neko za neki jezik sa integrisanom formalnom verifikacijom koda, kao što je P(erfect) L(anguage)?
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
217.65.205.*



+2789 Profil

icon Re: Go - Google-ov programski jezik10.12.2009. u 11:48 - pre 174 meseci
Ne uspevam više da izguglam PL, ali mislim na ovako nešto

http://en.wikipedia.org/wiki/Formal_verification
http://www.cl.cam.ac.uk/~jrh13/slides/types-04sep99/slides1.pdf
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-1.sezampro.yu.



+395 Profil

icon Re: Go - Google-ov programski jezik10.12.2009. u 11:51 - pre 174 meseci

Citat:

Razlika je u tome što je koncept interfejsa redukovan - ne može sadržati atribute niti implementaciju ni jedne jedine metode.

To se slazem , ali opet tebe nista ne sprecava da se u c++ drzis manira i koncepta koje postoje u c# ili javi ,
tj. da izbegnes klasicno visestruko nasledjivanje.

Code:

class Fruit
{
   virtual int Eat() = 0 ; 
};
class Juice
{
  virtual int Drink () = 0; 
};

class Foo : public Fruit, public Juice
{
// implementacija metoda 
}; 


Visestruko nasledjivanje u C++ uglavnom razbija koncept enkapsulacije u slozenijim slucajevima ,
dok provalis cija se metoda poziva ili ciji se atribut objekata menja .
Zato je u vecini novijih jezika i izbacen .

Viva lollapalooza
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
217.65.203.*



+2789 Profil

icon Re: Go - Google-ov programski jezik16.12.2009. u 09:47 - pre 174 meseci
Ne bih rekao je to isto. Recimo ako imam dve klase koje sadrže metodu write(), koja nije nasleđena iz neke treće klase, pa izvedem klasu iz te dve, imaću dva primerka metode write(). Čak i ako je nasleđena iz neke klase Writeble, svaka od tih izvedenih klasa ima svoju tabvelu virtuelnih metoda, bez obzira što mogu da vršim virtuelno nasleđivanje.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.guerrilla-games.com.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Go - Google-ov programski jezik16.12.2009. u 16:19 - pre 174 meseci
Citat:
Nedeljko: A gde je GC u Qt-u? On definitivno ne čisti ono što ja napravim van Qt-a, a svoje đubre šisti kao svaka lepo vaspitana klasa.

Da li očekuješ da GC neke biblioteke automatski preuzme kompletan menadžment memorije cele aplikacije?
Ovo je zamena teza jer svaki GC ima svoj domen u okviru koga je aktivan.

 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Go - Google-ov programski jezik16.12.2009. u 16:30 - pre 174 meseci
Da, ali se tu onda postavlja pitanje sta je zapravo GC. Ako to nije deo runtime-a vec deo specificne biblioteke koji cisti djubre te biblioteke, sledeci korak je povratak na stari dobri malloc/free, ako znas sta si alocirao znas kako i da pocistis, osim ako nemas leak. Sustina GCa, bar koliko je ja vidim je dynamic discovery i lifecycle management alociranih blokova, tj neka visa apstraktna operacija nego sto je pracenje potrosnje unutar sopstvenog frameworka. Realno ako kontrolises sve alloc operacije ti onda ne moras ni da koristis GC, mozes da napravis svoj linearni heap koji ces alocirati jednim allocom i onda interno koristiti kroz neki offset.
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

[es] :: Art of Programming :: Go - Google-ov programski jezik

Strane: < .. 1 2 3

[ Pregleda: 11280 | Odgovora: 50 ] > FB > Twit

Postavi temu Odgovori

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