Články

Tisk článku Tisk článku

Úvod, vývojové prostředí a základní pojmy

[Zpět na kategorii]

Datum: 25. 4. 2007 17:20       Autor: Tomáš Herceg       Zobrazeno: 31858x

Kategorie: Začínáme

Témata: VB.NET

Seriál: VB.NET od začátku - Díl 1.

V tomto díle si vysvětlíme základní pojmy týkající se programování, řekneme si, co je to .NET framework. Také si ukážeme, co budeme k programování potřebovat (vše je zdarma k dispozici) a kde se potřebné vývojové prostředí dá stáhnout.


Co je programování a jak to všechno začalo?

Nejstarší počítač byl vynalezen už ve druhém tisíciletí před naším letopočtem v Mezopotámii. Bylo jím počítadlo, které značně usnadnilo sčítání a odčítání. Toto počítadlo bylo později zdokonaleno ve starověkém Římě, kde dostalo podobu desky s drážkami, ve kterých se posouvaly malé kamínky - tzv. kalkuly.

O konstrukci mechanických počítačů se pokoušelo mnoho lidí, v roce 1947 byl objeven tranzistor - součástka, která odstartovala rozvoj výpočetní techniky. Od této chvíle se začaly stavět tranzistorové počítače a díky nanotechnologiím dnes máme procesory, které obsahují stovky milionů tranzistorů na ploše několika čtverečních centimetrů.

Procesory jsou velmi složité součástky, které umí zpracovávat instrukce. Sada instrukcí se nazývá program. Nejdříve se programy zapisovaly v tzv. strojovém kódu, což bylo velmi složité a nepraktické. Proto byl vymyšlen jazyk assembler, který zápis programů značně usnadnil, ale pořád to bylo velice komplikované.

Velmi záhy se proto objevily první programovací jazyky (Fortran a Cobol), které přinesly do programování spoustu nových prvků. S příchodem jazyků C, Pascal a Basic se začalo na dlouhou dobu používat tzv. strukturované programování. Program měl jasně definovaný začátek a konec, některé jeho části se mohly spustit opakovaně podle potřeby, často opakující se úkony s jiným nastavením se daly zapsat jako funkce s parametry atd.

Kromě toho se vyvinulo i tzv. objektově orientované programování, které přináší trochu jiný přístup, díky němuž se ve většině případů nadělá méně chyb a je snadnější psát aplikace tak, aby se v budoucnu daly rozšiřovat a měnit s menším úsilím. Neplatí to vždy, ale pokud jej pořádně pochopíte a naučíte se základní návrhové vzory, tohoto výsledku dosáhnete nebo se mu alespoň velmi přiblížíte.

S příchodem operačního systému Windows a obecně okenních prostředí (začalo to už dříve, i v MS-DOSu byly aplikace, které měly něco jako okna), se dosavadní koncepce ovládání a práce s programy značně změnila. V dřívějších dobách typicky program na začátku dostal data, pak chvíli pracoval a vyplivnul výsledek. Dnešní aplikace jsou mnohem interaktivnější – čekají, kdy uživatel vybere z menu nějakou položku, klikne na tlačítko, napíše něco někam, něco někam přetáhne myší atd.

Tomuto vývoji bylo třeba se přizpůsobit a strukturované programování pro to nebylo nejvhodnější (i když to v něm šlo). Objevila se potřeba umět okenní aplikace vyvíjet rychle a systematicky, odstranit často se opakující rutinní konstrukce. I to je jeden z důvodů, proč se objektově orientované programování v posledních letech rozmohlo a dnešní jazyky jsou ryze objektové.

První jazyk, který se “přizpůsobil” programování pro operační systém Windows a umožňoval jednoduše vytvářet složité okenní aplikace, byl právě Visual Basic, který se vyvinul z jazyka QBASIC, což byla mutace původního jazyka BASIC v operačním systému MS-DOS. Jazyk BASIC byl vymyšlen někdy kolem roku 1965 a je to pravděpodobně jazyk, který prodělal nejradikálnější vývoj, od strukturovaného po ryze objektově orientované programování.

