Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Da li biti programer? Buducnost profesije

[es] :: Vodič za posao :: Da li biti programer? Buducnost profesije

Strane: << < .. 11 12 13 14 15 16

[ Pregleda: 29858 | Odgovora: 309 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Branimir Maksimovic

Član broj: 64947
Poruke: 1190
178.250.138.*



Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 03:48 - pre 33 dana i 18h
"Slusam komentare mnogih ljudi kako u 2018. godini treba da se "skace" na OOP, kao, proceduralno programiranje je zamrlo skroz. Okej, verovatno jeste, ali to ne znaci da OOP nije baziran na istom i dok se ono ne savlada, nema skoka na OOP."

Interesantno je da se u OO jezike uvode stosevi iz funckionalnog programiranja a niko ne pominje to da je funkcionalno sada avangarda ;)

press any key to continue or any other to quit....
 
Odgovor na temu

Zlatni_bg
Beograd

Član broj: 65708
Poruke: 2659
*.dynamic.sbb.rs.

Sajt: PHP-Srbija.com


Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 05:00 - pre 33 dana i 17h
Pa za neke stvari, ostace neprevazidjeno. Ja na primer cesto imam potrebu za bas suprotnom stvari, ne za klasom/objektom, vec za funkcijom. Naravno zavisi o cemu se radi... ali OOP bih izbegao u sirooooookom luku za pocetak. Divim se i hrabrim ljudima kako dele savete da je Java odlicna za prvi programski jezik. Onda me nesto stipne za srce i podseti prve 2 godine programiranja u pascalu i c++ gde sam video samo slova u cmd promptu... GUI nije bio ni na vidiku. A iskreno, tada mi nije ni trebao. Trebalo mi je da mi radi ono sto sam zeleo da mi radi. Delphi je posle bio otkrice, gle, prevuces dugme i eto ti celog prozora sa dugmetom na ekranu, kliknes desni klik na to isto dugme, editujes onClick ili kako se vec zvalo (dugo bese kako se nismo videli ja i Delphi), upises edit1->Text:="Kliknuto"; i pazi - kliknuo si na dugme i ono je promenilo tekst editboxa... mislim da sam 3 dana samo listao sve opcije delphija pre nego sto sam ista napravio u njemu tad koliko sam se zacudio sta su "ljudi napravili".

A danas bi oni to sve k'o lego kockice, da ne pisu ni kod :D
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 1190
178.250.138.*



Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 05:21 - pre 33 dana i 17h
Dizajniranje GUI aplikacije je nesto gde su se code generatori pokazali pa samo popunjavas event handlere ;)
To je radilo 90ih bez problema, a verujem i sad.

A sad da dam malo koda evo primera male CRUD aplikacije u Haskell-u ;)

Code:

module Main where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.ModelView as Model
import Control.Monad.Trans
import Control.Monad (void)
import Data.Char
import Data.List
import Database.HDBC
import Database.HDBC.PostgreSQL

