Jump to content
Gaisma

Ar ko sākt, lai kļūtu par LABU programmētāju?

Recommended Posts

binary

Oh, ok, tur kaut kādi "snaps" ir, no tiem ir 4.8 pieejams.

 

Edited by binary

Share this post


Link to post
Share on other sites
usver

 

2018.12.9. , 14:56, Mateushs teica:

Krievijā, kur programmētāju līmenis ir gana augsts, Pascal tiek plaši izmantota augstskolās. Olimpiādē krievi pārliecinoši ir labākie.

 

Latvieši jau tagad ik pa laikam medaļas dabūn - jo sevišķi skolēni. Tev nešķiet, ka pie 70 reižu lielāka latviešu skaita (lai būtu līdzvērtīgi kā Krievijā) būtu vēl lielāka konkurence, izkristalizētos labāka infrastruktūra un viņi brauktu mājās ar pilniem spaiņiem medaļu?

Tā kopējā kultūra Latvijā ir pakaļā, augstskolās reflektantu skaits ir niecīgs, uz tehniskajām profesijām vēl mazāks, līmenis slīd uz leju (nāk tādi ar pirkstiem gaisā, kam viss ir labi arī tāpat un nav motivācijas springt), un pasniedzēji ir spiesti pielāgoties kopējam līmenim, lai neizlidinātu studentus un nezaudētu budžeta naudu uz to gadu. Labi, ka LU vēl cenšas līmeni turēt.

 

Es esmu runājis ar RTU studentiem - tur ir daudz fakultāšu, un tur ir nopietnas problēmas ar apmācību. Reāli nopietnas. Studenti ar RTU diplomu, kas gandrīz nemaz nemāk programmēt, Java nav redzējuši vispār. Es kaut kad arī kaut ko RTU pasniedzu epizodiski, un tāpēc biju pārsteigts. Tev tiešām šķiet, ka aizvietojot vienu pavirši apgrābstītu valodu ar otru pavirši apgrābstītu valodu, kaut kas mainīsies?

 

Citēt

<Ashura> По дороге на работу решил выбросить мусор.Подхожу к контейнеру.
<Ashura> (р-н Б.Дорогомиловской, Москва)
<Ashura> В соседнем контейнере роются два бомжа. И вот один вытягивает из мусора книгу.
<Ashura> Название: "Программирование на Турбо-Паскале". И выдает фразу: 
<Ashura> - Глянь, Петрович, неужели кто-то еще на "Трубе" пишет?

 

  • Patīk 1

Share this post


Link to post
Share on other sites
usver
2018.12.9. , 14:12, Mateushs teica:

Vēl viens jautājums - kāpēc tiek mācīta programmēšana Windows (faktiski MS-DOS) vidē, nevis Linux sistēmā, kur tam ir visi bezmaksas rīki?!

Varbūt tādēļ, ka izglītības iestāžu saimniecībā un studentu datoros, visticamāk, dzīvo Windows?

 

Kursa darbus students var taisīt iekš kā vien vēlas. C++ pirmo kursadarbu uztaisīju tīkla čatu-failu pārsūtītāju ar MFC, kas nebūt nav DOS. Un arī C# bija gluži labi taisīt GUI programmas iekš Windows.

Bet pateikšu priekšā, ka laboratorijas darbos viņi apgūst pamatus. Un rakstīt ciklus iekš Kate, Kwrite, Gedit vai Notepad++ - tas mācību procesu miniatūrām programmiņām diez ko neietekmē.

Share this post


Link to post
Share on other sites
rnxx
9.12.2018. , 13:40, Mateushs teica:

Ne jau asemblera iekļaušana 2.semestrī samazinās atbirumu. To samazinās zemāks programmēšanā ieiešanas slieksnis, kas ir Pascal, nevis C++ vai C#, ko māca mūsu augstskolās.

Atbirums 1 kursā pamatā ir ne jau programmēšanas dēļ. 

 

9.12.2018. , 14:12, Mateushs teica:

C++ priekš skolēna - pārāk augsts slieksnis. Nezinu, kāpēc mūsu augstskolās cilvēkiem, kas līdz tam par programmēšanu bija tikai dzirdējuši, māca C++, C# u.c. Nezinātājiem tas ir pārāk augsts slieksnis. 

Gribas teikt, ka C# ar Visual Studio taisīt mājasdarbus ir grūtāk nekā Paskālī? Nepiekrītu. 

C++ ir paaugstas prasības lai dabūtu algotu darbu, salīdzinot ar citām valodām, bet augstskolas darbus visi var nokārtot.

9.12.2018. , 14:23, Mateushs teica:

 pēc augstskolas cilvēkam, kas māk programēt C# valodā, piemēram, programēšanas vide ir vai nu jāpērk, vai nu.......

Valoda ir tikai rīks, nekas vairāk. Atslēgas vārds ir " māk programmēt." Cilvēks, kas labi pārzina programmēšanu C++, to C# ātri apgūs.Otrādi ne vienmēr būs tik viegli.

 

Share this post


Link to post
Share on other sites
Mateushs
2018.12.11. , 11:41, usver teica:

Varbūt tādēļ, ka izglītības iestāžu saimniecībā un studentu datoros, visticamāk, dzīvo Windows?

 

Kursa darbus students var taisīt iekš kā vien vēlas. C++ pirmo kursadarbu uztaisīju tīkla čatu-failu pārsūtītāju ar MFC, kas nebūt nav DOS. Un arī C# bija gluži labi taisīt GUI programmas iekš Windows.

