Migliore risposta
Lambiente è letteralmente tutto ciò che è installato sulla tua macchina che può influenzare lo sviluppo eo il test della tua applicazione – questo può includi:
- Gli editor / IDE che stai utilizzando (possono influire sullefficienza con cui puoi scrivere codice).
- Quali compilatori / interpreti stai utilizzando e le loro esatte versioni – può influire sul fatto che il codice verrà eseguito o sullefficienza con cui lo fa.
- Il sistema operativo installato sulla macchina: può avere un impatto significativo sulla modalità di scrittura del codice.
- Le variabili dambiente impostate sulla tua macchina, particolarmente rilevanti durante i test in quanto possono influenzare drasticamente alcune funzioni di alcune applicazioni.
- Le librerie extra installate sulla tua macchina (incluse potenzialmente quelle installate da altri programmi); può influenzare il modo in cui il tuo codice verrà eseguito sulle macchine di altre persone (con versioni di libreria potenzialmente diverse installate)
- Altri programmi in esecuzione sulla tua macchina, specialmente durante i test di carico e delle prestazioni.
- RAM e spazio su disco sulla tua macchina: possono influenzare le prestazioni del tuo codice specialmente in condizioni di carico / stress test
- La capacità della rete locale e la connettività: possono influenzare direttamente il funzionamento di alcuni programmi (o addirittura se funzionano affatto).
Idealmente il tuo ambiente di sviluppo dovrebbe essere il più pulito possibile – installa solo le librerie di cui il tuo codice ha bisogno e usa solo le versioni del compilatore / interprete che prevede di utilizzare. Allo stesso modo per i test funzionali è necessario un ambiente pulito in cui lapplicazione può essere eseguita solo con le versioni delle librerie che si pianificano.
Per i test di carico / stress è necessario fare un ulteriore passo avanti: una macchina completamente sterile senza altre applicazioni in esecuzione su di esso oltre al sistema operativo e solo la tua applicazione e le dipendenze installate su di essa. Alcune organizzazioni arriveranno al punto di eseguire una pulizia completa del disco e reinstallarlo quando pianificano di eseguire programmi di stress test.
Risposta
La programmazione è il processo di prendere un algoritmo e codificarlo in un notazione, un linguaggio di programmazione, in modo che possa essere eseguito da un computer. Sebbene esistano molti linguaggi di programmazione e molti diversi tipi di computer, il primo passo importante è la necessità di avere la soluzione. Senza un algoritmo non può esserci alcun programma.
Linformatica non è lo studio della programmazione. La programmazione, tuttavia, è una parte importante di ciò che fa un informatico. La programmazione è spesso il modo in cui creiamo una rappresentazione per le nostre soluzioni. Pertanto, questa rappresentazione del linguaggio e il processo di creazione diventa una parte fondamentale della disciplina.
Gli algoritmi descrivono la soluzione a un problema in termini di dati necessari per rappresentare listanza del problema e linsieme di passaggi necessari per produrre il risultato desiderato. I linguaggi di programmazione devono fornire un modo notazionale per rappresentare sia il processo che i dati. A tal fine, i linguaggi forniscono costrutti di controllo e tipi di dati.
I costrutti di controllo consentono di rappresentare i passaggi algoritmici in modo conveniente ma non ambiguo. Come minimo, gli algoritmi richiedono costrutti che eseguano lelaborazione sequenziale, la selezione per il processo decisionale e literazione per il controllo ripetitivo. Finché il linguaggio fornisce queste istruzioni di base, può essere utilizzato per la rappresentazione dellalgoritmo.
Tutti gli elementi di dati nel computer sono rappresentati come stringhe di cifre binarie. Per dare un significato a queste stringhe, abbiamo bisogno di tipi di dati. I tipi di dati forniscono uninterpretazione per questi dati binari in modo che possiamo pensare ai dati in termini che abbiano senso rispetto al problema da risolvere. Questi tipi di dati incorporati di basso livello (a volte chiamati tipi di dati primitivi) forniscono i mattoni per lo sviluppo di algoritmi.
Ad esempio, la maggior parte dei linguaggi di programmazione fornisce un tipo di dati per gli interi. Le stringhe di cifre binarie nella memoria del computer possono essere interpretate come numeri interi e dati i significati tipici che comunemente associamo a numeri interi (ad esempio 23, 654 e -19). Inoltre, un tipo di dati fornisce anche una descrizione delle operazioni a cui possono partecipare gli elementi di dati. Con i numeri interi, le operazioni come laddizione, la sottrazione e la moltiplicazione sono comuni. Ci si aspetta che i tipi di dati numerici possano partecipare a queste operazioni aritmetiche.
La difficoltà che spesso si presenta per noi è il fatto che i problemi e le loro soluzioni sono molto complessi. Questi semplici costrutti e tipi di dati forniti dal linguaggio, sebbene certamente sufficienti per rappresentare soluzioni complesse, sono tipicamente svantaggiati mentre lavoriamo attraverso il processo di risoluzione dei problemi. Abbiamo bisogno di modi per controllare questa complessità e assistere nella creazione di soluzioni.