Poslední verze klasického jazyka Visual Basic je verze 6 z roku 1998. Dnes v ní stále ještě programuje pár lidí, ale nemá smysl se ji učit, máme totiž novou verzi Visual Basic .NET, což je nová generace jazyka Visual Basic, značně vylepšená a postavená nad .NET Frameworkem (co to je si vysvětlíme za chvíli).

V současnosti je nejnovější verze jazyka Visual Basic 10 (přídomek .NET se nepíše, ale všechny verze od sedmičky nahoru jsou na .NETu). Abyste v něm mohli vyvíjet, potřebujete nějaké vývojové prostředí (dá se to i bez něj, ale to je jen pro sadomasochisty anebo pro experty, tento seriál s tím nepočítá). Microsoft uvolnil základní edici vývojového prostředí, ve kterém se aplikace pro Visual Basic .NET programují, zdarma, a to i pro komerční použití.

Základní princip programování

V běžných programovacích jazycích programátor zapisuje program pomocí příkazů, které většinou vychází z anglických slov nebo zkratek. Celému zápisu programu se říká zdrojový kód. Aby se program mohl provést, je nutné jej předat procesoru, ale procesor zná jen svůj strojový kód, který se skládá z velmi primitivních instrukcí (posuň v paměti něco někam, nastav sem do paměti něco, sečti tyhle dva kusy paměti atd.).

Zdrojový kód se tedy musí do kódu strojového převést - zkompilovat. Protože jeden příkaz ve Visual Basicu se může převést na desítky instrukcí ve strojovém kódu a po kompilaci se provádí mnoho optimalizací a zjednodušení strojového kódu kvůli rychlosti a velikosti spustitelného souboru, není jednoduše možné ze strojového kódu dostat kód zdrojový. Kompilace je tedy z velké části nevratný proces, jehož výsledkem je soubor s příponou EXE, který můžeme spustit. Některé jazyky umožňují spustit své programy bez kompilace (tomu říkáme interpretované jazyky), ovšem výsledný program je velmi pomalý, protože překlad instrukcí probíhá ve chvíli, kdy jsou potřeba. Zkompilovaný program je nesrovnatelně rychlejší.

První procesory uměly pouze několik různých instrukcí, zatímco nejnovější procesory umí instrukcí daleko více. Tyto instrukce se ale nemohou dost dobře využívat. Operační systém Windows i většina programů musí být kompilována do základní instrukční sady, kterou umí všechny procesory, i ty staré. Nové instrukce obecně nemůžeme použít, programy by nefungovaly na starších počítačích. Tím pádem na rychlých procesorech nemůžeme využít všechen výkon, který bychom využít mohli. Jsou výjimky, dá se to obejít a dělá se to, ale není to úplně jednoduché.

A k čemu je ten .NET?

Visual Basic .NET pracuje na rozhraní .NET (čteno dotnet), které výsledný program nezkompiluje do strojového kódu, ale do jakéhosi mezikódu, kterému se říká CIL (Common Intermediate Language). Tento mezikód se zabalí do souboru EXE a distribuuje se na všechny počítače v této podobě, není to přímo strojový kód. Když pak program chceme spustit, zkompiluje se těsně před tím do strojového kódu až na konkrétním počítači, kde se spouští (navíc se kompiluje jen to, co je z programu potřeba, před prvním spuštěním; říká se tomu JIT – Just In Time).

Výhoda je ta, že se může zkompilovat do strojového kódu a použít instrukce, které umí procesor, který kod spouští. Celý program se zoptimalizuje pro daný počítač tak, aby běžel co nejrychleji. Navíc kompilace probíhá pouze jednou, zkompilované části programu se kamsi uloží a při dalším použití programu se pouze spustí.

