IEEE Spectrum - IEEE že devet let vsako poletje objavi lestvico najpopularnejših programskih jezikov, ki se v tem času zanemarljivo spreminja. Tudi letos je na prvem mestu priljubljenih jezikov Python, ki mu sledi družinica C, C++ in C#. Za njimi so se zvrstili še Java, SQL, JavaScript, R in HTML. Ta vrstni je enak že leta, jeziki le občasno medsebojno zamenjajo mesta.
Prav tako se vrstni red pošteno premeša, če se osredotočimo na specifične uporabe. Pri zaposlitvah, kar so ocenili zgolj iz portalov IEEE Jobs Site in CareerBuilder, so najuporabnejši SQL, Java in Python. Pri tem je SQL tako visoko zato, ker ga večina oglasov omeni poleg glavnega jezika, katerega znanje pričakujejo od kandidatov. V oglasih še vedno najdemo tudi znanje zbirnika, medtem ko so specializirani višji jeziki (R, Julia) zahtevani glede na konkretne potrebe.
Lestvico priljubljenosti jezikov IEEE oblikuje iz več indikatorjev: Google Search, Twitter, Stack Overflow, Reddit, IEEE Xplore Digital Library, IEEE Job Site, CareerBuilder in GitHub. Spremljali so približno tristo jezikov, za katere se najde koda na Githubu. To so zožili na 57 redno uporabljenih jezikov, kamor sodijo tako splošni jeziki (Java) kakor nišni (Haskell). Pojavnost posameznega jezika so ocenili kot ponderirano povprečje indikatorjev, pri čemer so za različne lestvice (spekter, zaposlitve, popularno) uporabili različne ponderje.
Pri C# je fajn da Microsoft ni zaspal ampak da se kar razvija jezik in je stvar ziva. No pa da je linux in s tem tudi docker postal first class citizen z .net core.
Popularnost Pythona pa je zgolj v njegovi enostavnosti. Ni to pravi jezik ce ti je fokus stabilna debugable koda. Hec je da je tudi C# dobil v zadnjih verzija malo syntax sugar da bi bil "lepsi" za scripterje. Defaultni Program.cs v zadnji verziji sploh nima vec namespace in clasa recimo :)
C ter C++ ima svoje mesto zaradi zgodovinskih performancnih razlogov in to najbrz ne bo tako enostavno migrirati na novejsi jezik.
Kar se Java tice pa sozalje ce kdo to mora se uporabljat :)
Kako pa je zdaj z .net? Je ze kaj bolj podprt v Linuxu(mono) ali moras cel win sistem dvignit v dockerju, vm..? Obstaja minimal win sistem ala Alpine linux?
Menim, da je C# totalno zgrešen, ker se konstantno razvija. Komu je to namen? Kako lahko C# razvijalec upravičuje stranki, da ta od zdaj za rahlo posodobitev programa plačati celoten rewrite z novim okoljem .Net in novim jezikom C# ? Pa prosim, če ste objektivni z odgovorom. Osebno nebi dovolil razvoj v C# ravno zaradi preveč featurjev, non stop inkrementa .Net okolja ki je sam sebi namen in vsiljujejo rewrite projektov (kdo to plačuje?). Jezik ne prinaša nobene prednosti pred Go-langom ali Rustom.
Prednost Jave je, da se razvija minimalno kolikor je to mogoče, da se da sledit različnim verzijam Jave in Runtime okolja. S tem stranka ne plačuje za reweite programa.
Rust recimo garantira, da se bo koda z starejšo sintakso vedno izvedla, četudi se jezik razvija naprej.
Kako pa je zdaj z .net? Je ze kaj bolj podprt v Linuxu(mono) ali moras cel win sistem dvignit v dockerju, vm..? Obstaja minimal win sistem ala Alpine linux?
Menim, da je C# totalno zgrešen, ker se konstantno razvija. Komu je to namen? Kako lahko C# razvijalec upravičuje stranki, da ta od zdaj za rahlo posodobitev programa plačati celoten rewrite z novim okoljem .Net in novim jezikom C# ? Pa prosim, če ste objektivni z odgovorom. Osebno nebi dovolil razvoj v C# ravno zaradi preveč featurjev, non stop inkrementa .Net okolja ki je sam sebi namen in vsiljujejo rewrite projektov (kdo to plačuje?). Jezik ne prinaša nobene prednosti pred Go-langom ali Rustom.
Prednost Jave je, da se razvija minimalno kolikor je to mogoče, da se da sledit različnim verzijam Jave in Runtime okolja. S tem stranka ne plačuje za reweite programa.
Rust recimo garantira, da se bo koda z starejšo sintakso vedno izvedla, četudi se jezik razvija naprej.
Če stvar dela ne rabiš rewrita. Poleg vsega lahko na mašini koeksistirajo različne verzije vm-a.
Popularnost Pythona pa je zgolj v njegovi enostavnosti. Ni to pravi jezik ce ti je fokus stabilna debugable koda.
Odvisno od aplikacije. Če moraš čez vikend nakucat nek app za registracijo za nek event, je django še vedno "the" tool. Tudi type hinting zdaj lepo deluje.
Menim, da je C# totalno zgrešen, ker se konstantno razvija. Komu je to namen? Kako lahko C# razvijalec upravičuje stranki, da ta od zdaj za rahlo posodobitev programa plačati celoten rewrite z novim okoljem .Net in novim jezikom C# ? Pa prosim, če ste objektivni z odgovorom. Osebno nebi dovolil razvoj v C# ravno zaradi preveč featurjev, non stop inkrementa .Net okolja ki je sam sebi namen in vsiljujejo rewrite projektov (kdo to plačuje?). Jezik ne prinaša nobene prednosti pred Go-langom ali Rustom.
Prednost Jave je, da se razvija minimalno kolikor je to mogoče, da se da sledit različnim verzijam Jave in Runtime okolja. S tem stranka ne plačuje za reweite programa.
Rust recimo garantira, da se bo koda z starejšo sintakso vedno izvedla, četudi se jezik razvija naprej.
Glede na boldano nimaš pojma kaj govoriš. Če pride nova verzija jezika in .net frameworka ne pomeni da koda napisana za prejšno verzijo ne deluje več. Lahko se ti sicer zgodi da je kaka stvar deprecated ampak povsem isto je na javi. Koda ki si jo napisal za časa Java 6 bo lahko delala tudi na zadnjih verzijah JRE, če pa si uporabil kaj kar je vmes deprecated pa pač ne bo.
Zares ne razumem od kje ti logika, da bo potreben popolen rewrite ?
Kako pa je zdaj z .net? Je ze kaj bolj podprt v Linuxu(mono) ali moras cel win sistem dvignit v dockerju, vm..? Obstaja minimal win sistem ala Alpine linux?
Kako pa je zdaj z .net? Je ze kaj bolj podprt v Linuxu(mono) ali moras cel win sistem dvignit v dockerju, vm..? Obstaja minimal win sistem ala Alpine linux?
Vseeno je, kaksni so trenutni rezultati, edino pomemben je trend in lepo je videti, da java pocasi pada, vsega kar se zacne na java se je treba znebiti.
Pri Javi mi je to všeč da lahko narediš enak GUI za povsod in ni potrebno nič dodatnega inštalirat. Kaj uporabiš za GUI v C# če rabiš cross-platform?
Danes je itak vse web
Ja saj to imaš prav. Sem se zasral ko sem šel desktop aplikacijo delati. Ljudje imajo probleme ker ni podpisano. Samo C# lahko zaenkrat samo kot back-end uporabiš. Client side Java pa tudi ni več (na srečo). Moram probati C z WebAssembly-jem.
Jah na vsak način je tudi java zavaljena prasica. So pa tovrstne zadeve relativno udobne. Nenazadnje pa precej desktop aplikacij bazira na webview in js. Za vitkost in hitrost sta c/c++. Če hočeš še varnost pa Rust. Ampak ta spet zahteva precejšen shift v glavi developerja.
Kaj je fora da WYSIWYG editor niso več "in"? Saj razumem da je pogosto bolje programsko delat GUI ali pa XML editat, samo če hočeš pa nekaj majhnega na hitro za hobi narest je pa fino.
Morda kdo ve, kako je s sočasnim (concurret) in vzporednim (parallel) procesiranjem v Java/Python/C#/... v vsebnikih Docker? A ni običajno, da en vsebnik Docker teče na enem procesu na enem CPU jedru? Kako lahko potem znotraj tega ustvariš dodaten proces oz. otroka?
Težava s C# je le v tem, da za njim stoji le eno podjetje, kar lahko v prihodnosti povzroči težave - npr. nov CEO začne določene zadeve zaračunavati. Ali pa Trump uvede embargo. Java je precej bolj neodvisna, ker Oraclova distribucija ni edina. Sicer pa na JVMju tečejo tudi modernejši jeziki (npr. Kotlin), ampak tam smo spet pri istem problemu kot pri C#, le da sta tokrat podjetji JetBrains in Google.
Če mi nekdo reče, da je C# hud jezik & platforma, to vzamem kot litmus test za identifikacijo programerja, ki se ni sposoben prilagoditi in naučiti česa novega. Ker če bi se, bi kaj kmalu uvidel, da je živel v zmoti.
.Net Core runtime oziroma net5/net6 je open source izdana pod licenco MIT. In že sedaj zaračunavajo stvari. Visual studio ni zastonj, orodja za sodelovanje tudi niso zastonj(github ali devops, ki imata integracijo v visual studiu). Visual studio tudi najboljše teče na windowsih - potrebuješ windows licenco.
Če mi nekdo reče, da je C# hud jezik & platforma, to vzamem kot litmus test za identifikacijo programerja, ki se ni sposoben prilagoditi in naučiti česa novega. Ker če bi se, bi kaj kmalu uvidel, da je živel v zmoti.
Saj v C# se stalno lahko naučiš kaj novega :) Že zgoraj omenjeno da se jezik/platforma hitro razvija.
Z vs sva se poslovila kakih 12 let nazaj. Pa ne da ni fino orodje. Ampak meni se za tisti denar kot ga daš ne da študirat še po poldneva env skript. To naj počnejo drugi, kakor je tudi reč z interfacom. Vs code je vse kar nucam.
Če mi nekdo reče, da je C# hud jezik & platforma, to vzamem kot litmus test za identifikacijo programerja, ki se ni sposoben prilagoditi in naučiti česa novega. Ker če bi se, bi kaj kmalu uvidel, da je živel v zmoti.
Kaj pa je zate potem hud jezik? Da vidimo ali je tvoj test kaj vreden :)
Pač C# je čist ok splošno uporabljan/komercialno zanimiv jezik, definitivno pa je prehitel Javo.
Če mi nekdo reče, da je C# hud jezik & platforma, to vzamem kot litmus test za identifikacijo programerja, ki se ni sposoben prilagoditi in naučiti česa novega. Ker če bi se, bi kaj kmalu uvidel, da je živel v zmoti.
Za sam jezik dopuščam možnost, da je kater bolj eleganten, ampak da imaš kje drugje kaj boljšega od VS, tudi od zastonj variante, za bi pa res rad videl kak dokaz...
Če mi nekdo reče, da je C# hud jezik & platforma, to vzamem kot litmus test za identifikacijo programerja, ki se ni sposoben prilagoditi in naučiti česa novega. Ker če bi se, bi kaj kmalu uvidel, da je živel v zmoti.
Kaj pa je zate potem hud jezik? Da vidimo ali je tvoj test kaj vreden :)
Pač C# je čist ok splošno uporabljan/komercialno zanimiv jezik, definitivno pa je prehitel Javo.
Jah, ne rabš sploh it daleč od .Net, že F# je neprimerljivo boljša izbira. Pol bi reku še Clojure, Elixir, Haskell, Rust...
Tuki si pa nametal sedaj cel kup paradigm katerih povprečen programer nima časa zaobjet. Pa še tu je zgolj eden od jezikov poseben. Ker je kompakliran in ima region based memory management. smešno pa da je z atributiranjem funkcij na prvi pogled precej podoben ravno c#.
.Net Core runtime oziroma net5/net6 je open source izdana pod licenco MIT. In že sedaj zaračunavajo stvari. Visual studio ni zastonj, orodja za sodelovanje tudi niso zastonj(github ali devops, ki imata integracijo v visual studiu).
Ampak kdo bo buildal in vzdrževal distribucijo, če MS politika ne bo več sprejemljiva? Nekaj na kar se boš lahko zanesel v poslovnem svetu? MS pa lahko začne zaračunavati tudi za vsak prodan program (royalties).
Tuki si pa nametal sedaj cel kup paradigm katerih povprečen programer nima časa zaobjet. Pa še tu je zgolj eden od jezikov poseben. Ker je kompakliran in ima region based memory management. smešno pa da je z atributiranjem funkcij na prvi pogled precej podoben ravno c#.
Niti ni toliko veliko paradigm. Saj se ne rabiš vsega naučit, malo pokukaš ven iz tega heavy OO sveta in mal probaš a ne. Pol se pa naučiš tist k ti je všeč, saj se ne rabiš vse.