Gå till innehåll
Just nu i M3-nätverket

Vilket programspråk arbetar man med i Xcode?


hampux

Rekommendera Poster

Är helt nya på programmering.

Har kikat lite på C som jag fattar det så behöver man grunderna i C för att kunna programmera i Xcode ?! Eller är det C++ ?

 

Vad rekommenderar ni en nybörjare att börja med? Vill skriva långa tråkiga koder och få en drös med felmeddelanden i början :w00t:

Alltså lära mig grunderna och inte bara klippa och klistra.

Länk till kommentar
Dela på andra webbplatser

Med XCode följer det med kompilatorer för C/C++, Objective-C och Java. Alla de språken är mer eller mindre C-lika.

Sedan kan man skaffa andra språk (vissa gratis, vissa kostar). De jag känner till är Pascal och Fortran.

Länk till kommentar
Dela på andra webbplatser

Med XCode följer det med kompilatorer för C/C++, Objective-C och Java. Alla de språken är mer eller mindre C-lika.

Sedan kan man skaffa andra språk (vissa gratis, vissa kostar). De jag känner till är Pascal och Fortran.

441716[/snapback]

 

 

Okej, så att börja med C är på rätt väg ?

Länk till kommentar
Dela på andra webbplatser

Okej, så att börja med C är på rätt väg ?

441744[/snapback]

Snarare C++ eller Java.

C är för låg nivå, det är knappt ett högnivåspråk och kan vara svårläst.

Objective-C är visserligen "fräckt", men är inte särskilt gångbart eftersom det bara finns till Mac OS X. De andra språken finns på många plattformar.

 

Börja här:

http://developer.apple.com/gettingstarted/

Länk till kommentar
Dela på andra webbplatser

Näe men C är väl en bra början, lite knepigt med pekare men sånna finns i C++ också. C var det första språket jag lärde mig. Alla OS vad jag vet är skrivna i C, samt många saker i inbyggda system eftersom språket kan bli väldigt effektivt med pekare. Kör du dessutom gcc kompilatorn som ingår i Xcode så kör man tror jag POSIX standard från 1989.

 

Men kan du väl C så är de andra språken lättare att lära sig skulle jag gissa eftersom de innehåller abstraktioner från C där man måste göra allt själv.

 

Ett tips om det du skrev i början är att när du kompilerar med tillägget -Wall för att se alla eventuella fel. I Xcode ingår också en debugger som kan vara lämplig att lära sig.

Länk till kommentar
Dela på andra webbplatser

Näe men C är väl en bra början, lite knepigt med pekare men sånna finns i C++ också.

441794[/snapback]

Det värsta med C är dess (avsaknad av) text/sträng-hantering. Dessa evinnerliga char * som ska allokeras och så strcpy, strcmp etc. Hugaligen.

Bättre då med ett högnivåspråk som har text/sträng-hantering.

Länk till kommentar
Dela på andra webbplatser

artopaakkonen

Att C vore svårläst håller jag inte med om. Det är elegant, beskrivande, och man förstår syntaxen jättelätt (så klart är det mina åsikter).

 