Bet pateikšu priekšā, ka laboratorijas darbos viņi apgūst pamatus. Un rakstīt ciklus iekš Kate, Kwrite, Gedit vai Notepad++ - tas mācību procesu miniatūrām programmiņām diez ko neietekmē.

Lai kļūtu par kvalitatīvu programmētāju, pirms programmu ar GUI rakstīšanas ir jāiemācās rakstīt kvalitatīvas programmas bez GUI. MS-DOS tas fiziski nav iespējams. Tas mazais MS-DOS lodziņš nedod nekādas cerības uzrakstīt, piemēram, programmu pa visu ekrānu, kuru var kvalitatīvi ikdienā izmantot, nevis programmiņu programmiņas dēļ. Turklāt visi tie, kas mācās programmēt MS-DOS, pēc noklusējuma nepareizi raksta programmas; nevajag katras programmas beigās likt operatoru ReadLine. MS-DOS lodziņš tracina ne tikai ar mazo izmēru, bet arī ar to, ka bez ReadLine tas vienkārši aizveras ciet. Nekā tamlīdzīga Linux sistēmās, protams, nav; tur neviens nebeidz programmu ar ReadLine, lai logs neaizvērtos! :D:D:D

Share this post


Link to post
Share on other sites
rnxx
11.12.2018. , 11:26, usver teica:

 tiešām šķiet, ka aizvietojot vienu pavirši apgrābstītu valodu ar otru pavirši apgrābstītu valodu, kaut kas mainīsies?

Protams, ka nemainīsies itin nekas. 

Nav tikai pie mums, ārzemēs arī ir vietas,  kuras pabeidz un vispār neko neprogrammē, labi ka konfigurēt kaut ko prot. Nedaudz.

 

Share this post


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

Kāpēc tieši šos?

palasi, tad sapratīsi. Tas ir augstskolas kurss programmēšanā. Pasniedzējs pats daudzus gadus ir bijis profesionāls programmētājs.

Edited by Mateushs

Share this post


Link to post
Share on other sites
Mateushs
2017.03.23. , 09:42, Gaisma teica:

Es gribu izaugt tā, lai varētu sevi saukt par labu programmētāju. 1. soli es daru - mācos 1. IT kursā, specialitātē - programmēšanas inženieris. Universitātē ieskatam esmu apguvusi C++, šobrīd mācos HTML, CSS, lieku kopā mājaslapu pēc vizuāla parauga. Tūlīt PHP sākšu apgūt. Bet universitātē mācītais ir tikai pats, pats pamats, ar to pietiks, lai es saprastu domu, kodu, bet ne lai labi kodētu, tur pašam daudz patstāvīgi jādarbojas. Prakse man būs tikai nākamgad, bet es vēlos praktiski vismaz mājās darboties tā, lai jau praksē varu sevi labi pierādīt. Tāpēc mans jautājums Jums - ar ko sākt? 

  • Es DevC++ varu vienkāršas programmiņas sastādīt, kas kaut ko aprēķina u.tml. Bet viņa turpat arī paliek. Bet vai es varu izdarīt kaut kā savādāk, kur es reāli jau to C++ ielieku iekšā - reālu programmu uztaisīt priekš sevis?
  • Es gribētu pamēģināt izveidot mājaslapu. Par wordpresiem u.tml. zinu, bet es vēlos pati izveidot dizainu, kāda tā lapa izskatīsies, nevis iet pēc tā, ko piedāvā. Notepadā ir skaidrs kā rakstīs css un html, atveru sevis uzrakstīto pārlukā, jā ir tā lapa, bet tā ir tikai man redzama, kā atvērts fails no mana kompja. Vai bez lieliem finanšu ieguldījumiem ir iespējams iesācējam izveidot mājaslapu, kuru reāli varu izmantot? Cik saprotu, tādai ir jāpieliek klāt datubāzes ( ko vēl neesmu mācījusies, bet varu sākt ).
  • Varbūt ir kādi ieteikumi?

 

Piebildīšu, ka nekad iepriekš netiku domājusi iet uz IT, mani tas neuzrunāja līdz brīdim, kad tomēr "apstākļu spiesta" aizgāju studēt IT un man tiešām iepatikās un joprojām patīk, bet mīnuss - man nav nekādu priekšzināšanu kā citiem kursa biedriem, jo neko vairāk par wordu, exceli, powerpointu nebiju darbinājusi līdz šim (tāpēc, lūdzu, nebrīnieties par pavisam elementāriem jautājumiem :))) )

 

Paldies par Jūsu laiku!

Sāc izdomāt, rakstīt un uzlabot dažādas programmas. Izdomā uzdevumu, kas Tev šķistu interesants un raksti.

  • Kādas šausmas! 1

Share this post


Link to post
Share on other sites
AndrisBB

Ko tu tur pats ar sevi sarun'ajies?

  • Haha 1

Share this post


Link to post
Share on other sites
Mateushs
1 stundu atpakaļ, rnxx teica:

Esi pabeidzis augstskolu?

Studēju, bet aizgāju, jo sapratu, ka tas, ko māca augstskolā, nav priekš manis. Piemēram, studējot operētājsistēmas, es gribēju saprast operētājsistēmas kā tādas, nevis bakstīties Windows sistēmas opcijās, kuras drīz mainīsies...

Edited by Mateushs

Share this post


