Gå til innhold

Anbefalte innlegg

Poenget mitt er at C++ er den mest avanserte objekt orienterte språk som finnes [...]

 

Hva legger du til grunn for det? Og hva mener du egentlig med "mest avanserte"? Uten at jeg har særlig mye erfaring med objektorientering i C++, så virker det som et veldig standard objektorienterings-system. Ser for meg at CLOS er "mer avansert"...

C++ er det eneste objektorienterte programmeringsspråket jeg har vært borti som støtter multiple inheritence, som kan gjøre noen ting temmelig komplekse. Utstrakt bruk av templates gjør også mye kode nesten uleselig.

Lenke til kommentar
Videoannonse
Annonse

I python har man også "multiple inheritance".

class A():
   pass

class B(A):
   def test(self):
       print 'Hi from B'

class C(B):
   pass

class D():
   def test(self):
       print 'Hi from D '

class E(C,D):
   pass

 

Class E arver fra C og D,

C og D arver begge fra B og B arver fra A

Dette som du sier kan gjøre ting kompliserte og man bør unngå dette.

 

Viss en kaller metode test fra E hvilken klasse vil den bruke?

x = E()
x.test()  #Hi from B

Selv om D er nærmere E,gjør python et dypde søk først og finner B først.

Uten og gå noe nærmere inn på mere av dette.

Lenke til kommentar

Poenget mitt er at C++ er den mest avanserte objekt orienterte språk som finnes [...]

 

Hva legger du til grunn for det? Og hva mener du egentlig med "mest avanserte"? Uten at jeg har særlig mye erfaring med objektorientering i C++, så virker det som et veldig standard objektorienterings-system. Ser for meg at CLOS er "mer avansert"...

 

Beklager, det var litt uformelt. Det jeg mente var egentlig at man burde starte med C++ isteden for å starte med foreksempel Java.

 

Hva legger du til grunn for det? Og hva mener du egentlig med "mest avanserte"? Uten at jeg har særlig mye erfaring med objektorientering i C++, så virker det som et veldig standard objektorienterings-system. Ser for meg at CLOS er "mer avansert"...

 

Dette er min mening, selvsagt kan du synes at et annet språk er "mer avansert".

 

Her er begrunnelsen for at jeg synes c/c++ er det mest avanserte språket jeg har sett:

 

Av alle objekt orienterte språkene jeg har vært borti så er C/C++ en av de eneste språkene som ikke har "memory management", det vil si at du må sikre programmet ditt fra "memory leaks" selv. Fordelen med at C/C++ ikke har "memory management" er at programmet blir raskere og at du har fullkontroll over programmet ditt.

Lenke til kommentar

Av alle objekt orienterte språkene jeg har vært borti så er C/C++ en av de eneste språkene som ikke har "memory management", det vil si at du må sikre programmet ditt fra "memory leaks" selv. Fordelen med at C/C++ ikke har "memory management" er at programmet blir raskere og at du har fullkontroll over programmet ditt.

D har både GC og ikke-GC (altså du kan skru den av og på, for objekter eller hele programmet, samt erstatte den)

Jeg vil heller ikke påstå at GC nødvendigvis er hverken dårligere eller bedre på noen måte enn eksplisitt allokering og frigjøring. Eneste ulempen jeg kan tenke meg er at GC ikke er deterministisk i oppførsel.

 

Men det er litt off-topic. Selv vil jeg si C, på grunn av pekere, eksplisitt minnehåndtering, og fordi det er et simpelt språk. C++ er ikke simpelt.

Lenke til kommentar

Fordelen med at C/C++ ikke har "memory management" er at programmet blir raskere og at du har fullkontroll over programmet ditt.

 

Mmm, nei. Programmet *kan* bli raskere, men det er slettes ingen selvfølge. Det finnes allokeringsmønstre og GC-strategier, der GC vil være raskere enn eksplisitt allokering/deallokering.

Lenke til kommentar

Nå har jeg ikke helt forstått hva TS vil med programmeringskunnskapene sine, men syns faktisk ikke Java er en så dårlig ide.

 

Det er lett å komme i gang, lett å få til mye. F.eks: Programmer til mobilen, webapps, evt også PS3 hvis man vil det. Nå har jo Java mange svakheter, men hvis det er på hobbybasis ser jeg ikke at dette blir et problem.

Lenke til kommentar

til op:

jeg vil foreslå c++ (jeg startet selv med det. Brukte hjelpfila i borland turbo c, og laget snake). Lærer du deg c++ godt, kan du "automatisk" mange andre språk (c, c# , java, ..).

 

uansett synes jeg også de andre forslagene her er gode: c, c#, python (er vel eneste språket jeg kjenner som tvinger deg til å skrive "pen" kode).

 

Lærer du deg *ett* av disse skikkelig godt er du langt på vei. Etter noen år er stort sett et nytt språk bare snakk om noen gramatiske forskjeller. poenget med programmering er uansett hvordan du lærer å tenke ;)

 

A woman asks her husband, a programmer, to go shopping.

 

"Dear, please go to the grocery store to buy some bread. Also, if they have eggs, buy six."

"OK."

 

Twenty minutes later, the husband comes back with six loaves of bread.

His wife is flabbergasted:

 

"Why did you buy six loaves of bread?"

"They had eggs."

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...