Forum » Programiranje » Nadpovrečno programiranje
Nadpovrečno programiranje
čuhalev ::
Na tem forumu sem našel mnogo tem, kako začeti s programiranjem v tem ali onem programskem jeziku, kjer se pač pokrije osnovna programerska logika (usmerjanje poteka programa) na nekih primerih kot je izpisovanje na zaslon in branje iz datotek.
Takšni primeri seveda zadoščajo za ustvarjanje določenih programov, vendar se prej ali slej začuti omejitve svoje zmožnosti, saj večina delodajalcev želi zaposliti vrhunske programerje (in so jim pripravljeni celo urediti prebivališče), ti pa temu še nisi kos. Čeprav si isti delodajalec želi, da bi že otroke začeli učiti programiranja (Scratch, Arduino) je pot od tega učenja za otroke do njim vrhunskega programerja še dolga. Ta lukničarska pot se lahko začne polniti pri delodajalcu, ki ne zahteva vrhunskih programerjev in zna hkrati usmerjati, a ker so takšni delodajalci zelo redki (nihče ne želi investirati v začetnike), me zanima, katere knjige prebrati oziroma kaj narediti, da se znanje čimbolj nadgradi. Seveda s primeri, ker je tako lažje razumeti smisel in ker je branje man strani ne ravno spodbudno, seveda če že veš, kaj gledati.
Kot nadpovrečno programiranje imam v mislih ustvarjanje programov, ki vsebujejo naslednje besede: O_CLOEXEC, TCP_CORK, SO_REUSEPORT, KSEG1ADDR, TCCR0 ...
Ker v bistvu ne poznam korakov in zato ne vem, kaj točno hočem, ampak v končni fazi bi rad imel sliko, ki bi mi služila za razumevanje, kako so sestavljeni dobri programi, s kakšno podatkovno struktururo si v ozadju pomagajo in kako to dosežejo.
tl;dr
Kdaj postane programer začetnik vrhunski programer, kaj ga naredi oziroma kako lahko to doseže samostojno?
Takšni primeri seveda zadoščajo za ustvarjanje določenih programov, vendar se prej ali slej začuti omejitve svoje zmožnosti, saj večina delodajalcev želi zaposliti vrhunske programerje (in so jim pripravljeni celo urediti prebivališče), ti pa temu še nisi kos. Čeprav si isti delodajalec želi, da bi že otroke začeli učiti programiranja (Scratch, Arduino) je pot od tega učenja za otroke do njim vrhunskega programerja še dolga. Ta lukničarska pot se lahko začne polniti pri delodajalcu, ki ne zahteva vrhunskih programerjev in zna hkrati usmerjati, a ker so takšni delodajalci zelo redki (nihče ne želi investirati v začetnike), me zanima, katere knjige prebrati oziroma kaj narediti, da se znanje čimbolj nadgradi. Seveda s primeri, ker je tako lažje razumeti smisel in ker je branje man strani ne ravno spodbudno, seveda če že veš, kaj gledati.
Kot nadpovrečno programiranje imam v mislih ustvarjanje programov, ki vsebujejo naslednje besede: O_CLOEXEC, TCP_CORK, SO_REUSEPORT, KSEG1ADDR, TCCR0 ...
Ker v bistvu ne poznam korakov in zato ne vem, kaj točno hočem, ampak v končni fazi bi rad imel sliko, ki bi mi služila za razumevanje, kako so sestavljeni dobri programi, s kakšno podatkovno struktururo si v ozadju pomagajo in kako to dosežejo.
tl;dr
Kdaj postane programer začetnik vrhunski programer, kaj ga naredi oziroma kako lahko to doseže samostojno?
- zavaroval slike: Mavrik ()
pegasus ::
Keyword: motivacija.
Najdi si problem, katerega reševanju želiš posvetit svoje življenje. In ga začni reševati. Postani specialist na svojem področju in poskrbi, da je to področje tako, da boš relativno enostavno našel sponzorje (delodajalce). Ko boš priznan expert, začni prodajat svoje znanje tudi širše, preko meja tvojega področja.
Meni je npr. zelo všeč, ko vidim uporabo novejših vektorskih cpu ukazov v dolgočasnih zadevah kot je parsanje http protokola.
Najdi si problem, katerega reševanju želiš posvetit svoje življenje. In ga začni reševati. Postani specialist na svojem področju in poskrbi, da je to področje tako, da boš relativno enostavno našel sponzorje (delodajalce). Ko boš priznan expert, začni prodajat svoje znanje tudi širše, preko meja tvojega področja.
Meni je npr. zelo všeč, ko vidim uporabo novejših vektorskih cpu ukazov v dolgočasnih zadevah kot je parsanje http protokola.
Invictus ::
Kot nadpovrečno programiranje imam v mislih ustvarjanje programov, ki vsebujejo naslednje besede: O_CLOEXEC, TCP_CORK, SO_REUSEPORT, KSEG1ADDR, TCCR0 ...
To je samo tvoje mnenje.
Poleg tega stvar, kot je nadpovprečno programiranje, sploh ne obstaja.
Obstajajo samo dobro in slabo delujoči programi .
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Blinder ::
Za programirat to kar avtor sprasuje potrebujes ali imet 10-ke na faksu ali veze. Za povprecnega programerja so ta podrocja nedosegljiva. Pac, folk se stepe med sabo za ta bolj zanimiva programerska dela. Ce nimas vez ali kaj drugega kar bi delodajalcu dalo feeling da si superman pac ostanes omejen na manj zanimiva in slabse placana dela.
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
kunigunda ::
čuhalev ::
Poleg tega stvar, kot je nadpovprečno programiranje, sploh ne obstaja.
Obstajajo samo dobro in slabo delujoči programi .
Za programirat to kar avtor sprasuje potrebujes ali imet 10-ke na faksu ali veze. Za povprecnega programerja so ta podrocja nedosegljiva. Pac, folk se stepe med sabo za ta bolj zanimiva programerska dela. Ce nimas vez ali kaj drugega kar bi delodajalcu dalo feeling da si superman pac ostanes omejen na manj zanimiva in slabse placana dela.
Priznam, da pridevnika nisem najbolj zadel, ampak ciljam na bolj nišne, zelo optimizirane rešitve, ki so mnogim (sploh spletnim programerjem) manj znane in niso zapisane v večini programerskih knjig (npr. za telebane) ali spredavane na kakšen tečaju. Pač nimam občutka za obliko in se mi zdi, da sem večino spletnih tehnologij (razen HTML5) prerasel ter ne želim plavati v navalu takšnih ljudi. Glede optimizacije pa sem dobil občutek, da večina razvijalcev raje nadgradi sistemske zmogljivosti (npr. dokupi strežnik, postavi load balancer ipd., desetino uporabnikov postavi na novejšo različico in opazuje odzive), kot da bi preučila program in ga izboljšala ali mu preprečila morebitna sesuvanja.
Jest se mam za nadpovprecnega pa vecino avtorjevih "besed" ne poznam :)
Nanizal sem zgolj tiste, ki so nekomu, ki konča začetniški tečaj programiranja, tuje.
Si se pač specializiral v drugo smer.
OP je navedel samo eno smer, ceprav govori nasplosno
Tako je. Obstaja pač vrzel, ki ji je potrebno zapolniti.
Trenutno si delam seznam knjig, ki so mi zanimive in iz katerih se bi lahko kaj naučil. Seznam obsega:
* Michael Kerrisk - The Linux Programming Interface
* Linux Appliance Design
* Brian Ward - How Linux Works: What Every Superuser Should Know
* Jon Erickson - Hacking : the art of exploitation
Torej imam neke vrste bottom-up način, pri čemer sem assembly in linker zaenkrat postavil v kot. V obzir, formalne izobrazbe tehničnega področja nimam, zato še nisem naprogramiral B drevesa in ga ne bom, dokler ne bom začutil potrebe.
kunigunda ::
Nasplosno ti lahko iz glave povem moja pravila igre :)
(Seveda je vse odvisno od specifike projekta)
- Program mora v prvi vrsti delati to, cemur je namenjen. Arhitektura mora biti
ze v zacetku pametno zastavljena, z uvidom, da bo lahko prislo tudi do kasnejsih razsiritev,
- Program mora biti bodisi "citljivo" spisan, bodisi dobro dokumentiran, da je lazje vzdrzevanje
kasneje. To pomeni, da lahko ekvivalentno sposoben programer dovolj hitro dojame logiko programa,
in jo brez tezav po potrebi nadgradi.
- Program naj bo cimbolj konfigurabilen, to pomeni da so doloceni parametri v konfiguracijskih
datotekah, in jih tudi ne-programer brez tezav popravlja
- Program mora v vseh aspektih predvideti (in temu primerno ukrepati) stvari, od katerih je
odvisen (mreza, baze, vnos podatkov s strani cloveka itd..)
- Koda mora biti karseda efikasna (redundanca, modularnost, reusing itd..)
- Program mora slediti performancnim zahtevam in tudi biti spisan karseda optimalno,
ne glede na hardware
(Seveda je vse odvisno od specifike projekta)
- Program mora v prvi vrsti delati to, cemur je namenjen. Arhitektura mora biti
ze v zacetku pametno zastavljena, z uvidom, da bo lahko prislo tudi do kasnejsih razsiritev,
- Program mora biti bodisi "citljivo" spisan, bodisi dobro dokumentiran, da je lazje vzdrzevanje
kasneje. To pomeni, da lahko ekvivalentno sposoben programer dovolj hitro dojame logiko programa,
in jo brez tezav po potrebi nadgradi.
- Program naj bo cimbolj konfigurabilen, to pomeni da so doloceni parametri v konfiguracijskih
datotekah, in jih tudi ne-programer brez tezav popravlja
- Program mora v vseh aspektih predvideti (in temu primerno ukrepati) stvari, od katerih je
odvisen (mreza, baze, vnos podatkov s strani cloveka itd..)
- Koda mora biti karseda efikasna (redundanca, modularnost, reusing itd..)
- Program mora slediti performancnim zahtevam in tudi biti spisan karseda optimalno,
ne glede na hardware
xmetallic ::
Za programirat to kar avtor sprasuje potrebujes ali imet 10-ke na faksu ali veze. Za povprecnega programerja so ta podrocja nedosegljiva. Pac, folk se stepe med sabo za ta bolj zanimiva programerska dela. Ce nimas vez ali kaj drugega kar bi delodajalcu dalo feeling da si superman pac ostanes omejen na manj zanimiva in slabse placana dela.
Po čem sklepaš da je nekdo z 10-kami na faksu boljši od nekoga z 9,8,7,6-kami? Po mojih izkušnja 10-ke na faksu ne pripomorejo k boljši službi. Nobenega od specifičnih področij se ne uči na faksu še manj tako zelo podrobno, da bi bil zanimiv delodajalcu. Na razgovoru te noben ne vpraša kakšne si mel ocene na faksu. Za dobro službo je potrebna self-motivacija, in veliko žrtvovanja prostega časa.
Že samo dejstvo da rač. giganti Google, Microsoft, itd. ne zahtevajo da ima kandidat CS izobrazbo pove veliko o tem koliko je faks na tem področju dejansko (ne)pomemben. Google ima celo na spletni strani napisano da ocene za njih niso (pomembno) merilo po katerem bi sprejemali kandidate.
Zgodovina sprememb…
- spremenilo: xmetallic ()
sebastjan28 ::
Nadpovprečno programiranje? Glede na kakšne kriterije?
Velocity?
Število bugov?
Uporaba splošnih design patternov, ki naredijo rešitev "predvidljivo"?
Optimiziranost?
...
Verjetno vsak srednješolec sanja, da bo ustvaril idealno rešitev, ki bo rešila problem in zadovoljila zgoraj naštete kriterije. Težava nastane, da ogromno ciljev med seboj sploh ni skladnih. Nekateri so si celo nasprotujoči. Na koncu vedno pridemo do takšnih ali drugačnih kompromisov. Verjetno je največja umetnost pravilno "uravnotežiti" različne želje in zahteve.
Obstajajo kvečjemu nadpovprečno plačani programerji :) Pri večini najbolje plačanih pozicij, je golo tehnično znanje samo eden od pogojev. Veliko pomembnejše je samo podrobno domensko znanje, ki po kompleksnosti velikokrat nekajkrat presega prvega.
Kaj bo čez 5 let IN je navadno ugibanje. Če imaš "preveč" časa ga investiraj v nekaj kar te zares veseli.
Velocity?
Število bugov?
Uporaba splošnih design patternov, ki naredijo rešitev "predvidljivo"?
Optimiziranost?
...
Verjetno vsak srednješolec sanja, da bo ustvaril idealno rešitev, ki bo rešila problem in zadovoljila zgoraj naštete kriterije. Težava nastane, da ogromno ciljev med seboj sploh ni skladnih. Nekateri so si celo nasprotujoči. Na koncu vedno pridemo do takšnih ali drugačnih kompromisov. Verjetno je največja umetnost pravilno "uravnotežiti" različne želje in zahteve.
Obstajajo kvečjemu nadpovprečno plačani programerji :) Pri večini najbolje plačanih pozicij, je golo tehnično znanje samo eden od pogojev. Veliko pomembnejše je samo podrobno domensko znanje, ki po kompleksnosti velikokrat nekajkrat presega prvega.
Kaj bo čez 5 let IN je navadno ugibanje. Če imaš "preveč" časa ga investiraj v nekaj kar te zares veseli.
holabaluza ::
OP, vsekakor si za zacetek preberi Pragmatic Programmer. Tehnologije pridejo in gredo, disciplina pa ostane, izkusnje pa tudi z leti pridejo do izraza.
Najvec meni pomeni, da je programer izviren pri programiranju in se pripravljen ucit. Vse ostalo pride kasneje s casom.
Najvec meni pomeni, da je programer izviren pri programiranju in se pripravljen ucit. Vse ostalo pride kasneje s casom.
Irbis ::
Glede optimizacije pa sem dobil občutek, da večina razvijalcev raje nadgradi sistemske zmogljivosti (npr. dokupi strežnik, postavi load balancer ipd., desetino uporabnikov postavi na novejšo različico in opazuje odzive), kot da bi preučila program in ga izboljšala ali mu preprečila morebitna sesuvanja.
Stvar cene, stvari so lahko kdaj sitne za optimizacijo in je predrago, da bi ti firma pustila, da se nekaj mesecev igraš s tem. Kdaj se sicer da kar precej na hitro optimizirati (če je bila od začetka bolj nerodno narejena), ampak ko je stvar že kar precej optimizirana, pa prideš do točke, ko je čisto preveč dela za majhen napredek.
Je pa seveda čisto odvisno, kako pogosto se stvar uporablja, če se zelo veliko, se pač splača toliko bolj potruditi. Težava je še, da lahko optimizacija začne vplivati na razumljivost in popravljivost programa, tako da je treba najti neko ravnotežje.
Trenutno si delam seznam knjig, ki so mi zanimive in iz katerih se bi lahko kaj naučil. Seznam obsega:
Mogoče še Steven S. Skiena: The Algorithm Design Manual (2nd Edition)
Tukaj je kar nekaj zanimivih primerov, kako optimizirati programe.
Sicer imaš tukaj kup razlag algoritmov, ampak po svoje (če se ne misliš toliko ukvarjati s samim razvojem algoritmov) je še pomembnejši drugi del, kjer imaš za posamezne probleme predlagano, katere algoritme (in še pomembnejše: katere že narejene implementacije, da ti ni treba pisati stvari iz nule) uporabiti pri kakšnem problemu.
krneki0001 ::
To bo vedno uporabno.
Jason Brownlee: Clever Algorithms (Nature-Inspired Programming Recipes)
Jason Brownlee: Clever Algorithms (Nature-Inspired Programming Recipes)
srus ::
Heh, kaj te naredi za "nadpovprečnega programerja", ne vem. Verjetno kombinacija talenta, znanja, inteligence, izkušenj in veselja do področja s katerim se ukvarjaš.
Na vprašanje, kaj te v Sloveniji naredi za "nadpovprečnega ITjevca" pa je precej enostavno odgovoriti:
- oče, direktor podjetja, ki ti sinu outsorsa IT področje
- svak odgovoren za razpise na ministrstvu, ki piše razpise tebi napisane na kožo
- kolega iz iste stranke, ki poskrbi, da na tenderju paradržavnega podjetja vedno uspe podjetje strankarskega kolega
Na vprašanje, kaj te v Sloveniji naredi za "nadpovprečnega ITjevca" pa je precej enostavno odgovoriti:
- oče, direktor podjetja, ki ti sinu outsorsa IT področje
- svak odgovoren za razpise na ministrstvu, ki piše razpise tebi napisane na kožo
- kolega iz iste stranke, ki poskrbi, da na tenderju paradržavnega podjetja vedno uspe podjetje strankarskega kolega
čuhalev ::
- Program mora v prvi vrsti delati to, cemur je namenjen. Arhitektura mora biti
ze v zacetku pametno zastavljena, z uvidom, da bo lahko prislo tudi do kasnejsih razsiritev,
Me zanima, kako se to pravilno in pametno zastavi.
sebastjan28 je izjavil:
Nadpovprečno programiranje? Glede na kakšne kriterije?Če ni nekega nadpovrečnega programerja me zanima, kaj je potem razlika med besedama začetnik in ekspert, ki ju najdemo v oglasih.
Stvar cene, stvari so lahko kdaj sitne za optimizacijo in je predrago, da bi ti firma pustila, da se nekaj mesecev igraš s tem. Kdaj se sicer da kar precej na hitro optimizirati (če je bila od začetka bolj nerodno narejena), ampak ko je stvar že kar precej optimizirana, pa prideš do točke, ko je čisto preveč dela za majhen napredek.
Je pa seveda čisto odvisno, kako pogosto se stvar uporablja, če se zelo veliko, se pač splača toliko bolj potruditi. Težava je še, da lahko optimizacija začne vplivati na razumljivost in popravljivost programa, tako da je treba najti neko ravnotežje.
Seveda, zamenjava seznama z binarnim drevesom, če se ve, da iščemo po samo 20 elementih, je nepotrebno delo.
krneki0001 je izjavil:
To bo vedno uporabno.
Jason Brownlee: Clever Algorithms (Nature-Inspired Programming Recipes)
Ko sem odprl sem videl, da sm par poglavij pred leti že prebral. Bom pa še preostanek.
Invictus ::
Priznam, da pridevnika nisem najbolj zadel, ampak ciljam na bolj nišne, zelo optimizirane rešitve, ki so mnogim (sploh spletnim programerjem) manj znane in niso zapisane v večini programerskih knjig (npr. za telebane) ali spredavane na kakšen tečaju. Pač nimam občutka za obliko in se mi zdi, da sem večino spletnih tehnologij (razen HTML5) prerasel ter ne želim plavati v navalu takšnih ljudi. Glede optimizacije pa sem dobil občutek, da večina razvijalcev raje nadgradi sistemske zmogljivosti (npr. dokupi strežnik, postavi load balancer ipd., desetino uporabnikov postavi na novejšo različico in opazuje odzive), kot da bi preučila program in ga izboljšala ali mu preprečila morebitna sesuvanja.
Nišne rešitve so ponavadi še slabše sprogramirane kot splošne. Ponavadi predvsem zato, ker večina firm niti ne ve da te niše obstajajo. Tiste, ki vedo, pa so že toliko časa notri, da jih nihče ne more zamenjati. V končni fazi pa niti ne stremiš za neko fancy implementacijo, če gre lažje. Time is money...
HTML ni programiranje .
Optimizcija kode se ponavadi ne splača, ker je finančni vložek v ure dobrega programerja veliko večji kot nakup hardwera, pa še rezultati so nepredvidljivi.
Če ni nekega nadpovrečnega programerja me zanima, kaj je potem razlika med besedama začetnik in ekspert, ki ju najdemo v oglasih.
Expert preprosto ve, za razliko od začetnika, kaj se ne da/se ne splača narediti... Lahko prihrani na tone keša in časa...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
Zgodovina sprememb…
- spremenil: Invictus ()
sebastjan28 ::
sebastjan28 je izjavil:
Nadpovprečno programiranje? Glede na kakšne kriterije?Če ni nekega nadpovrečnega programerja me zanima, kaj je potem razlika med besedama začetnik in ekspert, ki ju najdemo v oglasih.
Seveda so, nikjer nisem napisal, da jih ni ni! Ponovno preberi :)
Red_Mamba ::
sebastjan28 je izjavil:
sebastjan28 je izjavil:
Nadpovprečno programiranje? Glede na kakšne kriterije?Če ni nekega nadpovrečnega programerja me zanima, kaj je potem razlika med besedama začetnik in ekspert, ki ju najdemo v oglasih.
Seveda so, nikjer nisem napisal, da jih ni ni! Ponovno preberi :)
expert programer zna svojo kodo tako zakomplicirati, da ga ne morejo zamenjati kar z nekom iz ulice
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg
AndrejO ::
Kot nadpovrečno programiranje imam v mislih ustvarjanje programov, ki vsebujejo naslednje besede: O_CLOEXEC, TCP_CORK, SO_REUSEPORT, KSEG1ADDR, TCCR0 ...
Hmm... razen KSEG1ADDR so mi to vse znane stvari, ki sem ji ze kdaj uporabljal.
Pa se vedno mislim, da sem v najboljsem primeru kvecjemu povprecen programer, ki se trudi izboljsati.
Ali si preprican, da si pravilno zastavil metriko?
čuhalev ::
Saj jaz sem tudi te stvari razen seveda KSEG1ADDR nekje uporabil, ampak si še vedno upam trditi, da jih ne pozna večina programerjev, ki ravno ne uporablja fork ali setsockopt. In nisem vrhunski, sem na začetku.
Se pa verjetno strinjaš, da je razlika med programerjem, ki uporablja direktno epoll, in programerjem, ki uporablja libuv, ki potem v ozadju uporablja epoll. Metrika je tako slaba kot merjenje akademskih vplivov s številom citatov. Pustim vsakemu, da jo izboljša.
Se pa verjetno strinjaš, da je razlika med programerjem, ki uporablja direktno epoll, in programerjem, ki uporablja libuv, ki potem v ozadju uporablja epoll. Metrika je tako slaba kot merjenje akademskih vplivov s številom citatov. Pustim vsakemu, da jo izboljša.
pegasus ::
Če posplošim, je metrika za nadpovprečno karkoli samo ena - ali je svet zaradi tvojega prispevka že boljši.
Invictus ::
Če posplošim, je metrika za nadpovprečno karkoli samo ena - ali je svet zaradi tvojega prispevka že boljši.
To je pa odgovoren, vreden naslova Miss Sveta 2017 .
A mislite da se software piše zaradi izboljšanja sveta? To je samo opij za rajo. Piše se zaradi dobička...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
AndrejO ::
Well ... saj ne, da odgovor ni visokoletec, ampak princip je vsaj meni vsecen.
Zgolj za dobicek: povprecnezi
Izboljsanje sveta: nadpovprecnezi
I like it.
Zgolj za dobicek: povprecnezi
Izboljsanje sveta: nadpovprecnezi
I like it.
Invictus ::
Meni se pa zdi da je
izboljšanje svetazgolj izgovor za množico zanič in nepotrebnih aplikacij...
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
OrkAA ::
To si pa res pametno ugotovil, ja. Sem preprican, da so ljudje pripravljeni posvetit par let zivljenja za delo na aplikaciji, ki je v resnici 'zanic' in 'nepotrebna', ker se jim gre samo za denar.
Mislim, razumem, da imas ti tak pogled, ker baje v glavnem vzdrzujes zastarele aplikacije nezanimivih mastodontov. Nima pa nobenega smisla takega pogleda generalizirat na celotno populacijo.
Mislim, razumem, da imas ti tak pogled, ker baje v glavnem vzdrzujes zastarele aplikacije nezanimivih mastodontov. Nima pa nobenega smisla takega pogleda generalizirat na celotno populacijo.
kunigunda ::
Mogoce bi bilo pa smiselno izpostaviti svoje "dosezke", da se lazje predstavlja, na kaksnem nivoju se razvija ta tema
AndrejO ::
noraguta ::
Saj jaz sem tudi te stvari razen seveda KSEG1ADDR nekje uporabil, ampak si še vedno upam trditi, da jih ne pozna večina programerjev, ki ravno ne uporablja fork ali setsockopt. In nisem vrhunski, sem na začetku.
Se pa verjetno strinjaš, da je razlika med programerjem, ki uporablja direktno epoll, in programerjem, ki uporablja libuv, ki potem v ozadju uporablja epoll. Metrika je tako slaba kot merjenje akademskih vplivov s številom citatov. Pustim vsakemu, da jo izboljša.
Primerjava ni na mestu. Eno je native zadeva drugo je pa crossplatform knjižnica.
Pust' ot pobyedy k pobyedye vyedyot!
111111111111 ::
Za začetek OP lahko nehaš brat knjige. To da bereš knjige o programiranju od prve do zadnje strani je za začetnike, da dobiš nek vpogled v nov programski jezik, algoritme itd.. Skratka nima smisla prebrati 5 knjig o računalniških algoritmih, 5 knjig o čisti kodi in še 5 knjig o C#.
Če si se že lotil linuxa. Poskusi iz sourca sam skompilat jedro, boš kmalu pogruntal katero literaturo moraš brati. Naredi svoj custom linux, naredi svojo distribucijo in ko boš gotov boš zaposlijiv, potem bo šlo samo še navzgor in v roku 10-15 let boš stručko.
Knjige odpri takrat, ko te bo kakšna stvar še dodatno zanimala, v realnem življenju programerja, se na knjigah bolj prah nabira, če boš veliko bral pomeni da zapravljaš čas, ko bi lahko reševal realne probleme in bral literaturo o dejanskih problemih.
Če si se že lotil linuxa. Poskusi iz sourca sam skompilat jedro, boš kmalu pogruntal katero literaturo moraš brati. Naredi svoj custom linux, naredi svojo distribucijo in ko boš gotov boš zaposlijiv, potem bo šlo samo še navzgor in v roku 10-15 let boš stručko.
Knjige odpri takrat, ko te bo kakšna stvar še dodatno zanimala, v realnem življenju programerja, se na knjigah bolj prah nabira, če boš veliko bral pomeni da zapravljaš čas, ko bi lahko reševal realne probleme in bral literaturo o dejanskih problemih.
pegasus ::
Odvisno kaj delaš ... če samo zlagaš skupaj lego kocke, ki so jih naprogramirali drugi, potem je praksa res več vredna. Če pa bi rad kdaj zgradil še kak svoj lego gradnik ali sploh nadomestil lego z nečim drugim, pa kaka teorija zagotovo pride prav.
111111111111 ::
Če lego kock ne poznaš, si ne moreš izmisliti novega gradnika, da bi pasal k vsem ostalim. Nima smisla narediti fantastičen in odziven UI, če ga ne moreš nikamor implementirati. Namen mojega posta je bil samo povedati da je treba brati selektivno. Ne splača se poglabljat v detajle VSEH algoritmov, ampak imeti neko osnovno znanje, da veš potem iskat detajle ko jih rabiš. Za kar je pa v današnjih časih bistveno boljši in produktivnejši internet.
jype ::
Chuapoiz> Ne splača se poglabljat v detajle VSEH algoritmov, ampak imeti neko osnovno znanje, da veš potem iskat detajle ko jih rabiš. Za kar je pa v današnjih časih bistveno boljši in produktivnejši internet.
Daj preberi par od knjig, ki jih je naštel, no. Niso slabe, ne bo ti žal.
Sicer se strinjam s temle:
Chuapoiz> nima smisla prebrati 5 knjig o računalniških algoritmih, 5 knjig o čisti kodi in še 5 knjig o C#.
kadar gre za začetnika, ki bi rad nekaj dosegel, ampak škode od prebiranja teh knjig ne bo nobene. Programiranje ni kot glasba, da ne bi mogel pisat o njem.
Daj preberi par od knjig, ki jih je naštel, no. Niso slabe, ne bo ti žal.
Sicer se strinjam s temle:
Chuapoiz> nima smisla prebrati 5 knjig o računalniških algoritmih, 5 knjig o čisti kodi in še 5 knjig o C#.
kadar gre za začetnika, ki bi rad nekaj dosegel, ampak škode od prebiranja teh knjig ne bo nobene. Programiranje ni kot glasba, da ne bi mogel pisat o njem.
111111111111 ::
Žal me ta del računalništva ne zanima. :)
Za optimalen izkoristek pa je tako kot povsod: kombinacija teorije in prakse.
Se pa ukvarjam s scalo in funkcionalnim programiranjem in imam precej težav pri preskoku miselnosti, ampak z vajo in napakami bo bolje. :) Sem pa za začetek prebral: http://www.goodreads.com/book/show/1614...
Za optimalen izkoristek pa je tako kot povsod: kombinacija teorije in prakse.
Se pa ukvarjam s scalo in funkcionalnim programiranjem in imam precej težav pri preskoku miselnosti, ampak z vajo in napakami bo bolje. :) Sem pa za začetek prebral: http://www.goodreads.com/book/show/1614...
krneki0001 ::
Meni je bila za scalo zelo zanimiva ta knjiga:
STEPS IN SCALA An Introduction to Object-Functional Programming
http://www.goodreads.com/book/show/8685...
STEPS IN SCALA An Introduction to Object-Functional Programming
http://www.goodreads.com/book/show/8685...
čuhalev ::
Primerjava ni na mestu. Eno je native zadeva drugo je pa crossplatform knjižnica.
Se strinjam, da je razlika, če je sistem kaj drugega kot Linux. Da bi bilo pravilneje bi moral zapisati vse: epoll, kqueue, iocp ... torej imaš programerja, ki obvlada vse to ... in takega, ki samo libuv.
111111111111 je izjavil:
Če si se že lotil linuxa. Poskusi iz sourca sam skompilat jedro, boš kmalu pogruntal katero literaturo moraš brati. Naredi svoj custom linux, naredi svojo distribucijo in ko boš gotov boš zaposlijiv, potem bo šlo samo še navzgor in v roku 10-15 let boš stručko.
Lahko bi rekel, da imam svojo distribucijo , a le do neke mere, saj mi ni smiselno prepisovati gore programov, ki zahtevajo systemd, zgolj zato, ker bi rad uporabil v busybox vgrajen init. Raje pograbim alternative, ki še niso tako globoko zasidrane.
Odvisno kaj delaš ... če samo zlagaš skupaj lego kocke, ki so jih naprogramirali drugi, potem je praksa res več vredna. Če pa bi rad kdaj zgradil še kak svoj lego gradnik ali sploh nadomestil lego z nečim drugim, pa kaka teorija zagotovo pride prav.
Tako ja. Gre za razumevanje!
Ne, 5 knjig o enaki tematiki zagotovo ne bom prebral, sem pa prepričan, da bo vsebina 1/4 enaka in jo lahko hitreje preletim.
111111111111 je izjavil:
Žal me ta del računalništva ne zanima. :)
No, da povem, kaj mene zanima. Gonilniki, strežniške aplikacije ... konec koncev bi rad znal Linux prilagoditi za novo napravo (npr. ARM IOT toaster) in sprogramirati kakšen proxy, dns strežnik. Ne zanimajo me toliko grafične uporabniške aplikacije npr. za mobilne telefone, CRM ipd.
noraguta ::
Se strinjam, da je razlika, če je sistem kaj drugega kot Linux. Da bi bilo pravilneje bi moral zapisati vse: epoll, kqueue, iocp ... torej imaš programerja, ki obvlada vse to ... in takega, ki samo libuv.
Gre samo za drug nivo. En je šiptar s cegli, drug je monter montažnih elementov. Šiptarju se ne sanja velik o instalacijah ki so že vgrajene v montažni element, monterju pa ne velik o malti za modularca.
Pust' ot pobyedy k pobyedye vyedyot!
jype ::
batt67> konec koncev bi rad znal Linux prilagoditi za novo napravo (npr. ARM IOT toaster)
There are cheaper ways to make a botnet.
There are cheaper ways to make a botnet.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Programer pri 35ih (strani: 1 2 )Oddelek: Programiranje | 16071 (9682) | ejresnevem |
» | Kje/kako ste se naučili programiranja? (strani: 1 2 3 4 5 )Oddelek: Programiranje | 59473 (44149) | DaMachk |
» | V 3 mesecih izobrazevanja do zaposljivega programerja ?Oddelek: Programiranje | 4905 (3072) | Looooooka |
» | Paradoks iskanja zaposlitve in možne rešitveOddelek: Programiranje | 8858 (6640) | Smurf |
» | Kaj sploh je programiranje? (strani: 1 2 )Oddelek: Programiranje | 11053 (9054) | imagodei |