| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Nybegynnervurdering. Fra : Harald Mossige | 
  Dato :  27-02-09 14:20 |  
  |   
            WINXP
 GUI: Codeblock
 
 Bør jeg begynne å lære C eller C++?
 
 Jeg skal lage et program som skal kjøre på PC. Når programmet er ferdig, 
 så skal det portes til AVR via Atmels STUDIO og WINavr.
 
 Jeg reiner med at essensen i spørsmålet mitt er: Er WINAvr et c eller et 
 C++ program?
 
 HM
  
            
             |   |   
            
        
 
            
         
           Arne Vajhøj (27-02-2009) 
         
	
            | Kommentar Fra : Arne Vajhøj | 
  Dato :  27-02-09 17:21 |  
  |  
 
            Harald Mossige wrote:
 > WINXP
 > GUI: Codeblock
 > 
 > Bør jeg begynne å lære C eller C++?
 Der er mange stærke meninger om dette emne.
 Men givet at det lyder som om du vil arbejde meget med
 embedded programmering, så synes jeg at du skal starte
 med C.
 > Jeg skal lage et program som skal kjøre på PC. Når programmet er ferdig, 
 > så skal det portes til AVR via Atmels STUDIO og WINavr.
 > 
 > Jeg reiner med at essensen i spørsmålet mitt er: Er WINAvr et c eller et 
 > C++ program?
 Som jeg læser  http://winavr.sourceforge.net/ så kan du udvikle
 både C og C++.
 Arne
            
              |   |   
            
        
 
            
         
           Mogens Hansen (27-02-2009) 
         
	
            | Kommentar Fra : Mogens Hansen | 
  Dato :  27-02-09 18:11 |  
  |   
            
"Arne Vajhøj" <arne@vajhoej.dk> wrote in message 
 news:49a812ec$0$90263$14726298@news.sunsite.dk...
 [8<8<8<]
 > Der er mange stærke meninger om dette emne.
 Jep   
Med mindre man _ved_ at man skal bruge C vil jeg anbefale at starte med C++.
 >
 > Men givet at det lyder som om du vil arbejde meget med
 > embedded programmering, så synes jeg at du skal starte
 > med C.
 C++ er meget velegnet til embedded programmering. Det kan både give højere 
 abstraktions-niveau og bedre performance.
 Det er over 15 år siden jeg var med til det første gang, og jeg sider stadig 
 i et miljø hvor der bliver lavet meget C++ til embedded systemer.
 (Bemærk at det har intet med Embedded C++ dialekten at gøre - den vil jeg 
 mene man skal holde sig fra)
 Se eventuelt
    http://www.open-std.org/JTC1/sc22/wg21/docs/TR18015.pdf
som indeholder megen god information.
 Jeg vil også anbefale at kigge på Bjarne Stroustrup nye bog
    Programming, Principles and Practice Using C++
    Bjarne Stroustrup
    ISBN 0-321-54372-6
 som egentligt primært beskæftiger sig med håndværket/videnskaben/kunsten at 
 programmere, og bruger C++ som et redskab til det.
 -- 
 Venlig hilsen
 Mogens Hansen 
            
              |   |   
            
        
 
            
         
            Kent Friis (27-02-2009) 
         
	
            | Kommentar Fra : Kent Friis | 
  Dato :  27-02-09 21:31 |  
  |  
 
            Den Fri, 27 Feb 2009 18:10:52 +0100 skrev Mogens Hansen:
 >
 > "Arne Vajhøj" <arne@vajhoej.dk> wrote in message 
 > news:49a812ec$0$90263$14726298@news.sunsite.dk...
 >
 > [8<8<8<]
 >> Der er mange stærke meninger om dette emne.
 >
 > Jep   
