Beste antwoord
De omgeving is letterlijk alles dat op uw computer is geïnstalleerd, wat de ontwikkeling en / of het testen van uw applicatie kan beïnvloeden – dat kan omvatten:
- De editors / IDEs die u gebruikt (kunnen invloed hebben op hoe efficiënt u code kunt schrijven).
- Welke compilers / tolken u gebruikt, en hun exacte versies – kan van invloed zijn op of uw code überhaupt wordt uitgevoerd, of hoe efficiënt het doet.
- Het besturingssysteem dat op uw computer is geïnstalleerd – kan een aanzienlijke invloed hebben op hoe uw code wordt geschreven.
- De omgevingsvariabelen die op uw computer zijn ingesteld, zijn vooral relevant tijdens het testen, aangezien deze bepaalde functies van sommige toepassingen dramatisch kunnen beïnvloeden.
- De extra bibliotheken die op uw computer zijn geïnstalleerd (inclusief mogelijk alle bibliotheken die door andere programmas zijn geïnstalleerd); kan van invloed zijn op hoe goed uw code zal werken op de computers van andere mensen (met mogelijk verschillende bibliotheekversies geïnstalleerd)
- Andere programmas die op uw computer draaien, vooral tijdens het laden en testen van de prestaties.
- De beschikbare RAM en schijfruimte op uw computer: kunnen van invloed zijn op hoe goed uw code presteert, vooral onder belasting / stresstestomstandigheden.
- De capaciteit en connectiviteit van het lokale netwerk: kunnen rechtstreeks van invloed zijn op hoe goed sommige programmas werken (of zelfs helemaal).
Idealiter zou uw ontwikkelomgeving zo schoon moeten zijn als u het kunt maken – installeer alleen die bibliotheken die uw code nodig heeft, en gebruik alleen de versies van de compiler / interpreter die u van plan te gebruiken. Evenzo heeft u voor functionele tests een schone omgeving nodig waar uw toepassing alleen kan worden uitgevoerd met de versies van de bibliotheken waarvoor u plant.
Voor belasting- / stresstests moet u een stap verder gaan – een volledig steriele machine zonder dat er andere applicaties op draaien dan het besturingssysteem, en alleen uw applicatie en de afhankelijkheden die erop zijn geïnstalleerd. Sommige organisaties gaan zelfs zo ver dat ze de schijf volledig wissen en opnieuw installeren wanneer ze programmas willen stresstest.
Antwoord
Programmeren is het proces van het nemen van een algoritme en het coderen in een notatie, een programmeertaal, zodat deze door een computer kan worden uitgevoerd. Hoewel er veel programmeertalen en veel verschillende soorten computers bestaan, is de belangrijkste eerste stap de behoefte aan een oplossing. Zonder algoritme kan er geen programma zijn.
Computerwetenschap is niet de studie van programmeren. Programmeren is echter een belangrijk onderdeel van wat een computerwetenschapper doet. Programmeren is vaak de manier waarop we een representatie van onze oplossingen creëren. Daarom wordt deze taalweergave en het proces om deze te creëren een fundamenteel onderdeel van de discipline.
Algoritmen beschrijven de oplossing voor een probleem in termen van de gegevens die nodig zijn om de probleeminstantie weer te geven en de reeks noodzakelijke stappen om het beoogde resultaat te produceren. Programmeertalen moeten een notatieve manier bieden om zowel het proces als de gegevens weer te geven. Daartoe bieden talen besturingsconstructies en gegevenstypen.
Besturingsconstructies maken het mogelijk dat algoritmische stappen op een gemakkelijke maar ondubbelzinnige manier worden weergegeven. Algoritmen vereisen ten minste constructies die sequentiële verwerking, selectie voor besluitvorming en iteratie voor herhaalde controle uitvoeren. Zolang de taal deze basisinstructies biedt, kan deze worden gebruikt voor weergave van algoritmen.
Alle gegevensitems op de computer worden weergegeven als reeksen van binaire cijfers. Om deze strings betekenis te geven, hebben we gegevenstypen nodig. Gegevenstypen bieden een interpretatie voor deze binaire gegevens, zodat we over de gegevens kunnen nadenken in termen die logisch zijn met betrekking tot het probleem dat wordt opgelost. Deze ingebouwde gegevenstypen op laag niveau (soms de primitieve gegevenstypen genoemd) vormen de bouwstenen voor de ontwikkeling van algoritmen.
De meeste programmeertalen bieden bijvoorbeeld een gegevenstype voor gehele getallen. Reeksen van binaire cijfers in het computergeheugen kunnen worden geïnterpreteerd als gehele getallen en gezien de typische betekenissen die we gewoonlijk associëren met gehele getallen (bijv. 23, 654 en -19). Bovendien geeft een gegevenstype ook een beschrijving van de bewerkingen waaraan de gegevensitems kunnen deelnemen. Bij gehele getallen zijn bewerkingen zoals optellen, aftrekken en vermenigvuldigen gebruikelijk. We zijn gaan verwachten dat numerieke soorten gegevens kunnen deelnemen aan deze rekenkundige bewerkingen.
De moeilijkheid die voor ons vaak opkomt, is het feit dat problemen en hun oplossingen erg complex zijn. Deze eenvoudige, door de taal geleverde constructies en gegevenstypen, hoewel zeker voldoende om complexe oplossingen weer te geven, zijn doorgaans in het nadeel wanneer we het probleemoplossingsproces doorlopen. We hebben manieren nodig om deze complexiteit te beheersen en te helpen bij het creëren van oplossingen.