Valg af programeringssprog ????
Hej
Der mangler et ordentligt program til udvælgelse af avlsdronninger i biavlen, så det har jeg tænkt mig at kaste mig over de næste 3-4 år. Det skal siges at jeg aldrig har beskættiget mig med programering før.
Jeg har haft kik på MUMPS Nu vil nogle nok sige, det gamle skraml duer ikke, men USA har udviklet et patient journal program som det danske sundhedssysten også er begyndt at intresere sig for.
Fordelen er at der ikke kræves en database ved siden af, det er indbygget. Der arbejdes som sagt med Programmet den dag idag
Er der andre programeringssprog hvor der er den samme mulighed. Jeg vil gerne høre jeres mening. Skal jeg give mig i kast med MUMPS, eller er der andre programeringssprog hvor jeg har de samme muligheder.
- Log in to post comments
Kommentarer36
Re: Valg af programeringssprog ????
Lol. Drop nu det mumps, og brug et normalt sprog, med en normal database, som fx sqlite. det er altså ikke svært, og så kan du også tilgå databasen fra andre steder, selvom de ikke har noget med mumps-lol at gøre.
eorith,
Det var vist dagens
eorith,
Det var vist dagens rekord i ubrugelig rådgivning. Hvorfor er MUMPS "lol"? Og er sqlite nemmere/bedre at bruge end MUMPS?
Python
Hvad med Python det skulle jo være ret nemt at lære. Men kan programmer der er lavet i Python, og indeholder mange dataer som man skal søge på undvære en database som MySQL eller PostSQL
Carl Andersen
Re: Valg af programeringssprog ????
#2: Det er et gammelt sprog, som ingen kender. #0 har aldrig programmeret før, sp han vil nok gerne vil have hjælp på et tidspunkt. Kan du hælpe ham med mumps? Nej vel, godt så.
Jeg tror min kommentar var den mest brugbare i mands minde. Desuden er det jo nemt med sqlite, man kan for pokker bare bruge sql. Eller bruge en af de 1000000 ORM's der findes der ude.
PyGTK og sqlite er nemt at gå i gang med, kan køre på både linux og windows, og der er mange der kender det. Win-Win-situation.
Re: Valg af programeringssprog ????
Python er et udemærket sprog, især hvis man vil hurtigt igang.
Du kan også kigge på perl.
Jeg synes ikke der er så meget grund til at fokusere på som "database er inkludere" da det i de fleste tilfælde ikke er andet end at have det rigtige bibliotek installere til det.
Der er et par muligheder for database uden at skulle have en hel database server kørende, som er det jeg forstår på dig du til undgå.
Sqlite er allerede nævnt, hvis man vælger java er der HSQLDB som såvidt jeg husker OOo bruger i Base.
Fordelen ved den type database er at man netop slipper for at have en database server kørende og i stedet for dataen liggende i en fil.
Man kan også vurdere som det er nødvendig med en fuld database til at gemme ens data, en tekst fil kan i mange tilfælde være rigeligt.
Har du sat dig for mål, hvem dine brugere er? Skal programmet køre på windows, linux og/eller osx?
Hvor let skal det være at installere softwaren osv.
Hvis dine brugere bruger windows, er det måske ikke det bedste valg at bruge python eller perl, da du skal sikre dig dine brugere har disse. Ikke at det er umuligt, men det er værd at have med i dine overvejelser.
Det samme gælder toolkits til GUI, hvis du vælger GTK begrænser du dine brugere. GTK kræver X11 under OSX, hvilket er noget OSX-brugere undgår da det er besværligt, forstyrende og grimt i forhold til "native" programmer. Og det ser IMO ikke ret godt ud under Windows, har mindre heldige erfaringer med pidgin/GAIM og Gimp under windows.
Qt (advarsel jeg er biased) ser godt ud på alle tre platforme, men så skal du overveje din licens, hvis du ikke vil lave dit program open source er det måske ikke det toolkit du vil bruge. Og du begrænser dit valg af sprog.
Inden du foretager et valg af sprog, toolkit, database osv. vil det være en god ide at skrive ned, hvad dit mål for programmet skal være.
Re: Valg af programeringssprog ????
Men nu vi er i gang, Lusepuster, så prøv at google efter mumps tutorials. Hvilken er god? Hvis man nu i stedet valgte python, så ville den gratise bog "Dive Into Python" jo være oplagt, og så kombineret med pygtk.org
Re: Valg af programeringssprog ????
Jeg syntes det lyder til at være en opgave som et scripting sprog som f.eks. PHP snildt kunne klare.
PHP er hurtigt at lære og nemt at gå til, det er et scripting sprog der primært bruges til at generere dynamiske hjemmesider, og netop dit system ville jo fint kunne køres fra en browser.
#7 PHP er et fint sprog, men
#7
PHP er et fint sprog, men det er slet, slet ikke beregnet til at lave desktop applikationer i. Jeg synes ikke anbefalingen hører til her. :)
Jeg vil slå et slag for PyGTK med SQLite ligesom eorith.
EDIT: og et slag for at trådstarter fremover nøjes med et enkelt spørgsmålstegn. :)
Re: #7 PHP er et fint sprog, men
#8
Det er særdeles velegnet til opgaven:
Han skal bruge en ikke-interaktiv databasebaseret løsning, og har aldrig skrevet kode før, PHP er nemt og hurtigt at lære, brugerfladen er nemt og hurtigt skrevet (HTML er altså nemmere end GTK).
Java
Jeg synes du skal give dig i kast med Java. Det er relativt nemt at komme igang med, og det er hurtigt at komme fra begynderniveau og til at se nogle reelle resultater med GUI og det hele. Der er nem adgang til diverse former for databaser, eller hvad du ender med at bruge og så er det jo selvfølgelig understøttet i både Windows, Linux og OS X.
Jeg skrev et indlæg om at komme igang med Java, i en lignende tråd, som jeg lige vil henvise til:
http://www.linuxin.dk/node/11740#comment-16893
Jeg tror min kommentar var
Jeg tror min kommentar var den mest brugbare i mands minde.
Megalomani??
#10
Gutten vil jo igang med
#10
Gutten vil jo igang med at programmere, og tager dette som en start, og ikke det endelige mål. Jeg er enig i at PHP sagtens kan løse lige præcis _det her_ problem, men han vil meget hurtigt føle sig låst og på afveje hvis han bruger dét, med det formål at skabe egentlige applikationer.
#m_abs
Inden du foretager et
#m_abs
Inden du foretager et valg af sprog, toolkit, database osv. vil det være en god ide at skrive ned, hvad dit mål for programmet skal være.
Målet for programmet er at det skal være på dansk og engelsk. Programmet skal bruges i biavlen til at udvælge avlsdronninger. Progammet skal indeholde op til dataer fra 10.000 bistader. Hvert bistade skal have en karaktergivning fra 1-5 på 8-10 poster, som skal skrives ind maks 20 gange om året. Der skal kunne søges på 1-10 kraraktergivninger på alle bistader på 1 år, så er det vel nødvendigt med en database?
Qt (advarsel jeg er biased) ser godt ud på alle tre platforme, men så skal du overveje din licens, hvis du ikke vil lave dit program open source er det måske ikke det toolkit du vil bruge. Og du begrænser dit valg af sprog.
Det skal ikke være open source, jeg havde tækt mig en pris på 500-1000kr
Jeg har kikket på PyQT http://wiki.python.org/moin/PyQt og her kan jeg se at det understøtter (ODBC, MySQL, PostgreSQL, Oracle) Hvilken database vil du anbefale, hvis det er nødvendigt med database
Hvis dine brugere bruger windows, er det måske ikke det bedste valg at bruge python eller perl, da du skal sikre dig dine brugere har disse. Ikke at det er umuligt, men det er værd at have med i dine overvejelser.
Det er jo nok mest windows brugere der vil bruge det. Jeg er kun Linux bruger, så det bliver udviklet i Linux, og skal bruges med en Linux distribution. Men det udelukker jo ikke OSX-brugere og windows-brugere. De kan jo bruge VirtualBox
http://www.virtualbox.org/
Re: Valg af programeringssprog ????
#13: Open source software kan godt koste penge. Men hvis du ikke vil gøre det open source, så skal du købe en commerciel Qt-licens, hvis det er PyQt du vil lege med.
#11: Fedt at du har en holdning til min kommentar, det tror jeg #0 sætter stor pris på :-)
#8
Hvad er der i vejen med PHP? Jeg valgte det for 4-5 år siden til et booking system, som 4-5 brugere på forskellige kontorer rundt om på Bornholm booker igennem med gentagne rosende bemærkninger, fordi det er både særdeles enkelt for dem at bruge og hele tiden har været særdeles driftsikker.
#13 For det første: charmen
#13
For det første: charmen med Python er netop, at det kan køres smertefrit på Windows såvel som Linux og OSX. Det eneste det kræver er at Python er installeret - det gælder alle tre OS'er. At installere Python er jo så bare så simpelt og hurtigt overstået at det umuligt kan være en hæmsko for nogen.
hvad angår:
"Det skal ikke være open source, jeg havde tækt mig en pris på 500-1000kr"
Så studser jeg lidt. Hvordan udelukker de to ting hinanden? Open Source er ikke lig med gratis...
#15
Jeg siger ingen steder at der er noget som helst i vejen med PHP, jeg siger gansk enkelt at hvis formålet er at lave desktop-applikationer, så er PHP bare ikke valget. Punktum.
#16
Det er en besynderlig måde, du kommer uden om at svare konkret på spørgsmålet. på hvorfor PHP skulle være uegnet. Ulempen ved Python er for migg at se primært, at "Det eneste det kræver er at Python er installeret - det gælder alle tre OS'er."
Det kunne vel nok lade sig gøre, hvis de tre styresystemer blev installeret i dette tilfælde på alle biavleres computer. Den er vist en smule for langt ude i det rent teoretiske. .
#17
...ahvad? vil du
#17
...ahvad? vil du installere 3 OS'er på alle biavleres computere? Nu kan jeg slet, slet ikke følge med mere :/
#18
Nej, jeg tror heller ikke, du kan følge med :-) for det må vel være meningen, at dronningeavleren vil tilbyde sine kunder varen. Skriver du i Python er du vel nødt til at installere Python på den enkelte kundes computer, så der kan åbnes adgang til at se billeder, beskrivelser m.v. af dronnigerne.
Jeg har før kørt med 2 forskellige Linux distroer plus Windows på samme harddisk, så skulle det være topmålt bøvlet, kunne det måske også lade sig gøre :-)
PHP fungerer rigtig udmærket i forvejen gennem en normal browser - også uden separat database.
#19
Bundle Python med
#19
Bundle Python med programmet => problem løst.
Det behøves altså ikke gøres mere besværligt end det er.
#20
Er du aldrig stødt på eksempelvis Microsoft Windows brugere, der aldríg nogensinde har prøvet at installere selv det simpleste program? Jeg giver dig fuldstændig ret " Det behøves altså ikke gøres mere besværligt end det er.", men jeg forstår ikke, hvorfor du så vil have ukyndige til at installere et sprog eller for den sags skyld et hvilket som helst andet program - også selv om du benytter en autoexec.bat eller lignende.
Re: Valg af programeringssprog ????
Jeg vil da også mene, at det vil være totalt unødvendigt at lave en desktop-applikation fremfor et PHP-system. Hvis han alligevel vil tage penge for det, kan det jo sælges som en web-tjeneste, der kan administreres fra ham selv.
Re: Valg af programeringssprog ????
En Web 2.0 biavls applikation ... hmm Det er da en temmelig original ide - og der er garanteret nogle biavler der vil kaste penge efter sådan en service.
#23
Det er måske slet ikke så tosset en ide det med dronningeavl. I år og vist de seneste år medtaget, så går det ikke ligefrem strålende med de danske bier, som der er hårdt brug for bl.a. i frugtavlen. Men selv om dronningeavlen kan praktiseres og blive til en forretning, så er der jo ingen grund til at gøre indgangen til forretningen mest mulig besværlig.
#13
Den opgave, du beskriver, synes ret enkel og bør let kunne laves i PHP også uden "ekstern" database skrevet i et andet sprog end PHP.
#21
Jeg vil ikke have
#21
Jeg vil ikke have ukyndige til at installere noget som helst sprog. Hvis man lægger det sammen med installationsfilen til det egentlige program vil brugeren ikke få brug for at trykke noget som helst andet end det sædvanlige "next"...
Jøsses dog :)
Licens
#14
Hvis jeg skal købe licens både til PyQt £350 og Qt måske til samme pris. Og hvert år, så bliver jeg en fattig mand inden jeg har færdigudviklet programmet:)
Så må jeg lave det under GPL, og så tage betaling for diverse vejledninger for brug af programmet.
Dette er vel tilladt under GPL
Re: Valg af programeringssprog ????
Man kunne også bare overveje at lave programmet under C# eller Java.
Mono har implementeret til og med C# 2.0 features og Java er frit tilgængeligt på alle platforme. I begge tilfælde ville du kunne lave programmet til Windows og Linux på samme tid og i begge tilfælde vil du bruge et sprog som har masser af funktionalitet lige ved hånden grundet deres imponerende class libraries.
Hvis fokus primært er Linux så ville jeg måske hælde til Java da du er sikker på at dokumentationen er svarende til hvad du kan få til at køre ;)
Python + QT eller Python + GTK er også ganske fine valg. Det er måske lidt nemmere at gå i gang med også.
Re: Valg af programeringssprog ????
#27: Eller du kunne bruge pygtk, som jeg har sagt fra startet.
Ffs. hvor er denne tråd åndsvag. Og selv hvis valget skulle falde på at lave det som en webservice, så drop da for satan det skrammel til PHP. Eller brug det i det mindste sammen med et framework som CakePHP.
Hvis det absolut skal være en webservice, som #0 på ingen måde har udtrykt ønske om endnu, så kan man i det mindste bruge et nemt system, som fx Django.
#ajbo: hvordan vil du lave det i PHP uden ekstern database? :-)
Ud over tekst-filer, der jo åbenlyst er en tåbelig form for database.
#29
Hvis det absolut skal gøres vanskeligt, så vil jeg nok trods alt foretrække Python.
Re: Valg af programeringssprog ????
Tak skal i have for alle indput, efter at have læst en del om jeres valg i ville tage hvis det var jer der havde valget, er jeg kommet frem til følgende som jeg vil prøve i første omgang.
Jeg vil udvikle programmet med:
PyQt4
Database:
sqlite3
Plugin:
qt4-plugin-sqlite3
Carl Andersen
http://beehivecards.com/
Status?
Det lyder spændende med dit projekt. Hvad er status? Fik du begyndt på Python? Hvad er dine erfarringer?
Java er sproget!
Jeg ville også vælge Java som #9 siger.
Du kan nemt lave databaser i Java og som sagt så er Java jo brugbart på alle styresystemer.. Det er samtidig objekt orienteret (OOP), nu siger du at du ikke har programmeret før, men læs http://javabog.dk/ og du vil hurtigt med lidt øvelse begynde at forstå de mest basale ting, dernæst kig lidt på hvordan du opretter dine egne klasser og dermed objekter.
Så kan du lave nogle forskellige klasser til at definerer dine objekter så som,
Biavl (overordnet klasse)
Bikubbe
Bi
Bidronning
Biarbejder
osv osv. på den måde kan du lave rigtig meget kompleks og gemme i din database på en rigtig simpel måde.. nu er jeg slet ikke inde i hvordan man udvælger en bidronning, så ovenstående er blot en skitse af hvad det kunne være.
Generelt når du skal skrive et program i et OOP sprog, så se på hvilke objekter, der gør sig gældende i virkeligheden (fysiske verden) og lav dernæst en klasse der definerer dette objekt. f.eks. en bikubbe i selve sproget, men med samme egenskaber som det ville have i virkeligheden.
Håber du forstod lidt. ellers må du endelig spørge igen.. det lyder som et spændende projekt :)
lidt ekstra
Udover dette skal du jo så også lave en Logaritme der holder alle disse fakta fra databasen op mod hinanden og ser hvor mange træk der er til fælles med den ideele biavlsdronning og derfra må du på en eller anden måde regne sandsynligheden ud for at det bliver en god dronning.
men dette er meget bredt da jeg som sagt intet aner om bier, andet end at de laver honning og som regelt dør når de har stukket ;)
Måske Tuidoi
Jeg er ikke kommet igang endnu, jeg skal først havet lavet dette her færdigt:
http://pootle.frugalware.org/da/
Samt et par andre småting. Jeg forventer at gå igang i Januar
Jeg har ikke endeligt lagt mig fast på Python. Og jeg vil da også kikke på Java som også ser intresant ud. Jeg har lige skimmet bogen på din henvisning.
#1
Hvis du ikke har programmeringserfaring er det nok ikke det mest hensigtmæssige valg at kaste sig ud i rendyrkede programmeringssprog, med mindre du vil være fulltime programmør eller ligge megen tid i det.
Du bør efter min mening i stedet vælge en applikation hvor du kan "tegne og fortælle" dig igennem det meste af programmeringsprocessen og skabe en ny applikation. Det giver den fordel, at du er hurtigt i gang og hurtigt kan se resultater.
Jeg kan næsten ikke forestille mig at du ikke kan løse sådan en opgave i en "MS Access" lignende applikation. Så kan du ikke bare lave en database "applikation" i OpenOffice ??
I hvertfald i første omgang. Bliver det en succes, kan man jo altid lave en rigtig (web)applikation senere.
Fordelen ved OO er at du har det meste af brugerfladen designet og du kan "tegne og fortælle" dig frem til det meste. OO kan samtidig distribueres gratis til flere platforme og dermed også din "applikation".
OO understøtter samtidig flere sprog, så du kan kode dig ud af de småting der er behov for.
Der findes også et Open Source alternativ til MS Access, som kunne lave "fritstående" databaseapplikationer, men jeg har desværre glemt navnet.
Mvh