> Med mindre man _ved_ at man skal bruge C vil jeg anbefale at starte med C++.
 Jeg ville ændre det til "med mindre man _ved_ at man _kun_ skal bruge C".
 Det er nemmere at lære at skrive fornuftig high-level kode først, og
 så dykke ned i det low-level når man får brug for det, end det er at
 starte med at lære det low-level, og så forsøge at glemme det når
 man skal til at lære at skrive high-level kode.
 Starter man med C, og forsøger at bygge C++ ovenpå, kommer man meget
 nemt i en situation hvor man bruger char* og stdio, som man jo kender,
 i stedet for at lære rigtig C++.
 Og så kommer man meget langt i C++ uden at bekymre sig om pointere,
 hvorimod i C når man knap nok til "Hello World".
 Mvh
 Kent
 -- 
 Hvis en sort kat går over vejen foran en bil, betyder det ulykke
 .... for katten.
            
              |   |   
            
        
 
            
         
           Harald Mossige (27-02-2009) 
         
	
            | Kommentar Fra : Harald Mossige | 
  Dato :  27-02-09 19:00 |  
  |  
 
            Arne Vajhøj skreiv:
 > Harald Mossige wrote:
 >> WINXP
 >> GUI: Codeblock
 >>
 >> Bør jeg begynne å lære C eller C++?
 > 
 > Der er mange stærke meninger om dette emne.
 > 
 > Men givet at det lyder som om du vil arbejde meget med
 > embedded programmering, så synes jeg at du skal starte
 > med C.
 > 
 >> Jeg skal lage et program som skal kjøre på PC. Når programmet er 
 >> ferdig, så skal det portes til AVR via Atmels STUDIO og WINavr.
 >>
 >> Jeg reiner med at essensen i spørsmålet mitt er: Er WINAvr et c eller 
 >> et C++ program?
 > 
 > Som jeg læser  http://winavr.sourceforge.net/ så kan du udvikle
 > både C og C++.
 Takk.
 Takk begge deler.
 Da er det tutor-manualen som bestemmer. Noen bedre en K&R II? helst 
 nettbasert og med eksempelfiler på nett?
 HM
            
              |   |   
            
        
 
            
         
           Michael Rasmussen (27-02-2009) 
         
	
            | Kommentar Fra : Michael Rasmussen | 
  Dato :  27-02-09 19:12 |  
  |   |   |   
            
        
 
            
         
           Michael Rasmussen (27-02-2009) 
         
	
            | Kommentar Fra : Michael Rasmussen | 
  Dato :  27-02-09 21:43 |  
  |  
 
            On 27 Feb 2009 20:30:38 GMT
 Kent Friis <nospam@nospam.invalid> wrote:
 > 
 > Og så kommer man meget langt i C++ uden at bekymre sig om pointere,
 > hvorimod i C når man knap nok til "Hello World".
 > 
 Det vil jeg nu ikke give dig ret i. Copy og assignment constructor er
 en ret væsentlig sprog konstruktion i C++.
 -- 
 Hilsen/Regards
 Michael Rasmussen
 http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
 windows.
            
              |   |   
            
        
 
            
         
           Kent Friis (27-02-2009) 
         
	
            | Kommentar Fra : Kent Friis | 
  Dato :  27-02-09 21:52 |  
  |   
            Den Fri, 27 Feb 2009 21:43:22 +0100 skrev Michael Rasmussen:
 > On 27 Feb 2009 20:30:38 GMT
 > Kent Friis <nospam@nospam.invalid> wrote:
 >
 >> 
 >> Og så kommer man meget langt i C++ uden at bekymre sig om pointere,
 >> hvorimod i C når man knap nok til "Hello World".
 >> 
 > Det vil jeg nu ikke give dig ret i. Copy og assignment constructor er
 > en ret væsentlig sprog konstruktion i C++.
 
 De eksempler jeg har på copy constructor bruger referencer, ikke
 pointere.
 
 (Assignment constructor er jeg ikke sikker på hvad er (det er over
 10 år siden jeg lærte om C++)).
 
 Mvh
 Kent
 -- 
 Hvis en sort kat går over vejen foran en bil, betyder det ulykke
 
 .... for katten.
  
            
             |   |   
            
        
 
            
         
            Arne Vajhøj (27-02-2009) 
         
	
            | Kommentar Fra : Arne Vajhøj | 
  Dato :  27-02-09 22:30 |  
  |   
            Kent Friis wrote:
 > Den Fri, 27 Feb 2009 21:43:22 +0100 skrev Michael Rasmussen:
 >> On 27 Feb 2009 20:30:38 GMT
 >> Kent Friis <nospam@nospam.invalid> wrote:
 >>
 >>> Og så kommer man meget langt i C++ uden at bekymre sig om pointere,
 >>> hvorimod i C når man knap nok til "Hello World".
 >>>
 >> Det vil jeg nu ikke give dig ret i. Copy og assignment constructor er
 >> en ret væsentlig sprog konstruktion i C++.
 > 
 > De eksempler jeg har på copy constructor bruger referencer, ikke
 > pointere.
 
 Ja. Men derfor skal man vel alligevel lære om de to og pointer
 fields - med henblik på den dag hvor man får brug for det.
 
 > (Assignment constructor er jeg ikke sikker på hvad er (det er over
 > 10 år siden jeg lærte om C++)).
 
 Han mener nok assignment operator.
 
 Arne
  
            
             |   |   
            
        
 
            
         
             Kent Friis (27-02-2009) 
         
	
            | Kommentar Fra : Kent Friis | 
  Dato :  27-02-09 22:46 |  
  |   
            Den Fri, 27 Feb 2009 16:29:48 -0500 skrev Arne Vajhøj:
 > Kent Friis wrote:
 >> Den Fri, 27 Feb 2009 21:43:22 +0100 skrev Michael Rasmussen:
 >>> On 27 Feb 2009 20:30:38 GMT
 >>> Kent Friis <nospam@nospam.invalid> wrote:
 >>>
 >>>> Og så kommer man meget langt i C++ uden at bekymre sig om pointere,
 >>>> hvorimod i C når man knap nok til "Hello World".
 >>>>
 >>> Det vil jeg nu ikke give dig ret i. Copy og assignment constructor er
 >>> en ret væsentlig sprog konstruktion i C++.
 >> 
 >> De eksempler jeg har på copy constructor bruger referencer, ikke
 >> pointere.
 >
 > Ja. Men derfor skal man vel alligevel lære om de to og pointer
 > fields - med henblik på den dag hvor man får brug for det.
 
 Nu begynder jeg at få en mistanke om at det ikke var helt klart hvad
 jeg mente med "man kommer langt".
 
 Jeg mente ikke at man kan undvære at vide noget om pointere som C++
 programmør - men at man kommer langt undervisnings-mæssigt. Man kan
 lære en stor del af sproget, og få en god forståelse for hvad det
 vil sige at programmere, inden man når til pointere. Man står altså
 ikke som total nybegynder.
 
 Derfor er C++ meget mere begynder-venligt end C.
 
 >> (Assignment constructor er jeg ikke sikker på hvad er (det er over
 >> 10 år siden jeg lærte om C++)).
 >
 > Han mener nok assignment operator.
 
 Jeg havde en mistanke, men troede faktisk der var noget jeg havde
 glemt alt om.
 
 Mvh
 Kent
 -- 
 Hvis en sort kat går over vejen foran en bil, betyder det ulykke
 
 .... for katten.
  
            
             |   |   
            
        
 
            
         
           Anders Wegge Keller (27-02-2009) 
         
	
            | Kommentar Fra : Anders Wegge Keller | 
  Dato :  27-02-09 22:26 |  
  |   
            "Mogens Hansen" <mogens_h@dk-online.dk> writes:
 
 > C++ er meget velegnet til embedded programmering. Det kan både give
 > højere abstraktions-niveau og bedre performance.
 
  Kan du uddybe den lidt?
 
  Eller måske snarere fortælle mig om definitionen af "embedded" og
 "performance" har ændret sig voldsomt i de sidste par år, hvor jeg har
 siddet med hovedet nede i maven på et legacy-system.
 
  Dit svar må gerne indeholde en vurdering af om C++ er praktisk på en
 80186 arkitektur med 8 SCC'er og 512KB RAM, hvoraf den eksekverbare
 kode kan bruge de 64KB.
 
 -- 
 /Wegge
  
            
             |   |   
            
        
 
            
         
           Michael Rasmussen (27-02-2009) 
         
	
            | Kommentar Fra : Michael Rasmussen | 
  Dato :  27-02-09 22:37 |  
  |  
 
            On Fri, 27 Feb 2009 16:29:48 -0500
 Arne Vajhøj <arne@vajhoej.dk> wrote:
 > 
 > Han mener nok assignment operator.
 > 
 Ja, fingerene kunne ikke følge med tankerne  
