Proč jsou ceny našich IT školení programování tak nízké

Proč jsou ceny našich IT školení programování tak nízké

Občas se nás zájemci ptají, jak je možné, že jsou naše školení programování tak levná?! Vždyť konkurenční školení jsou v řádech desetitisíců a my nabízíme školení od 1.999 Kč?! Cena školení je opravdu taková a bez jakýchkoli dalších poplatků. Je za ní spoustu vymýšlení, týmové práce a hlavně roky zkušeností v praxi. Nechceme prozradit veřejně veškeré naše know-how, ale na ukázku se zamysleme třeba nad tím, proč pronajímat drahou počítačovou učebnu? V dnešní době vlastní snad každý notebook a je i v jeho zájmu, aby si do něj nainstaloval potřebné nástroje a pracoval na něm, ne na cizím počítači. Proto si pronajímáme učebnu pouze s projektorem, kde si notebooky přinesou účastníci. A z ceny jednoho školení je rázem několik set Kč dole, aniž by se kvalita výuky jakkoli snížila. Představte si, že jsme takovýchto nápadů vymysleli několik a propracovali školení tak, aby bylo dostupné za cenu, která zpřístupní lepší budoucnost v IT odvětví úplně každému.

Jelikož všichni školíme programování již řadu let, osvojili jsme si postupem času hned několik programovacích jazyků. A časem jsme zjistili, že základy céčkových jazyků (to jsou zejména C# .NET, Java, PHP) se od sebe v podstatě vůbec neliší. Proč také? Programovací jazyky, na rozdíl od jazyků národních, nevznikaly nikterak odděleně, ale naopak se navzájem inspirovaly a to zejména tím, co se prakticky osvědčilo. Dalším důvodem pro jejich podobnost je také fakt, že v IT byl i je nedostatek pracovní síly, kterou by se nevyplatilo stále přeškolovat. Zkusili jsme proto na skupince několika lidí vytvořit jednotnou prezentaci pro více programovacích jazyků. Profesionální lektor odprezentoval ty samé příklady a na projektoru byl dostupný kód pro C# .NET, Javu a PHP. Výsledky byly skvělé, účastníci sledovali kód ve svém jazyce (prezentace byly pečlivě vytvořené tak, aby nikdy nebyl na 1 slidu jen jeden kód pro jeden jazyk a ostatní se tím nezdržovali), psali ho ve svém jazyce a poslouchali jak kód funguje, což je pro všechny jazyky stejné. Lektoři jim vždy pomohli, když si nevěděli s něčím rady, svůj jazyk měli účastníci napsaný na jmenovce před sebou, aby se lektoři rychle orientovali. A tak se účastníci přestali tříštit a cena se mohla velmi snížit. Tímto způsobem školíme Základy programování v C#.NET, Javě a PHP a Objektově orientované programování v C#.NET, Javě a PHP. Další navazující kurzy jsou již specifické pro daný jazyk.

Můžete se sami podívat níže, že kód základů programování a definice objektů je natolik podobný, že opravdu nemá smysl školení tříštit a předražovat, aby menší počet účastníků lektory zaplatil.

Základy programování - C-like syntaxe

Ukážeme si kód, který používá proměnné, výpis na obrazovku, podmínky, cykly a práci s polem. To je určitě dostačující mix různých konstrukcí jazyka k tomu, aby bylo vidět, jak se liší. Tady je kód takového programu postupně v C#.NET, Javě a PHP. Vidíme, že všechny zmíněné jazyky kopírují prazáklad programovacích jazyků, jazyk C:

C# .NET

...
for (int i = 0; i < veky[i].Length; i++)
{
        if (veky[i] < 18)
                Console.WriteLine("Uživatel #" + i + " není plnoletý.");
}

Java

...
for (int i = 0; i < veky[i].length; i++)
{
        if (veky[i] < 18)
                System.out.println("Uživatel #" + i + " není plnoletý.");
}

PHP

...
for ($i = 0; $i < count($veky[$i]); $i++)
{
        if ($veky[$i] < 18)
                echo("Uživatel #" . $i . " není plnoletý.");
}

Všimněte si, že gramatika jazyků je téměř totožná. Liší se zejména tím, jak se jmenuje funkce pro vypsání na obrazovku (Console.Write­Line() / System.out.prin­tln() / echo()). Rozdíl mezi C# a Javou je potom jen v tom, že length je s malými písmeny (ne nadarmo se C# někdy přezdívá Java od Microsoftu). U PHP píšeme před proměnnými dolary, length nahradí funkce count(), text spojujeme tečkami. Jinak je vše opět stejné, rozhodovací konstrukce se zapisují a fungují stejně, smyčky se zapisují a fungují stejně, pole funguje velmi podobně.

Díky stejné funkčnosti může všechny příklady náš lektor popsat souhrnně pro všechny 3 jazyky a nevzniká tak žádný problém s tím, jak ve vašem jazyce kód pracuje. Na projektoru je navíc vždy uveden kód pro váš jazyk a v učebně je několik lektorů, kteří váš jazyk ovládají. Můžete si tedy dopřát školení vysoké kvality, které je takto pro širší publikum a díky tomu za zlomek ceny :)

