Jump to content

Kuras programmēšanas valodas LV ir vispieprasītākās?


Recommended Posts

1 hour ago, Mateushs said:

 

Gribi uz WEB izstrādi doties?

Jā, jo esmu daudz laika ieguldījis lai apgūtu front-end, bet negribu tikai ar to nodarboties.

Link to post
Share on other sites
Mateushs
14 minutes ago, Mezavecis said:

Es cepos par to, ka Pascal nav nākotnes un mūsdienās kā valoda apmācībai atpaliek no reālām vajadzībām darba tirgū. Aktīvi pascal sludinātāji tiešām ir analītiķi un plānā galda urbēji, kas varbūt labākā gadījumā programmētājam blakus stāvējuši. Es jaunajiem programmētājiem iesaku tērēt laiku lietām, kas palīdz attīsties. Pascal un ASM vai Cobol apguve der varbūt kā hobijs, bet normālu karjeru no tā uzbūvēt praktiski nav iespējams. 

 

Nevajag Pascal kā valodu apgūt un pie tās palikt. Programmēšanas pamatu apguvei tā pavisam noteikti der; tā ir vienkārša un ar tās palīdzību var vienkārši saprast programmēšanas pamatus; dažādus ciklus, zarojumus u.t.t. Pēc tam var droši virzīties uz citu valodu.

 

ASM arī ir ļoti vēlams zināt. ASM valodā dzīvē rakstīt diez vai nāksies, taču, rakstot programmu augsta līmeņa valodā, ir jābūt aptuvenai sapratnei, kādās CPU instrukcijās pārvēršas programmas kods, jo CPU var (no programmētāja viedokļa) it kā vienu un to pašu darbību veikt dažādos laikos, turklāt atšķirība starp šiem laikiem var sasniegt vairākus desmitus reižu.

 

Par Pascal apmācības procesā runājot, tu nez kāpēc turpini dziedāt vienu un to pašu; analītiķi, analītiķi... Es Tev jau vienu konkrētu personu, kura nav nekāds analītiķis, minēju. Tāpēc pārstāj, lūdzu, te stāstīt to, kā nav.

25 minutes ago, Khabib said:

Jā, jo esmu daudz laika ieguldījis lai apgūtu front-end, bet negribu tikai ar to nodarboties.

 

Kas patīk?

Link to post
Share on other sites
Mezavecis
Pirms 14 minūtēm , Mateushs teica:

SM arī ir ļoti vēlams zināt. ASM valodā dzīvē rakstīt diez vai nāksies, taču, rakstot programmu augsta līmeņa valodā, ir jābūt aptuvenai sapratnei, kādās CPU instrukcijās pārvēršas programmas kods, jo CPU var (no programmētāja viedokļa) it kā vienu un to pašu darbību veikt dažādos laikos, turklāt atšķirība starp šiem laikiem var sasniegt vairākus desmitus reižu.

Muldēšana. Izklausies pēc Raimonda, kas gadiem vāvuļo par tuvumu abstraktiem dzelžiem. Kur tu tās gudrības salasījies?

 

Pirms 14 minūtēm , Mateushs teica:

Par Pascal apmācības procesā runājot, tu nez kāpēc turpini dziedāt vienu un to pašu; analītiķi, analītiķi... Es Tev jau vienu konkrētu personu, kura nav nekāds analītiķis, minēju. Tāpēc pārstāj, lūdzu, te stāstīt to, kā nav.

Spēlīšu taisītājs? Nu izcils piemērs.

Link to post
Share on other sites
Mateushs
2 minutes ago, Mezavecis said:

Muldēšana. Izklausies pēc Raimonda, kas gadiem vāvuļo par tuvumu abstraktiem dzelžiem. Kur tu tās gudrības salasījies?

 

Paņemam, piemēram, kāda skaitļa reizināšanu ar 32. Tas ir 2 5.pakāpē. Pēc Tavas instrukcijas, cilvēks, piemēram, Java valodā izmantos funkciju, kura to izdarīs. A Tu zini, kas notiek "dzelžu" līmenī brīdī, kad notiek funkcijas izsaukums?! ASM palīdzēs saprast, ka to nevajag darīt. Bet ja cilvēks paklausīs Tevi, tad viņš rakstīs programmas, no kurām CPU "aizrīsies".

