Co se učit za programovací jazyk?

tralala

Re:Co se učit za programovací jazyk?
« Odpověď #90 kdy: 10. 08. 2014, 01:29:32 »
Byvala to odmena aj pre mna a stale to obcas aj odmena je. Som este dost mlady na to, aby som mal manazerov v laske :) Lenze je naivne mysliet si, ze to tak bude vzdy. Neviem, kolko mas rokov. Ale zober na to jed, ze za 10 rokov budes mat toho dost aj ty a bude to viac menej rutina.

Kazdy sa raz "vyprogramuje" a prestane ho to viac menej bavit respektive to uz berie len ako job a strati to pre neho to caro a uz sa to neda porovnat s tym ked mal 23, sedel za tym nonstop a "zral to". Ja som bol takyto a sam to na sebe vidim. Nezatvarajte si pred tym oci a myslite aj na buducnost. Ani sa nenazdas a mas 35 a potom uz nieco menit a zacinat s nejakym jazykom je to posledne co ta bude trapit.


Re:Co se učit za programovací jazyk?
« Odpověď #91 kdy: 10. 08. 2014, 01:35:42 »
Beriem Ta ako Erlang-autoritu, pretoze mas v nom uz velke skusenosti.
Zaujima ma vsak ci je ten jazyk vhodny napriklad aj na take jednoduche veci ako vytiahnutie dat cez SQL z dataazy a na ich dalsie spracovanie cez regex.
Ty, to mě hodně přeceňuješ :) Jak říkám, nejsem primárně programátor. Ale zrovna na tohle ti myslím budu umět odpovědět:

Konkrétně tohle samozřejmě jde udělat. A jde to i napsat jako prostě skript, bez jakýchkoli modulů atd. takže v principu stejně jako kdybys to psal třeba v Pythonu, prostě skript o pár řádcích. Ale právě proto bych řekl, že konkrétně na tohle Erlang není vhodný - jeho použitím nic nezískáš, protože nevyužiješ žádné jeho vymoženosti. Na jednoduchý "number crunching" je Erlang vyloženě nevhodný, protože bude docela dost pomalejší než jiné jazyky. (pro ilustraci: http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=hipe&lang2=java&data=u64q )

Jeho síla je spíš v doménách, kde se děje spousta událostí zaráz a ty události potřebuješ nějak vyhodnocovat a potřebuješ, aby tohle všechno bylo fakt spolehlivý a běželo to bez výpadků. Tam pak využiješ všechno to, co je na Erlangu krásný: pattern matching, supervision trees, hot code reloading... Plus tuhle všechnu šarádu můžeš spustit distribuovaně přes víc strojů parkticky bez úpravy kódu, což se taky může hodit. Takže třeba věci typu jabber server (ejabberd je v erlangu), nějaké posílání události na webovým backendu, propojení s websocketama apod. Prostě věci, kde je cvrkot, ale nejde primárně o nějaké výpočty hrubou silou.

Pokud by mi u toho SQL nezáleželo na výkonu, tak si to asi taky napíšu v Elixiru, protože jsem na něj prostě už zvyklej, ale na nějaký produkční nasazení to v téhle obasti fakt není, to by nedávalo nesmysl.

tralala

Re:Co se učit za programovací jazyk?
« Odpověď #92 kdy: 10. 08. 2014, 01:35:55 »
Este mi to neda ... jeden priklad za vsetky. Zober si napr. Linusa Torvaldsa. Ziarivy priklad toho co vravim. Ako mlady hacker urcite drtil po veceroch a nociach a daval do toho uplne vsetko. Lenze to tempo sa neda vydrzat. Pozri sa co robi teraz. Pozera sa na kod a merguje to do gitu, chodi po konferenciach a streta ludi a hovori s nimi. To je cela jeho robota. On uz neprogramuje vobec. Lebo ho to uz proste az tak nesere, nema na to cas, nebavi ho to.

Vyprogramoval sa a je z neho manager ktoreho nemas rad :) Je to smutne?

mikrom

Re:Co se učit za programovací jazyk?
« Odpověď #93 kdy: 10. 08. 2014, 11:04:24 »
Vyprogramoval sa a je z neho manager ktoreho nemas rad :) Je to smutne?
Nehovorim, ze managerov nemam rad.
Sam mam teraz na krku managovanie mensieho projektu a tiez to nie je ziadna slast, pretoze sa pritom musim konfrontovat s ludmi. Preto som rad ked obcas vypadnem z toho organizovania a mozem si aj zaprogramovat. Je to vtedy pre mna relax.

mikrom

Re:Co se učit za programovací jazyk?
« Odpověď #94 kdy: 10. 08. 2014, 11:11:25 »
Pokud by mi u toho SQL nezáleželo na výkonu, tak si to asi taky napíšu v Elixiru ...
Teraz pozeram na ten Elixir a vyzera to trochu ako Ruby...


Re:Co se učit za programovací jazyk?
« Odpověď #95 kdy: 10. 08. 2014, 12:06:48 »
Teraz pozeram na ten Elixir a vyzera to trochu ako Ruby...
To je záměr. Autorem Elixiru je José Valim, významný vývojář Rails. To taky hodně rubystů k Elixiru přitáhlo, třeba https://github.com/phoenixframework/phoenix je moc pěkný web framework, používám.

Ruby samotný mě dřív štvalo, třeba kvůli tomu "do" všude a kvůli divné lambdě "do |x,y,z| ... end", ale ta naštěstí v Elixiru není a na do se dá zvyknout :) Každopádně je to jenom look&feel, protože třeba "hello".reverse v Elixiru samozřejmě není, je tam funkcionální String.reverse("hello"). Pak je tam ještě podobnost v tom, že u volání funkcí (jakékoli arity!) nejsou povinný závorky: Map.get dict, key  - to je taky trochu nezvyklý a připomíná to VisualBasic ;) ale máto svoje důvody.

Obecně, Elixir má trochu složitější a míň koherentní syntax pravidla než Erlang, ale to je z velké části proto, že Elixir má plnotučnej makro systém (jako Lisp) a pravidla jsou uzpůsobený tomu, aby se v něm dobře vytvářely DSL. To se hodně používá, třeba v tom Phoenixu je DSL pro definici routeru:

Kód: [Vybrat]
    get "/pages/:page", PageController, :show, as: :page
    get "/files/*path", FileController, :show

Kromě téhle okoukaniny z Lispu má pak třeba ještě moc pěknou věc z F# - pipe operator:
Kód: [Vybrat]
dir_list |> Enum.reverse |> Enum.join("/")

Plnotučnej makrosystém, DSLs, pipe operator a pattern matching jsou věci, který když člověk zkusí, už nechce jinak, jak říká klasik ;)

Re:Co se učit za programovací jazyk?
« Odpověď #96 kdy: 10. 08. 2014, 12:18:45 »
Btw, nepřestává mě fascinovat, jak mladej Jose je a jak dobře Elixir navrhl a spravuje. Přijde mi to úplně neuvěřitelný, že si takhle mladej kluk sedne, napíše novej jazyk a matadoři jako Joe Armstrong uznale pokývají hlavama...

http://joearms.github.io/2013/05/31/a-week-with-elixir.html (článek je starej, pár věcí v něm už neplatí)

JmJ

  • ****
  • 276
    • Zobrazit profil
Re:Co se učit za programovací jazyk?
« Odpověď #97 kdy: 10. 08. 2014, 12:42:09 »
Ja se vratim k puvodni otazce, co se ucit za programovaci jazyk. Snaha vybrat jeden jazyk a ten se jediny ucit, je podle me zcestna. Je nutne umet programovat nezavisle na jazyku. Dobry programator si myslim novy jazyk osvoji docela rychle. Ja ve sve praxi musim rozumne ovladat tyto jazyky:

C, C++, VB, C#, Pascal, PHP, Mumps, Javascript, Shell script a dalsi hovadiny. Samozrejme neco umim lip a neco hur, ale umet rozumne musim vsechno.

Ucit se vsechny jazyky a pred zadnym se nezavirat :-) Jazyk je jen nastroj, dulezite je naucit se ruzne postupy reseni problemu, umet tyto postupy napasovat na nove situace atd. Jazyk je jen nastroj.

Pavel...

Re:Co se učit za programovací jazyk?
« Odpověď #98 kdy: 10. 08. 2014, 12:58:11 »
C, C++, VB, C#, Pascal, PHP, Mumps, Javascript, Shell script a dalsi hovadiny. Samozrejme neco umim lip a neco hur, ale umet rozumne musim vsechno.

to zavisi na type prace. Su pozicie kde treba vediet jeden jazyk (napr. velke projekty kde sa delia programatori na tymy) a su pozicie kde treba vediet hrst jazykov (napr. maly softwarehous)

Neda sa povedat, ze nieco z toho je to jedine spravne. Ked viete Javu a robit desktopovy program o 30ich kolegoch, tak fakt dalsi jazyk nepotrebujete a mozte tento jeden vediet spiskovo a viac nic. Ked budete robit support nad 10imi programami ktore si firma historicky zadovazila, tak samozrejme potrebuje vediet letecky vsetko.

nevimnevim

Re:Co se učit za programovací jazyk?
« Odpověď #99 kdy: 10. 08. 2014, 12:58:21 »
Pak je z tebe lempl, který neumí nic pořádně. Třeba ta oblíbená Java je minimálně na roky. Těžko se ji za měsíc naučíš. Pokud si mezitím odskočíš k dalším jazykům, tak ji nebudeš umět nikdy pořádně. O C++ to platí úplně stejně. Ale znám plno lidí, kteří tvrdí, že toho umí hodně, ale s nimi raději na ničem nespolupracuju, protože jejich kód je taková směska všeho. Takže je to spíše o tom, jestli chce hodně mluvit a dodávat řešení během chvíle na cokoli a nebo umět něco opravdu jako mistr.

tojsemja

Re:Co se učit za programovací jazyk?
« Odpověď #100 kdy: 10. 08. 2014, 21:46:51 »
Ja se vratim k puvodni otazce, co se ucit za programovaci jazyk. Snaha vybrat jeden jazyk a ten se jediny ucit, je podle me zcestna. Je nutne umet programovat nezavisle na jazyku. Dobry programator si myslim novy jazyk osvoji docela rychle. Ja ve sve praxi musim rozumne ovladat tyto jazyky:

C, C++, VB, C#, Pascal, PHP, Mumps, Javascript, Shell script a dalsi hovadiny. Samozrejme neco umim lip a neco hur, ale umet rozumne musim vsechno.

Ucit se vsechny jazyky a pred zadnym se nezavirat :-) Jazyk je jen nastroj, dulezite je naucit se ruzne postupy reseni problemu, umet tyto postupy napasovat na nove situace atd. Jazyk je jen nastroj.

Jak se ucim novoty v Jave 8 takto: ano, daji se najit nejake stranky kde se popisuji rozdily mezi 7-8 ale me to moc nevodi. Do Kindu jsem si tedy upiratil od Oracle janysi Java 8 definitive guide, ma to cca 1000 stran. docela svizne to ctu a prisel jsem na toto:

Ja poradne neumim nejaky Java tool / framework / knihovnu kterym bych byl schopen resit ty realne problemy, ktery se dejou na ulici. Ale umim ve vterine ty elementarni veci ktery za me frameworky neresi. Kolekce, vyjimy, iterovat nad polem (ne nedelam si srandu, ale kdyz jsem opravdu s jazykem seznameny, tak tech spusobu je rekneme 5 a ve vterine vybiram ten spravny) a nevim co dal... To je jako umet finsky a znat pravidla ugrofinskych jazyku (nejsem jazykovedec) a umet spickove listovat ve slovniku.

A ja se chci naucit ano - spickove dalsi programovaci jazyk. (pokud se moje oko nezatoula k SAPu :D :D nebo vezmy rozum do hrsti a naucim se numpy ktery se mi hodi na data mining & etc... anebo na to prcam a jedu C++)

Jinak lehky poznatek z praxe (zazil jsem cca 40 pohovoru, ze kterych jsem se 20-30x dostal do 2heho kola): kdyz prijdu na pohovor tak si vyberou tridu String nebo nejakou specialitu z kolekci nebo vyjimek a na tom me 30minut smazi jako rizek. Neni to ze by nekoho zajimalo:
- C = gympl, seznamovani s kodenim
- C++ = vetsi zkusenost nez C, i nejaky projektit na VS
- VB = ani radek
- C# = lehka znalost, 1 projektitk
- Pascal = + Delphi, hodne naprogramovano v ramci VS
- PHP = na gymplu blog + administrace, CMS... (nechci to delat)
- Mumps = neznam
- Javascript = v praxi nekolik projektu, jQuery, hraju si s JS v mongudb
- Java = 5-7 let praxe, jednu dobu full time J2EE (uz to nechci delat), hafo projektu, znalosti mozna i na certifikaci, Hadoop, nejaky solichanicko Androidu(nechi to delat, ani jsem nezacal...), java na desktop aplikace.

a chci do mnoziny svych skills pridat neco kde reknu: davam svy meno a svoji cest, ze toto fakt umim :) a proto to tady tak monstrozne diskutuju :)

Bla

Re:Co se učit za programovací jazyk?
« Odpověď #101 kdy: 10. 08. 2014, 22:38:56 »
Jinak lehky poznatek z praxe (zazil jsem cca 40 pohovoru, ze kterych jsem se 20-30x dostal do 2heho kola): kdyz prijdu na pohovor tak si vyberou tridu String nebo nejakou specialitu z kolekci nebo vyjimek a na tom me 30minut smazi jako rizek.

Celé to je špatně, kamaráda vzali jako Java programátora a to v ní ani neuměl.

Hledal práci a náhodou narazil na inzerát, kde hledali Java programátora.
Vzal životopis, do něj dopsal, že v Java umí dělat a jméno frameworku, který chtěli.
Pohovor si domluvil na následující týden a v tu chvíli si vzal do vzal si do pazoury knížku a splácal jednoduchou, ale docela graficky pěkně udělanou aplikačku.
Pak na pohovoru vytáhl noťas, vybalil to na ně a chvíli v tom klikali.
Řekl, že je volný za cca 48 dní a začal se jí teprve učit.
Jasně že byl volný okamžitě, ale nic neuměl, musel hrát o čas.

Kdyby na něj vybalili nějaké dotazy a zkoušeli ho smažit jako řízek, tak by shořel jako papírovej čert.
Nicméně protože jim ukázal kus toho, co vlastně chtěli, neměli důvod ho smažit.

Na pohovoru tam s ním bylo 10-20 lidí (někteří v tom jistě už dělat uměli), ale jen on jim ukázal přesně to, co chtěli.
Teď má práci už pět let a patří k nejlepším v týmu.

O čem to hovoří?
Řekl bych, že především o mimořádných schopnostech mého přítele.
Prostě si sedl, učil se přesně to, co chtěli a předvedl kus práce.
Šikovně si rozvrhl čas, aby všechno stihnul a nikdo nepřišel na to, že nic neumí dřív, než se to pořádně naučí.

"Ahoj zlato, jdi nakoupit, kup chleba a pokud budou mít rohlíky, vem jich deset!"
Blbec vezme deset chlebů.
Blbec řekne, že je volný hned, i když ví, že v tom pořádně neumí a nestihne se to naučit.

Inteligentní člověk koupí jeden chleba, deset rohlíků a nechá si dost času, aby se naučil to, co po něm budou chtít.

tojsemja

Re:Co se učit za programovací jazyk?
« Odpověď #102 kdy: 10. 08. 2014, 23:06:04 »
Jinak lehky poznatek z praxe (zazil jsem cca 40 pohovoru, ze kterych jsem se 20-30x dostal do 2heho kola): kdyz prijdu na pohovor tak si vyberou tridu String nebo nejakou specialitu z kolekci nebo vyjimek a na tom me 30minut smazi jako rizek.

Celé to je špatně, kamaráda vzali jako Java programátora a to v ní ani neuměl.

Hledal práci a náhodou narazil na inzerát, kde hledali Java programátora.
Vzal životopis, do něj dopsal, že v Java umí dělat a jméno frameworku, který chtěli.
Pohovor si domluvil na následující týden a v tu chvíli si vzal do vzal si do pazoury knížku a splácal jednoduchou, ale docela graficky pěkně udělanou aplikačku.
Pak na pohovoru vytáhl noťas, vybalil to na ně a chvíli v tom klikali.
Řekl, že je volný za cca 48 dní a začal se jí teprve učit.
Jasně že byl volný okamžitě, ale nic neuměl, musel hrát o čas.

Kdyby na něj vybalili nějaké dotazy a zkoušeli ho smažit jako řízek, tak by shořel jako papírovej čert.
Nicméně protože jim ukázal kus toho, co vlastně chtěli, neměli důvod ho smažit.

Na pohovoru tam s ním bylo 10-20 lidí (někteří v tom jistě už dělat uměli), ale jen on jim ukázal přesně to, co chtěli.
Teď má práci už pět let a patří k nejlepším v týmu.

O čem to hovoří?
Řekl bych, že především o mimořádných schopnostech mého přítele.
Prostě si sedl, učil se přesně to, co chtěli a předvedl kus práce.
Šikovně si rozvrhl čas, aby všechno stihnul a nikdo nepřišel na to, že nic neumí dřív, než se to pořádně naučí.

"Ahoj zlato, jdi nakoupit, kup chleba a pokud budou mít rohlíky, vem jich deset!"
Blbec vezme deset chlebů.
Blbec řekne, že je volný hned, i když ví, že v tom pořádně neumí a nestihne se to naučit.

Inteligentní člověk koupí jeden chleba, deset rohlíků a nechá si dost času, aby se naučil to, co po něm budou chtít.

někdo měl štěstí, někdo neměl štěstí. Tak to na světě chodí. Asi jsem se hlásil na špatný pozice nebo špatně HR slečně odpovídal, to tady neřeším. Anebo jsem se narodil bez toho co lidi dělá v IT úspěšnými. Tady řeším zrovna ten use case, že něco chci umět na fest pořádně :)

hele Bla nebo kdokoli další kdo tu psal o SAPu: zjišťuju si o SAPu nějaký info, dělám "analýzu trhu práce" atd... Myslíš že by jsi mi zodpověděl nějaký všetečný otázky? Tady nebo třeba na nějaký email? Jen kdyby to tu už lidi nudilo ;) děkuju

Bla

Re:Co se učit za programovací jazyk?
« Odpověď #103 kdy: 10. 08. 2014, 23:22:32 »
Někdo řekl: "SAP je kýbl opičích zvratek, ve kterém se musíš každý den rochnit a koštovat z něj."
A je to i můj osobní názor, čistě náhodou jsem certifikovaný SAP konzultant, ale to bych si tuším raději nechal ojíždět zadnici od hnusnýho nepřizpůsobivýho než abych v tom dělal. Co to je za srágoru jsem pochopil, až když jsem do toho pronikl hlouběji.

Nicméně řada lidí SAP dělá, berou za to MEGA prachy a tím myslím, že když si jdou říct o přidání, tak neřeknou, že chtějí navíc jeden dva tisíce, ale deset nebo dvacet tisíc. No a hodně z nich i svůj odpor dokázalo překonat a jsou do stáří zajištění. SAP totiž není pro každého.
Takže pokud se dokážeš nad problémy povznést, směle do toho.

Já se teď k SAPu taky vracím, protože se chci pojistit, že si mě firma ještě dalších pár let nechá.
Nechci nic velkýho, jen psát nějaký pomocný sestavy a trochu šolichat pár transakcí.
Až to budu mít rozjetý, řeknu si o přidání tak desítky navrch, což by mi mělo zaplatit hypotéku.
To je takový můj short-term plan.

tojsemja

Re:Co se učit za programovací jazyk?
« Odpověď #104 kdy: 10. 08. 2014, 23:35:32 »
Někdo řekl: "SAP je kýbl opičích zvratek, ve kterém se musíš každý den rochnit a koštovat z něj."
A je to i můj osobní názor, čistě náhodou jsem certifikovaný SAP konzultant, ale to bych si tuším raději nechal ojíždět zadnici od hnusnýho nepřizpůsobivýho než abych v tom dělal. Co to je za srágoru jsem pochopil, až když jsem do toho pronikl hlouběji.

Nicméně řada lidí SAP dělá, berou za to MEGA prachy a tím myslím, že když si jdou říct o přidání, tak neřeknou, že chtějí navíc jeden dva tisíce, ale deset nebo dvacet tisíc. No a hodně z nich i svůj odpor dokázalo překonat a jsou do stáří zajištění. SAP totiž není pro každého.
Takže pokud se dokážeš nad problémy povznést, směle do toho.

Já se teď k SAPu taky vracím, protože se chci pojistit, že si mě firma ještě dalších pár let nechá.
Nechci nic velkýho, jen psát nějaký pomocný sestavy a trochu šolichat pár transakcí.
Až to budu mít rozjetý, řeknu si o přidání tak desítky navrch, což by mi mělo zaplatit hypotéku.
To je takový můj short-term plan.

dekuji za tak uprimna slova :) s obrovskou vahou. hele, nevim nevim nevim... celej vikend nad tim o cem se tu diskutuje premeslim. v sobotu vecer jsem lezel v posteli a moc premyslel. dneska jsem sel za sportem a do lesa zase premejslet. premyslim co mam kurva delat abych vyhovel teto korelaci: nejsem genialni, asi spis prumer ale umim se snazit a mozna by se dalsi klady nasly / chci aby me to "bavilo" / musim se tim do 50-60 zivit / na co jsem zapomel?...