tomsi42 Skrevet 9. mars 2012 Del Skrevet 9. mars 2012 Jeg ser at Lua er populær i spilleverdenen; og et ikke helt ukjent fotoprogram, Adobe Lightroom, er også delvis programmert i Lua (ca 63%).Har også mulighet til å lage programmer i Lua for en av mp3 spillerene mine (Creative X-Fi 2) :!: Det jeg har sett tyder på ren syntax; lite særegenheter. Største ulempen er mangelen på objekter (dvs. man kan drive med objekt-orientert programmer i Lua, og det er litt mindre smertefullt enn i Perl. Men bra er det ikke). Lenke til kommentar
Gjest Slettet+9871234 Skrevet 9. mars 2012 Del Skrevet 9. mars 2012 (endret) Til spillprogrammering, om jeg var ung og hadde tid, ville jeg personlig valgt Python + C++ / C Men Lua skulle ha noen gode egenskaper som jeg nå ikke husker. Noen komparative fortrinn har de fleste språk. PHP, JavaScript (biblioteker http://javascriptlibraries.com/ holder for enkle nettspill). Noen som kjenner http://emberjs.com/ Endret 9. mars 2012 av Slettet+9871234 Lenke til kommentar
tomsi42 Skrevet 9. mars 2012 Del Skrevet 9. mars 2012 Jeg har ikke under noen omstendigheter tenkt å begynne med spillprogrammering. Men jeg kan tenke meg et ryddig språk som jeg kan lage greie små programmer i; som ikke er fullt av merkelige særegenheter. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 9. mars 2012 Del Skrevet 9. mars 2012 Da kan du nok bruke Lua. Lenke til kommentar
Blåbær Skrevet 9. mars 2012 Del Skrevet 9. mars 2012 LUA er egentlig scriptespråk og brukes mest for å gjøre enkle ting. Ev scripte i andre programmer, en av musikkprogrammene jeg bruker LUA hvis man vil scripte småting. http://renoise.com/tools Lenke til kommentar
tomsi42 Skrevet 10. mars 2012 Del Skrevet 10. mars 2012 Det er det inntrykket jeg har fått - et greit språk til de små (og litt større) programmene. Lenke til kommentar
GeirGrusom Skrevet 10. mars 2012 Del Skrevet 10. mars 2012 Run-timen er også et poeng i seg selv når en velger en scriptmotor. CPython synes jeg er i overkant smertefull å implementere sammenlignet med LUA, fordi run-timen er litt komplisert å forholde seg til. Squirrel er også et scriptspråk som jeg har hatt god erfaring med. Det er ganske enkelt å bruke, samt at det har en syntaks som jeg har en tendens til å være veldig forenelig med. Lenke til kommentar
tomsi42 Skrevet 10. mars 2012 Del Skrevet 10. mars 2012 Squirrel, den var ny Tydeligvis inspirert av Lua (med flere). Lenke til kommentar
Gjest Slettet+9871234 Skrevet 10. mars 2012 Del Skrevet 10. mars 2012 (endret) Det går jo greitt å kombinere Python med C / C++. Hva med Lua og Squirrel? Squirrel http://squirrel-lang.org/ var for øvrig nytt for meg også. Har denne http://www.squirrelsql.org/ noe med Squirrel å gjøre? Endret 10. mars 2012 av Slettet+9871234 Lenke til kommentar
tomsi42 Skrevet 10. mars 2012 Del Skrevet 10. mars 2012 Såvidt jeg har skjønt, så er det veldig enkelt å integrere Lua og C. Lenke til kommentar
GeirGrusom Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Fant en MONSTER bug i C# i dag som jeg har klødd meg i hodet over. Jeg bruker ?? operatøren for å få en standardverdi fra Session variabler... Derimot er det noe veldig snodig med denne operatøren. Til tross for at MSDN og C# standarden hevder den er left associative, så er den faktisk ikke det. Derfor fikk jeg følgende feil: bool someValue = (bool)(Session["Abc123"] ?? false); someValue ble alltid false, men under debugging så hevdet debuggeren at resultatet skulle bli true. http://msdn.microsoft.com/en-us/library/ms173224.aspx Hva i svarte er det de tenker med når de bytter dette fra en versjon av C# til den neste? Lenke til kommentar
Gjest Slettet+9871234 Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 (endret) Hva i svarte er det de tenker med når de bytter dette fra en versjon av C# til den neste? Hold deg til C elle C++ om du trenger en kompilator. Og så var det M$ da. De skulle kanskje aldri funnet opp C# og internet explorer så hadde de gjerne spart verden for en del trøbbel. Er forresten ?? en operator i den siste C++ og eller C standarden? Endret 12. mars 2012 av Slettet+9871234 Lenke til kommentar
GeirGrusom Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 (endret) Hva i svarte er det de tenker med når de bytter dette fra en versjon av C# til den neste? Hold deg til C elle C++ om du trenger en kompilator. Og så var det M$ da. De skulle kanskje aldri funnet opp C# og internet explorer så hadde de gjerne spart verden for en del trøbbel. Er forresten ?? en operator i den siste C++ og eller C standarden? C# er ganske ålreit språk generelt. Men akkurat dette irriterer meg. Det minner litt om hvordan de byttet hva divisjonsoperatøren gjorde i Python 3.0. ?? er ikke i C++ etter det jeg vet. Det den brukes til er at dersom det ene uttrykket er null, så skal den returnere det andre. Kjekt for å få standardverdier. Endret 12. mars 2012 av GeirGrusom Lenke til kommentar
Gjest Slettet+9871234 Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 C# er ganske ålreit språk generelt. Men akkurat dette irriterer meg. Det minner litt om hvordan de byttet hva divisjonsoperatøren gjorde i Python 3.0. Mange har irritert seg på det. Enkelte lærebøker anbefaler også å bruke Python 2.7.+ Der er for lite kode til Python 3.+ hevders det. Jeg bruker begge. ?? er ikke i C++ etter det jeg vet. Det den brukes til er at dersom det ene uttrykket er null, så skal den returnere det andre. Kjekt for å få standardverdier. Men er NULL entydig definert? Lenke til kommentar
GeirGrusom Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 C# er ganske ålreit språk generelt. Men akkurat dette irriterer meg. Det minner litt om hvordan de byttet hva divisjonsoperatøren gjorde i Python 3.0. Mange har irritert seg på det. Enkelte lærebøker anbefaler også å bruke Python 2.7.+ Der er for lite kode til Python 3.+ hevders det. Jeg bruker begge. ?? er ikke i C++ etter det jeg vet. Det den brukes til er at dersom det ene uttrykket er null, så skal den returnere det andre. Kjekt for å få standardverdier. Men er NULL entydig definert? I C++11 har du nullptr som er entydig definert og kan ikke forveksles med heltall slikk NULL kan. I C++03 er vel NULL definert til 0 og i C er NULL definert som (void*)0 om jeg ikke tar feil. Lenke til kommentar
Gjest Slettet+9871234 Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Men jeg tenkte på definisjonen av NULL i C#, Lenke til kommentar
tomsi42 Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Rotet i gammel perl kode i dag. Og skjønte noe! Scary ... 2 Lenke til kommentar
GeirGrusom Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 (endret) Men jeg tenkte på definisjonen av NULL i C#, null i C# kan bety to ting: en null peker (i klassisk C sammenheng) og et null objekt. Null objekt er på langt nær den vanligste bruken, da C pekere ernoe man svært sjeldent benytter seg av i C#. .NET sin garbage collector vil flytte minne, eller slette minne som den selv føler for. Derfor er ikke et objekt i C# det samme som et objekt i C++. Det er ikke trygt å caste et .NET objekt til en peker ettersom objektet kan flytte på seg eller forsvinne helt fra minneområdet (for å unngå dette har man fixed syntaksen). Null er et definert objekt som ikke er en gyldig datamengde noen steder, og å benytte det til noe vil gi NullReferenceException. string myString = null; var str = myString.SubString(0, 4); // Null reference exception Som en peker derimot betyr det noe annet, og da er det rett og slett peker til 0 (som i C og C++). unsafe { int* myPtr = null; *myPtr = 100; } edit: Ett bruksområde til, for nullabel types. Nullable<T> er en struktur som gjør at value types kan også representere null verdi. I dette tilfellet så kan null brukes for å sjekke om en nullable er satt eller ikke void SomeFunc(int? argument) if(argument == null) return; if(argument == 50) throw new Exception("Value er femti "); if(argument == 0) throw new Exception("Value er 0, men ikke null"); Her er det egentlig bare kompilatormagi i gang, fordi int? er ikke det samme som en peker, men en struktur med en bool og en int. Endret 12. mars 2012 av GeirGrusom Lenke til kommentar
Gjest Slettet+9871234 Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 OK, hadde det i analogi med == og === operatorene i JavaScript og PHP blitt bedre om man hadde hatt en ?? og en ??? operator i C#? Lenke til kommentar
GeirGrusom Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 OK, hadde det i analogi med == og === operatorene i JavaScript og PHP blitt bedre om man hadde hatt en ?? og en ??? operator i C#? Statisk typede språk har typisk ikke noen nytte av === operatøren. I de fleste tilfeller vet du hvilke datatyper du sammenligner, og du kan overlaste == operatøren om du ønsker det. En ??? operatør ville også vært overflødig av samme grunn: Resultatet vil være statisk typet. 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å