Link to post
Share on other sites
DjUbuntu

Raimonds1, 

 Konkrēti tev vajag iet uz poda un nenākt atpakaļ.

 

Autoram: 
 Izvēlies savu indi - Javascript (ES6) / Java / C# / PHP. 

Lol, w00t kā vienmēr dedzina. Cilvēks grib sēdēt un web programmēt a tauta par ASM reliģiju sāk stāstīt. 

1) ASM vēlams zināt principā stipri ierobežotos gadījumos, kas pa lielam ir dažādu embeded iekārtu bakstīšana. 

2) Jebkurš normāls kompilators(llvm/gcc/vs) uz x86/64 jau ntos gadus ASM raksta efektīvāk par cilvēku un sen jau saprot tādas pašas lietas kā reizināšana ar 32.

3) Mateush šnekas stilā dedzina, jo Java izmanto JVM, kurš JIT kompilējot un ar savu atmiņas pārvaldību nav pat teorētiski iespējams pateikt, kas konkrētās funkcijas izsaukšanas brīdī notiks HW līmenī. 


 

Edited by DjUbuntu
Link to post
Share on other sites
Mezavecis
Pirms 6 minūtēm , Mateushs teica:

Java valodā izmantos funkciju, kura to izdarīs. A Tu zini, kas notiek "dzelžu" līmenī brīdī, kad notiek funkcijas izsaukums?! ASM palīdzēs saprast, ka to nevajag darīt. Bet ja cilvēks paklausīs Tevi, tad viņš rakstīs programmas, no kurām CPU "aizrīsies".

Tukša laika nosišana. ASM nekādi neatrisinās šo problēmu. Tāpēc skolās ir speciāli priekšmeti, kur risina šādus uzdevumus, kur nav nekāds sakars ar ASM vai programmēšanu.

Link to post
Share on other sites
Mateushs
2 minutes ago, Mezavecis said:

Tukša laika nosišana.

 