main :: IO ()
main = do
   initGUI       -- is start
   conn <- connectPostgreSQL "dbname='test' user='postgres'"
   window <- windowNew
   rows <- quickQuery' conn "SELECT * from names" []
   let vals = map (\[id,name]-> (fromSql id,fromSql name)) rows
   list <- listStoreNew vals
   list1 <- treeModelSortNewWithModel list
   has <- treeSortableHasDefaultSortFunc list1
   treeSortableSetSortFunc list1 0 $ \iter1 iter2 -> do
    (i1:_) <- treeModelGetPath list iter1
    (id1,_) <- listStoreGetValue list i1
    (i2:_) <- treeModelGetPath list iter2
    (id2,_) <- listStoreGetValue list i2
    return (id1 `compare` id2)
    
   treeSortableSetSortFunc list1 1 $ \iter1 iter2 -> do
    (i1:_) <- treeModelGetPath list iter1
    (_,raw1) <- listStoreGetValue list i1
    (i2:_) <- treeModelGetPath list iter2
    (_,raw2) <- listStoreGetValue list i2
    return (raw1 `compare` raw2)
    
   putStrLn $ "has "++show has
   treeview <- Model.treeViewNewWithModel list1
   scrolled <- scrolledWindowNew Nothing Nothing
   Model.treeViewSetHeadersVisible treeview True
   colId <- Model.treeViewColumnNew
   colName <- Model.treeViewColumnNew
   Model.treeViewColumnSetTitle colId "Id"
   Model.treeViewColumnSetTitle colName "Name"
   renderer <- Model.cellRendererTextNew

   Model.cellLayoutPackStart colId renderer True
   Model.cellLayoutPackStart colName renderer True
   Model.cellLayoutSetAttributes colId renderer list
           $ \ind -> [Model.cellText := show $ fst ind, Model.cellTextEditable := False]
   Model.cellLayoutSetAttributes colName renderer list
           $ \ind -> [Model.cellText := snd ind, Model.cellTextEditable := True]
   on renderer edited $ \paths val -> do
    (pathchild:_) <- treeModelSortConvertPathToChildPath list1 paths
    (id,row) <- listStoreGetValue list pathchild
    listStoreSetValue list pathchild (id,val)
    void $ run conn "update names set name = ? where id = ?" [toSql val,toSql id]
    commit conn
   treeViewColumnSetSortColumnId colId 0
   treeViewColumnSetSortColumnId colName 1
   treeSortableSetSortColumnId list1 1 SortAscending
   Model.treeViewAppendColumn treeview colId
   Model.treeViewAppendColumn treeview colName
   
   tree <- Model.treeViewGetSelection treeview
   Model.treeSelectionSetMode tree  SelectionBrowse --Multiple
   on tree treeSelectionSelectionChanged (oneSelection list1 list tree)

   Model.treeViewSetEnableSearch treeview True
   Model.treeViewSetSearchEqualFunc treeview $ Just $ \str iter -> do
    iterchild <- treeModelSortConvertIterToChildIter list1 iter
    (i:_) <- treeModelGetPath list iterchild
    (_,row) <- listStoreGetValue list i
    return (map toLower str `isPrefixOf` map toLower row)
   vbox <- vBoxNew False 0 
   buttonAppend <- buttonNewWithLabel "Append"
   buttonDelete <- buttonNewWithLabel "Delete"

   bbox <- hButtonBoxNew
   buttonBoxSetLayout bbox ButtonboxEnd
   containerSetBorderWidth bbox 5
   boxSetSpacing bbox 5
   boxPackStart bbox buttonAppend PackNatural 0
   boxPackStart bbox buttonDelete PackNatural 0
   
   containerAdd scrolled treeview
   boxPackStart vbox scrolled PackGrow 0 
   boxPackStart vbox bbox PackNatural 0
   containerAdd window vbox
   
   buttonAppend `on` buttonActivated $  do 
     putStrLn "append button clicked"
     ([res]:_) <- quickQuery' conn "insert into names (name) values (?) returning id" [toSql "new name"]
     commit conn
     path <- addToList list (fromSql res,"new name")
     pathparent <- treeModelSortConvertChildPathToPath list1 [path]
     treeSelectionSelectPath tree pathparent

   buttonDelete `on` buttonActivated $  do 
    putStrLn "delete button clicked"
    sel <- Model.treeSelectionGetSelectedRows tree
    if sel /= [] 
    then do
        let s = (head sel)
        (path:_) <- treeModelSortConvertPathToChildPath list1 s
        (id,row) <- Model.listStoreGetValue list path
        putStrLn $ "deleting " ++ show id ++ " " ++ row
        void $ run conn "delete from names where id = ?" [toSql id]
        commit conn
        Model.listStoreRemove list path
    else putStrLn "nothing selected"


   set window [ windowDefaultWidth := 400
               , windowDefaultHeight := 400
              ]
   on window objectDestroy mainQuit
   windowSetPosition window WinPosCenter
   windowSetIconFromFile window "/home/bmaxa/Pictures/lola.png"
   widgetShowAll window
   mainGUI
   return ()

addToList :: ListStore (Int,String) -> (Int,String) -> IO Int
addToList list (id,str)  = do 
   listStoreAppend list (id,str)

oneSelection :: (TreeModelSortClass a)=>a->ListStore (Int,String)->TreeSelection -> IO()
oneSelection list1 list tree = do
   sel <- Model.treeSelectionGetSelectedRows tree
   if sel /= [] 
   then do
    let s = (head sel)
    (path:_) <- treeModelSortConvertPathToChildPath list1 s
    v <- Model.listStoreGetValue list path
    putStrLn $ "selected " ++ show v
   else putStrLn "nothing selected"



press any key to continue or any other to quit....
 
Odgovor na temu

METABO
Beograd

Član broj: 329356
Poruke: 47
212.200.132.*



Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 08:37 - pre 33 dana i 14h
Citat:


A sad da dam malo koda evo primera male CRUD aplikacije u Haskell-u ;)


A tako znaci,
ajde sad blago svima nama red po red sta znaci i cemu sluzi.
Bez objasnjenja ovako dodje kao neko informaticko psovanje :)
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 1190
178.250.138.*



Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 09:08 - pre 33 dana i 13h
Ovo je prilicno jasno, samo treba da pogledas neki tutorial za GTK+ ;)
press any key to continue or any other to quit....
 
