mám tu takú OT záležitosť - na strednej škole, kde učím krúžok, sa uvažuje nad updatom učebných plánov, čo je po dlhom čase veľmi potešujúce, že sa k tomu odhodlali, a v tejto súvislosti by ma zaujímalo, hlavne od tých, čo robíte vo veľkých firmách a prípadne na štátnych projektoch (ale nielen!), aké programovacie jazyky a aké frameworky používate na projektoch, také nejaké TOP 5 z jazykov a TOP 5 z frameworkov.
Netreba sa extenzívne rozpisovať o tom, “čo je dobré”, “na jazyku nezáleží, ale na chápaní”, “toto je teraz trendy” atď, toto všetko všetci poznáme, ale výučba nie je pre top 3 - 5% z nás, takže teórie vynechajme a uvítam naozaj len stručné výpisy vašich nejakých aktuálnych top 5 na projektoch reálne používaných jazykov a frameworkov Dopredu vďaka každému, kto prispeje výpisom
Dík Jano, poznám, ale býva dosť veľký rozdiel medzi projektmi publikovanými v githube a tým, čo sa reálne používa vo firmách, ktoré nepublikujú kódy, aj preto sa pýtam. Aspoň to budeme môcť porovnať Ale dík aj za toto, je to tiež argument do diskusie
Toto je nezodpovedatelna otazka, aj ked tu uvedu cokolvek, tak to o nicom nevypoveda, o 1-2 roky to bude neaktualne.
Vyber jazyka nie je ovplyvneny frameworkom ale ucelom aplikacie a technologiou.
Ked sa robi nativna aplikacia pre Android tak je jazyk iny ako pre iOS. Ak sa robi frontend, tak javascript/typsecript is a must, v backende zase bude skor java/c#/python/php/ruby. A to sa vyberie podla technologie.
Na programovanie microcontrolerov je C/C++ asi primarne.
Takze skor si treba vybrat, aku aplikaciu robit a potom vybrat jazyk/technologiu a aj realne po krokoch taku aplikaciu spravit.
Presne týmto rečiam som sa chcel vyhnúť. Všetci vieme o výbere atď atď, ale na niečom sa začína, niekde musí prax začať, preto nemá význam takýto komentár. Nikdy nebude každý programátor ovládať všetky jazyky, tak ako v každej oblasti, je cca 3 - 5% expertov a zvyšok funguje na tom, na čom sa naučí. Cieľom je naučiť niečo aj tých, čo expertmi na všetko nikdy nebudú, nie hádať sa, čo ktorý expert považuje za dôležité. Teória výuky hovorí, že dokážeme 30 - 40% niečo naučiť používať tak, že v tom budú “praxovať” a cca tých 3 - 5% dokáže abstrahovať na univerzitnej úrovni. Preto v kultúrnom zahraničí je základným VŠ vzdelaním Bc. z odbornej praktickej VŠ a na vyššie vzdelanie ide len výber (a je to aj cieľ reformy Učiace sa Slovensko a doporučenia EU a OECD k nášmu školstvu). Neteoretizujme teda o účeloch, vyberme najpoužívanejšie, to sa zas tak nemení, Java, C# a podobne idú už minimálne 15 rokov a dajme šancu nielen tým 3 - 5%. Preto sa pýtam, napíšte, kto na niečom robí, v čom robí, lebo preboha, ten štátny či iný veľký projekt nemení tiež jazyk a technológie každý deň, ani každý rok Takže poprosím, už žiadnu teóriu, ale zoznamy, v čom aktuálne robíte nejaké veľké projekty vo väčšej firme
Ja myslim ze toto je buducnost https://swift.org Ziadne obskurne veci, zaklad Cckovy, je to open source, daju sa na tom realne kodit apliakcie na web + nativne na iOS/Mac, myslim ze aj Android a Win.
Legacy kod jazyk nezmeni ale to sa potom bavme napr. fakt aj o Visual c++ 6.0 MFC aplikaciach. Vela projektov je aj v C# .Net3 alebo .Net4, pricom nove veci sa uz asi robia skor v .Net Core + SPA (typescript).
Kludne sa moze stat, ze budu potrebovat python: https://www.bleepingcomputer.com/news/microsoft/microsoft-considers-adding-python-as-an-official-scripting-language-to-excel/ miesto VBA. Ale ak budu udrziavat nejaky kod, tak to VBA sa este zide.
Vela firiem hlada aj programatorov pre SharePoint.
Ked budu robit male weby alebo eshopy, tak tam bude casto PHP (wordpress, Joomla, Drupal).
Univerzalny vojak z tych 30-40% co v tom maju praxovat nebude, (skor tych 10% expertov bude tych univerzalnych). Ako sa da vycvicit vojak aby mohol byt aj chemik aj delostrelec aj zenista aj tankista. Spolocne maju akurat to pochodovanie, ale to im je napr. v tanku uplne zbytocne, aj tak ich tam ucia specializacii. Alebo su z nich bigosi, v IT ti, co vedia spustit program a nieco v nom robit.
Dam to co pouzivame my vo firme, neviem v com sa robia zakazky v statnej sprave:
PHP - Symfony, Laravel, Nette, Drupal
JS - Node.js, Express.js, Vue.js
Golang
Rails
Bash
Python
Z databaz MariaDB, PostgreSQL.
Zatiaľ nezasierame, len zisťujem, čo ako ide, do vyhodnotenia a zmien je ďaleko a nie je to ani také jednoduché. Ale je dobre mať nejaké informácie. Tam sa ani nedá vybrať všetko, pri dotácii cca 2 hodiny týždenne sa dá vybrať len nejaký vhodný základ. Zatiaľ tam ide HTML/CSS a PHP, to sa podarilo posunúť o rok skôr do výučby a tak by tam bol priestor to nejako doplniť prípadne obmeniť - PHP vymeniť za niečo iné. Určite nie XY nových technológii, ale nejaký dobrý základ. Je to iniciatíva nového profesora, čo je super, lebo školy sa moc často do toho nepúšťajú.
Čo by si dal Ty, kľudne napíš, učíš, či učil si a pohybuješ sa okolo projektov, vieš to trošku ohodnotiť aj s prihliadnutím na možnosti výučby - 1 až 2 jazyky, frameworky, na viac priestor nie je.
V podstate ide o predmet Technológie internetu, takže v tomto okruhu sa pohybujeme, tu by sa dal urobiť nejaký update.
Ja ucim Ruby / Rails, ale to je skor tym, ze to pouzivam a su tam zaujimave veci. Python / Django je ekvivalent v python svete v PHP svete si uz nepamatam co je take podobne. JavaScript serverovy frci, nejaky React/Vue.js alebo nieco take aj ked tieto frontendove fw ja nemam rad.
Nejaký JS framework je zatiaľ jeden z potencionálnych kandidátov na doplnenie, padol tam AngularJS, aj keď mám obavy, či to budú schopní dávať všetci. Ale tieto JS veci sú celkom dobrým kandidátom k rozšíreniu výučby, keďže sa to dá využiť na klientskej aj serverovej strane.
Technologie dnes pouzivane v nasom eGov-e mi vonkoncom nepridu ako vhodny orientacny bod na vyucbu programovania na skolach.
Ked uz, tak by som sa pozrela skor na nove technologie uz uspesne pouzivane v komercnej sfere.
Z mojej analytickej praxe zoradene podla osobnej preferencie v jednotlivych kategoriach:
Podla mna toto je dobry vyber, funguje to bez prilisneho toolingu okolo.
Ak alternativy k PHP tak interpretovane - Python alebo Ruby (aj ked Ruby je popularne skor v japonsku).
Na vyvoj staci jednoduchy editor a ked sa subor ulozi a browser refreshne, tak vidiet zmeny.
Ako DB LiteSQL.
Java/C# web development so sucasnymi technologiami (spring/hybernate/entity + angular/vue/react) chce dost zlozity tooling a vysvetlovanie buildovania / balikovania ap. Takze par tyzdnov by stravili len pripravou.
Moj nazor je, ze studenti musia vidiet zmeny co najskor vizualizovane. A byt schopni si preniest projekt domov na USB kluci a spustit si to co najjednoduchsie.
Mňa by tu ešte celkom zaujímalo, koľko je reálne používanie Javy na projektoch. Viem, že sa používajú mnohé riešenia, ktoré sú v Jave, ale napr. sa na projekty len premosťujú mostíkom a projekt v Jave nie je. Vždy ma prekvapuje, ako vysoko je Java v štatistikách a ako málo som ju videl použitú reálne na projektoch (teda mimo takých hotových vecí ako Elasticsearch apod.).