Tycker det är alldeles utomordentligt bra språk att lära sig. För kunnandets skull, för att använda till nåt vettigt (om inte annat så kan man ju pyssla ihop saker som räknar, inte alltid onödvändigt, men det finns ju massa saker som obehöver "grafiska" knappar), och så ger C (gav mig iaf) lätt förståelse för det fundamentala; vad är variabler, vad är funktioner (hjälper faktiskt att förstå klassmetoder (eller vad de nu heter :P i objective-c). Helt enkelt saker som uppkommer alltid.

 

Sen så kan du ju infoga C i obj-c och c++ utan problem. Du lär dig även viktiga saker utan att tänka på det (nåja, det ger nog huvudvärk i början :P). Exempelvis minnesreferenser m.h.a. pekare, och varför man gör saker på vissa sätt. Sortering, referenser, minneshantering; och förstår fort att hur man skyfflar data är viktigt & har betydelse, när det gäller god kod.

 

Jag tycker att du ska "lära" dig C. Om inte annat så är det trevligt att kunna lite. Tycker jag.

 

För inte tänker datorer i objekter iaf :foralskad:

Länk till kommentar
Dela på andra webbplatser

Snarare C++ eller Java.

C är för låg nivå, det är knappt ett högnivåspråk och kan vara svårläst.

441790[/snapback]

C är ett väldigt bra språk att kunna. Även om man siktar mot något annat så brukar jag rekommendera att man åtminstone lägger någon vecka på att ta sig igenom grunderna.

 

Objective-C är visserligen "fräckt", men är inte särskilt gångbart eftersom det bara finns till Mac OS X. De andra språken finns på många plattformar.

441790[/snapback]

Objective-C fick ett stort genomslag i NeXTstep/OpenStep och senare Mac OS X, men tillägg till gcc finns så det går att kompilera på andra operativsystem också. Du tänker kanske på ramverket Cocoa?

Länk till kommentar
Dela på andra webbplatser

Objective-C fick ett stort genomslag i NeXTstep/OpenStep och senare Mac OS X, men tillägg till gcc finns så det går att kompilera på andra operativsystem också. Du tänker kanske på ramverket Cocoa?

441839[/snapback]

Kände inte till tilläggen till gcc, tack för påpekandet.

Men är det särskilt gångbart? Har aldrig sett en platsannons där kunskaper i Objective-C efterlyses. (Det kanske finns, men hur många är det jämfört med C++ och Java?)

Länk till kommentar
Dela på andra webbplatser

Att ta sig från C till C++ är flera tusen sidor i böcker att plöja igenom. Att gå från C till ObjC gör man på en eftermiddag. Ok lite tillspetsat men den är inte helt fel...

Visst kan man i C skriva väldigt "krypterad" kod om man nu vill.

Att skriva "läsbar" C-kod är inte svårt, men det kräver mer kunskap än vad en liten "hacker" förmår. MISRA-C är en bra start.

Länk till kommentar
Dela på andra webbplatser

Börja med Java. Det är väldigt lätt att programmera i och man lär sig fördelarna med objektorienterad programmering, något man kan ha oturen att missa om man börjar med C (som inte stöder objekt orientering). Börja med java, lär dig sen C. C++ kommer automatiskt ur C sen.

Länk till kommentar
Dela på andra webbplatser

Det blev C++. Hitta en bra bok på biblio ------------> C ++ programmering av Stephen Prata som jag verkligen kan rekommendera för nybörjare ( som mig). Lättläst och begriplig.

 

Får tacka för alla tips. Blir nog prova på både det ena och andra när man börjar få koll på vad man håller på med :D

 

Sen en fråga till:

 

Finns det något annat sätt att kompilera än i terminal i mac os x ?

Svårbegripligt vad felmeddelandena vill säga liksom där. Använder smultron att skriva koden i och kompilerar i terminalen.

 

 

Juha gå raka vägen till fängelset utan att passera gå !

Länk till kommentar
Dela på andra webbplatser

Vad vill du åstakomma när du lärt dig mer om programmering?

Skall du skriva plugins till kända program eller vill du göra administrativa program eller vill du skriva scripts för webben?

 

Jag rekommenderar C-spåret för CPU-intensiva saker och Java-spåret för resten.

Tilläggas kan att Java för de flesta är lättare att lära sig. :kaffe:

Länk till kommentar
Dela på andra webbplatser

Vad vill du åstakomma när du lärt dig mer om programmering?

Skall du skriva plugins till kända program eller vill du göra administrativa program eller vill du skriva scripts för webben?

 

Jag rekommenderar C-spåret för CPU-intensiva saker och Java-spåret för resten.

Tilläggas kan att Java för de flesta är lättare att lära sig. :kaffe:

442118[/snapback]

 

 

Det kommer nog mest att bli egna små trevliga program till en början. Är det inte bättre lära sig

C++ som är en modernare variant av C redan från början ?? Eller är jag helt ute och cyklar ?

Länk till kommentar
Dela på andra webbplatser

Det kommer nog mest att bli egna små trevliga program till en början. Är det inte bättre lära sig

C++ som är en modernare variant av C redan från början ?? Eller är jag helt ute och cyklar ?

442125[/snapback]

Jag tycker att C++ är såpass mycket bättre än C, så börja gärna med C++.

Länk till kommentar
Dela på andra webbplatser

C++ är en utökad version av C, men C är grunden och det är oftast visast att lära sig grunden först. Dessutom är C++ faktiskt i sig ett rätt dåligt programmeringsspråk, finns ofta lägen då C är bättre.

Länk till kommentar
Dela på andra webbplatser

C++ är en utökad version av C, men C är grunden och det är oftast visast att lära sig grunden först. Dessutom är C++ faktiskt i sig ett rätt dåligt programmeringsspråk, finns ofta lägen då C är bättre.

442148[/snapback]

Oj...

 

Kan du möjligen upplysa mig om vilka dessa "lägen" är? :)

Länk till kommentar
Dela på andra webbplatser

Oj...

 

Kan du möjligen upplysa mig om vilka dessa "lägen" är? :)

442172[/snapback]

Allting som är mindre än ett operativsystem brukar man säga ;)

 

Nä men allvarligt, C++ är bra för spel och andra stora system, men ska du göra privata små program är C helt klart bättre. C++ är vad som kommer om man gör ett programmeringspråk och några år senare kommer på "fan, detta saknar ju hur mycket som helst! likabra vi bara tar allt o trycker in det. Ser fördjävligt ut, men skit samma."