Obecně tyto programy nejsou tak rychlé, jako programy, které jsou přímo kompilované (jsou výjimky), i když programy kompilované JITem se optimalizují pro daný procesor; zdržuje je ta kompilace, navíc není tolik času, aby se mohly provádět složitější optimalizace.

Dost už bylo povídání, začínáme!

Abyste mohli začít programovat, potřebujete mít vývojové prostředí a kompilátor. Pro potřeby tohoto seriálu je třeba stáhnout si Visual Basic .NET 2010 Express Edition, která je k dispozici zdarma na adrese http://www.microsoft.com/express/Windows/.

A ještě jedna věc na závěr. Pokud se chcete naučit programovat, předpokládá se, že umíte obsluhovat a ovládat počítač na uživatelské úrovni, že umíte pracovat se soubory, alespoň trochu ovládat Word a Excel a pracovat s Internetem. Bez těchto znalostí se daleko nedostanete. Hodí se také trocha angličtiny, většina materiálů totiž není česky.

Množí se také dotazy, jestli neexistuje překlad vývojového prostředí do češtiny. Odpověď zní zatím neexistuje, ale Microsoft jej chystá. Podle mě se to ale hodí jen pro ty, kteří opravdu anglicky vůbec neumí, a to jen ze začátku. Mnoho termínů se ani do češtiny přeložit nedá (to je vidět i v tomto textu, něco prostě nepřekládám, protože není jak a i kdybych něco vymyslel a nějak to přeložil, až to uvidíte v angličtině, nevěděli byste, o co jde).


> Na začátek

 

Hodnocení:

Hlasů: 76
Zvolte své hodnocení

Tomáš Herceg

Autor pochází z Třebíče, kde vystudoval osmileté gymnázium, nyní je studentem druhého ročníku bakalářského studia Matematicko-fyzikální fakulty Univerzity Karlovy v oboru Informatika. Programování se věnuje velmi dlouho a kromě počítačů patří mezi jeho záliby také hra na klavír a matematika. V poslední době tráví většinu času psaním aplikací v jazyce C#, Visual Basic .NET a v ASP.NET.

Podpořte vznik dalších článků

Související články

DílNázev článku 
Díl 1. Úvod, vývojové prostředí a základní pojmy 25. 4. 2007
Díl 2. Začínáme programovat 25. 4. 2007
Díl 3. Proměnné a datové typy 25. 4. 2007
Díl 4. Podmínky a operátory 26. 4. 2007
Díl 5. Složitější podmínky a rozhodovací struktury 26. 4. 2007
Díl 6. Cyklus For 5. 5. 2007
Díl 7. Pole 9. 5. 2007
Díl 8. Pole, cykly a práce se soubory 14. 5. 2007
Díl 9. Přidáváme druhý formulář 18. 5. 2007
Díl 10. Funkce a procedury 6. 7. 2007
Díl 11. Kolekce a pole 27. 7. 2007
Díl 12. Práce s textem a řetězci 17. 8. 2007
Díl 13. Úvod do grafiky 27. 8. 2007
Díl 14. Vykreslujeme graf 31. 8. 2007
Díl 15. Práce se soubory, úvod do objektově orientovaného programování 19. 11. 2007
Díl 16. Třídy a funkce .NET frameworku, o kterých je dobré vědět 31. 12. 2007
Díl 17. Objektově orientované programování - základy 30. 6. 2008
Díl 18. Dědičnost 6. 10. 2008

RSS Feed RSS Feed

Diskuse

Perfektni

Datum: 27.11.2007 17:47
Autor: neregistrovaný (88.146.208.7)
Hodnocení autora: není
Příspěvků: 0
diky moc stahnu si to a du makat uz me nebavi html.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Prosim, poradte!

