Beste svaret
Miljøet er bokstavelig talt alt som er installert på maskinen din som kan påvirke utviklingen og / eller testing av applikasjonen din – det kan inkluderer:
- Redaktørene / IDEene du bruker (kan påvirke hvor effektivt du kan skrive kode).
- Hvilke kompilatorer / tolker du bruker, og deres eksakte versjoner – kan påvirke om koden din skal utføres i det hele tatt, eller hvor effektivt den gjør det.
- Operativsystemet som er installert på maskinen din – Kan godt ha en betydelig innvirkning på hvordan koden din skrives.
- Miljøvariablene som er angitt på maskinen din, spesielt relevante under testing, da disse kan påvirke visse funksjoner i noen applikasjoner dramatisk.
- De ekstra bibliotekene som er installert på maskinen din (inkludert potensielt alle som er installert av andre programmer); kan påvirke hvor godt koden din vil kjøre på andres maskiner (med potensielt forskjellige biblioteksversjoner installert)
- Andre programmer som kjører på maskinen din, spesielt under testing av belastning og ytelse.
- RAM og diskplass på maskinen din: kan påvirke hvor godt koden din fungerer, spesielt under belastnings- / stresstestforhold.
- Lokal nettverkskapasitet og tilkobling: kan direkte påvirke hvor godt noen programmer fungerer (eller faktisk hvis de fungerer i det hele tatt).
Ideelt sett bør utviklingsmiljøet være så rent som du kan lage det – bare installer de bibliotekene som koden din trenger, og bruk bare versjonene av kompilatoren / tolken du har planlegger å bruke. På samme måte for funksjonell testing trenger du et rent miljø der applikasjonen din bare kan utføres med versjonene av bibliotekene du planlegger.
For belastning / stresstesting må du gå et skritt videre – en helt steril maskin uten andre applikasjoner som kjører på det enn operativsystemet, og bare programmet ditt og avhengighetene som er installert på det. Noen organisasjoner vil gå så langt som å gjøre en fullstendig diskslette og installere på nytt når de planlegger å stresse testprogrammer.
Svar
Programmering er prosessen med å ta en algoritme og kode den inn i en notasjon, et programmeringsspråk, slik at det kan kjøres av en datamaskin. Selv om det finnes mange programmeringsspråk og mange forskjellige typer datamaskiner, er det viktigste første trinnet behovet for å ha løsningen. Uten en algoritme kan det ikke være noe program.
Datavitenskap er ikke studiet av programmering. Programmering er imidlertid en viktig del av det en datalog gjør. Programmering er ofte måten vi skaper en representasjon for løsningene våre. Derfor blir denne språkrepresentasjonen og prosessen med å lage den en grunnleggende del av disiplinen.
Algoritmer beskriver løsningen på et problem i form av dataene som trengs for å representere problemforekomsten og trinnene som er nødvendige for å produsere det tiltenkte resultatet. Programmeringsspråk må gi en notasjonell måte å representere både prosessen og dataene på. For dette formål gir språk kontrollkonstruksjoner og datatyper.
Kontrollkonstruksjoner tillater algoritmiske trinn å bli representert på en praktisk, men entydig måte. Som et minimum krever algoritmer konstruksjoner som utfører sekvensiell prosessering, valg for beslutningstaking og iterasjon for repeterende kontroll. Så lenge språket gir disse grunnleggende setningene, kan det brukes til algoritmrepresentasjon.
Alle dataelementene i datamaskinen er representert som strenger av binære sifre. For å gi disse strengene mening, må vi ha datatyper. Datatyper gir en tolkning for disse binære dataene slik at vi kan tenke på dataene i termer som er fornuftige med hensyn til problemet som løses. Disse innebygde datatypene på lavt nivå (noen ganger kalt primitive datatyper) gir byggesteinene for algoritmeutvikling.
For eksempel gir de fleste programmeringsspråk en datatype for heltall. Strenger av binære sifre i datamaskinens minne kan tolkes som heltall og gis de typiske betydningene vi ofte forbinder med heltall (f.eks. 23, 654 og -19). I tillegg gir en datatype også en beskrivelse av operasjonene som dataelementene kan delta i. Med heltall er operasjoner som addisjon, subtraksjon og multiplikasjon vanlig. Vi har forventet at numeriske typer data kan delta i disse aritmetiske operasjonene.
Vanskeligheten som ofte oppstår for oss, er det faktum at problemer og løsningene deres er svært komplekse. Disse enkle, språkgitte konstruksjonene og datatypene, selv om de absolutt er tilstrekkelige til å representere komplekse løsninger, er vanligvis i en ulempe når vi arbeider gjennom problemløsingsprosessen. Vi trenger måter å kontrollere denne kompleksiteten og hjelpe til med å lage løsninger.