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
- Log in to post comments
Kommentarer44
Re: Valg af programmeringssprog
C++ vil uden nogen som helst problemer whatsoever kunne klare den opgave og flere til. C++ er det mest udbredte programmeringssprog, og bruges til stortset alt nuomdage.
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
Er du helt sikker på det? Sidst jeg tjekkede efter sad Java da vist på tronen tæt forfulgt af C#. Ikke at de er så fantastisk anderledes, men C++ er de jo ikke.
Python er fantastisk!
@dbr
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
#3 - så hvis python blev valgt ville det være simpelt at lave den OS-uafhængig?
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
dbr / #4
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
#5 - så hvis jeg f.eks. begynder at lære python, så vil det altså ikke være 'spildt' arbejde hvis jeg engang så vil gå videre til c++?
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
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
#7 - lyder lækkert, jeg tror mit valg er faldet..
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
I det lange løb er det en god ide at lære C/C++ da det danner fundament for en masse andre sprog (java, C# etc.).
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
Der er en velformuleret samling af links og skrift omkring Python her:
http://www.syntaktisk.dk/?q=node/17
Nogle gode video tutorials kan du finde her:
http://showmedo.com/
OpenOffice.org?
Du kunne også vælge at udvikle applikationen i OpenOffice.org op mod dennes database, hvor du vil få et udviklingsmiljø, der på visse områder minder om Microsoft Access før 2007-udgaven.
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
#11: Hvad er der nu galt med *SQL eller Oracle?
Derudover tror jeg nu han var interesseret i foreslag på et programmeringssprog og ikke en database, eller tager jeg helt fejl?
PHP-GTK
Du kan sagten skrive "rigtige" programmer med PHP.
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
#13, PHP kan bruges til "rigtige" programmer, som du siger, men er *meget* begrænset, og ikke mindst langsomt. PHP betragtes ikke som et programmeringssprog, men derimod som et scriptingsprog. Der er en grund til at det bruges til hjemmesider og stort set kun det.
Der er en grund til at det
Der er en grund til at det bruges til hjemmesider og stort set kun 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
Nu er PHP jo et scripting sprog der primært benytter sig a externe biblioteker skrevet, bl.a. i C, så præcis hvor meget det hjælper at bytecode-compile det, har jeg svært ved at gennemskue. Hvis du har links til benchmarks eller selv foretaget nogle, kunne det da være interessant at se. Tvivler dog på at der er tale om en decideret overvældende forskel.
Re: Re: Der er en grund til at det
Jeg mener nok at have set, at det skulle optimere det med 30%. PHP motor "compiler" jo faktisk sproget, første gang det læses. Hvis den givne PHP-fil ikke ændres, så indlæses dette "compilede" noget i stedet for selve filen.
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
#17 Du tror ikke på at grunden til php ikke bruges til "normale" programmer er at det ikke blev designet til det? Prøv lige at læse alle de små "hacks" man bliver nød til at lave for at det kan køre tilfredsstillende.
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, nemlig. Hvert sprog har sin force, så hvorfor ikke bruge det bedste til jobbet. Det er også min mening.
#18
Du kan ikke bruge PHP's
#18
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
#20 Gammel er måske forkert. Mener måske mere at man ikke tager html og bruger til at skrive en bog i. Simpelthen fordi det er html ikke designet til ;)
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
Som jeg ser det, er det kun en fordel, at der blandt andet er kommet en GTK-udvidelse til PHP. Derved kan man genbruge tons af scripts og libs, der er skrevet til PHP.
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
Der ryger faktisk en del backwards compatibility med register globals mv. der ryger ud i PHP6, og så bliver safemode også skrottet, men det har godt nok ikke så meget med lige præcis det her at gøre.
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
#23 Der er ikke noget galt i det. Men det er en stor omvej istedet for hurtigt at lære et andet SGML sprog og bruge det istedet, som f.eks. DocBook... Det vil have en stor del af syntaxen som ligner, men den har lige de ting som man måske vil savne i html.
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
#12 (Flashog): Grunden til at jeg ikke nævnte en af de "rigtige" SQL-databaser, er, at med OpenOffice.org's egen database vil det være lettere at komme i gang samt flytte løsningen til en anden maskine - endda på et andet styresystem.
Re: Valg af programmeringssprog
#25, har du noget imod at forklare hvorfor?
Til det grafiske..
hvad vil anbefale at bruge til det grafiske? wxPython, tkinter eller er der noget andet der er bedre?
Re: Valg af programmeringssprog
PyGTK eller PyQT
Re: Valg af programmeringssprog
#28 - og der vil her ikke være større arbejde når applikationen også skal kunne køre på Windows?
#29
Jeg vil anbefale PyGTK
#29
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
#29, hvorfor ikke bare bruge java til dine "mindre" applikationer?
Re: Valg af programmeringssprog
#31 - det kan godt være at java er et rigtig godt sprog, men i mine øjne er det ikke særlig vel anset..
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
Efterhånden er diskussionen vel kommet ud, et sted nu, hvor du som trådstarter skal tage valget.
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
#33 - jeg har prøvet at lege lidt med C++ og python. Af programmeringssprog vælger jeg nok python, da jeg føler at det er lettest at komme igang med.
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
Må man høre hvorfor Java ikke er velanset i dine øjne? (ikke for at prikke mere til sprog diskussionen)
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
#35 - hmm, ja. Jeg synes at syntax'en er yderst mærkelig bygget op, og så at det ikke er blandt 'top'-sprogene.. Jeg sætter selvfølgelig java langt over basic, men ellers er det bare sådan noget lavt rangerende 'braller'..
(håber ikke jeg støder nogle, har sgu stor respekt for dem der kan skrive i det)
#36
Ikke et af "top"
#36
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
Har du kigget på Ruby? Det er, om muligt, endnu nemmere end python.. :)
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
Jeg hader ikke ligefrem sproget, synes at dem der kan skrive i det, virkelig kan lave nogle fede apps. Men samtidigt så har jeg den holdning at det er underudviklet - hvorfra jeg har tilegnet mig det tør jeg ikke sige. Måske kan det hænge lidt sammen med at jeg mest er stødt på apps skrevet i sproget som plug'in's på nettet, hvor de somregel har været et irritationsmoment for mig som bruger af en given side.. (Jeg kan f.eks. ikke komme på webbank fra min skole - java spørger efter nogle koder osv. og ligemeget hvad jeg prøver vil den ikke..)
Ja, det med 'top' sprogene må jeg så trække tilbage igen ;-) - det må helt sikkert skyldes mig uvidenhed!!
Re: Valg af programmeringssprog
#39 don't blame the language, blame the speaker!
Re: Valg af programmeringssprog
#40 - hehe, du har ret. Det er bare svært.. Det er jo også altid M$ der er noget lort - aldrig brugerens fejl 40 ;-)
#38 - men har ruby så også de samme muligheder for OS-uafhæninghed?
Re: Valg af programmeringssprog
#41, ja. Ruby er ca. ligeså uafhængig som python.
Re: Valg af programmeringssprog
#42 - hmm, okai - måske jeg lige så godt også kunne kigge på det, nu hvor jeg er igang :D
Re: Valg af programmeringssprog
http://www.dmh2000.com/cjpr/ her er en der skriver en del om de sprog der bliver snakket om.
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.