Datum: 31.12.2007 17:33
Autor: neregistrovaný (212.71.129.172)
Hodnocení autora: není
Příspěvků: 0
Stahnul jsem si VB z linku, ktery zde mate uvedeny, tedy z oficialniho webu spol. Microsoft, avsak mam zasadni problem s jeho instalaci, nebot pri jakemkoliv pokusu o uspesnou instalaci mi Setup tohoto programu vzdy vyhodi opakovane chybu, dve kdykoliv behem instalace, jenz se nasledne nedokonci. Zkusil jsem najit ruzne zdroje s problemy na Microsoftackych strankach, nicmene jsem neuspel, a to ani s Visual Basicem 2008... Pokud mi muzete jakkoliv poradit, Vasi pomoc uvitam. Prikladam i svuj e-mail: E13System@gmail.com

Dekuji, M. Dvorak
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Prosim, poradte!

Datum: 31.12.2007 18:27
Autor: Tomáš Herceg
Hodnocení autora: 1004
Příspěvků: 2402
Mohl byste sem napsat tu chybovou hlášku, která se objeví? Co máte za operační systém?
 
           [Odpovědět]
 
Hodnocení: -2 Čekejte, prosím...

Re: Prosim, poradte!

Datum: 1.1.2008 13:46
Autor: neregistrovaný (212.71.129.172)
Hodnocení autora: není
Příspěvků: 0
Windows XP professional SP2, 32bit

Hlasi mi to obvykle dve chyby, vzdy nahodne. Prvni je chyba Setupu samotneho, kdy mi vypise protokol o chybach, jenz mohu zaslat k vyvojarum. Podobne jako kdyz spadne explorer, popr. napise chybu, jejiz kod je 0x80070020
Mohu napsat i podrobneji, pokud to bude zapotrebi
 
           [Odpovědět]
 
Hodnocení: -2 Čekejte, prosím...

Re: Prosim, poradte!

Datum: 2.1.2008 14:03
Autor: neregistrovaný (195.70.145.243)
Hodnocení autora: není
Příspěvků: 0
jsi si jistý, že máš nainstalovaný Framework 2.0?
 
           [Odpovědět]
 
Hodnocení: -1 Čekejte, prosím...

Re: Prosim, poradte!

Datum: 3.1.2008 21:01
Autor: neregistrovaný (212.71.129.172)
Hodnocení autora: není
Příspěvků: 0
Naprosto! Mel jsem Frameworks 2.0 vcetne jazykovych balicku, ktere jsem pak podle jedne rady odinstaloval. Setup si pak vyzadal stahnuti a instalaci Frameworks 3.5, jenz jsem potvrdil a neuspesne nenainstaloval. Takze nyni jsem i bez Frameworku...
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: Prosim, poradte!

Datum: 6.11.2008 14:27
Autor: neregistrovaný (83.208.72.216)
Hodnocení autora: není
Příspěvků: 0
Táké jsem nemohl nainstalovat VBS 2008 Express kvůli Frameworku. Tak jsem zastavil službu ".NET optimization..." poté jsem odinstaloval Framework 2.0 SP1 a poté i Framework 2. a instalace běží jak po másle.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Seriál

Datum: 28.5.2008 15:57
Autor: neregistrovaný (88.146.189.130)
Hodnocení autora: není
Příspěvků: 0
zdravim, chtěl jsem se zeptat jestli je nějaká dobrá kniha či seriál na netu (klidně v aj) na VB .NET, ne že by tento nebyl dobrý, ale přeci jen by toho chtělo víc. Ale stejně dobrá práce :)
Dík
 
           [Odpovědět]
 
Hodnocení: 1 Čekejte, prosím...

2008?

Datum: 15.7.2008 17:35
Autor: neregistrovaný (212.90.252.127)
Hodnocení autora: není
Příspěvků: 0
jen bych se chtel zeptat jesi musi bejt studio 2005 nebo muze bejt 2008 diky predem
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: 2008?

Datum: 15.7.2008 17:58
Autor: Tomáš Herceg
Hodnocení autora: 1004
Příspěvků: 2402
2005 stačí, může být i 2008.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

