Hvilket språk skal jeg lære som en bro til C (og derivater)

stemmer
4

Det første språket jeg lærte var PHP, men jeg har mer nylig plukket opp Python. Ettersom disse er alle 'high-level' språk, jeg har funnet dem litt vanskelig å plukke opp. Jeg har også prøvd å lære Objective-C, men jeg ga opp.

Så, hva språk bør jeg lære å bygge bro mellom Python til C

Publisert på 08/09/2008 klokken 05:23
kilden bruker
På andre språk...                            


14 svar

stemmer
15

Det er ikke klart hvorfor du trenger en bro språk. Hvorfor ikke begynne å jobbe med C direkte? C er et veldig enkelt språk selv. Jeg tror at vanskeligste delen for C elev er pekere og alt annet relatert til minnehåndtering. Også C lang er orientert på strukturert programmering, så du må lære å implementere datastrukturer og algoritmer uten OOP godhet. Egentlig spørsmålet ditt er ganske hardt, vanligvis folk går fra lavt nivå Langs til høyt nivå, og jeg kan forstå frustrasjonen til de som går i motsatt retning.

Svarte 08/09/2008 kl. 05:34
kilden bruker

stemmer
7

Det beste stedet å begynne å lære C er boken "The C Programming Language" av Kernighan og Ritchie.

Du vil kjenne igjen en masse ting fra PHP, og du vil bli overrasket over hvor mye PHP (og Perl, Python etc) gjøre for deg.

Oh, og du også trenger en C-kompilator, men jeg antar at du visste det.

Svarte 08/09/2008 kl. 06:13
kilden bruker

stemmer
5

Jeg generelt enig med de fleste av de andre - Det er egentlig ikke et godt springbrett språk.

Det er imidlertid nyttig å forstå hva som er vanskelig å lære C, som kan hjelpe deg å forstå hva som gjør det vanskelig for deg.

Jeg vil si de tingene som skulle vise seg vanskelig i C for noen kommer fra PHP vil være:

  • Pekere og minnehåndtering
    Dette er ganske mye grunnen til at du lærer CI forestille seg, så det er egentlig ikke noe å komme rundt det. Læring lavere nivå montering av typen språk kan gjøre dette enklere, men C er trolig en bro til å gjøre det, ikke den andre veien rundt.
  • Mangel på bygget i datastrukturer
    PHP og co har alle innfødte String typer, og nyttige ting som hash tabeller innebygd, noe som ikke er tilfelle i C. I C er en String bare en rekke tegn, noe som betyr at du må å gjøre mye mer arbeid, eller se seriøst på bibliotekene som legger de funksjonene du er vant til.
  • Mangel på bygget i bibliotek
    språk som PHP dag nesten alltid komme med stabler av bibliotekene for ting som databasetilkoblinger, bildemanipulering og stabler av andre ting. I C, dette er ikke annet enn en svært tynn standard bibliotek som dreier det meste rundt fil lesing, skriving og grunnleggende streng manipulasjon saken. Det er nesten alltid gode valg tilgjengelig for å fylle disse behovene, men du trenger å inkludere dem selv.
  • Egnethet for høyt nivå oppgaver
    Hvis du prøver å gjennomføre samme type program i C som du kanskje i PHP, vil du finne det svært trått. Genererer en webside, for eksempel, er egentlig ikke noe vanlig C er egnet for, så hvis du prøver å gjøre det, vil du finne det svært trått.
  • Preprocessor og kompilering
    De fleste språk i disse dager ikke har en preprosessor, og hvis du kommer fra PHP, vil samlingen syklusen virke smertefullt. Begge disse er ytelses handel offs på en måte - Scripting gjøre handel seg i form av utbygger effektivitet, hvor som C foretrekker ytelse.

Jeg er sikker på at det er flere som ikke springing til tankene for meg akkurat nå. Moralen i historien er at du prøver å forstå hva du synes vanskelig i C kan hjelpe deg videre. Hvis du prøver å generere web-sider med det, prøve å gjøre noe lavere nivå. Hvis du mangler hash tabeller, prøv å skrive din egen, eller finne et bibliotek. Hvis du sliter med pekere, hold deg til det :)

Svarte 08/09/2008 kl. 07:49
kilden bruker

stemmer
1

Mitt forslag er å få en god C-bok som er relevante for hva du vil gjøre. Jeg er enig i at K & R anses å være "Boken" på C, men jeg fant "UNIX Systems Programmering" av Kay A. Robbins og Steven Robbins å være mer praktisk og hender på. Boka er full av rene og korte kodesnutter du kan skrive inn, sammenstille og prøve på bare noen få minutter hver.

Det er en forhåndsvisning på http://books.google.com/books?id=tdsZHyH9bQEC&printsec=frontcover (Lenke det fungerte ikke.)

Svarte 08/09/2008 kl. 06:52
kilden bruker

stemmer
1

C er en bro til seg selv.

K & R er den eneste programmeringsspråk bok du kan lese i en sittende og nesten aldri plukke det opp igjen ...

