Gå til innhold

ProgrammeringsBaren! Småprat, om det du elsker!


Anbefalte innlegg

  • 3 uker senere...
Videoannonse
Annonse

Nice ^^

 

Sitter og leker meg med Direct3D 10 nå, og alt i alt er det et temmelig bra API, men det skulle ikke ha noe av at jeg valgte BGRX fremfor BGRA som pixelformat, jeg brukte sikkert 20 minutter på å forstå hva som var galt (siden jeg fulgte en tutorial som bruke BGRX og ikke BGRA)

E_INVALIDARG er ikke akkurat en veldig beskrivende feilmelding heller :p

 

Ikke like ille som å bruke DirectDraw i VB6 da, "Runtime error" var den eneste feilmeldingen en fikk. En måtte bare gjette seg til hva som var galt, og DirectDraw var latterlig streng på at alle strukturer var 100% riktig på alle måter, ellers fikk en bare "Runtime error"

Det er greit med OpenGL at en skal gjøre temmelig forferdelig brutale ting før API-et nekter å svare.

Lenke til kommentar
  • 2 uker senere...

Jeg ser mye bra kode i forelesningene i TDT4105 (matlab) om dagene. :roll:

function lagrest = mx(list)
largest = intmin;
for i = 1:length(list)
	if list(i) > largest
		largest = list(i);
	end
end
end

Spesielt når "pseudokoden" ser slik ut:

INPUT list of numbers L
OUTPUT largest number i L

largest = -inf
foreach item in L do
if (item > largest) then
	largest = item
end if
end for

return largest

Hvorfor i alle dager erstatte -inf med intmin når språket har støtte for inf? Selv -realmax er latterlig mye mindre enn intmin.

Selv om all fornuftig logikk ville satt largest til første verdi i listen i stedet for å rote med en alle annen obskur startverdi. :wallbash:

 

Og det er alltid like kjekt at styrkene i språket ikke blir satt pris på. Jeg skjønner jo at tankegangen med tellevariabler kan være vanskelig å legge fra seg etter mange år med andre språk, men jeg har ikke sett følgende konstruksjon én eneste gang hittil:

for number = list
if number > largest
	largest = number;
end
end

Er de slik i de fleste introduksjonsfag?

Endret av endrebjo
Lenke til kommentar
Kan jeg spørre om hva som er hva i .NET?

 

Hva er forskjellen på C++ og C#, og vil disse for det meste brukes sammen med VB?

 

Går det å ha C++ med C#-elementer, vice versa?

 

.NET er et rammeverk for programvare. Det er ganske omfattende.

 

 

Nærmeste sammenligningen er Java, som er temmelig likt på flere måter.

 

.NET har et temmelig omfattende standardbibliotek (1.0, 1.1, 2.0, 3.0, 3.5 og snart 4.0) som inneholder funksjoner for stort sett alt en noen sinne måtte trenge.

 

I tillegg inneholder en vanlig .NET klientinstallasjon compiler for Visual Basic og C#. Hvis en får tak i Visual Studio, får du også compiler for C++/CLI som er en variant av C++ med noen .NET spesifikke utvidelser. Dette brukes hovedsaklig for å skrive wrapper biblioteker for native C++ bibliotek (helt eksempelvis PhysX) OpenGL, OpenAL osv. kan fint brukes i C# eller Visual Basic uten å skrive en wrapper i C++ fordi .NET kan dynamisk koble til C biblioteker (.NET bruker alltid delayed load)

 

Programmene funker hovedsaklig på samme måte som i Java, med unntakk av at .NET har et mellomspråk som andre kompileres til som kalles CIL (Common Intermediate Language) som ser ut som objektorientert assembly. Programmer blir i likhet med Java også kompilert til et slags byte code, og deretter blir det runtime kompilert til maskinkode for effektiv utførelse.

 

Etter min mening er .NET det smarteste produktet Microsoft har laget.

 

En kan ikke regelrett blande språk (for eksempel skrive C# i et C++ prosjekt) men det følger med et verktøy for å lenke assemblies sammen. Jeg har dog aldri brukt dette selv, da jeg synes det er enklere å bare skrive dll-er og legge dem til som referanser. For eksempel skrive en DLL i C++ som brukes i et C# program. Dette fordi dette er veldig enkelt å gjøre i Visual Studio (en bare velger Add Reference, og velger Project fanen)

Lenke til kommentar
  • 2 uker senere...
Spørsmål:

I generelle større operativsystem kan vi ofte få utført både sanntidskjøring og interaktiv

kjøring. Gi en kort forklaring på hver av disse typene.

 

Interaktiv kjøring vil det si kjøring av programmer som tar input direkte i fra bruker?

Og sanntidskjøring er programmer som kjører uten å bli forstyrret/vente på noe?

 

Dette har jeg aldri hørt om.

 

 

Men jeg regner med at du har rett; Interaktive programmer kan eksempelvis være GUI programmer som står stille så lenge brukeren ikke gjør noe. Sanntidsprogrammer kjører uten å stanse for å vente på input (eksempelvis dataspill, simuleringer, daemons/services etc.)

Lenke til kommentar
Og det som mange kaller en vektor er vel strengt tatt bare et to-dimensjonalt array.

 

Er det virkelig noen som kaller en todimensjonal array for en vektor??

Har alltid forundret meg hvorfor skoler på død og liv skal oversette alle "data-ord" til norsk. Det eneste de oppnår er å gjøre det vanskelig når man skal søke på begrepet..

 

Men over på noe annet. Noen som har sett noe på go?

Lenke til kommentar

Jeg mente selvfølgelig én-dimensjonal. :blush:

 

Selvfølgelig er det i tråd med ordbruken fra matematikk, men siden det potensielt kan være en liste med flere tusen elementer så synes jeg det blir søkt å kalle det vektorer. Fysikere trenger vel sjeldent mer enn 11 dimensjoner, og matematikere begynner vel å dra det langt nok med 24 dimensjoner. Hvem har da bruk for vektorer med 1000 dimensjoner?

Men på en annen side blir det sikkert like forvirrende hvis man begynner å sjonglere mellom matematiske og programatiske (er det et ord?) uttrykk innenfor samme språket.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...