Gå til innhold

Snedige ting du lurer på V.2


Anbefalte innlegg

Videoannonse
Annonse

Hvordan lager man egentlig et programmeringsspråk fra bunnen av? Tenker f.eks. hvordan selve programmet MATLAB ble laget. Man programmer, men hvordan programmerer man noe som ikke har noe språk fra før av?

 

For å oversette det bruker man vel et lavere nivå språk som "Assembly" antar jeg. Eller kanskje man går rett fra compileren til maskinkode?

Selve programmet blir noe annet igjenn. Det kan vel lages i et annet språk som ikke trenger å være så lavnivå som assembly. Man kan jo f.eks bruke #C++. For selve programmet er jo ikke koden. Det er jo bare et grafisk brukergrensesnitt med noen funksjoner og et program som oversetter koden til maskinkode, el. Så det kan jo programmeres i et hvilket som helst annet språk.

 

 

Ett lite google søk ga dette resultatet: http://stackoverflow.com/questions/1653649/how-was-the-first-compiler-written

Assembly instructions are (generally) a direct mapping to opcodes, which are (multi-)byte values of machine code that can be directly interpreted by the processor. It is quite possible to write a program in opcodes directly by looking them up from a table (such as this one for the 6039 microprocessor, for example) that lists them with the matching assembly instructions, and hand-determining memory addresses/offsets for things like jumps.

 

The first programs were done in exactly this fashion - hand-written opcodes.

However, most of the time it's simpler to use an assembler to "compile" assembly code, which automatically does these opcode lookups, as well as being helpful in computing addresses/offsets for named jump labels, et cetera.

 

The first assemblers were written by hand. Those assemblers could then be used to assemble more complicated assemblers, which could then be use to assemble compilers written for higher-level languages, and so on. This process of iteratively writing the tools to simplify the creation of the next set of tools is called (as mentioned by David Rabinowitz in his answer) bootstrapping.

  • Liker 2
Lenke til kommentar

Det stemmer, Superslask og Mannen med ljåen, men nå sa jeg jo at en kg masse tilsvarte c2 -- eller 1c2, om dere vil.

Enheter, enheter, enheter!

 

Alltid husk å ta med enheter når du regner ut fysiske størrelser. Om du velger å regne i pund, fot osv stemmer fremdeles E=mc2, men du ser at det kun var pga ditt valg av enheter at 1kg så spesielt ut.

  • Liker 1
Lenke til kommentar

Enheter, enheter, enheter!

 

Alltid husk å ta med enheter når du regner ut fysiske størrelser. Om du velger å regne i pund, fot osv stemmer fremdeles E=mc2, men du ser at det kun var pga ditt valg av enheter at 1kg så spesielt ut.

Ok, men jeg er fortsatt like forundret. Er det da noen kvaliteter med kg, m og s som gjør at de henger sammen så fortreffelig når det gjelder E=mc2?

  • Liker 1
Lenke til kommentar

I grunnen ikke, men du må sette inn alt for å se hvordan ting egentlig ser ut: E = 1 kg c^2 = 9*10^16 J. Hvor spesielt ser det ut nå? Om du setter inn f.eks. 1mg bli det jo nøyaktig like enkelt, og om du setter inn 1/9 g kan man argumentere for at det bli enda enklere.

  • Liker 1
Lenke til kommentar

Sånn jeg har forstått det så er en av grunnene til at goth folk bruker svarte klær at det symboliserer døden.

Men det er ikke nødvendigvis det som er symbolet for døden i andre kulturer. I Kina og Japan er døden symbolisert med hvitt. Keltisk kultur bruker rødt.

Betyr det at om en skal være goth i Kina så burde en gå mest mulig i hvitt?

Lenke til kommentar
Ok, men jeg er fortsatt like forundret. Er det da noen kvaliteter med kg, m og s som gjør at de henger sammen så fortreffelig når det gjelder E=mc2?

Selvsagt er det det. De såkalte metriske enhetene (SI-enhetene) ble opprinnelig definert på en slik måte at de hang sammen. Meteren kom først, 1 meter ble opprinnelig definert som 1/10.000.000.000 av den meridianen som går fra fra nordpolen til ekvator og som passerer gjennom Paris. Paris ble valgt fordi dette var senter for den franske revolusjonen, og det var den franske revolusjonen som satte i gang prosessen med å finne på nye og moderne måleenheter.

 

Den første normalmeteren ligger fortsatt i et kjellerhvelv i Paris, og selv om meteren forlengst er redefinert på en slik måte at normalmeteren ikke lengre er nødvendig, så oppbevares fortsatt normalmeteren under streng bevoktning og et kontrollert klima. Fordi meteren opprinnelig ble definert slik den ble, er det altså en god grunn til at jordas omkrets er ca 40.000 km, eller 40 millioner meter.

 

1 kg ble opprinnelig definert som massen av 1 dm³ vann ved 20°C ved havnivået. 1 dm³ kalles også 1 liter. I Paris ligger også det opprinnelige normal-kg-loddet, men også dette er nå erstattet. Så godt som alle SI-enhetene henger sammen slik at 1 enhet med det ene ofte tilsvarer 1 enhet av noe annet.

 

Derfor er det slett ikke så merkelig at man finner slike klare sammenhenger i SI-systemet. Det er jo sånn systemet er definert.

  • Liker 1
Lenke til kommentar

Hva koster det egentlig å sende en typisk reklamefilm for Lano midt i Simpsons?

Hva koster det å "sponse" et program i NRK?

 

TV2s veiledende prising er fra 4.500 per 30 sekund for de billigste reklameblokkene. Og opptil 125.000 for 30 sekunder på de mest populære programmene.

  • Liker 2
Lenke til kommentar

Hvorfor opplever vi "fyllenerver"? Hvorfor er det helt annerledes enn andre "nerver"?

Det er som med de fleste rusmidler som forårsaker humørsvingninger. Når man drikker, blir man i ualminnelig godt humør, og når man deretter kommer ned igjen, har pendelen en tendens til å svinge litt langt over på andre siden. Det er derfor man kan våkne opp og føle som om man skulle ha begått sitt livs største flause, selv om man vet det ikke skjedde noe spesielt kvelden før.

  • Liker 1
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...