Používané programovacie jazyky a frameworky

Pozdravujem kolegovia,

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 :slight_smile: Dopredu vďaka každému, kto prispeje výpisom :+1:

Tu si mozes pozriet ake jazyky podporuje Gov.UK cloud https://www.cloud.service.gov.uk/features

Tuto pozri ich repozitare, ake jazyky pouzivaju: https://github.com/alphagov

1 Like

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ť :+1: Ale dík aj za toto, je to tiež argument do diskusie :+1:

1 Like

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.

1 Like

Tu mas ozajstny projekt statny velky a na com bezi. https://www.itms2014.sk/we-love-oss

1 Like

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 :wink: Takže poprosím, už žiadnu teóriu, ale zoznamy, v čom aktuálne robíte nejaké veľké projekty vo väčšej firme :slight_smile:

1 Like

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.

No flamewar, poprosím len zoznamy, o ktoré som požiadal, alebo kašľať na to a užívať si prichádzajúce sviatky.

Statne veci su v drvivej vacsine Java, C# z toho co ja poznam. Oracle a veci co sa dobre predavaju. Detom by som tym vsak nechcel zasierat buducnost.

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.

V skole sme sa ucili C, C++, C#, Java.

1 Like

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.

Myslím, že ten zoznam 6 jazykov od @jsuchal na https://www.cloud.service.gov.uk/features je veľmi dobrý a určite by sa mali študenti učiť jeden z nich:

  • Go
  • Node.js
  • Java
  • PHP
  • Python
  • Ruby
3 Likes

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:

  • PostgreSQL, MS SQL, Oracle, MySQL, SQLite
  • Python, Ruby, PHP, .NET / C# / WPF / WCF / ASP, Java, PL/SQL
2 Likes

PHP / symfony

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.

1 Like

:slight_smile: Toto nie je pravda uz asi tak 10 rokov.

Hint: vsetky produkty SD su v Ruby, toto forum je v Ruby, 18f/gov.uk ma veci v Ruby. Ano som trochu zaujaty, ale pobavilo ma to.

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.).