Nu, protams, priekš kam saprast, ko katra konkrēta instrukcija dara; bliežam tik gatavu programmu bez domāšanas par to, kas notiek "abstraktā" dzelžu līmenī. :( 

5 minutes ago, DjUbuntu said:

Mateush šnekas stilā dedzina, jo Java izmanto JVM, kurš JIT kompilējot un ar savu atmiņas pārvaldību nav pat teorētiski iespējams pateikt, kas konkrētās funkcijas izsaukšanas brīdī notiks HW līmenī. 

 

Nekas ātrāk nekā "x << 5" tur HW līmenī jebkurā gadījumā nenotiek.

 

Viss, es esmu "out", jo redzu, ka turpināt te vienkārši nav vērts.

Link to post
Share on other sites
Mezavecis
Pirms 4 minūtēm , Mateushs teica:

protams, priekš kam saprast, ko katra konkrēta instrukcija dara; bliežam tik gatavu programmu bez domāšanas par to, kas notiek "abstraktā" dzelžu līmen

Nu tu vari sēdēt un pētīt savas instrukcijas, kamēr pārējie dara lietas, kuras nes pievienoto vērtību.

Link to post
Share on other sites
itanium

Ņjā, kārtējās boot pērles. Cilvēks pamatus jau ir apguvis un jautā, kur pilnveidoties tālāk, lai darba tirgū varētu labāk konkurēt - Pascal, ASM... ņjā, brīžiem laikam vērtīgāk ir ar sienu runāt nekā jaunu tēmu bootā taisīt.

 

Par matemātiku: ja ir vismaz pamatskolas izglītība, kur matemātikā nav 4, un ir interese par programmēšanu, tad tā nebūs problēma. 

Edited by itanium
Link to post
Share on other sites
Mateushs
1 minute ago, Mezavecis said:

Nu tu vari sēdēt un pētīt savas instrukcijas, kamēr pārējie dara lietas, kuras nes pievienoto vērtību.

 

Radīt lietas, kas nes pievienoto vērtību, bet kuras tanī pat laikā būs kvalitatīvākas, nevar? Bieži jau nevajag neko pētīt; ja zini, par ko "zemā" līmenī pārvēršas katra konkrēta instrukcija, tad viss ir skaidrs bez jelkādas padziļinātas pētīšanas. Bet tāpēc mācību procesā vajag iegūt sapratni, par ko tad pārvēršas dažādas instrukcijas augsta līmeņa valodā.

 

 

Link to post
Share on other sites
Mezavecis
Pirms 1 minūtes , Mateushs teica:

Radīt lietas, kas nes pievienoto vērtību, bet kuras tanī pat laikā būs kvalitatīvākas, nevar? Bieži jau nevajag neko pētīt; ja zini, par ko "zemā" līmenī pārvēršas katra konkrēta instrukcija, tad viss ir skaidrs bez jelkādas padziļinātas pētīšanas.

Laiks ir nauda. Normālā dzīves situācijā nav laika nodarboties ar muļķībām optimizējot if else, kā reiz mēģināja tāds @diegs

Link to post
Share on other sites
Raimonds1

Man neprogrammētāja viedoklis ir tāds, ka gan Latvijā, gan pasaulē vajag DAŽĀDUS programmētājus un dažādiem tirgus nišas meklētājiem ir DAŽĀDI talanti.

 

 

Link to post
Share on other sites
AndrisBB

Nu tur jābūt diezgan jokainam cilvēkam, lai sāktu tagad kādu projektu iekšs Paskal, pat ja viņā var vai nevar kautko izdarīt.

Ja tas biznesa orientēts, tad visas problēmas ar neesošiem programmētājiem, ja kāds open-source, tad kurš gribēs/varēs tur kautko palīdzēt, tādā aizvēsturiskā/bezjēdzīgā valodā?

 

Edited by AndrisBB
Link to post
Share on other sites
DjUbuntu

Mezavecis, pastrādā ar patizlām iekārtām, kur labākajā gadījumā uz proci ir dīvains C kompilators, a proča jauda var mēroties ar Raimonds1 smadzeņu apjomu. Visi jau nevar programmēt enterprise CRUD aplikācijas, kur performance problēmas risina citā līmenī :D

 

AndrisBB, jebkurā valodā var izdarīt jebko. Atceros kadru, kurš WEB backendu uz Objective-C grieza. 

 

 

 

 

Link to post
Share on other sites
AndrisBB

Nu es visulaiku rakstu web backendu iekš C++ (Pašas funkcijas kur kautko interesantu dara pat C), protams ne priekš lapām, bet API. Paskālā ja vajadzētu, tad ganjau arī varētu.

 

Neesu dzīvē saskāries ar nevienu projektu iekš Paskal (par laimi), bet kad studēju maģistrus, tad visādos vecos research papīros no 80tajiem, argiem 90tajiem, bij diezgan daudz Paskāla. Kad rakstiju/taisiju gala darbu, tad diezgan daudz tādus vajadzēja izpētīt. Nu i nafig to ačgārno valodu. Kāda mārutka pēc tāds marazms ir jāizmanto un kur nu vēl kādam jāmāca? Saprotu varbūt tajos pašos 90tajos, kad īpaši daudz alternatīvu nebij (valodas protams bij, bet ne pārāk ērtas mācīšanai), bet tagad? Tagad pilns ar labām valodām, ka autors pat izvēlētiies nevar kurā virzienā iet, priekšķam ādas ačgārnas lietas popularizēt tikai tapēc ka pats bijis tas nelaimīgais, kurš bij spiests viņu mācīties.

Edited by AndrisBB
Link to post
Share on other sites
Mateushs
14 minutes ago, Mezavecis said:

Laiks ir nauda. Normālā dzīves situācijā nav laika nodarboties ar muļķībām optimizējot if else, kā reiz mēģināja tāds @diegs

 

Tu, gadījumā, neesi kaut kādu Java kursu pasniedzējs?! Es te pirms laika vienu paklausījos neīšām, kurš runāja stipri līdzīgi Tev... Arī mēģināja iestāstīt, ka "tik ņem un bliez" un nav ko tur daudz iedziļināties dzelžu līmenī.

Link to post
Share on other sites
Mezavecis
Pirms 11 minūtēm , DjUbuntu teica:

pastrādā ar patizlām iekārtām, kur labākajā gadījumā uz proci ir dīvains C kompilators, a proča jauda var mēroties ar Raimonds1 smadzeņu apjomu. Visi jau nevar programmēt enterprise CRUD aplikācijas, kur performance problēmas risina citā līmenī

Ticu, bet te viens cenšas ar putām uz lūpām ieskaidrot, ka web programmētājam vajag ASM zināt.

Link to post
Share on other sites
Mateushs
1 minute ago, Mezavecis said:

Ticu, bet te viens cenšas ar putām uz lūpām ieskaidrot, ka web programmētājam vajag ASM zināt.

 

WEB izstrādē ASM nevajag, bet programmēšanā vajag. Es runāju par programmēšanu.

Link to post
Share on other sites
Mezavecis
Pirms 1 minūtes , Mateushs teica:

Tu, gadījumā, neesi kaut kādu Java kursu pasniedzējs?!

Nekad neesmu bijis pasniedzējs un nebūšu.

 

Pirms 2 minūtēm , Mateushs teica:

Arī mēģināja iestāstīt, ka "tik ņem un bliez" un nav ko tur daudz iedziļināties dzelžu līmenī.

Tu tu pats izdomāji. Klasiska demagoģija.

Link to post
Share on other sites
marrtins

Mjā, kārtējais flame-war. Paskālītis man no bērnības mīļš, bet tomēr plašam patēriņam komerciāli to izmantot būtu neprāts un ieguldīties būtu vērts, ja tev labi apmaksāts darbs vai prijekts jau sarunāts līdz mūža beigām (vēlams ar 50% priekšapmaksu, kā drošības spilvenu).

Link to post
Share on other sites
Mezavecis
Just now, Mateushs teica:

WEB izstrādē ASM nevajag, bet programmēšanā vajag. Es runāju par programmēšanu.

Ja web neuzskati par programmēšanu, tad tev vispār nav sajēgas šajā jomā.

  • Haha 1
Link to post
Share on other sites
marrtins

Piekrītu viedoklim, ka vispirms programmēt ir jāmāk. Kaut vai uz papīra. Kaut vai latviešu valodā. Iemācīties pēcāk dažādas valodas un to knifiņus un niķus - tas jau laika un pacietības jautājums.

  • Atbalstu 1
Link to post
Share on other sites
Mateushs
3 minutes ago, Mezavecis said:

Ja web neuzskati par programmēšanu, tad tev vispār nav sajēgas šajā jomā.

 

Tad ta es redzu, ka Tu runā nesaprotamas lietas, runājot par programmēšanu. Izrādās, Tu runā par WEB izstrādi, saucot to par programmēšanu. Nu ok then

Link to post
Share on other sites
AndrisBB

Neizklausās ka viņš pats būtu programmētājs un kautko reāli darītu, tikai tukši muld.

Visulaiku runā par kautkādu dzelžu līmeni, bet piemēros iedod kautkādas kāpināšanas un if/else. Tā nu gan ir baigā dzelžu programmēšana :D

 

Lai būtu jēga uztraukties par kautkādu if/else optimizēšanu ir vispār jaānoskaidro vai tas kautkādā būtiskā veidā kautko ietekmē un tur vispēr ir vērts ko skatīties.

 

Tas par @Mateushs

Edited by AndrisBB
  • Haha 1
Link to post
Share on other sites

Jā, dažas rindiņas ASM vai C noteikti ir daudz cēlāk, kā vesela sistēma iekš Laravel vai React.

 

Link to post
Share on other sites
Mateushs
1 minute ago, AndrisBB said:

Neizklausās ka viņš pats būtu programmētājs un kautko reāli darītu, tikai tukši muld.

Visulaiku runā par kautkādu dzelžu līmeni, bet piemēros iedod kautkādas kāpināšanas un if/else. Tā nu gan ir baigā dzelžu programmēšana :D

 

 

Es minēju elementāru piemēru ar kāpināšanu, lai būtu skaidrs. If..else es neminēju. PALASI PIRMS APGALVO! Es runāju par programmu rakstīšanu ar sapratni par to, kas notiek dzelžu līmenī, rakstot programmas augsta līmeņa valodā, NEVIS PAR DZELŽU PROGRAMMĒŠANU!!!

 

Tu jauc lietas.

Link to post
Share on other sites
AndrisBB

Un kapēc tu domā ka nevar saprast kas notiek kāpināšanas gadījumā un rakstīt augstāka līmeņa valodā?

Link to post
Share on other sites
marrtins
Pirms 6 minūtēm , AndrisBB teica:

Lai būtu jēga uztraukties par kautkādu if/else optimizēšanu ir vispār jaānoskaidro vai tas kautkādā būtiskā veidā kautko ietekmē

Nesen manīju youbūbā interesantu video par branching optimizēšanu. Kaut kāds ieguvums tur noteikti bija, bet tas saistībā ar CPU branch prediction fīču. Ja ir interese, varu mēģināt sameklēt.

Link to post
Share on other sites
DjUbuntu

mudila Mateushs, izlasi kā strādā JIT kompilatori. Tavas zināšanas jau sen ir novecojušas, ja runa ir par klasiskajām ARM / x86 arhitektūrām

 

Link to post
Share on other sites
AndrisBB

Tas jau pat mikrokontrolieros ir, ka processors pre-fetcho instrukcijas abiem gadījumiem (un pat izpilda abus gadījumus paralēli) un tad izpilda to, kurs reāli vajadzīgs.

Tas pats process arī izvēlas vienu kā visreālāko un "pareizības" faktors bij kautkādi 80 - 90%.

   

Koda optimizēšanā jau nav nekas labāks par pašu kompilātoru. Var protams kautko mikrolīmenī optimizēt vai drīzāk pielāgot kautkādai specifiskai vajadzībai, bet tiklīdz daudzmaz lielāks koda gabals, tā ar kompilātoru sacensties tur nav ne mazāko cerību, pat ja patērē daudz laika (kas maksā naudu).

Edited by AndrisBB
Link to post
Share on other sites
marrtins
Pirms 33 minūtēm , AndrisBB teica:

nekas labāks par pašu kompilātoru

Vairumam gadījumu - noteikti.

Paskaties par to branching.

Link to post
Share on other sites
AndrisBB

Paturpinot mazliet par to if/else tēmu.

Piemēram glib ir LIKELY/UNLIKELY makrosi, kuri pārveidos to uz compilatora direktīvām, kurš pēctam nokomiplēs tā kā optimālāk priekš konkrētā CPU, piemēram iekš MIPS ir ātrāk ja "ticamākās" instrukcijas uzreiz seko branch chekam un mazāk ticamākais izpilda jampu, uz ARM vai x86 iespējams pavisam savādāk.

https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#G-LIKELY:CAPS

 

Kods beigās sanāk kautkāds tāds:

 

  if (G_UNLIKELY (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))) {
    gst_adapter_clear (dvdemux->adapter);
    dvdemux->discont = TRUE;
  }

 

Tākā bieži rakstu GStreamer kodu un pluginus priekš viņa, tad kur liekas ka ir jēga no tā, tur izmantoju.  Bet pats par sevi GStreamer ir pilns ar to, jo optimāli jādarbojas uz visiem iedomājamajiem CPU. Lai pats kautko varētu jēgpilni optimizēt, tad ir jāpārzin visas iespējamās arhitektūras un viņu paveidi. 

Domājams ka kompilātoram vieglāk to atcerēties :D

 

 

Edited by AndrisBB
  • Patīk 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...