Link to post
Share on other sites
Mateushs
2018.12.11. , 11:26, usver teica:

 

 

Latvieši jau tagad ik pa laikam medaļas dabūn - jo sevišķi skolēni. Tev nešķiet, ka pie 70 reižu lielāka latviešu skaita (lai būtu līdzvērtīgi kā Krievijā) būtu vēl lielāka konkurence, izkristalizētos labāka infrastruktūra un viņi brauktu mājās ar pilniem spaiņiem medaļu?

Tā kopējā kultūra Latvijā ir pakaļā, augstskolās reflektantu skaits ir niecīgs, uz tehniskajām profesijām vēl mazāks, līmenis slīd uz leju (nāk tādi ar pirkstiem gaisā, kam viss ir labi arī tāpat un nav motivācijas springt), un pasniedzēji ir spiesti pielāgoties kopējam līmenim, lai neizlidinātu studentus un nezaudētu budžeta naudu uz to gadu. Labi, ka LU vēl cenšas līmeni turēt.

 

Es esmu runājis ar RTU studentiem - tur ir daudz fakultāšu, un tur ir nopietnas problēmas ar apmācību. Reāli nopietnas. Studenti ar RTU diplomu, kas gandrīz nemaz nemāk programmēt, Java nav redzējuši vispār. Es kaut kad arī kaut ko RTU pasniedzu epizodiski, un tāpēc biju pārsteigts. Tev tiešām šķiet, ka aizvietojot vienu pavirši apgrābstītu valodu ar otru pavirši apgrābstītu valodu, kaut kas mainīsies?

 

 

Nē, es tiešām nedomāju, ka ja latviešu būtu 70 reižu vairāk, mēs būtu labāki programmētāji. Līmeni nosaka nevis kvantitāte, bet sagatavošanas kvalitāte. Varbūt nevis jauno studentu līmenis ir zems, bet gan pasniedzējiem ir vērts padomāt par to, lai pasniegtu priekšmetus tā, ka studenti tos saprot? Manuprāt, ir vērts padomāt par to, lai, piemēram, tai pašā programmēšanā mācītu nevis kaut kādu valodu (kaut kādu iedomātu iemeslu dēļ; populāra, plaši izplatīta u.t.t.), bet gan programmēt!! Es saredzu problēmu tieši tanī faktā, ka skolās nesagatavotiem cilvēkiem, daudzi no kuriem pirmo reizi sastopās ar programmēšanu, māca nevis programmēt, bet reāli smagas valodas bāž galvā: Java, C++ u.t.t. Jautājums: priekš kam? Turklāt māca pēc principa: es savu lekciju nolasīju, savu sakāmo pateicu, bet vai jūs sapratāt - jūsu problēma. Laikā, kad studēju, neredzēju nevienu studentu ar "pirkstiem gaisā" (kaut gan, protams, ka tādi varētu būt), taču man ir daudz jautājumi par to, kā tiek pasniegts. Un, zinot, kā augstskolās pasniedz, mani nepārsteidz tas, ka daudzi cilvēki pēc augstskolas nemāk programmēt. Var smīnēt par Pascal valodu, cik grib (turklāt bez  novecojušā Turbo Pascal ir arī Free Pascal), bet tā savulaik tika radīta tieši tāpēc, lai mācītu cilvēkiem programmēt. Tā netika radīta, lai profesionāli tajā programmētu (kaut gan arī tas ir iespējams), bet gan tāpēc, lai mācītu cilvēkus, ar vienkāršas valodas palīdzību skaidrojot programmēšanas pamatus. Paņemam kaut vai standarta programmu "Hello, world!", ar kuru sākās programēšana, Pascal valodā un C valodā; starpība pierakstā ir būtiska. Man augstskolā bāza citu valodu, taču jēga no tā nemainās; Pascal ir labākais iesācējam. Pēc sevis zinu; ja nebūtu Pascal, augstskola mani aizbaidītu no programmēšanas. Un, smejoties par Turbo Pascal, der atcerēties, ka MS-DOS (kurā mūsu pasniedzēji māca programmēt), jau savus gadus 20 ir pagātne.

Edited by Mateushs

Share this post


Link to post
Share on other sites
PlayingTheSaint

1) par tām 70 reizēm var paskatīties uz lieliem un maziem uzņēmumiem
2) pythons

Share this post


Link to post
Share on other sites
usver
pirms 4 stundām , Mateushs teica:

Kas labi zina krievu valodu, iesaku šos materiālus: http://stolyarov.info/books/programming_intro

 

1 stundu atpakaļ, Mateushs teica:

Nē, es tiešām nedomāju, ka ja latviešu būtu 70 reižu vairāk, mēs būtu labāki programmētāji.

 

es atvainojos .. Tu tagad kasies kasīšanās pēc? Realcoding.net, opennet.ru - sameklē, lūdzu, analoģiskus portālus latviski ar tutoriāļiem un diskusijām par visdažādākajām tēmām un tūkstošiem lietotāju. Es šitos pirms gadiem padsmit atradu, noteikti ri vēl kaudze. Tev tiešām nepielec, ka krieviski ir nenormāla sabiedrība, kas veicina attīstību pirmkārt jau ārpus visām augstskolām? Grāmatas vietējā valodā, lai padsmitgadnieki varētu lasīt un sākt? Sabiedrības apkārt tām grāmatām? Tutoriāļi? Youtube kanāli ar auditoriju? Sabiedrība veicina jauno kadru piesaisti.

 