Svarte 08/09/2008 kl. 06:51
kilden bruker

stemmer
1

Glem Java - det er ikke til å ta med deg hvor som helst nærmere C (du har allerede bevist at du ikke har et problem å lære nye syntaksen).

Enten lese K & R eller gå en lavere: Lær om selve maskinen. Den eneste vanskelige delen i C er pekere og minnehåndtering (som er nært knyttet til pekere, men har også litt å gjøre med hvordan funksjoner kalles). Læring en (enkel, kanskje til og med "fake" montering) språk skal hjelpe deg ut her.

Deretter begynne å lese opp på standard bibliotek levert av C. Det vil være ditt daglige brød og smør.

Oh: et annet tips! Hvis du virkelig ønsker ønsker å bygge bro, prøve FREM . Det hjalp meg med å få inn tips. Også bruker Win32 API fra Visual Basic 6.0 kan lære deg noen ting om tips;)

Svarte 08/09/2008 kl. 06:48
kilden bruker

stemmer
1

Python er omtrent så nær C som du kommer til å få. Det er faktisk en svært tynn wrapper rundt C i en rekke steder. Men C krever at du vet litt mer om hvordan datamaskinen fungerer på et lavt nivå. Dermed kan du ha nytte av å prøve en assembly.

LC-3 er en enkel montering språk med en simulert maskin.

Alternativt kan du prøve å spille med en interaktiv C tolk som CINT .

Endelig toughing det ut og leser K & R bok er vanligvis den beste tilnærmingen.

Svarte 08/09/2008 kl. 06:42
kilden bruker

stemmer
1

Læring alle språk tar tid, jeg alltid sørge for jeg har en målbar mål; Jeg satt meg et mål, og deretter begynne å lære språket for å oppnå dette målet, i motsetning til å prøve å lære hver krik og krok av språk og syntaks.

C er ikke lett, kan pekere være vanskelig å forstå hvis du ikke kommer assembler røtter. Jeg først lærte C ++, så retro fit C til mitt repertoar, men jeg begynte med x86 og 68000 assembler.

Svarte 08/09/2008 kl. 06:25
kilden bruker

stemmer
0

Pascal! Lukk nok syntaks, fortsatt krever at du gjøre noen minnehåndtering, men ikke så grov for nybegynnere.

Svarte 08/09/2008 kl. 21:00
kilden bruker

stemmer
0

Språk er lett å lære (spesielt en som C) ... den harde delen er å lære bibliotekene og / eller koding stil av språket. For eksempel, jeg vet C ++ ganske godt, men de fleste C / C ++ kode jeg ser forvirrer meg fordi navnekonvensjoner er så forskjellig fra hva jeg jobber med på daglig basis.

Uansett, jeg tror det jeg prøver å si er ikke bekymre deg for mye om syntaksen, fokus på at språket bibliotek. Dette er ikke spesielt for C, kan du si det samme om C #, vb.net, java og omtrent alle andre språk der ute.

Svarte 08/09/2008 kl. 11:29
kilden bruker

stemmer
0

prøve å lære et språk som du er komfortabel med, prøv annen tilnærming og grunnleggende.

Svarte 08/09/2008 kl. 08:11
kilden bruker

stemmer
0

Jeg tror C ++ er en god "bro" til C. Jeg lærte C ++ først ved universitetet, og siden det er basert på C du vil lære mye av de samme begrepene - kanskje mest kjent pekere - men også objektorientert design. OO kan brukes til alle typer moderne språk, så det er verdt å lære.

Etter å ha lært C ++, fant jeg det ikke var så vanskelig å plukke opp forskjellene mellom C ++ og C etter behov (for eksempel når du arbeider på enheter som ikke støtter C ++).

Svarte 08/09/2008 kl. 06:52
kilden bruker

stemmer
0

Java kan faktisk være et godt alternativ her, tro det eller ei. Det er sterkt basert på C / C ++, så hvis du kan få syntaks og sterk typing, plukke opp C kan være enklere. Fordelen er at du kan lære lavere nivå syntaks uten å måtte lære pekere (siden minnet forvaltes for deg akkurat som i Python og PHP). Du vil imidlertid lære et lignende konsept ... referanser (eller gjenstander generelt).

Dessuten er det sterkt objektorientert, så det kan være vanskelig å fange opp at hvis du ikke har handlet med OOP ennå .... du kan være bedre å bare grave på med C som andre foreslo, men det er et alternativ .

Svarte 08/09/2008 kl. 06:36
kilden bruker

stemmer
0

Jeg føler din smerte, jeg lærte også PHP første og jeg prøver å lære C ++, det er ikke lett, og jeg er virkelig sliter, det har gått 2 år siden jeg startet på c ++ og likevel omfanget av hva jeg kan gjøre er å domstol, cin, og matematikk.

Hvis noen leser dette og lurer på hvor du skal begynne, START NEDRE.

Svarte 08/09/2008 kl. 05:48
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more