Odgovor na temu

pctel
Beograd

Moderator
Član broj: 13030
Poruke: 9472
*.dynamic.vipmobile.rs.



Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 10:18 - pre 33 dana i 12h
Zar se kod bez komentara ne smatra veoma losim i neprihvatljivim kodom i kao takvom mu ne bi trebalo dopustiti da se pokazuje na ovoj temi kao reprezentativan primer? Znaci Branimire, ili ovo iskomentarisi, ili dokazi da u tom programskom jeziku nema komentarisanja, ili cu ja po sluzbenoj duznosti morati da brisem jer ne zadovoljava norme kvaliteta ovog foruma. Dodatno u svakom slucaju objasni cemu ovaj primer na ovoj temi, da ga ja greskom ne proglasim za offtopic i obrisem.
Boze,
daj mi smirenost da prihvatim ono sto ne mogu da promenim,
hrabrosti da promenim ono sto mogu
i mudrosti da to dvoje razlikujem.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4470



Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 13:46 - pre 33 dana i 9h
Citat:
pctel: Zar se kod bez komentara ne smatra veoma losim i neprihvatljivim kodom

Pa ne baš. Uglavnom se ide na to da su metode adekvatno imenovane, dovoljno kratke i jasne da im nije potreban komentar. Od komentara koji ne postoji, 100x je opasniji pogrešan komentar, a redovna je situacija da napišeš komentar za neki kod, i onda nakon n godina neko izmeni kod a komentar ostane.

@zlatni: uz rizik da odem u offtopic, znaš kako, OOP nije u baš svakom jeziku naknadno nakalemljeno na imperativnu osnovu. u Rubiju je npr (gotovo) sve objekat, i nekako je prirodno da naučiš OOP bez previše muke. naravno da neki napredni konceptni nisu jednostavni, ali osnova (klase, objekti i metode) može da bude ekstremno laka.

[Ovu poruku je menjao jablan dana 17.05.2018. u 14:59 GMT+1]
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 1190
178.250.138.*



Profil

icon Re: Da li biti programer? Buducnost profesije17.05.2018. u 15:22 - pre 33 dana i 7h
Citat:
pctel:
Zar se kod bez komentara ne smatra veoma losim i neprihvatljivim kodom i kao takvom mu ne bi trebalo dopustiti da se pokazuje na ovoj temi kao reprezentativan primer? Znaci Branimire, ili ovo iskomentarisi, ili dokazi da u tom programskom jeziku nema komentarisanja, ili cu ja po sluzbenoj duznosti morati da brisem jer ne zadovoljava norme kvaliteta ovog foruma. Dodatno u svakom slucaju objasni cemu ovaj primer na ovoj temi, da ga ja greskom ne proglasim za offtopic i obrisem.


Mislim da na google-u tesko mozes naci primer listview koriscenja u |Haskell-u. Kod je kratak i prikazuje kako raditi sa listview sto nemas nigde osim sada ovde ;)

edit: pardon treeview ;)

press any key to continue or any other to quit....
 
Odgovor na temu

Zlatni_bg
Beograd

Član broj: 65708
Poruke: 2659
*.dynamic.sbb.rs.

Sajt: PHP-Srbija.com


Profil

icon Re: Da li biti programer? Buducnost profesije18.05.2018. u 00:05 - pre 32 dana i 22h
Ovo je vise bio odgovor meni od Baneta, s obzirom da smo komentarisali ono sto bi se danas zvalo RAD alatima - rapid application development, kao sto je Delphi. A ovo sto je Bane okacio je "iza zavesa", tacnije kako bi programer to morao da odradi bez pomoci potrebnih alata.

Recimo da moze da se napravi poredjenje sa tim dizajnom i XML-om za dizajn Android aplikacije. Mada, drugacija je i interpretacija, ali Banetov komentar stoji.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

nenad.lomic
Belgrade

Član broj: 338638
Poruke: 1
*.static.isp.telekom.rs.

Sajt: www.leelektro.rs


Profil

icon Re: Da li biti programer? Buducnost profesije01.06.2018. u 12:16 - pre 18 dana i 10h
Najgore moguce je ostati i biti u zoni komfora, gde je profesionalno sagorevanje zagarantovano. Napustao sam posao sa vecom platom, a isao na manju, kada sam video da ne napredujem ili propadam.
 
Odgovor na temu

[es] :: Vodič za posao :: Da li biti programer? Buducnost profesije

Strane: << < .. 11 12 13 14 15 16

[ Pregleda: 29858 | Odgovora: 309 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.