1 stundu atpakaļ, Mateushs teica:

māca nevis programmēt, bet reāli smagas valodas bāž galvā: Java, C++ u.t.t. Jautājums: priekš kam?

Tad redz, kur tas suns aprakts - cilvēks nav C++ varējis iemācīties.

Nu okei - tātad ir arī tādi. Es nebūtu pats iedomājies, ka sākt ar C++ būtu problēma. Iemācījos - sākumā tajā pašā linuksī lika visu darīt. Īsti nesaprotu, ar ko DOS sliktāks par bash, ja tur tāpat GUI ar GTK/Qt iesācējam neredzēt kā savas ausis. GUI iemācījos pielikt klāt ar Win32 API un pēc tam MFC un pēc tam citiem freimvorkiem. Pēc tam C#. Nenomiru. Cits vordpresu iemācīsies uzlikt un sūdzēsies, ka skolā sūda c++ un sūda paskāli vien māca, vot vordpress - tā ir īstā manta, kas ļauj ieraudzīt darba rezultātus un nopelnīt reālu naudu, nevis melnus logus tik programmēt. Un to vien sludinās - tieši tikpat aizvainotā tonī. Tā vietā, lai iemācītos, ko skolā liek un izmantotu to kā starta pozīciju, lai apgūtu to, ko skola dod, nozīmētos pasniedzējiem, cik tālu patiesībā var viņu priekšmetu attīstīt. Augstskolu vismaz pabeidzi? Vai izkriti un tagad klāstīsi, ka augstskolas ir sūds?

 

ok, atradu atbildi. un tagad ar ko pelni iztiku, ko taisi, kādos uzņēmumos vai kādiem klientiem? kāds lietotāju skaits un kā sanāk?

pirms 3 stundām , Mateushs teica:

Studēju, bet aizgāju, jo sapratu, ka tas, ko māca augstskolā, nav priekš manis.

Edited by usver
  • Patīk 1

Share this post


Link to post
Share on other sites
Inspektors Caps

Mateushs, pēdējais MS-DOS bāzētais Windows bija Windows ME. NT platforma, kas mājas lietotājiem sākās ar Windows XP, ir no paša sākuma būvēta ar multithreading, virtuālo atmiņu un pārējiem modernas lielās OS principiem. Man ir aizdomas, ka Tu patiesībā runā par komandrindas interfeisu un konkrēti cmd.exe, bet sauc to par MS-DOS, kas ir auzās, jo MS-DOS ir operētājsistēma. Tās komandrindas programmas nekādi nav uzskatāmas par DOS programmām, jo lielākā daļa lietu, kas strādāja DOS, tur nestrādā, bet Windows API strādā viss.

 

Programmēšanas industrijā ir fundamentālas kļūdas un haoss gan globāli, gan jo īpaši Latvijā. Pati fundamentālākā kļūda - programmēšana tiek uzskatīta kā tāda matemātikas apakšjoma. Patiesībā programmēšana ir inženierzinātne, kurā matemātika ir nozīmīga, bet tas ir tikai viens no instrumentiem! Olimpiādes parāda tikai matemātiskās un algoritmiskās domāšanas spējas, bet tas vēl nekādi nenozīmē, ka esi labs programmētājs. Latvijas augstskolās labā līmenī iemāca matemātiku un algoritmus. Nedaudz apgrābsta C++/C#/Java, SQL, datortīklus un kaut ko no web tehnoloģijām. Ak, jā - un sabāž čupām visādu projektu vadību, sistēmu modelēšanu, automatizētu koda ģenerēšanu un citu teorētiķu glupību. Toties daudz tēmu, kas būtu obligātas visiem programmētājiem, nemāca vispār. Piemēram:

  • C (nevis C++) programmēšanas valoda. Gan tādēļ, ka tā ir lielākās daļas aktuālo programmēšanas valodu sintakses māte, gan tādēļ, ka tā ir visur no 8-bit mikrokontrolieriem auto signalizācijas pultīs līdz superdatoriem. Faktiski "pasauli" darbina C.
  • Programmas koda arhitektūras un kārtīga koda veidošanas principi.
  • Operētājsistēmu kerneļu darbības principi.
  • Daudzpavedienu programmēšana.
  • Grafisko interfeisu programmēšana.
  • Lietotāja interfeisu ergonomika. (Windows 8..10 ir labs piemērs pie kā noved šīs jomas ignorēšana)

  • Lietotāja un ārēju sistēmu ievades apstrāde.

  • Tīkla protokolu un failu formātu veidošana un parsēšana.

  • Konfigurācijas datu glabāšana un pielietošana.

  • Datu integritāte, autentifikācija un šifrēšana.

  • Digitālā signālu apstrāde.

  • Datorsistēmu arhitektūra.

  • Atmiņu tipu īpašības un lietošana - SRAM, DRAM, EEPROM, flash, magnētiskie, optiskie u.c.
  • Draiveru izstrāde.

 

Tādiem speciālistiem diplomā varēs lepni rakstīt "programmēšanas inženieris", jo viņi būs spējīgi radīt reālus produktus. Bet tādiem, kādus augstskolas ražo tagad, var rakstīt tikai "proglameris".

Edited by Inspektors Caps

Share this post


Link to post
Share on other sites
binary
Pirms 5 minūtēm , Inspektors Caps teica:

Toties daudz tēmu, kas būtu obligātas visiem programmētājiem, nemāca vispār. Piemēram:

  • (..)
  • Daudzpavedienu programmēšana.
  • (..)
  • Lietotāja interfeisu ergonomika. (Windows 8..10 ir labs piemērs pie kā noved šīs jomas ignorēšana)

  • (..)

  • Datu integritāte, autentifikācija un šifrēšana.

Pirms kādiem 10 gadiem RTU prof. bakalaurā daudzpavedieni bija kā izvēles priekšmets - vai nu lielās sistēmas, vai šitais. Ja atmiņa neviļ, tad Ada (sen tas bija, varbūt kļūdos). Jāatzīst gan, ka viss nenormāli izstiepts laikā - to, ko vajadzētu izkost nedēļas-divu laikā un pēc tam vairākus mēnešus nostiprināt, lēnām vilka visu semestri.

 

Par ergonomiku nepiekritīšu (Win 8, Win 10 sakarā).

 

Šifrēšana bija. Negribējās iet uz tām lekcijām (darbs bija ar to jomu saistīts) - uzrakstīju AES implementāciju iekš PHP, uztaisīju kaut kādu prezentāciju, tiku atbrīvots no lekcijām un pārbaudes darbiem.

Share this post


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

Daudzpavedienu programmēšana.

Ko domā ar daudzpavedienu programmēšanu? Parastu multithreadingu?

Man universitātē bij modulis "Parallel computing", daudz teorijas par skalāriem processoriem, multi procesoru sistēmām, klasteriem utt. Kautkāda matemātiska analīze, lai noteiktu cik labi algoritms piemēram skeilojas, parallelizācijas pakāpe un punks kad tas jau ir bezjēdzīgi.

Labaratorijas darbos bij jātaisa kautkādi algoritmi izmantojot OpenMP, MPI, Cuda utt, vai vēl labāk visus kopā, un tad viss matemātiski jāanalizē.

 

Manliekas ka par šo jau tiek runāts vismaz kādu 3 reizi pēdējā gada laikā.

 
Edited by AndrisBB

Share this post


Link to post
Share on other sites
AndrisBB

Vispār ja padomā, tad bij interesants modulis. Piemēram matemātiski analizēt, kas būs ātrāk, ja piemēram no auto datubāzes jāatlasa visus Fordus ražotus no 2002. gadā un ir pieejami 8 threadi.

Kā labāk darīt? Kurš no variantiem labāk skeilojas.

Sadalīt datubāzi 8 daļās un tad katram threadam iedot gabalu, no kura izlasa Fordus, no kuriem izlasa 2002 gadu, tad beigās visus rezultātus savieno gala rezultātā.

Vai arī 4 threadi meklē Fordus, otri 4 meklē 2002 gadu, tad beigās rezultātus "krusto", lai dabūtu gala rezultātu.

Vai arī ieviest kautkādu pipeline, kur viens threads ņem kautkādu gabalu, izlasa Fordus, padod tālāk nākamajam kurš izlasa 2002.gadu un padot tālāk threadam, kurs merdžo rezultātus utt.

Edited by AndrisBB

Share this post


Link to post
Share on other sites
rnxx
pirms 10 stundām , Inspektors Caps teica:

Programmēšanas industrijā ir fundamentālas kļūdas un haoss gan globāli, gan jo īpaši Latvijā. 

Nez vai tikai te, es nespriežu par industrijas kvalitāti, bet ja cilvēks var iedot F# taisītu darba gabalu ar 60000 rindiņām bez neviena komentāra, kaut mācās mağistra programmā ne LV, turklāt labā augstskolā un pateikt; sīkums, tad.... kādas vēl tālākas diskusijas? 

pirms 9 stundām , binary teica:

Pirms kādiem 10 gadiem RTU prof. bakalaurā daudzpavedieni bija kā izvēles priekšmets - vai nu lielās sistēmas, vai šitais. Ja atmiņa neviļ, tad Ada (sen tas bija, varbūt kļūdos). Jāatzīst gan, ka viss nenormāli izstiepts laikā - to, ko vajadzētu izkost nedēļas-divu laikā un pēc tam vairākus mēnešus nostiprināt, lēnām vilka visu semestri.

ADA laikam tagad tur ir izvēles, turklāt diez vai tajā tas bija kā obl minimums.  Vispār tā par nožēlu diezgan nektuāla, bet ideja lieliska, ļoti patīkams striktums un noteiktība prasībās.

Kriptogrāfija, nuja, tur pat ja labi mācās labā skolā, darbā ir augstākas prasības un ļoti daudz jāmācās papildus. 

Fordiem, tur DB apstrāde ar vienu proci, kam tikai 8 threads diez vai praksē  notiek.

Share this post


Link to post
Share on other sites
AndrisBB
pirms 1 stundas , rnxx teica:

Fordiem, tur DB apstrāde ar vienu proci, kam tikai 8 threads diez vai praksē  notiek.

Tas bij tīri teorētisks un mikroskopisks piemērs, threadu vietā vari iedomāties atsevišķus processorus, klasterus (datorus) vai kautkādu custom hārdwari. No analizēšanas viedokļa nekas nemainas, metodes tās pašas.

Share this post


Link to post
Share on other sites
binary
pirms 1 stundas , rnxx teica:

Nez vai tikai te, es nespriežu par industrijas kvalitāti, bet ja cilvēks var iedot F# taisītu darba gabalu ar 60000 rindiņām bez neviena komentāra, kaut mācās mağistra programmā ne LV, turklāt labā augstskolā un pateikt; sīkums, tad.... kādas vēl tālākas diskusijas?  

