Nejžádanější programátorské znalosti na českém pracovním trhu

j

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #120 kdy: 22. 11. 2016, 10:41:15 »
Mimochodem, slušného Bashistu, který je schopný používat alespoň základní sadu příkazů, třeba v kombinaci se schopností tvořit složitější regulární výrazy, to aby dnes člověk pohledal.
Heh ... na tom me sere nejvic to, ze kazda implementace ma celkem podstatny odlisnosti ... takze ten regularni vyraz vypada pokazdy trochu jinak, coz je neuveritelnej voser (predevsim kdyz tech implementaci pouzivas vic zaroven).

BTW: Kdyz uz pripadne dotycnej aspon vi, ze neco jako regularni vyraz existuje, muzes si gratulovat.

... - 10 serverů nemá 10x větší výkon - ale vyžaduje 100x větší náklady na vývoj, údržbu infrastruktury.
Dovolim si nesouhlasit, 10 serveru muze klidne prinyst i 100x vetsi vykon ... ovsem za predpokladu, ze tvurce aplikace vi co dela a jak veci funguji. Jednoduse treba proto, ze kdyz neco pristupuje treba k ram, a tech procesu je vic, tak si konkuruji, cimz se vzajemne omezuji. Rozhodne to ale nevyresi tupyho tvurce, v takovym pripade to situaci spis naopak razantne zhorsi.


Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #121 kdy: 22. 11. 2016, 11:03:35 »
t.
... - 10 serverů nemá 10x větší výkon - ale vyžaduje 100x větší náklady na vývoj, údržbu infrastruktury.
Dovolim si nesouhlasit, 10 serveru muze klidne prinyst i 100x vetsi vykon ... ovsem za predpokladu, ze tvurce aplikace vi co dela a jak veci funguji. Jednoduse treba proto, ze kdyz neco pristupuje treba k ram, a tech procesu je vic, tak si konkuruji, cimz se vzajemne omezuji. Rozhodne to ale nevyresi tupyho tvurce, v takovym pripade to situaci spis naopak razantne zhorsi.
To už to pak musíte hodně umět - a musíte mít hodně za sebou - a ještě mít štěstí. Ale i kdyby jste dosáhl 100x většího výkonu - stále budete mít výrazně vyšší náklady - napsat, odladit, udržet v provozu, rozvíjet distribuovanou aplikaci je výrazně komplikovanější než klasickou aplikaci - tady potřebujete hodně dobré lidi, kteří už mají znalosti a obyčejně i svou cenu.

Ivan Nový

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #122 kdy: 22. 11. 2016, 12:35:46 »
Vážně? A kdo ty triviality umí, ten je odborník? Neslýchaný úpadek. A nebo jen prohloubení dělby práce.
Jestli těmi trivialitami myslíte být dobrým bashistou, tak to samo o sobě samozřejmě nestačí. Je to velmi úzce svázané s dobrou znalostí OS, slušnou znalostí provozovaných služeb, schopností správy a řešení problémů, nebo alespoň jejich diagnostiky a smysluplné delegace na další odborníky. A k tomu všemu člověk dříve nebo později narazí na to, že bash, ačkoliv mocný, není ideální na všechno (ostatně jako jakýkoliv jiný programovací/skriptovací jazyk, o čemž tu celou dobu píši) a je potřeba přibrat minimálně perl, případně C, python a klidně další věci, dle používaných technologií/systémů...

Ano, ale to jsou pořád triviality na úrovni poznávání krajiny, ve které se pohybujete.

balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #123 kdy: 22. 11. 2016, 13:03:01 »
t.
... - 10 serverů nemá 10x větší výkon - ale vyžaduje 100x větší náklady na vývoj, údržbu infrastruktury.
Dovolim si nesouhlasit, 10 serveru muze klidne prinyst i 100x vetsi vykon ... ovsem za predpokladu, ze tvurce aplikace vi co dela a jak veci funguji. Jednoduse treba proto, ze kdyz neco pristupuje treba k ram, a tech procesu je vic, tak si konkuruji, cimz se vzajemne omezuji. Rozhodne to ale nevyresi tupyho tvurce, v takovym pripade to situaci spis naopak razantne zhorsi.
To už to pak musíte hodně umět - a musíte mít hodně za sebou - a ještě mít štěstí. Ale i kdyby jste dosáhl 100x většího výkonu - stále budete mít výrazně vyšší náklady - napsat, odladit, udržet v provozu, rozvíjet distribuovanou aplikaci je výrazně komplikovanější než klasickou aplikaci - tady potřebujete hodně dobré lidi, kteří už mají znalosti a obyčejně i svou cenu.

Vykon nie je problem pokial sa neprasi, ani distribuovane aplikacie nie je problem pisat, a lahsie je ich rozsirovat, nez monolity , staci dobre zadefinovat rozhrania. Ale naklady na integraciu,  udrzbu a deploy su fakt vyssie.

balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #124 kdy: 22. 11. 2016, 13:05:37 »
Ale prosim vymenovat vlastnosti, co znemoznuju "psat slusne". Podla mna len pisete floskule. Mne napada akurat tak slaba reflexia a absencia prototypovej dedicnosti. Ale aj bez toho ide "psat slusne".

Jen namátkou:

  • Neumí pole větší jak 2^31 prvků.
  • Neumí pole objektů. Tím nemyslím pole pointerů na objekty, tohle je totiž to jediné, co java umí. Pokud chci pole, kde budou objekty v paměti za sebou, bez indirekce přes pointery, mám smůlu. Vede to na vyšší spotřebu paměti a pomalejší kód (samý cache miss a cache trashing...).
  • Maximální velikost funkce 64 KB bytecode. Normálně to nevadí, problém nastává s generovaným kódem, když se použije třeba JavaCC.
  • Impotentní generika, např. variadic templates asi nikdy v javě nebudou.

Všechno to jde "nějak" obejít (co taky jiného zbývá, že...), občas za cenu nehezkých hacků a neoptimalit.

Cize napokon mi vychadza, ze sa v nej tazsie prasi, podla toho, co ste vymenovali.


balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #125 kdy: 22. 11. 2016, 13:11:08 »
Samozrejme ze je to o programatorovi, ale principialne narazim na aplikace v jave co maji tyto problemy, kdezto v jinych jazycich tolik ne. Ja verim ze je mozne v Jave psat slusne (v zavislosti na dane implementaci), teda ma to sve omezeni, prece jen Java ma vlastnosti co to znemoznuji.

Hm, asi vsichni programatori jsou neslusni. Kdykoliv vidim neco v Jave, tak je to monstruozita mnohonasobne vetsi, nez podobna vec v necem jinem a kdyz to clovek spusti, razem ma vyzahnutou RAM a z CPU se kouri. Budu se aplikacim v Jave i nadale vyhybat, dokud se ti programatori nenauci slusnosti.

Co vacsie ako co?

Co treba video zvanitko nebo Gnutella klient - v Jave nebo v necem jinem? Ty v Jave spolehlive zabiji stroj, ze bude prakticky nepouzitelny a na slabsim CPU nebude zvanitko ani stihat.

Co gnutella? Gnutella je legacy protokol. Neviem, ktoru aplikaciu myslite. Ani "zvanitko nepoznam". Zvanitko ste leda tak vy.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #126 kdy: 22. 11. 2016, 13:38:03 »
Samozrejme ze je to o programatorovi, ale principialne narazim na aplikace v jave co maji tyto problemy, kdezto v jinych jazycich tolik ne. Ja verim ze je mozne v Jave psat slusne (v zavislosti na dane implementaci), teda ma to sve omezeni, prece jen Java ma vlastnosti co to znemoznuji.

Hm, asi vsichni programatori jsou neslusni. Kdykoliv vidim neco v Jave, tak je to monstruozita mnohonasobne vetsi, nez podobna vec v necem jinem a kdyz to clovek spusti, razem ma vyzahnutou RAM a z CPU se kouri. Budu se aplikacim v Jave i nadale vyhybat, dokud se ti programatori nenauci slusnosti.

Co vacsie ako co?

Co treba video zvanitko nebo Gnutella klient - v Jave nebo v necem jinem? Ty v Jave spolehlive zabiji stroj, ze bude prakticky nepouzitelny a na slabsim CPU nebude zvanitko ani stihat.

Moc jsem tomuto vyroku o nestihajicim video zvanitku neveril, tak jsem to zkusil. Pouzil jsem Jitsi (Java) a na druhe strane Linphone (Java). Jak jsem podezrival, to tvrzeni bylo nepravdive - zatizeni cpu 10-20% (stara i5). Na mobilu je arm (myslim 8 jadro 1.9GHz) a zadne problemy s nestihanim nebyly. A to jsem pouzival sifrovani! Pokud mate takovy srot, ze neda ani petinu vykonu procesoru, ktery se bezne pouziva, tak je cas na upgrade (nebo vypnout sifrovani).

PS: Osobne si myslim, ze je uplne jedno, jestli je to v Jave, protoze vsechny ty narocne veci (kodeky) jsou stejne reseny knihovnou v C/C++.
PPS: Meril jsem celkove zatizeni CPU, takze je klidne mozne, ze narocnost toho zvanitka je jeste mensi.

lopata

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #127 kdy: 22. 11. 2016, 13:39:00 »
Ale prosim vymenovat vlastnosti, co znemoznuju "psat slusne". Podla mna len pisete floskule. Mne napada akurat tak slaba reflexia a absencia prototypovej dedicnosti. Ale aj bez toho ide "psat slusne".

Jen namátkou:

  • Neumí pole větší jak 2^31 prvků.
  • Neumí pole objektů. Tím nemyslím pole pointerů na objekty, tohle je totiž to jediné, co java umí. Pokud chci pole, kde budou objekty v paměti za sebou, bez indirekce přes pointery, mám smůlu. Vede to na vyšší spotřebu paměti a pomalejší kód (samý cache miss a cache trashing...).
  • Maximální velikost funkce 64 KB bytecode. Normálně to nevadí, problém nastává s generovaným kódem, když se použije třeba JavaCC.
  • Impotentní generika, např. variadic templates asi nikdy v javě nebudou.

Všechno to jde "nějak" obejít (co taky jiného zbývá, že...), občas za cenu nehezkých hacků a neoptimalit.

Cize napokon mi vychadza, ze sa v nej tazsie prasi, podla toho, co ste vymenovali.

Mohl bys upřesnit, jaké myšlenkové pochody tě vedou k takovému závěru? Je totiž úplně chybný. Omezení Javy vedou na prasení, když je potřebuješ obejít. Jako myšlenkové cvičení si můžeš zkusit v Jave udělat tohle:
Kód: [Vybrat]
#include <memory>
#include <vector>
#include <iostream>

class MyObject {
public:
    virtual ~MyObject() = default;
}; 

class MyObjectFactory
{
public:
    template<typename T, typename... Args>
    std::shared_ptr<T> create(Args... args) {
        auto object = std::make_shared<T>(args...);
        m_objects.push_back(object);
        return object;
    }

private:
    std::vector< std::shared_ptr<MyObject> > m_objects;
};

class MyObjectInt : public MyObject {
public:
    MyObjectInt(const int i) {
        std::cout << i << std::endl;
    }
}; 

class MyObjectIntString : public MyObject {
public:
    MyObjectIntString(const int i, const std::string s) {
        std::cout << i << " " << s << std::endl;
    }
}; 

int main() {
    MyObjectFactory factory;
    auto o1 = factory.create<MyObjectInt>(1);
    auto o2 = factory.create<MyObjectIntString>(2, "foo");
    return 0;

V Javě to uděláš jak? Jsem zvědavý, jak to naprasíš...

balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #128 kdy: 22. 11. 2016, 14:00:25 »
Ale prosim vymenovat vlastnosti, co znemoznuju "psat slusne". Podla mna len pisete floskule. Mne napada akurat tak slaba reflexia a absencia prototypovej dedicnosti. Ale aj bez toho ide "psat slusne".

Jen namátkou:

  • Neumí pole větší jak 2^31 prvků.
  • Neumí pole objektů. Tím nemyslím pole pointerů na objekty, tohle je totiž to jediné, co java umí. Pokud chci pole, kde budou objekty v paměti za sebou, bez indirekce přes pointery, mám smůlu. Vede to na vyšší spotřebu paměti a pomalejší kód (samý cache miss a cache trashing...).
  • Maximální velikost funkce 64 KB bytecode. Normálně to nevadí, problém nastává s generovaným kódem, když se použije třeba JavaCC.
  • Impotentní generika, např. variadic templates asi nikdy v javě nebudou.

Všechno to jde "nějak" obejít (co taky jiného zbývá, že...), občas za cenu nehezkých hacků a neoptimalit.

Cize napokon mi vychadza, ze sa v nej tazsie prasi, podla toho, co ste vymenovali.

Mohl bys upřesnit, jaké myšlenkové pochody tě vedou k takovému závěru? Je totiž úplně chybný. Omezení Javy vedou na prasení, když je potřebuješ obejít. Jako myšlenkové cvičení si můžeš zkusit v Jave udělat tohle:
Kód: [Vybrat]
#include <memory>
#include <vector>
#include <iostream>

class MyObject {
public:
    virtual ~MyObject() = default;
}; 

class MyObjectFactory
{
public:
    template<typename T, typename... Args>
    std::shared_ptr<T> create(Args... args) {
        auto object = std::make_shared<T>(args...);
        m_objects.push_back(object);
        return object;
    }

private:
    std::vector< std::shared_ptr<MyObject> > m_objects;
};

class MyObjectInt : public MyObject {
public:
    MyObjectInt(const int i) {
        std::cout << i << std::endl;
    }
}; 

class MyObjectIntString : public MyObject {
public:
    MyObjectIntString(const int i, const std::string s) {
        std::cout << i << " " << s << std::endl;
    }
}; 

int main() {
    MyObjectFactory factory;
    auto o1 = factory.create<MyObjectInt>(1);
    auto o2 = factory.create<MyObjectIntString>(2, "foo");
    return 0;

V Javě to uděláš jak? Jsem zvědavý, jak to naprasíš...

Ved tam je nejaky rozsypany caj. To nie je hadam ani programovaci jazyk.

gll

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #129 kdy: 22. 11. 2016, 14:02:31 »
balki je javaman.

lopata

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #130 kdy: 22. 11. 2016, 14:03:08 »
Ved tam je nejaky rozsypany caj. To nie je hadam ani programovaci jazyk.

Typická java lopata... Dál s tebou nebudu ztrácet čas.

balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #131 kdy: 22. 11. 2016, 14:04:35 »
balki je javaman.

Balki nie je javaman, balki nepovazuje C++ za programovaci jazyk, lebo vyzera ako rozsypany caj, co koder, to iny rozsypany caj.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #132 kdy: 22. 11. 2016, 14:07:10 »
Co gnutella? Gnutella je legacy protokol. Neviem, ktoru aplikaciu myslite.

Gnutella je predevsim sit. Zkuste Gtk-gnutella versus AntsP2P. To druhe je v Jave a existovalo to jiz v dobe P 4. Masinu to dokazalo spolehlive dostat do kolen a i dnes by to vyvolalo zatizeni zcela neumerne tomu, co to dela, jak je videt podle zatizeni jinymi P2P klienty, ktere nejsou v Jave.

balki

Re:Nejžádanější programátorské znalosti na českém pracovním trhu.
« Odpověď #133 kdy: 22. 11. 2016, 14:10:27 »
Co gnutella? Gnutella je legacy protokol. Neviem, ktoru aplikaciu myslite.

Gnutella je predevsim sit. Zkuste Gtk-gnutella versus AntsP2P. To druhe je v Jave a existovalo to jiz v dobe P 4. Masinu to dokazalo spolehlive dostat do kolen a i dnes by to vyvolalo zatizeni zcela neumerne tomu, co to dela, jak je videt podle zatizeni jinymi P2P klienty, ktere nejsou v Jave.

Len v roku pana, 2000, ked boli P4 aktualne, bola java 1.3, teraz je uz o 16 rokov viac a je to cele niekde inde.

gll

Re:Nejžádanější programátorské znalosti na českém pracovním trhu
« Odpověď #134 kdy: 22. 11. 2016, 14:10:51 »
balki je javaman.

Balki nie je javaman, balki nepovazuje C++ za programovaci jazyk, lebo vyzera ako rozsypany caj, co koder, to iny rozsypany caj.

Ty považuješ za programovací pouze Javu. V diskuzi o rPi jsi nazval dvouřádkový skript v bashi prasárnou a navrhoval jsi ho nahradit mnohem delším programem v Javě.