sql dotaz v ASP

Datum: 19.8.2008 23:39
Autor: neregistrovaný (85.71.151.115)
Hodnocení autora: není
Příspěvků: 0
Dobrý den. Mám dotaz ohledně MSSQL Express 2005
Pokud zadám tento sql dotaz v asp:

strJmeno = Request.Form("strJmeno")
strAdresa =Request.Form("strAdresa")
intVek =Request.Form("intVek")

strDotaz = "INSERT INTO Odpoved (Jmeno,Adresa,Vek)  VALUES('"&strJmeno&"','"&strAdresa&"', "&intVek&" )"

conn.execute strDotaz
 
server odpoví následující chybou:
Microsoft OLE DB Provider for ODBC Drivers chyba 80040e14'
[Microsoft][SQL Native Client][SQL Server]Incorrect syntax near ')'.
Děkuji za případnou radu.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: sql dotaz v ASP

Datum: 20.8.2008 7:40
Autor: Tomáš Herceg
Hodnocení autora: 1004
Příspěvků: 2402
Tento postup je IMHO velice hloupý, protože vám do formulářových polí může kdokoliv připsat apostrof, čímž dostane možnost udělat si co chce. Pokud místo jména napíšu hodnotu ', ' ', 15); DROP DATABASE ..., pak vám smažu celou databázi, nebo ještě lépe si databázi můžu zkopírovat k sobě. Než něco v ASP plácnete do SQL, prožeňte to alespoň nějakou metodou, která apostrofy zdvojí, aby je SQL server nechápal jako konec řetězce.
 
           [Odpovědět]
 
Hodnocení: 1 Čekejte, prosím...

Re: sql dotaz v ASP

Datum: 20.8.2008 7:43
Autor: Tomáš Herceg
Hodnocení autora: 1004
Příspěvků: 2402
Co se týče té chyby, máte tam něco špatně kolem kulaté závorky. Předpokládám, že chyba nastane, když nezadáte věk, protože pak se na jeho místo nic nedosadí a do SQL se za čárku hned umístí uzavřená kulatá závorka.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

řízení pomocí pc

Datum: 2.1.2009 16:55
Autor: neregistrovaný (62.240.164.146)
Hodnocení autora: není
Příspěvků: 0
Dobrý den.Musím pochválit stránky.Důvod proč jsem se začal učit VB ,byla možnost řídit moje "hračičky "pomocí pc.Ocenil bych nějaký díl,který mi pomůže ovládat port.Pár jednoduchých příkladů.Děkuji.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

dakujem,

Datum: 19.6.2009 11:12
Autor: neregistrovaný (194.1.0.106)
Hodnocení autora: není
Příspěvků: 0
Precital som zatial len prvy diel serialu ale tesim sa na dalsie. Prave instalujem Visual Studio Express Edition podla pokynov. VDAKA!!!
Ivan
SK
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Jaký jazyk vybrat??

Datum: 26.6.2009 14:27
Autor: neregistrovaný (89.102.121.42)
Hodnocení autora: není
Příspěvků: 0
Dobrý den, dal sem si velký cíl, naučit se psát prográmky na Windows Mobile (>5.0). A protože je VB pro zelenáče jako já poněkut pochopitelnější, rád bych začal s ním. A tak, moje otázka zní,: VisualBasic, nebo mam zatnout zuby a zkusit C#?... Předem moc děkuji za vaší radu a také bych rád podotknul, že si cením Vašeho, jistě ceného času, vynaloženém pro tyto bezvadné seriály.
S pozdravem Martin
 
           [Odpovědět]
 
Hodnocení: 1 Čekejte, prosím...

Jak zapsat zvukový soubor?

Datum: 22.2.2010 11:40
Autor: karel januška
Hodnocení autora: 0
Příspěvků: 1
Už jsem na to přišel
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.