Valg af programmeringssprog
Hej.
Jeg har nu i en rum tid arbejdet meget med php, og lavet mange sjove og brugbare dingenoter deri, men jeg vil nu gerne til at lave nogle egentlige programmer!
Jeg har en lille drøm i maven om at udvikle et program jeg kan bruge til at holde styr på alle data - medlemsdata, snitdata, kampdata osv til min bowlingklub hvor jeg er ungdomsleder. Jeg kunne selvfølgelig godt lave dette i php (hvilket også var første tanke), men jeg vil gerne prøve noget nyt og så ville det være fedt hvis det kunne laves til et egentligt program på min computer. Jeg ved at et sådant program vil tage lang tid at udvikle, men først skal jeg lære det sprog der vil blive anbefalet - selv er jeg for tiden meget hook på C++ Vil det kunne opfylde mine ønsker? Er der ting jeg skal være obs på osv. Jeg lytter til ALT hvad i skriver :D
Jeg har nu i en rum tid arbejdet meget med php, og lavet mange sjove og brugbare dingenoter deri, men jeg vil nu gerne til at lave nogle egentlige programmer!
Jeg har en lille drøm i maven om at udvikle et program jeg kan bruge til at holde styr på alle data - medlemsdata, snitdata, kampdata osv til min bowlingklub hvor jeg er ungdomsleder. Jeg kunne selvfølgelig godt lave dette i php (hvilket også var første tanke), men jeg vil gerne prøve noget nyt og så ville det være fedt hvis det kunne laves til et egentligt program på min computer. Jeg ved at et sådant program vil tage lang tid at udvikle, men først skal jeg lære det sprog der vil blive anbefalet - selv er jeg for tiden meget hook på C++ Vil det kunne opfylde mine ønsker? Er der ting jeg skal være obs på osv. Jeg lytter til ALT hvad i skriver :D
Kommentarer44
Re: Valg af programmeringssprog
Det kan dog godt være forholdsvis omstændigt at sætte sig ind i. Jeg vil anbefale dig at starte med Python og GTK (GTK er nu engang lettere at porte til andre platforme end QT). Python minder en smule om PHP i sin syntaks og indlæringskurve, så det vil du nok komme længst med hurtigst. Og så er Python iøvrigt et ret kraftfuldt sprog, du kan lave forholdsvis store applikationer i, på trods af at det er let. Derudover har Python også den fordel at det er et interpreted sprog ligesom PHP, og kræver således ikke at blive compilet før brug. Brugeren skal bare have python installeret, og så kører det som smurt i olie.
C++ mest udbredt
Python er fantastisk!
Python med eksempelvis wxPython, giver en applikation som er direkte portabel til palm, windows og mac osx udover naturligvis GNU/Linux. Altsammen med native GUI kald; dvs en ikke porteret GUI, som det vil være hvis GTK blev benyttet.
Styrkerne ved Python, er bl.a. portabilitet, overskuelig syntaks, megen og go dokumentation o.s.v
Naturligvis kan du godt gå i gang med C++, men det er umiddelbart lidt mere komplekst at lære sammenlignet med Python.
@marx, Pythons syntaks minder da slet ikke om PHP ?
Jeg kunne da godt tænke mig og se eksempler på syntaks du mener der minder om hinanden ?
Re: Valg af programmeringssprog
Som du skriver er c++ nok mere komplekst at lære, men ville det give pote i det lange løb? - og er det også nemt at lave OS-uafhængige programmer heri?
EDIT:
er rigtig mange af tingene til Linux ikke skrevet i python?
dbr / #4
Python er ekstremt
Python er ekstremt operativsystem uafhængigt, koden kører mere eller mindre umodificeret på de fleste platforme.
Med C & C++ skal du i mange tilfælde bruge platforms afhængige biblioteker o.s.v hvilket betyder at du ofte skal portere koden til en specifik platform for at oversætte den uden fejl.
Du får dog platforms optimeret kode, i højere grad end med de fortolkede sprog. Som Python jo er en del af. Hvilket med C/C++ applikationer giver øget hastighed.
Med Python kan du dog bruge f.eks. dine C++ klasser hvis du vil, hvilket betyder at du på sigt kan portere dele af koden til C++ samtidigt med at du stadig bevarer en del af Python koden.
Der skal dog ingen tvivl være om at C eller C++ ville være et godt sprog at lære, men jeg vil mene at du få lavet noget mere kode med Python.
Alternativt kunne du også se på Java, som også er et godt sprog til begynderen. Som det bliver nævnt er Java et ekstremt udbredt sprog, både hadet og elsket. Personligt synes jeg det er godt sprog :-)
Re: Valg af programmeringssprog
Hehe læste lige på python.org at det også kan køre på nokia telefoner :-)
Men hvordan gemmes datamængder egentligt? i php er jeg stor forbruger at MySQL-databaser, er det noget i samme stil, eller gemmes det 'bare' i uforståelige filer?
dbr / #6
Det vil bestemt ikke være spildt at starte med Python. Python er ekstremt object orienteret så, de generelle oo principper for du gode muligheder for at lære.
Som er en styrke, når du vil igang med C++.
Python fungerer fint med MySql databaser, så det er ikke noget problem. I øvrigt er der mange andre måder at gemme data på.
Re: Valg af programmeringssprog
Er allerede igang med http://docs.python.org/tut/node4.html :-)
Kender i eventuelt til andre gode sider hvad python angår?
Re: Valg af programmeringssprog
Til "lettere" programmeringopgaver ville det dog være at foretrække at bruge et sprog der tillader en hurtigere udvikling (f.eks. python el. ruby).
her er et link: http://gpwiki.org/index.php/Picking_a_Language
Re: Valg af programmeringssprog
http://www.syntaktisk.dk/?q=node/17
Nogle gode video tutorials kan du finde her:
http://showmedo.com/
OpenOffice.org?
Men det er der jo så ikke så meget direkte programmering i, hvis det er det, du vil dygtiggøre dig i. Dog mangler Danmark folk der kan udvikle løsninger i OpenOffice.org, hvilket er en af de største hæmsko, når virksomheder gerne vil skifte.
Re: Valg af programmeringssprog
Derudover tror jeg nu han var interesseret i foreslag på et programmeringssprog og ikke en database, eller tager jeg helt fejl?
PHP-GTK
Her er et program jeg har kodet til at administrere SQL-databaser med:
http://sourceforge.net/projects/knjsqladmin/
http://php-gtk.eu/node/219
Her er et program, som du kan bruge til at compile PHP-apps og PHP-hjemmesider til bytecode:
http://sourceforge.net/projects/knjphpbcompiler/
http://php-gtk.eu/node/220
Så kan du genbruge dine scripts, libs og evner indenfor PHP.
Re: Valg af programmeringssprog
Der er en grund til at det
Den grund er vel primært at PHP fra starten har været tiltænkt brug på hjemmesider, og idéen om at bruge det andetsteds ganske enkelt ikke har været udbredt nok, af ren og skær uvidenhed? Dernæst kommer så mangler og diverse hastighedsproblemer(hastigheden sættes i vejret når man prækompilerer til bytecode, skal det lige siges), men en dygtig programmør kan sagtens finde ud af at optimere, uanset sproget. Med det sagt vil jeg heller ikke selv anbefale PHP-GTK til apps af større vigtighed.
Re: Der er en grund til at det
Re: Re: Der er en grund til at det
PHP kører efter min mening rigtig godt, når man ser på dets ydelse. Det kommer dog meget an på, hvordan du har sat din php.ini op, og om du bruger dl(). Hvis du starter PHP uden extensions loadet, og du indlæser dem efter behov, så kører det mere end udemærket (efter min mening).
Jeg har endnu ikke oplevet problemer med hastigheden i hvert fald. Den største ulempe, som det er nu, er at du ikke kan forke via PHP på Windows endnu... Man er nød til at starte forskellige processer manuelt, hvilket kan være en ulempe. Men jeg set diksutioner om implementering af threads på IRC, så mon det ikke snart kommer? :-)
Anyway - jeg mener også, at grunden til at PHP ikke ses mere på kommandolinjen eller som GUI-programmer er, at der ganske simpelt ikke er kendskab til muligheden (endnu). Men communitiet vokser stadig :-)
Læs mere om compilingen her (som desuden også virker til hjemmesider):
http://php.net/bcompiler
Re: Re: Re: Der er en grund til at det
Bevares de fleste sprog har også små hacks men direkte at tage et gammel sprog og prøve at designe det til en hel ny opgave er næsten dømt til døden fra starten, da man hurtigt kan rende ind i problemer som sprogets hovedopgave og dermed skal tage dumme valg som begrænser brugerens valg.
Bevares det kan bruge, men nu er det jo ikke raket videnskab at lære et nyt programmeringssprog. Så hvorfor ikke vælge det der er bedst til jobbet istedet for at tage et der måske en dag vil blive næsten lige så godt?
Re: Valg af programmeringssprog
#18
Du kan ikke bruge PHP's
Du kan ikke bruge PHP's tid på markedet som modargument. Resten af dine argumenter holder fint, men sålænge PHP udkommer i nye versioner, og altså bliver opdateret løbende, kan du altså ikke beskylde det for at være gammelt, i den kontekst du stiller op dér. Du ville kunne bruge det argument hvis PHP stadig fedtede rundt ved version 3...
Re: Valg af programmeringssprog
Ja php kommer i nye version, men du vil stadig blive holdt tilbage af gamle valg. Ja man kan breake backwards kompibalitet men det er altså lidt fyfy. Vælger man noget så er det god kotume at holde det, derfor er det dumt at prøve at patche et sprog op til at gøre noget som ikke var grund ideen med sproget.
Re: Valg af programmeringssprog
Hvis du f.eks. har et komplet web-system skrevet i PHP, så vil det nu være vildt let at skrive en grafisk brugerflade til system som et rigtigt program. Du skal nemlig kun skrive sammenkoblingen mellem det i forvejen kodedet system og f.eks. Glade.
Jeg sagde ikke noget om, at det ikke kørte tilfredsstillende. Jeg gav et eksempel på, hvordan man kunne tweake det til at køre hurtigere. Mange foretrækker, at PHP indlæser extensions under opstart, når de skriver PHP-GTK, så de ikke skal indlæses mens programmet kører. Det er et valg du kan tage, når du skal skrive programmet.
PHP kører efter min mening lige så godt som de fleste Java og Python programmer - hvis ikke bedre.
PHP og PHP-GTK har løst mange opgaver hurtigt, som jeg ellers ville være tvunget til at bruge mærkbart længere tid på (genskrivning af libs og systemer i et andet sprog osv) - så jeg er meget taknemelig for det.
Hvis det ikke lever op til jeres behov, så er det jo bare det :-) Så længe jeg kan spare tid og lave programmer der virker i det - så bruger jeg det da :-)
Re: Valg af programmeringssprog
Og hvad skulle der være i vejen med at layoute en bog i HTML/CSS? Særligt XHTML har specifikationer særligt beregnet på layout af tekst til print
Re: Valg af programmeringssprog
Samme har du jo i php. Syntaxen ligner lidt mange andre sprog, og man kan da sikkert også lave de samme ting i det. Men sprog som java, c++ og andet har lige de enkelte ting som måske lige kan gøre vejen lidt kortere for dig.
Årsag til "rigtige" SQL-database blev udeladt
Re: Valg af programmeringssprog
Til det grafiske..
Re: Valg af programmeringssprog
Re: Valg af programmeringssprog
#29
Jeg vil anbefale PyGTK
Jeg vil anbefale PyGTK til crossplatform. GTK er forholdsvis let at installere på Windows - Gimp depender også på det, og det virker som bekendt fint på Windows.
Re: Valg af programmeringssprog
Re: Valg af programmeringssprog
Dernæst er mit mål med at lære et nyt sprog altså at udvikle et program til min bowlingklub (og en håndfuld andre klubber er også er interesserede (kunne være fedt hvis det blev standard for stort set alle klubber i DK hehe *drømmer lidt*)). Det skal ikke indeholde vilde muligheder andet end medlemsoptegnelser og så skal det kunne holde styr på snit, strike, spare osv. og det skal kunne lave grafer over udviklingen over en periode. og udskrivning af diverse filer.. Så da stort set alle bruger Windåse er det meget vigtigt at det kan køre derpå (og helst uden at der skal installeres alt for meget andet).
Re: Valg af programmeringssprog
PyQT/pyGTK/wxPython er alle værktøjer der vil kunne leve op til dine krav om multiplatform. Hvad der er bedst, er svært at definere klart, da det ofte afhænger af hvad man som udvikler har arbejdet med og er vandtil.
JAVA/Python/C++ o.s.v kan alt sammen det du efterspørger.
Fordele vedrørende de forskellige sprog er fremsagt i tråden, så synes hellere du skal tage valget og så komme igang med at kode. Det er trodsalt det sjoveste :)
Du skal dog holde dig fra tkinter :P
Re: Valg af programmeringssprog
Hvad angår wxPython/PyGTK/PyQT har jeg prøvet lidt wxPython og kigget lidt i dokumentationen til PyGTK, umiddelbart tror jeg jeg vil have lettest ved wxPython, men skal lige prøve PyGTK også.. (skal nok holde mig fra tkinter ;-) hehe, men hvorfor?)
Takker vældig meget for hjælpen xD
Re: Valg af programmeringssprog
Personligt synes jeg wxPython ville være mest oplagt hvis applikationen skal køre på windows udover linux. WxPython, gør alligevel brug af GTK når det kører på en GNU/Linux platform, på Windows, er det native GUI kald. Så hvis valget står mellem pyGTK og wxPython, ville jeg vælge wx.
Mht pyQt er det noget andet, da muligheden for at lave lidt mere fancy udseende og lidt bedre muligheder for custom widgets er tilstede; iforhold til wxPython ihvertfald.
Re: Valg af programmeringssprog
(håber ikke jeg støder nogle, har sgu stor respekt for dem der kan skrive i det)
#36
Ikke et af "top"
Ikke et af "top" sprogene.. Hvordan skal det forståes :)?
Java er et af de absolut mest udbredte sprog overhovedet, det bruges i stor stil i industrien og i undervisnings øjemed. Så set i lyset af hvor udbredt sproget er, er det absolut et af top sprogene, eller måske top sprogét :)? -> http://www.tiobe.com/tpci.htm
Men ja, der er en tildens til at sable sproget. Personligt oplever jeg, at folk der forholder sig kritisk til sproget sjældent har et sagligt argument for at sige det er noget lort, andet end "Java stinker"; hvor man så tænker,, ok, hvorfor ? :)
Jeg er selv ansat som java udvikler, og er ikke stødt over folk hader sproget. Vil blot gerne høre grundende til de synes det et skidt sprog.
Re: Valg af programmeringssprog
Mht. Java så er det et fint sprog, minder meget om C++ i syntaksen, og er faktisk 99.9% identisk med C#.
Re: Valg af programmeringssprog
Ja, det med 'top' sprogene må jeg så trække tilbage igen ;-) - det må helt sikkert skyldes mig uvidenhed!!
Re: Valg af programmeringssprog
Re: Valg af programmeringssprog
#38 - men har ruby så også de samme muligheder for OS-uafhæninghed?
Re: Valg af programmeringssprog
Re: Valg af programmeringssprog
Re: Valg af programmeringssprog
Mht. python / ruby, så er det bare at vælge den du føler dig mest "hjemme" i. Personligt synes jeg rubys "alt-og-jeg-mener-alt-er-et-objekt" philosofi er ret blæret.