Par F# nemācēšu teikt, bet ar komentāriem ir tāpat kā ar operētājsistēmām, proču ražotājiem, būvmateriāliem utt - ir dažādas nometnes. Vieni uzskata, ka kods bez komentāriem jau pēc definīcijas ir nekvalitatīvs, savukārt citi uzskata, ka kodam pašam par sevi ir jābūt labākai dokumentācijai nekā jebkuram komentāram (kurus, starp citu, ir grūtāk uzturēt nekā kodu).

 

pirms 11 stundām , AndrisBB teica:

Ko domā ar daudzpavedienu programmēšanu? Parastu multithreadingu?

Domāju, ka pē komentāra jau bija skaidrs, ko un kādā līmenī tur pasniedza :D

Share this post


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

No analizēšanas viedokļa nekas nemainas, metodes tās pašas.

Atlasot konkrēto gadu ( 2002 ), pēc tam apstrādājamo datu daudzums būs mazāks, nekā atlasot visus Fordus. Līdz ar to manuprāt skaitļošanas resursus izdevīgāk sadalīt asimetriski, nevis 4 + 4 variantā. 

 

Edited by rnxx

Share this post


Link to post
Share on other sites
rnxx

Jāskatās, kā sakārtoti dati.

Ja inidkatora ieraksts ir auto numurs, pēc tam pārējais ieraksta saturs, tad par periodu, piem 1992 - 2018 būs ļoti daudz datu ko analizēt. Tad resursu visu fordu atlasei vajadzēs vairāk nekā tikai konkrēta gada auto marku analīzei. 

Ja indikatora ieraksts ir gads, tad savādāk; gadā, piem reğistrēto auto atlase būs ātrāka, tālāka atlase lēnāka. Kaut kā tā. 

Tātad, vispirms, kā veidota DB ierakstu sistēma? 

 

 

Share this post


Link to post
Share on other sites
AndrisBB

Tu tagad novirzies no tēmas un iedziļinies detaļās kurām, vairs nav sakara ar multiprocesu skaitļošanas analīzi. Tā 2002. gada vietā var būt kautkas daudz sarežģītāks vai tā vispār var nebūt nekāda datubāze, bet process kas kautko skaitļo un izdod rezultātus.

Tā virspusēji skatoties, te interesē tikai tas cik ilgi aizņems katrs process, cik ilgi aizņems datu padošana nākamajam procesam, cik ilgs laiks tiks zaudēts tā visa sinhronizācijai - kautkādi processi aizņems mazāk laiku, nekā citi un nāksies gadīt, vajadzēs noteikt "critical path", kā tiks šārēta atmiņa (abstrakta - nav obligāti RAM), katram processam sava vai kautkāds kopējs reģions. utt.

Datubāzes kā tādas struktūra un optimizācija jau ir cita zinātne.

Edited by AndrisBB

Share this post


Link to post
Share on other sites
rnxx

Ir sakars, jo asimetriska resursu izdale problēmu risinājumiem ir ikdienas vajadzība. Viena lieta ir programmēt mikrokontrolierus, nedaudz cita ir datu analīzes zinātne. 

Ja mēs paņemam auto datus, kur, vienalga, 10% vai 30% auto būs Ford, par padsmit gadiem, tad ierakstu apjoma attiecības marka/gads būs svarīgas risinājuma ātruma matemātiskai analīzei PIRMS tērēt naudu programmētāju algošanai. 

Jebkura skaitļošanas procesu analīze ārpus teorijas vispirms atduras pret pasūtītāja vajadzībām un prasībām. Spēja izdalīt resursus TIKAI simteriski veicina tikai papildus ento kastu sakrāmēšanu servernīcās, lūk tāda nenovirzīšanās no tēmas.  

Apsveicami, ka vismaz Big Data pieņemts problēmu vispirms analizēt matemātiski un izmantot sistēmanalītiķus pirms sākt programmēt risinājumus. 

 


Pirms 19 minūtēm , AndrisBB teica:

 

Tā virspusēji skatoties, te interesē tikai tas cik ilgi aizņems katrs process, cik ilgi aizņems datu padošana nākamajam procesam, cik ilgs laiks tiks zaudēts tā visa sinhronizācijai

Jā, šim piekrītu. 

Share this post


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

Viena lieta ir programmēt mikrokontrolierus, nedaudz cita ir datu analīzes zinātne.

Diskusija tak iesākās par multiprocessu, nevis datu analīzi, kas protams ir svarīga, bet šinī gadījumā nav tas kas tiek analizēts.

Es runāju par to ka tiek matemātiski analizēts tas, cik labi kopējā sistēma skeilojas, kāda ir parellizācijas pakāpe (kas ir viens no svarīgākajiem koeficientiem, ko parasti šeit rēķina), nevis datu optimizācija utt. Var jau optimizēt DB un analizēt tās struktūru, bet ne par to te iet runa. Kas notiek ja tu optimizēji to datubāzi, bet ar esošajiem resursiem vairs nepietiek, lai to apstrādātu un tiek pielikti vēl 8 processi? Te arī parallelizācijas koeficents pateiks cik tālu var iet un vai tas ir jēgpilni.

  

Share this post


Link to post
Share on other sites
rnxx