Objektově orientované programování

A jak je to s OOP? Tam se již jazyky odlišují, nebo ne? Jazyky C#.NET i PHP přebírají objektový model kompletně z Javy, díky které se OOP rozšířilo. Je to logické, proč také vymýšlet novou syntaxi, když tu existuje lety prověřená technologie? Situace je zde tedy úplně stejná, jako u záklakladních konstrukcí. Ukažme si opět nějaký příklad, zamícháme do něj kromě definování atributů, tříd a metod i přepisování metod, dědění a konstruktor, zkrátka všechno možné, aby bylo vidět, že to není nějaký umělý příklad, ale praktická ukázka toho, jak moc jsou si jazyky podobné a že je výhodné učit je společně. Na výsledek se můžeme podívat níže:

C# .NET

class Uzivatel : Clovek
{
        private string jmeno;
        private int vek;

        public Uzivatel(string jmeno, int vek)
        {
                this.jmeno = jmeno;
                this.vek = vek;
        }

        public override string ToString()
        {
                return jmeno + " (" + vek + ")";
        }

}

Uzivatel karel = new Uzivatel("Karel Novák", 31);
Console.WriteLine(karel);

Java

class Uzivatel extends Clovek
{
        private String jmeno;
        private int vek;

        public Uzivatel(String jmeno, int vek)
        {
                this.jmeno = jmeno;
                this.vek = vek;
        }

        @Override
        public string toString()
        {
                return jmeno + " (" + vek + ")";
        }

}

Uzivatel karel = new Uzivatel("Karel Novák", 31);
System.out.println(karel);

PHP

class Uzivatel extends Clovek
{
        private $jmeno;
        private $vek;

        public function __construct($jmeno, $vek)
        {
                $this->jmeno = $jmeno;
                $this->vek = $vek;
        }

        public function __toString()
        {
                return $this->jmeno . " (" . $this->vek . ")";
        }

}

Uzivatel $karel = new Uzivatel("Karel Novák", 31);
echo($karel);

Jak vidíte, zápisy jsou opět extrémně podobné. Nejen, že OOP funguje ve výše zmíněných jazycích úplně stejně, také se téměř stejně zapisuje. Rozdíl mezi C# .NET a Javou je opět nejméně patrný (dědičnost zapisujeme pomocí extends, String je s velkým písmenem, Override píšeme nad metodu. Jinak je kód opravdu stejný, jen si to zkontrolujte). U PHP píšeme opět před proměnné dolary, k metodám přidáváme klíčové slovo function a ty speciální jsou předsazené podtržítky, override neřešíme, $this-> píšeme před každý přístup k atributu. Od PHP 7 můžeme (a je i lepší) uvádět datové typy, zde jsou vynechané, jak tomu bylo zvykem u starších verzí. Zbytek je opět stejný, i když jsme použili hned několik OOP konstrukcí. Vše funguje úplně stejně.

Zajímá vás více z toho jak školíme? Tak se přihlaste a staňte se žádanými programátory!