-- 
 Hilsen/Regards
 Michael Rasmussen
 http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
 windows.
            
              |   |   
            
        
 
            
         
           Michael Rasmussen (27-02-2009) 
         
	
            | Kommentar Fra : Michael Rasmussen | 
  Dato :  27-02-09 22:45 |  
  |  
 
            On 27 Feb 2009 20:51:58 GMT
 Kent Friis <nospam@nospam.invalid> wrote:
 > 
 > De eksempler jeg har på copy constructor bruger referencer, ikke
 > pointere.
 > 
 I C++ er der kun logisk forskel på reference og pointer. Forskellen
 er teknisk set, at en pointer er en reference til et
 hukommelsessegment, hvor programmøren selv er ansvarlig for at
 vedligeholde referencen, mens sproget vedligeholder referencen for
 dig i C++. Sagt på en anden måde: Når objektet fjernes fra
 hukommelsen, sættes referencen automatisk til NULL, dette er ikke
 tilfældet for en pointer.
 
 > (Assignment constructor er jeg ikke sikker på hvad er (det er over
 > 10 år siden jeg lærte om C++)).
 > 
 http://en.wikipedia.org/wiki/Assignment_operator_in_C%2B%2B
-- 
 Hilsen/Regards
 Michael Rasmussen
 http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
 windows.
            
              |   |   
            
        
 
            
         
           Kent Friis (27-02-2009) 
         
	
            | Kommentar Fra : Kent Friis | 
  Dato :  27-02-09 22:49 |  
  |   
            Den Fri, 27 Feb 2009 22:44:30 +0100 skrev Michael Rasmussen:
 > On 27 Feb 2009 20:51:58 GMT
 > Kent Friis <nospam@nospam.invalid> wrote:
 >
 >> 
 >> De eksempler jeg har på copy constructor bruger referencer, ikke
 >> pointere.
 >> 
 > I C++ er der kun logisk forskel på reference og pointer. Forskellen
 > er teknisk set, at en pointer er en reference til et
 > hukommelsessegment, hvor programmøren selv er ansvarlig for at
 > vedligeholde referencen, mens sproget vedligeholder referencen for
 > dig i C++. Sagt på en anden måde: Når objektet fjernes fra
 > hukommelsen, sættes referencen automatisk til NULL, dette er ikke
 > tilfældet for en pointer.
 
 En reference kan per definition ikke være NULL.
 
 En reference peger altid på et gyldigt objekt, og lige netop dette
 - en pointer der peger hen i skoven - er nok årsagen til 99% af de
 problemer der gør pointere så forbandet svære at lære.
 
 Mvh
 Kent
 -- 
 Hvis en sort kat går over vejen foran en bil, betyder det ulykke
 
 .... for katten.
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |