Co je perspektivnější: Java nebo Python?

Nom

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #30 kdy: 31. 03. 2012, 08:43:14 »
Větší perspektivu z dvojice Java+Python má jednoznačně Java, Python je pro srandu králíkům a programátorům se při pohledu na zdroják Pythonu otevírá kudla v kapse.

Co se týká programování, tak Java, Python, PHP, ASP nemá s programováním společného nic, všechno jsou to skriptovací jazyky, tedy napřed musí přijít programátor, naprogramovat jim nějaké to runtime prostředí tuny základních knihoven a pak mohou přijít pojídači koláčů si patlat ty svoje skripty :-)
Programuje se v C/C++, dřív se programovalo i v Delphi.


pasák

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #31 kdy: 31. 03. 2012, 08:46:18 »

kdyz chci neco z standardnich knihoven,mam na to google,nebo help :-)


S uplne stejnou logikou muzu rict, ze mam google na algoritmy.

A mal by si pravdu ;-) Ak teda nechces znovuvynajst koleso (a ze takych programatorov je kopa).

tak ja spis predpokladam, ze hlavni naplni programatora je algoritmy vymyslet (nemusi to byt zrovna neco co otoci chod dejin,ale precejen pokud budem brat programovani za dusevne narocnou cinnost,jakoze se spousta programatoru povazuje i za chytre lidi) prijit s necim inovativnim, takze dost tezko najdu na google neco co jeste nikdo nevymyslel :-) jako jo,pokud nazvem programatorem i takove ty ruzne code monkeys co jen implementuji veci uz existujici(ty ruzna obrandovana nazeleno natrena enterprise kola), tak to bych souhlasil ze tem staci funkcni pripojeni na google a udelaji ti cokoliv v cemkoliv.
kdyz by po me nekdo chtel neco takoveho jako http server,spis bych asi na to odpovedel,ze to spis bude pro nejakeho juniora. bylo to mysleno tak,ze kvalitniho VYVOJare ze me neudela znalost knihoven a fw.nelibila se mi definice cloveka zkuseneho jako jen znajiciho knihovny atd, zkusenej naopak tyhle ty veci ani nepotrebuje znat a taky casem vetsinou uz ani nezna...


a jinak ten Primkuv example ohledne http serveru, presne tady by mi google rekl hned v prvnich odkazech, jak trivialni to je, takze bylo to sice vtipne,a evidentne to dost z vas vzalo za sve, ale ponekud mimo misu ;-)


Tady jde o definici toho vymyslet něco nového. Asi žádný programátor nevymýšlí úplně nové algoritmy, to je spíš práce matematiků. Programátor většinou vezme známý algoritmus a upraví ho pro konkrétní situaci.

A podle mě znalost jazyka, knihoven, algoritmů a datových struktur s tím, že má poovědomí o způsobu řešení nejčastějších problémů právě definují programátora seniora. Je sice úžasné, že si vše můžu najít na googlu, ale to není moc efektivní. Pokud neznám algoritmy a datové struktury, tak se ani ve standardní knihovně nevyznám. Např. neumím se rozhodnout kdy použít slovník implementovaný hashovací tabulkou nebo stromem.


Větší perspektivu z dvojice Java+Python má jednoznačně Java, Python je pro srandu králíkům a programátorům se při pohledu na zdroják Pythonu otevírá kudla v kapse.

Co se týká programování, tak Java, Python, PHP, ASP nemá s programováním společného nic, všechno jsou to skriptovací jazyky, tedy napřed musí přijít programátor, naprogramovat jim nějaké to runtime prostředí tuny základních knihoven a pak mohou přijít pojídači koláčů si patlat ty svoje skripty :-)
Programuje se v C/C++, dřív se programovalo i v Delphi.
A o tom to je. Místo abys napsal 500 řádků v C/C++, tak jich napíšeš 50 v python a máš stejný program. Lidi používají novější jazyky právě proto, že šetří práci a eliminují chyby.

ferren

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #32 kdy: 31. 03. 2012, 09:01:12 »

dostavame se k podstate,z praxe vidim ze opravdu kvalitni vyvojari jsou spis matematikove, nez ti vsemozni ruzni absolventi fakult informatik. ti spis tvori maso do mlynku,spotrebni zbozi.nabrat kdyz se nestiha a pak vyhodit. tezko rict jake jsou presne duvody, muj nazor je prave v pohledu na reseni problemu, matematik mysli elegantneji,informatik jen vrsi na sebe kod....ono uznavam,delat web,asi moc o algoritmech nebude,ale ostatne nevim jak je to dnes,driv se ale vyvojari webu za programatory ani nepovazovali...dneska je uz kazdy javascriptar a phpista programatorem


hryzo

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #33 kdy: 31. 03. 2012, 10:11:28 »
Dobry den,

chcel by som pridat jeden svoj nazor - mimo tohto flameware.

Neberte si tieto nazory niektorych exotov priliz k srdcu, do takychto diskusii zvyknu pisat studenti, ktory sa s programovanim stretli na skole.

Niekolko rokov pracujem ako senior developer v Jave - takze mi preslo rukami velke mnozstvo aplikacii. Nedavno som pre vlastne potreby zacal pisat programy v Pythone, pretoze vyvoj urcitych veci je v nom strasne rychly.

V praxi sa vsak viac stretavame s tym, ze ulohou programatora nie je len prepisovat funkcne specifikacie - teda algoritmy prepisat do programovacieho jazyka, ale byt aj analytikom - vediet navrhnut architekturu, pouzit spravne navrhove vzory a pod.

Teda ja by som to, co by mal moderny programator v oblasti samotneho programovania ovladat rozdelil na:
1. znalost analytickych vzorov
2. znalost navrhovych vzorov
3. znalost programovacieho jazyka

Ja si dovolim tvrdit, ze to najmenej dolezite je znalost programovacieho jazyka - ta moze byt zamenitelna podla narokov na dany projekt, podla poziadaviek trhu a pod., ale bez prvych dvoch znalosti je ten programator len cvicena opicka na prepisovanie kodu.

Kazdopadne moje postrehy o Pythone:
- mam rad dynamicke jazyky, ale chyba mi v Pythone silnejsia typovost - prejavuje sa to hlavne, ked sa rozhodnem pouzit nejake API a neviem aky datovy typ je niektory parameter ( a dokumentacia nikde alebo je to wrapper)
- roztriestenost kniznic 3tich stran (kazdy ma svoj coding-style, co sa prejavi na navrhu API)
- protected metody = neviem ci vobec existuju
- private metody = pekny trik, ale v skutocnosti to nie su privatne metody
- rychlost vyvoja je obrovska oproti Jave
- je modernejsi ako Java - hlavne Python 3 prinasa niekolko novych "syntaktic sugar"
- Java ma lepsie IDEs (u niekoho podstatny argument)

hryzo

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #34 kdy: 31. 03. 2012, 10:15:50 »

dostavame se k podstate,z praxe vidim ze opravdu kvalitni vyvojari jsou spis matematikove, nez ti vsemozni ruzni absolventi fakult informatik. ti spis tvori maso do mlynku,spotrebni zbozi.nabrat kdyz se nestiha a pak vyhodit. tezko rict jake jsou presne duvody, muj nazor je prave v pohledu na reseni problemu, matematik mysli elegantneji,informatik jen vrsi na sebe kod....ono uznavam,delat web,asi moc o algoritmech nebude,ale ostatne nevim jak je to dnes,driv se ale vyvojari webu za programatory ani nepovazovali...dneska je uz kazdy javascriptar a phpista programatorem

Suhlasim, pozorujem nieco podobne aj na SVK - ja vsak povazujem za najlepsich programatorov fyzikov.
Podla mna je to presne z toho dovodu ako pisete aj vy - su to ludia, ktori su zvyknuti rozmyslat o navrhu, o funkcnosti. Ludia, ktorych napadne, ze je asi nezmyselne veci riesit takto a hladaju efektivnejsi a krajsi postup.

Na druhu stranu som mal kolegu z MatFyz, pre ktoreho nebolo problem napisat 2x ten isty cyklus iterujuci resultom z DB pod seba s tym,ze mu vobec nevadilo, ze by sa to dalo napisat do jedneho cyklu.


Skratka - ak je niekto neporiadny a chaotik v realnom zivote, je sanca, aj jeho kod a zmyslanie bude tak vyzerat.
Ak je niekto pekfekcionista a dosledny clovek - zarucujem Vam, ze jeho kod a navrh bude o tom svedcit.


and

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #35 kdy: 31. 03. 2012, 11:05:57 »
Kazdy nastroj se hodi na neco jineho. Na to lepe, na to hur... prosel jsem si Assembler (Z80/8080), C, C++, Java, Python (a Numpy), Shell, Perl (z tech nejdulezitejsich - pak i Basic vseho druhu, Pascal/TurboVision/Delphi, PCFand, Lisp). K tomu jako administrator/integrator site, databaze a applikacni servery vseho druhu; zaroven jednani se zakazniky a reseni architektury kdy zakaznik chce neco trosku jineho, nez na co byl puvodni system vytvoren - toto bylo vice dulezite nez jakykoliv program co jsem kdy vytvoril.

Kdyz neco vyvijim, tak preferuji rychlost vyvoje a prehlednost pred super optimalnim kodem. Pokud pocitac nestiha, je pro mne levnejsi si koupit lepsi ci dalsi, nez investovat praci a cas do optimalizace neceho, co nevim zda je finalni podoba kodu.
Pokud se dela enterprise aplikace je potreba delat kvalitni dokumentaci - jazyk/y jsou pak volbou architekta. Casto diky politice se voli Java/C#.
Takze bych rekl - pokud se programovanim chces zivit, urcite Java. Pokud chces delat pro sebe, tak Python. No a nakonec jsou i prozirave firmy, jenz Python pouzivaji i na ty enterprise veci; dava jim to pak vyhodu proti konkurenci s pomalym vyvojem v Jave  ;)

Tri zkusenosti:
1. Hrubou silou se prochazely data. Kolega udelal program v C++, melo to zhruba 1500 radek a bezelo to 14 dni. Po pul roce bylo treba zmenit algoritmus a kolega uz nemel na to cas. Predelal jsem to do Python/Numpy cca 300 radek a bezelo to 15 hodin...

2. Analyzovaly se data, trvalo to 3 hodiny... problem to zas takovy nebyl. Po tydnu se objevil napad na predtridenim dat dle jednoho znaku, cas analyzy se smrsknul na 5 minut.

3. Nacitani dat do pameti trvalo dlouho - nacitaly se data z textovych/csv souboru. Stacilo implementovat 'binarni cache' na disku, nacitani dat pak bylo limitovano rychlosti disku.

martin

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #36 kdy: 31. 03. 2012, 11:09:30 »
Skratka - ak je niekto neporiadny a chaotik v realnom zivote, je sanca, aj jeho kod a zmyslanie bude tak vyzerat.
Ak je niekto pekfekcionista a dosledny clovek - zarucujem Vam, ze jeho kod a navrh bude o tom svedcit.

Já bych byl v tomto hodnocení opatrný. Neříkám, že to není pravda, ale myslím, že není doba na dokonalé návrhy a dokonalý kód. Obchod nezajímá jaký je kód. Jistě menší chybovost běhu atd. atd. Ale pravda je taková, že chyby se dají vyladit za provozu resp. po nasazení, ale pokud nemáte včas produkt, tak ho dodá konkurence a druhá šance často nebude. Takže v praxi je třeba určitý kompromis v té dokonalosti.

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #37 kdy: 31. 03. 2012, 11:12:21 »
a jinak ten Primkuv example ohledne http serveru, presne tady by mi google rekl hned v prvnich odkazech, jak trivialni to je, takze bylo to sice vtipne,a evidentne to dost z vas vzalo za sve, ale ponekud mimo misu ;-)
No priklady prece musi byt trivialni, aby byl videt princip.

V realne situaci bych chtel treba implementovat komunikaci s RabbitMQ, vcetne nejake language-agnostic serializace. Sorry, ale najal bych cloveka, ktery uz to nekdy delal, ne nekoho, kdo prvni den v praci zacne googlit, co je to vlastne RabbitMQ, dalsi mesic stravi tim, ze bude zjistovat, jak to vlastne funguje, dalsi mesic se bude rozhodovat, jaka serializace by byla vhodna (xml? yaml? json?) a pak to za tyden skutecne napise.

Nebo jiny priklad: potrebuju psat moduly do ejabberrd. Pokud budu moct vzit cloveka, ktery erlang zna pochopitelne ho vezmu. Pokud bych dokonce mohl vzit cloveka, ktery zna ejabberd, nebudu ani minutu vahat. A jestli je to matematik nebo stredoskolak, bych fakt asi neresil.

Tady jde o definici toho vymyslet něco nového. Asi žádný programátor nevymýšlí úplně nové algoritmy, to je spíš práce matematiků. Programátor většinou vezme známý algoritmus a upraví ho pro konkrétní situaci.
Neustale tady nekdo tvrdi, jak jsou matematici vyborni programatori, protoze umi myslet a vymysli dobre algoritmy. Ok, jestli je to jejich zkusenost z vedeni tymu o desitkach lidi, tak beru, ja jsem takovy tym nikdy nevedl.
Jenom si to moc nedovedu predstavit - fakt si neumim predstavit, co v **bezne aplikaci** je tak slozite, ze je potreba nekoho hodne chytreho, aby to vymyslel. Spis mam pocit, ze drtiva vetsina aplikaci je spis o tom, pouzit spravne patterny a datove struktury na spravnych mistech  a vedet, ze na obhospodareni techto p. a d.s. existuji nejake uz napsane funkce, takze je psat nemusim. A jestli tam neco sloziteho je, tak to je prace pro jednoho analytika-designera, ktery odborne rozhodne "takhle to udelame".

Muzete mi nekdo dat nejaky uplne konkretni priklad nejake soucasti bezne aplikace, kde je potreba vymyslet neco tak jednoducheho, aby na to nemusel byt vylozene specialista analytik-odbornik na tu vec, a zaroven tak sloziteho, aby to nezvladl clovek, ktery zna patricne patterny, datove struktury a std. knihovnu? (to nema byt flejm, opravdu by me nejaky konkretni priklad zajimal, obecna tvrzeni bez dukazu muzu mit jakakoli...)

riff

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #38 kdy: 31. 03. 2012, 12:02:48 »
Flamy jazyk vs jazyk by se měly rovnou mazat. To se na 99% zvrhne v honění ega, popis "správného programátora"(většinou druhé já přispívajícího) a hon na "pojídače koláčů"(většinou všichni ostatní). Na různé úkoly se hodí různé jazyky, na řešení různých problémů se hodí různé postupy. Prosazovat to svoje řešení jako jediné správné je přinejmenším krátkozraké.

Natix

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #39 kdy: 31. 03. 2012, 12:13:17 »
Co se týká programování, tak Java, Python, PHP, ASP nemá s programováním společného nic, všechno jsou to skriptovací jazyky, tedy napřed musí přijít programátor, naprogramovat jim nějaké to runtime prostředí tuny základních knihoven a pak mohou přijít pojídači koláčů si patlat ty svoje skripty :-)
Programuje se v C/C++, dřív se programovalo i v Delphi.

Troll level 1 detected... Jediný správný programátor je ten, který si sám spájí tranzistory, navrhne instrukční sadu, napíše kompilátor do strojového kódu a naprogramuje celý operační systém. Kdo tohle nedělá, je pojídač koláčů!  :P

Vena

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #40 kdy: 31. 03. 2012, 16:40:46 »
Dobry den,

chcel by som pridat jeden svoj nazor - mimo tohto flameware.

Neberte si tieto nazory niektorych exotov priliz k srdcu, do takychto diskusii zvyknu pisat studenti, ktory sa s programovanim stretli na skole.
...
Jsem sice student, ktery se s programovanim stretl jenom na skole, ale toto je podle me nejlepsi nazor v tomto vlakne a 100% s nim souhlasim.

Čert jezdí na Javě

Ve Windows jednoznačně Python!
« Odpověď #41 kdy: 31. 03. 2012, 17:18:46 »
Ahoj,

Přidám ti názor jako uživatel...

Aplikace běžící pod/na Pythonu mám docela rád. Nikdy s nimi nejsou žádné problémy, běží mimo browser, Python nemusí být instalován jako centrální aplikace (ve Windows), často uživatelé ani neví že nějaký Python mají v systému protože jde s aplikací (pro Windows) automaticky.

Java, je neuvěřitelný bazmek, neustále vyžadující pozornost a aktualizace. Zkusil jsem se k ní asi před dvěma lety vrátit a opět ji používat, ale po půl roce jsem se jí zbavil a nikdy ji už nechci ani vidět. Pokud narazím na aplikaci která Java potřebuje, tak ji prostě oželím. Proto také nesnáším když někdo neuvede u své aplikace nutnost mít naistalovanou Javu hned při prvním seznamování. Zní to možná paradoxně, ale je to důvod proč aplikace pro Javu ještě více odmítám - pro šlendrián... tak na to mysli až budeš své aplikace představovat veřejnosti.

Natix

Re:Ve Windows jednoznačně Python!
« Odpověď #42 kdy: 31. 03. 2012, 18:10:20 »
Java, je neuvěřitelný bazmek, neustále vyžadující pozornost a aktualizace. Zkusil jsem se k ní asi před dvěma lety vrátit a opět ji používat, ale po půl roce jsem se jí zbavil a nikdy ji už nechci ani vidět. Pokud narazím na aplikaci která Java potřebuje, tak ji prostě oželím. Proto také nesnáším když někdo neuvede u své aplikace nutnost mít naistalovanou Javu hned při prvním seznamování. Zní to možná paradoxně, ale je to důvod proč aplikace pro Javu ještě více odmítám - pro šlendrián... tak na to mysli až budeš své aplikace představovat veřejnosti.

A nějaký konkrétní důvod můžeš uvést? S věcnými argumenty typu "GUI programy psané ve Swingu nebo SWT jsou pomalé a vypadají nestandardně" problém nemám, ale tvrdit, že nemáš rád Javu z toho důvodu, že ji nemáš rád...

Že je třeba mít nainstalované JRE - no bóže. Na linuxových distribucích nějaké bývá defaultně a nainstalovat ho na Windows snad není problém. Vyskakující hlášky o dostupné nové verzi jdou zakázat, aktualizovat na nejnovější verzi není zpravidla vůbec potřeba.

ezdiy

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #43 kdy: 31. 03. 2012, 19:16:35 »
flame!

je otazka tydne pro toho co zna zakladni paradigmaty a chce se poucit o necem novem.

A znovu nahravka na smec, kterou by bylo hrich nevyuzit: A co takhle pravidlo "Vyhod kazdeho, kdo se snazi druhe oslnit cizimi termity a neumi je ani spravne uzit v pluralu"?

Citace

Jen tak pro zajimavost, paradigmata neni korektni plural? :) z cestiny fakt nikoho neoslnujem :/


Člověk by neměl používat cizí termity, když je nezná suterénně nebo není v dobré konvici, protože je zde veliké rizoto, že to skončí fiatem. Každý se tváří jako suterén, ale vrátí se mu to jako buzerant!
( http://goo.gl/9za53 )

(no offense, sranda musi byt, ne? :)

wat?

iwtu

Re:Co je perspektivnější: Java nebo Python?
« Odpověď #44 kdy: 31. 03. 2012, 20:06:29 »
Sledujem tuto diskusiu s usmevom. Par faktov.

- za cas venovaj tejdo diskusii by ste nauciili syntax Pythonu
- ak nemate s programovanim ziadne skusenosti, s Pythonom do programovania preniknetie rychlejsie
- ak mate s programovanim skuseti, mozte ist bez obav na Javu
- co sa tyka Pythonu, dnes je este stale perpektvinejsia vezia 2.6 (i ked je 2.7) ako Python 3. Kvoli knizniciam