Tik un tā kvalitatīva dokumentcija par DB un labi veikts darbs ievērojami  atvieglo izraces risinājumu izveidošanu. Jā, arī pašas izraces un tālākas analīzes risinājumus var optimizēt.

Paralelizācija, protams ir svarīga, to pareizi raksti. 

 

 

Share this post


Link to post
Share on other sites
AndrisBB

Big Data ir tikai viena no nozarēm kur tas pielietojas.

Reku Wikipedijā ļoti īsi par pamatformulām, kuras pielietojas https://en.wikipedia.org/wiki/Analysis_of_parallel_algorithms

Protams Amazonā bezjēdzīgi daudz grāmatu par MPI, OpenMP, Cuda utt, lab darbos parasti jau izmanto kautādus praktiskākus algoritmus, kuri ir salīdzinoši CPU ēdoši, piemēram ģenerēt milzīgu Mandelbrot setu, tad izmanto tāspašas formulas, lai analizētu rezultātus.

 

Share this post


Link to post
Share on other sites
Inspektors Caps
pirms 15 stundām , binary teica:

Par ergonomiku nepiekritīšu (Win 8, Win 10 sakarā).

Nepiekrist ir Tavas tiesības, bet ergonomika ir objektīva un nomērāma. Kad mācījos, paņēmu priekšmetu "Cilvēka-datora interfeiss". Domāju, ka būs kaut kāda tufta, bet izrādījās viens no vērtīgākajiem priekšmetiem. Un tajā priekšmetā Windows 80 kā mājas darbs nedabūtu pat sekmīgu atzīmi! Ergonomikas feilu ir tik daudz, ka par to var sarakstīt bībeli. Īstenos ticīgos gan fakti tāpat nepārliecina, jo viņiem ir superarguments "dzīvot var". Varu tikai paturpināt, ka dzīvot var arī ar Windows XP, 95, 3.11, DOS, vispār bez datoriem, alā, kokā utt.

 

pirms 16 stundām , binary teica:

kā izvēles priekšmets

Tieši tas, ko es saku - svarīga lieta kā izvēles priekšmets, pie tam, izslēdzot ko citu, bet visādas tuftas kā obligātas. Šifrēšanu kā izvēles priekšmetu šur tur vēl drusciņ apmuļļā (lai gan vidējais koderis tāpat ir varbūt dzirdējis par AES, bet nezin pat to, kas ir ECB, CBC, GCM), bet no autentifikācijas un pat elementāras integritātes neviens nejēdz gandrīz vispār neko! Kas ir HMAC? Ar ko atšķiras CRC, MD, SHA? Fletcher-32 vs CRC-16? Pajautājiet šīs lietas un vidējais proglameris uz Jums skatīsies tā, it kā Jūs runātu ķīniešu valodā.

 

pirms 16 stundām , AndrisBB teica:

Ko domā ar daudzpavedienu programmēšanu? Parastu multithreadingu?

Jā, to pašu "parasto", kas dažādās operētājsistēmās ir pieejams jau gatavs no 90ajiem, bet 20 gadus vēlāk vēl ar vien to nejēdz pielietot pat ne 10% proglameru.

 

pirms 16 stundām , AndrisBB teica:

algoritmi izmantojot OpenMP, MPI, Cuda utt

MPI ir starpierīču paralēlā skaitļošana. Tas ir vajadzīgs ļoti mazai daļai - pārsvarā zinātnē un big data. Nedaudz lielākai daļai var noderēt OpenMP, OpeCL, CUDA, DirectCompute. Bet sākt varētu ar to, ka pilnīgi visiem obligāti iemācītu lietot vismaz SIMD instrukcijas, kas ir pieejamas jau no Pentium MMX laika.

 

pirms 16 stundām , AndrisBB teica:

skalāriem processoriem, multi procesoru sistēmām, klasteriem utt.

Tu domāji superskalāru (vairākas instrukcijas reizē)... :)Iepriekš minētie API un datu bāzes piemērs ir no matemātiskās apakšjomas un aktuāli tikai tad, kad ir vairāki kodoli/procesori. Bet vispār jau daudzpavedienu programmēšana ir aktuāla arī vienā atsevišķā ierīcē ar vienu procesoru ar vienu skalāru (pa vienai instrukcijai) kodolu bez matemātiski intensīviem aprēķiniem. AndrisBB, Tu taču zini, ka RTOS ir aktuāli pat mazos mikrokontrolieros. :) Un tāpat arī lielajos OS. Piemēram, pasen atpakaļ man bija jāuztaisa ne pārāk sarežģīta Windows programma, kas saņem datus no COM porta, saglabā tos failā un attēlo. Tikai attēlošanai ir jābūt formātā "slīdošais signāls" bez vizuāliem defektiem un vienmērīgi slīdošam. Tas izslēdza no spēles GDI un DirectDraw, jo tiem nav kadru sinhronizācijas un tad veidojas tearing defekts. Nācās iebraukt Direct3D, kam ir kadru sinhronizācija, kas realizēta kā bloķējoša IDirect3DDevice9::Present metode. Arī COM portam, gaidot datus ir jālieto bloķējoša WaitCommEvent funkcija. Tātad ir jāgaida šajās abās funkcijās plus kaut kam taču vēl ir jādarbina visa pārējā programmas loģika, GUI u.c. Vienīgais normālais risinājums ir datu saņemšanai no COM porta un renderēšanai ar Direct3D uztaisīt katram savu pavedienu. Uztaisīt pavedienu var arī pērtiķis, bet realizēt korektu starppavedienu sinhronizāciju spēj reti kurš. Lai to spētu, ir jāizprot muteksi, semafori, kritiskās sekcijas, eventi, pavedienu signāli, rindas, volatile mainīgie un, kā minimums, tādi jēdzieni kā race condition un deadlock. Velns, liela daļa nejēdz pat pareizi salikt pavedienu prioritātes! Rezultātā, ko mēs redzam apkārt? Pilns ar programmām, kam pie ilgākām operācijām GUI un viss pārējais sastingst, nestrādā Cancel, datu saņemšana notiek ar polling principu, kas lieki slogo CPU, tērē enerģiju un pie lielākām slodzēm sāk arī zaudēt datus.