Länk till kommentar
Dela på andra webbplatser

Är helt nya på programmering.

Har kikat lite på C som jag fattar det så behöver man grunderna i C för att kunna programmera i Xcode ?! Eller är det C++ ?

 

Vad rekommenderar ni en nybörjare att börja med? Vill skriva långa tråkiga koder och få en drös med felmeddelanden i början  :w00t:

Alltså lära mig grunderna och inte bara klippa och klistra.

441611[/snapback]

 

Vill du få en massa felmeddelanden och sk runtime-fel så är C språket för dig! Är syftet att programmera "i XCode" eller är syftet att lära dig att programmera?

 

Med XCode följer det med kompilatorer för C/C++, Objective-C och Java. Alla de språken är mer eller mindre C-lika.

Sedan kan man skaffa andra språk (vissa gratis, vissa kostar). De jag känner till är Pascal och Fortran.

441716[/snapback]

 

C, C++, Objective-C och Java är förvisso "C-lika". Men det är bara på ytan! C++, Java och framför allt Objective-C är objektorienterade språk. C är ett funktionsorienterat språk. Det är stor skillnad i tänk! Trots att alla dessa språk har "void" och {} så är de helt olika till sin karaktär. Objective-C är betydligt närmare Smalltalk och Ruby.

 

Java är det som C++ borde ha varit...

 

Vill du skriva användarnära program som Safari, ftp-klienter, ritprogram osv så är det ett objektorienterat språk du ska satsa på.

 

Är du mer inne på att skriva styrprogram till tvättmaskiner och vara inne och pilla i Linux-kärnan, då är nog C språket för dig.

 

Vill du skriva för Macar så är det objective-c som gäller. Annars tycker jag att Java eller .Net är bra!

 

/Dan

Länk till kommentar
Dela på andra webbplatser

Java är det som C++ borde ha varit...

442724[/snapback]

Men Java saknar väl multipelt arv och mallar ("templates"), har jag för mig.

Länk till kommentar
Dela på andra webbplatser

Vill du skriva användarnära program som Safari, ftp-klienter, ritprogram osv så är det ett objektorienterat språk du ska satsa på.

 

Är du mer inne på att skriva styrprogram till tvättmaskiner och vara inne och pilla i Linux-kärnan, då är nog C språket för dig.

442724[/snapback]

Objektorientering i sig är inte nödvändigtvis bättre då man skriver tillämpningsprogram. Man kan absolut använda C om man vill.

 

Vill du skriva för Macar så är det objective-c som gäller. Annars tycker jag att Java eller .Net är bra!

442724[/snapback]

Många Mac OS X-program använder sig av ramverket Cocoa som visserligen är skrivet för Objective-C men som med hjälp av bryggor kan användas av andra språk. T ex kan man använda Java, vilket brukar kallas Cocoa-Java. När man skapar nya Cocoa-projekt i Xcode kan man välja mellan att använda Objective-C och Java. Cocoa-Java är dock på väg ut och ser ut att ersättas i Leopard av RubyCocoa.

 

Naturligtvis måste inte ett program använda sig av Cocoa.

Länk till kommentar
Dela på andra webbplatser

Men Java saknar väl multipelt arv och mallar ("templates"), har jag för mig.

442761[/snapback]

 

Ja.

 

Templates är otroligt bra i hårt typade språk, så det är en brist i Java - om det inte finns.

 

Multipelt arv kan vara bra i vissa mycket speciella situationer, men leder oftare till problem. Arv är svårt som det är. Multipelt arv är jättesvårt!

Länk till kommentar
Dela på andra webbplatser

Objektorientering i sig är inte nödvändigtvis bättre då man skriver tillämpningsprogram. Man kan absolut använda C om man vill.

442765[/snapback]

 

Ja, självklart. Jag skulle nog sagt "tillämpningsprogram med grafiskt användargränssnitt". Det är ju dessutom bara min ödmjuka åsikt att objektorientering är totalt överlägset funktionsprogrammering för denna typ av program.

 

Många Mac OS X-program använder sig av ramverket Cocoa som visserligen är skrivet för Objective-C men som med hjälp av bryggor kan användas av andra språk. T ex kan man använda Java, vilket brukar kallas Cocoa-Java. När man skapar nya Cocoa-projekt i Xcode kan man välja mellan att använda Objective-C och Java. Cocoa-Java är dock på väg ut och ser ut att ersättas i Leopard av CocoaRuby.

 

Naturligtvis måste inte ett program använda sig av Cocoa.

442765[/snapback]

 

Självklart inte! Däremot är Cocoa ett helt fantastiskt bra ramverk. Objective-C i sin tur ger möjligheter som inte Java har.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...