Nejlepší odpověď
Prostředí je doslova všechno, co je na vašem počítači nainstalováno a které může ovlivnit vývoj nebo testování vaší aplikace – to může patří:
- Redaktoři / IDE, které používáte (mohou ovlivnit, jak efektivně můžete psát kód).
- Které překladače / tlumočníky používáte, a jejich přesné verze – může ovlivnit, zda se váš kód vůbec spustí, nebo jak efektivně to dělá.
- Operační systém nainstalovaný ve vašem počítači – může mít významný vliv na to, jak je váš kód napsán.
- Proměnné prostředí nastavené na vašem počítači, zvláště důležité během testování, protože mohou dramaticky ovlivnit určité funkce některých aplikací.
- Další knihovny nainstalované na vašem počítači (včetně potenciálně nainstalovaných jinými programy); může ovlivnit, jak dobře bude váš kód fungovat na počítačích jiných lidí (s nainstalovanými potenciálně různými verzemi knihoven)
- Další programy spuštěné na vašem počítači, zejména během testování zátěže a výkonu.
- Dostupné RAM a místo na disku na vašem počítači: může ovlivnit výkon vašeho kódu, zejména za podmínek zátěžových / zátěžových testů.
- Kapacita místní sítě a konektivita: mohou přímo ovlivnit, jak dobře fungují některé programy (nebo skutečně, pokud fungují). vůbec).
V ideálním případě by vaše vývojové prostředí mělo být co nejčistší – nainstalujte pouze ty knihovny, které váš kód potřebuje, a používejte pouze verze překladače / překladače, které používáte plán použít. Podobně pro funkční testování potřebujete čisté prostředí, kde se vaše aplikace může spouštět pouze s verzemi knihoven, pro které plánujete.
U zátěžových / zátěžových testů musíte jít o krok dále – zcela sterilní stroj na kterém není spuštěna žádná jiná aplikace než operační systém, a pouze vaše aplikace a na ní nainstalované závislosti. Některé organizace půjdou tak daleko, že při plánování zátěžových testovacích programů provedou úplné vymazání a přeinstalování disku.
Odpověď
Programování je proces převzetí algoritmu a jeho zakódování do zápis, programovací jazyk, aby jej mohl provádět počítač. Ačkoli existuje mnoho programovacích jazyků a mnoho různých typů počítačů, důležitým prvním krokem je potřeba mít řešení. Bez algoritmu nemůže existovat žádný program.
Počítačová věda není studium programování. Programování je však důležitou součástí toho, co dělá počítačový vědec. Programování je často způsob, jakým vytváříme reprezentaci našich řešení. Proto se tato jazyková reprezentace a proces jejího vytváření stává základní součástí disciplíny.
Algoritmy popisují řešení problému z hlediska dat potřebných k reprezentaci instance problému a souboru nezbytných kroků k dosažení zamýšleného výsledku. Programovací jazyky musí poskytovat notační způsob, jak reprezentovat proces i data. Za tímto účelem poskytují jazyky ovládací konstrukty a datové typy.
Konstrukční prvky ovládacího prvku umožňují pohodlné a jednoznačné znázornění algoritmických kroků. Minimálně algoritmy vyžadují konstrukce, které provádějí sekvenční zpracování, výběr pro rozhodování a iteraci pro opakované řízení. Pokud jazyk poskytuje tyto základní příkazy, lze jej použít k reprezentaci algoritmů.
Všechny datové položky v počítači jsou reprezentovány jako řetězce binárních číslic. Abychom těmto řetězcům dali smysl, musíme mít datové typy. Datové typy poskytují interpretaci těchto binárních dat, abychom mohli o datech přemýšlet z hlediska smyslů s ohledem na řešený problém. Tyto integrované datové typy na nízké úrovni (někdy nazývané primitivní datové typy) poskytují stavební kameny pro vývoj algoritmů.
Například většina programovacích jazyků poskytuje datový typ pro celá čísla. Řetězce binárních číslic v paměti počítače lze interpretovat jako celá čísla a vzhledem k typickým významům, které běžně spojujeme s celými čísly (např. 23, 654 a -19). Kromě toho datový typ také poskytuje popis operací, kterých se mohou datové položky účastnit. S celými čísly jsou běžné operace jako sčítání, odčítání a násobení. Očekávali jsme, že se numerické typy dat mohou účastnit těchto aritmetických operací.
Potíž, která pro nás často vzniká, je skutečnost, že problémy a jejich řešení jsou velmi složité. Tyto jednoduché, jazykově poskytované konstrukce a datové typy, i když jistě postačují k reprezentaci komplexních řešení, jsou obvykle v nevýhodě, když procházíme procesem řešení problémů. Potřebujeme způsoby, jak tuto složitost kontrolovat a pomáhat s vytvářením řešení.