Share this post


Link to post
Share on other sites
AndrisBB
Pirms 16 minūtēm , Inspektors Caps teica:

Bet vispār jau daudzpavedienu programmēšana ir aktuāla arī vienā atsevišķā ierīcē ar vienu procesoru ar vienu skalāru

Es jau nesaku ka nav aktuāla, diendienā rakstu multipavedienu programmas (visādi d-bus dēmoni, lai no visādām python applikācijām, webesrveriem varētu kontrolēt hardwāri un saņemt eventus/datus utt).

Arī tagad priekš sava hobijprojekta (LoRaWAN geitvejs), kuram ir imx6ul vienkodola processors, lai maršrutētu paketes vajag kopumā kautkādus 6 paralēlus pavedienus (TCP, d-bus, GPS laika sinhronizācija, kurš laikam būs ķēpīgākais pasākums, jo uz radio muduļa cloks nedaudz drifto).

Edited by AndrisBB

Share this post


Link to post
Share on other sites
MarisO
2018.12.14. , 23:45, AndrisBB teica:

Piemēram matemātiski analizēt, kas būs ātrāk, ja piemēram no auto datubāzes jāatlasa visus Fordus

 

Ko tad viņi sacīja kā to var izrēķināt?


2018.12.15. , 09:34, rnxx teica:

 60000 rindiņām bez neviena komentāra

 

Tos komentārus praktiski neviens neraksta.  Varbūt vienīgi kādā "diplomdarbā" varētu būt tāda prasība.   

Share this post


Link to post
Share on other sites
AndrisBB
pirms 10 stundām , MarisO teica:

Ko tad viņi sacīja kā to var izrēķināt?

 

Amazona daudz gramatas pieejamas par temu

Share this post


Link to post
Share on other sites
Pukinens
pirms 11 stundām , MarisO teica:

Tos komentārus praktiski neviens neraksta.  Varbūt vienīgi kādā "diplomdarbā" varētu būt tāda prasība.   

 

Studenti un frīlanceri varbūt var nerakstīt. Normālā kantorī par tādu izgājienu tīmlīds paņem bez vazelīna.

  • Kādas šausmas! 1

Share this post


Link to post
Share on other sites
e = d

uz salas viss ir savādāk :D

  • Kādas šausmas! 1

Share this post


Link to post
Share on other sites
__Igors

Komentāri galīgi nav vajadzīgi, ja tu raksti normālus variabļu un funkciju nosaukumus, kas ir self-explanatory, nevis lieto a,b,c,a1,b1 u.t.t

Share this post


Link to post
Share on other sites
M_J
pirms 11 stundām , MarisO teica:

Tos komentārus praktiski neviens neraksta.  Varbūt vienīgi kādā "diplomdarbā" varētu būt tāda prasība. 

Es rakstu. Ne tāpēc, ka būtu tādas prasības, bet priekš sevis. Lai pēc kāda laika, atgriežoties pie programmas, lai kaut ko pamainītu vai uzlabotu, vai lai izmantotu konkrēto fragmentu kādā citā programmā, pats ātrāk atsauktu atmiņā savu tā brīža domu gaitu.

Share this post


Link to post
Share on other sites
AndrisBB

Komentari noder, ja tiek veiktas kautkadas nesaprotamas darbibas.

Piemeram tagad kareiz darbojos pie protokola, kur dati tiek sutiti kopa ar video caur analogu signalu, tad digitalizeti.

Problemas rodas pie noteikta kabelu garuma (kautkur tuvu 50 metriem), pietam mainas, kad kabelis ir rulli vai taisni izstiepts (stradaju pie tada trubu inspekcijas aparata, kur kamera gala ljoti garam rullim), tapec nakas dinamiski mainit signalu treshholdus utt.

Bez komentarriem no iepriekseja koda autora man nebutu nekadu ceribu saprast kapec daudzas lietastur tiek daritas noteikta veida.

 

To visu dokumentet kautkada areja dokumentacija butu gruti, daudz logiskak ir pievienot izskaidrojumus tieshi vietas kur tas ir svarigi.

Edited by AndrisBB

Share this post


Link to post
Share on other sites
MarisO
pirms 1 stundas , Pukinens teica:

Studenti un frīlanceri varbūt var nerakstīt. Normālā kantorī par tādu izgājienu tīmlīds paņem bez vazelīna.

 

Es nekad neesmu strādājis kantorī, kur cilvēki rakstītu komentārus,  kur nu vēl kāds prasītu , lai tos raksta.

Es tagad kodēju iekš clojure un visi var saprast, kas tur notiek.

 

 

pirms 2 stundām , AndrisBB teica:

Amazona daudz gramatas pieejamas par temu

 

kura?

Edited by MarisO

Share this post


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