12. juni 2009 - 09:47Der er
28 kommentarer og 1 løsning
Fra PHP til udvikling
Hej.
Jeg har i godt og vel seks år udviklet hjemmesider på et fritidsplan. Jeg har brugt PHP til at lave de hjemmesider og i lang tid har det været meningen, at jeg vil videre fra PHP, men jeg er ikke klar over hvordan og til hvad.
Altså - drømmen, eller målet - er at kunne udvikle software, som kan styre noget. Men det er vel noget, som ligger langt ude i fremtiden, men et eller andet sted skal man jo starte.
Hvilken programmeringssprog, vil jeg skulle benytte mig af? Selv har jeg fået opfattelsen af, at jeg enten bør vælge imellem C++ eller Python, eller er der andet?
Og kender I nogle goder steder at starte? Nogle hjemmesider eller bøger der er suværene til et programmeringssprog som kan det, jeg ønsker?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
C# er noget tungere at gå i gang med. Python er meget let, og giver dig en rigtig god fornemmelse for objektorienteret programmering på kort tid.
Begge sprog er objektorienterede og kan bruges til næsten alt fra hjemmesider til 3D-spil. Du skal holde tungen lidt mere lige i munden når du skriver C# kode. Python er meget orienteret mod arkitektur, i forhold til de fleste andre sprog der kræver at man "tænker" lidt mere over de faktiske koder man skriver i stedet for det overordnede design :-)
C# har ASP.net (som jeg ikke har erfaring med - og måske flere jeg ikke kender). Python har flere web-frameworks der er værd at nævne. Især Django er blevet populært (www.djangoproject.com).
Konklusion: Hvis du vil ud og have et arbejde med det sprog du begynder på, så er det nok ikke Python du skal prioritere højest. Men hvis du vil komme hurtigt i gang med objektorienteret programmering på et niveau hvor det er nemt at gå til, og hvis du vil producere meget program med lidt kode så er det Python du skal vælge.
Jeg har selv arbejdet med Python i ca. 3 år nu og er super tilfreds med det. Det er hurtigt, sjovt og effektivt. Her er et eksempel på en hjemmeside jeg har været med til at bygge i Python:
j4k0b -> Det lyder jo fristende med Python, hvis man kan lave gode programmer med lidt kode, men hvis det ikke er "fremtiden", men i stedet C#, så er det vel bare at bide tænderne sammen i starten.
tjaz -> Hvad er mulighederne med .NET? Og har det ikke noget med ASP at gøre?
Kender I ellers nogle sider eller bøger, som er ekstra gode til at starte med C# fra?
Python bruges mere og mere, så "det er ikke fremtiden" er ikke helt korrekt. Der er dog ikke mange der bruger det i forhold til de andre sprog nævnt i tråden her.
C# og .NET er der mange der bruger, så der er også klart fordele i at begynde her.
C# skal du dog bruge 2-3 gange længere tid på at sætte dig ind i end Python (vil jeg mene).
j4k0b -> "C# skal du dog bruge 2-3 gange længere tid på at sætte dig ind i end Python (vil jeg mene)." Hvis bare det er de 2-3 gange bedre.
mcb2001 -> "Men en ting jeg er i tvivl om, skal det være hjemmeside baseret eller mere generelt?" Ikke hjemmesidebaseret. Det var i hvert fald ikke planen. Jeg har, som måske mange af os andre herinde, en drøm om at kunne leve af at programmere og udvikle "robot"-systemer. Jeg synes, det virker utrolig interessant og jeg ved godt, at der er lang vej til overhovedet at kunne styre noget - men derfor desto større grund til at komme i gang hurtigst muligt.
Så skal du nok overveje noget C/C++ i stedet (har ikke selv prøvet det, men har på fornemmelsen at det er den vej du skal).
Er selv uddannet datamatiker, og har ikke været omkring noget af det du nævner i C#/.NET ... du skrev bare programmer og til det formål er C# ganske fint (minder i øvrigt _MEGET_ om Java - da det er samme person der er ophavsmand til begge sprog).
Jeg har oplevet at skulle konvertere mellem dem og det som tog længst tid var at ændre placeringen af { (fordi Java og C# har forskellig konvention for det).
Simon, jeg kender ikke nogen programmeringssprog der ikke er til "programmer til computeren" :-) Det skulle lige være hvis man programmerer i chipkort eller lignende, men det er vel også en computer
Kan du ikke fortælle lidt om hvad du vil programmerer? Så kan flere personer give et kvalifiseret bud på hvad der er optimalt
Det er svært at sige. Jeg vil bare gerne ud over webprogrammering og i stedet kunne programmere software til computeren, som kan bruges i sig selv og programmer til computeren som kan arbejde sammen med andet "hardware".
Jeg var i praktik engang hos en virksomhed, som producerer satelitter til biler og både. Satelitterne bevæger sig, når bilen eller båden bevæger sig, så satelitten altid har den bedst mulige forbindelse.
Der sad jeg bl.a. ved nogle programmører. Vi snakkede lidt frem og tilbage. Et, måske typisk spørgsmål, jeg stilte en af programmørerne var, hvad det første han lavede, som arbejde sammen med noget. Han sagde, at noget af det første, han lavede var noget software, så han kunne benytte sin fjernbetjening fra computeren og dermed styre fjernsynet.
Det er vel noget i den retning, jeg gerne vil. For mig handler det mest af alt om at lære. Lære at programmere noget a la det og komme i gang. Der er ikke noget specifikt, jeg gerne vil lave.
Så tror jeg C# er et godt sted at starte for dig. Det er noget nemmere at lære at mestre end C/C++ og har meget bedre muligheder for styring af hardware end Python.
Men den henvender sig til folk der allerede har indgående kendskab til en masse teknikker og filosofier, bl.a. objektorienterede. Hvis du ikke allerede er super skrap i PHP skal du nok kigge efter en anden bog :-)
C# lyder som vejen, så. Kommentarer og evt. gode links og bøger er velkommen! Men jeg skal vel også snart have uddelt nogle point. Jeg ved ikke, hvordan jeg bør fordele dem.
MEN prøv du at lave et program i java, som kan sælges direkte og bare afvikles på en hvilken som helst windows, Mac eller linux maskine. Ja man kan kompile i 1.5 og sikre sig at alle med en bare nogenlunde opdateret virtual machine kan køre det, men alle uden JVM kan ikke.
C++ kan du kompile til alle platforme, men så løber du ind i nogle helt andre problemer. F.eks. hvis du vil lave det grafisk, da du så skal finde biblioteker der dur i både windows, gnome og alt muligt andet... Så på den led er C++ værre...
Og så igen, der er nogle basale ting i Java der bare mangler, så som global hotkeys.... Jeg kan ikke sætte java til at registrerer tryk på taster mens jeg har et andet program i fokus, og det kan f.eks. være noget rod hvis man prøver at få den til at tage screenshots og lignende. Ydermere så er java en smule langsommere i afvikling af det samme program skrevet direkte til en platform i f.eks. C++...
Men som sagt, jeg koder selv kun i Java (til stand-alone programmer) og er glad nok for det.
Et program som kraver Java version X eller nyere kraever naturligvis at der er Java version X eller nyere paa maskinen paa maskinen.
Givet at Java kan hentes gratis til alle de mest gaengse platforme, saa er Java ihvertfald en mulighed for stort set alle.
Hvis man vil lave system specifikke ting (og jeg vil tillade mig at kalde screenshots og den beskrevne form for keyboard hooks for system specifikke), saa er Java ikke det rette sprog. Det er downside af portabilitet.
Java har aldrig opnaaet nogen stoerre popularitet for "plastic wrapped" desktop apps. Formentligt fordi at apps enten kun udvikles til en platform eller hvis de udvikles til flere platforme saa oensker man forskellige platform specifikke features for hver platform).
Jeg havde bare ikke lige associeret "lukket" med nogle af disse problem stillinger.
Det ord for mig til at taenke paa closed source, udokumenterede API'er, patenterede formater o.lign..
arne_v: det er ikke målt på antal tomme linjer, eller bytes. Det er målt på antal faktiske tegn der udgør en del af programmet. Python er jo designet til at være minimalistisk, det er Java ikke
arne_v: min pointe er, at Java programmører f.eks. næppe kan slå en prut uden at skulle skrive en klasse til det. Desuden er syntaxen til at skrive (både) klasser og funktioner meget mere minimalistisk i Python end Java
Du kan bede dem der skal have point lægge et svar og så fordeler du point efter din bedste overbevisning.
Men tage point selv er ikke pænt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.