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

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

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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!


 

Aktivity (5)