GeirGrusom Skrevet 30. juli 2007 Forfatter Del Skrevet 30. juli 2007 Da kan vi jo bruke sourceforge plassen vår Lenke til kommentar
Sokkalf™ Skrevet 30. juli 2007 Del Skrevet 30. juli 2007 Jepp, ser ut som SF.net tilbyr PHP og MySQL, så det bør gå glatt, det. Lenke til kommentar
Frysning Skrevet 15. august 2007 Del Skrevet 15. august 2007 Hvordan går det egentlig med dette prosjekte? Lenke til kommentar
GeirGrusom Skrevet 15. august 2007 Forfatter Del Skrevet 15. august 2007 Hmmmm, jeg driver og tuller med et eget programmeringsspråk, skreddersydd for OS-et, objektorientert native code, jeg tror jeg har noen gode idéer, men jeg vet ikke helt. det har en funksjon som rett og slett heter "func" som ser slik ut: public func foreach(object value, IEnumerable en) { init() // Initialize, will only be called once { en.Reset(); value = en.Item; // Set value to the first item in the collection } start() // Will be called on every iteration { } stop() // Will be called on every iteration { if(en.MoveNext()) // Move to next item in enumeration { value = en.Item; continue; } else break; } finally() // Will only be called once, when break has been called. { } } Dette er da spesifikasjonen på foreach i språket (som helt tydelig er et C-style språk) Det er endel andre fancy ting, men den er det som sparer meg for mest tid, siden for, foreach og while kan skrives i språket, uten at de er skrevet rett inn i selve compileren. Selvsagt planlegger jeg å bruke nasm Men jeg vet ikke helt... men jeg tror vi ville fått flere frivillige dersom det var enklere å utvikle OS-et, og gå bortifra C og C++ tror jeg kunne vært et godt valg, og droppe å skrive kernelen fra bunn av, og heller bruke en eksisterende. Lenke til kommentar
Frysning Skrevet 15. august 2007 Del Skrevet 15. august 2007 Nasm er kos <3 Ja, å skrive en kernel fra bunnen av å gjøre det skikkelig er et stort prosjekt. Tror det blir mye mer morro å bruke en ferdig kernel, da blir det mer og gjøre. Og man ser resultater raskere, noe som også øker motivasjonen. Designe et eget språk for prosjekte blir også vanskelig, kanskje litt for vanskelig. Du må huske at skal du holde deltakerne motiverte bør du holde deg til C/C++, noe som er like greit hvis du bruker en ferdig kernel. Hvorfor ikke linux? God tilgang på drivere.... Lenke til kommentar
aadnk Skrevet 15. august 2007 Del Skrevet 15. august 2007 Det ville kanskje vært interessant å implementere nested iterators òg (ikke bare IEnumerable, altså)? Da oppnår en blant annet lineær, og ikke kvadratisk, asymptotisk øvre grense (Store O-notasjon) ved rekursiv søking, som eksempelvis ved opplisting av alle elementer i et tre. Lenke til kommentar
Ueland Skrevet 15. august 2007 Del Skrevet 15. august 2007 Du må huske at skal du holde deltakerne motiverte bør du holde deg til C/C++ Atte fordi? Lenke til kommentar
Frysning Skrevet 15. august 2007 Del Skrevet 15. august 2007 Det er bare mye brukt, og jeg trakk konklusjonen at hvis de har gode kunnskaper om språket fra før gjør det jobben mindre å skrive bra kode med et språk man kan fra før av fremfor å lære et nytt. Lenke til kommentar
GeirGrusom Skrevet 15. august 2007 Forfatter Del Skrevet 15. august 2007 Joda, sant det, men C++ øker utviklingstiden betraktelig sammenlignet med andre språk, og øker sjangsen for sikkerhetshull og bugs, grunnet manglende gc. Språket jeg tenkte på skal selvsagt ha gc, og klasser. I motsetning til C++, vil det være stor forskjell mellom class og struct, class bli alltid behandlet av gc, mens struct alltid vil ble lagret på stack. Man kan allokere minne manuelt med gc.Allocate, og gc.Free Man har selsvagt pekere, og datatypen void* blir erstattet av pointer, lurte på om hele keywordet void bare kan fjernes helt. jeg har bestemt meg for at "for" skal bli litt mer konsekvent med språket, dermed må parameterne klemmes i { } f.eks. for({int i = 0;}, {i < 100}, {i++}) { } fordi for er en func som tar 3 parameter, delegates. I motsetning til i C++, er det da mulig å ha flere instruksjoner etter int i = 0, hvis det er ønskelig. Aadnk: Det er sikkert lurt, men jeg vet ingenting om forskjellen Her kan du sikkrt komme med noen pekepinner på wiki-en ettervhert Lenke til kommentar
Dead_Rabbit Skrevet 15. august 2007 Del Skrevet 15. august 2007 Hvis vi bruker en eksisterende kjerne så er vel litt av vitsen borte mht. filsystem- og driverplanene for prosjektet. Da blir jo Dvorient bare en Linux-distro, noe det forsåvidt finnes nok av. For å være helt ærlig, tror jeg også at utviklingstiden vil være mindre om vi brukte C/C++ enn et nytt språk. For det første, så koder man mer effektivt i språk man kan, det vil være mer og bedre dokumentasjon på C/C++ fremfor et ny-oppfunnet språk. Jeg vil anta at språket - siden det er nytt - sikkert vil ha flere bugs også. Lenke til kommentar
GeirGrusom Skrevet 15. august 2007 Forfatter Del Skrevet 15. august 2007 hehe, jeg lufter idéer her Hvis compileren skriver eksporterte funksjoner, klasser etc. automatisk, ville det blitt en stor fordel. export int main(string[] args) { IO.Output.Write("Hello world!"); return 0; } export int SomeFunc() { return 0; } export int SomeProperty; export class MyClass(MyInheritedClass) { } export func for(delegate initfor, delegate condition, delegate tick) { init() { initfor(); } start() { } end() { tick(); if(condition()) continue; else break; } finally() { } } Når det gjelder bugs, kan vi regne med det på alle kanter allikevel - vi er noobs når det gjelder OS utvikling, er vi ikke? Men når det gjelder kernel, så synes jeg ikke vi bare skal ta en kernel og bruke den, men heller se etter spesielle ting vi trenger. Jeg er litt imot å bare ta linux kernelen, og bruke den. Dessuten, det finnes en rekke alternativer, vi får kikke litt nøye igjennom, og ikke bare ta den førse og beste, siden vi sitter fast med en kernel etter at vi har valgt den. Lenke til kommentar
aadnk Skrevet 15. august 2007 Del Skrevet 15. august 2007 Aadnk: Det er sikkert lurt, men jeg vet ingenting om forskjellen Her kan du sikkrt komme med noen pekepinner på wiki-en ettervhert 9289314[/snapback] I språket betyr det at man eksempelvis kan skrive return yield foreach for å gi "kontrollen" av yield-ingen til en annen løkke istedenfor å kjøre den indre iteratoren uavhengig av den øvrige og returnere hvert element oppover. Altså ... la oss si du skal returnere alle underelementer til et element. Istedenfor å kjøre en foreach og bruke yield til å returnere hvert element, overfører du heller kontrollen til iteratoren til underelement-kolleksjonen til å yielde disse elementene direkte, slik at en ikke må kjøre to yields før destinasjonen får elementene sine. Skjønner? Lenke til kommentar
Emancipate Skrevet 17. august 2007 Del Skrevet 17. august 2007 for({int i = 0;}, {i < 100}, {i++}){ } fordi for er en func som tar 3 parameter, delegates. I motsetning til i C++, er det da mulig å ha flere instruksjoner etter int i = 0, hvis det er ønskelig. 9289314[/snapback] Det er da også mulig i C med komma-operatoren. Hvis vi bruker en eksisterende kjerne så er vel litt av vitsen borte mht. filsystem- og driverplanene for prosjektet. Da blir jo Dvorient bare en Linux-distro, noe det forsåvidt finnes nok av.Det blir jo ikke en Linux-distro hvis ikke linux-kjernen brukes. F.eks kan helt sikkert minix brukes. Og filsystemdrivere kan man jo likevel skrive. Lenke til kommentar
GeirGrusom Skrevet 18. august 2007 Forfatter Del Skrevet 18. august 2007 (endret) for({int i = 0;}, {i < 100}, {i++}){ } fordi for er en func som tar 3 parameter, delegates. I motsetning til i C++, er det da mulig å ha flere instruksjoner etter int i = 0, hvis det er ønskelig. 9289314[/snapback] Det er da også mulig i C med komma-operatoren. Er det nå det? hva skjer hvis du skriver: float x; for(int i = 0, x = 159; i < 100; i++) { } Du vil få en compile error, fordi x allerede er definert. Dette anser jeg som noe som er inkonsekvent i C Endret 18. august 2007 av GeirGrusom Lenke til kommentar
ratix Skrevet 18. august 2007 Del Skrevet 18. august 2007 (endret) Er det nå det?hva skjer hvis du skriver: float x; for(int i = 0, x = 159; i < 100; i++) { } Du vil få en compile error, fordi x allerede er definert. Dette anser jeg som noe som er inkonsekvent i C 9308095[/snapback] Du vil først og fremst få kompilasjonsfeil fordi du prøver å deklarere en variabel i en for-loop i c89. I c99 virker koden din helt fint (-std=c99 i gcc). Endret 18. august 2007 av ratix Lenke til kommentar
GeirGrusom Skrevet 18. august 2007 Forfatter Del Skrevet 18. august 2007 jeg er klar over det ;P det er derfor jeg påpeker det... Lenke til kommentar
Hayer Skrevet 25. august 2007 Del Skrevet 25. august 2007 noen fremgang? En oppsummering av hva som er gjort og hva som mangler hadde vært fint for alle som leser denne tråden OFTE.. Lenke til kommentar
Frysning Skrevet 25. august 2007 Del Skrevet 25. august 2007 Ja, det må jeg si. Så kan leserne kanskje komme med mindre innskudd/kodesnutter/help. Lenke til kommentar
GeirGrusom Skrevet 4. september 2007 Forfatter Del Skrevet 4. september 2007 Sjekk ut wikien til dvorient på http://dvorient.sourceforge.net Lenke til kommentar
CronoMan Skrevet 6. september 2007 Del Skrevet 6. september 2007 Jeg får vel begynne å hjelpe til litt jeg og Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå