it-swarm-eu.dev

Ruby nebo Python?

Tato otázka je velmi subjektivní a otevřená. Mohlo by to dokonce znít jako něco, co bych si měl jen pro sebe vyzkoušet a učinit své vlastní rozhodnutí. Ale chtěl bych to dát tam a získat nějaké myšlenky od ostatních.

Dlouhý příběh krátký - vyhořel jsem s rasou krysy a letos jsem na sobotní soběstačnosti. Hodně z toho je přestávka od společnosti Grind a cestování po okolí, ale také si chci hrát s novými technologiemi a dělat nějaké samoučící projekty, držet krok s rychlostí programování a dobře - já prostě rád pohrávám s programování, když není žádný tlak!

Tady je věc: Jsem celoživotní programátor C/C++/Java. Jsem trochu úšklebkem v závorkách, protože jsem pracoval s touto rodinou jazyků po celou svou programovací kariéru. Chtěl bych se tedy naučit jazyk, který s touto skupinou není tak úzce spojen. To, co v podstatě hledám, je jazyk, který je relativně obecný účel, zábavné se učit, má některé nové koncepty, které se liší od C++/Java a mají dobrou komunitu. Druhou úvahou je, že má dobré rámce pro vývoj webových aplikací. Terciární úvaha je, že to není úplně akademické (přečtěte si: tam jsou práce ve skutečném světě, které ji používají).

Zúžil jsem to na Ruby nebo Python. Můj dojem Ruby) je, že je extrémně orientovaný na web - jeho jedinou skutečnou aplikací je skriptovací jazyk na straně serveru pro vytváření webových věcí (hlavně Ruby na Rails). Nemám moc dojem Python vůbec, kromě toho zdá se, že má vášnivou základnu fanoušků a jeví se jako docela všestranný jazyk.

TL; DR a stručně řečeno: které z nich by bylo lepší, kdyby se člověk C++/Java naučil získat nějaké nové pohledy na programování? A který je otevřenější a obecnější účel a použitelný pro širší sadu aplikací? V tuto chvíli se přikláním k Ruby), ale obávám se, že to vypadá, že se používá pouze jako webový jazyk na straně serveru.

24
Bobby Tables

Nenechte se zmást tím, že se vám Ruby) dostalo do společné řeči hlavně kvůli Rails (rámec webové aplikace)). programovací jazyk a můžete jej použít pro cokoli, pro co můžete použít jakýkoli jiný jazyk.

Hrajte si s Ruby) a uvidíte, jestli se do něj zamilujete. Buď budete, nebo nebudete. Je to něco jako hudba Grateful Dead, buď to milujete, nebo nemůžete vydrž to.

Ruby natáhne váš mozek. V mnoha ohledech je to daleko od C++/Java, jak můžete získat. Pocházím z pozadí C a C # a zjistil jsem, že Rubyina dynamika a meta-programovací schopnost jsou docela opojné.

Jak už bylo řečeno, Python je naprosto výjimečný jazyk a vytrhne vás z vaší kudrlinky).

Proč se neučit oba? Pravidelně používám oba: Ruby pro programování s Rails a Python pro práci s Google AppEngine).

35
Adam Crossland

Ruby jsem sice sotva použil, ale tady jsou moje dojmy z Pythonu:

  • když píšu pseudokód, abych vypisoval nějakou funkci, zjistil jsem, že to, co píšu prakticky je Python, a někdy je pozoruhodně malé přepisování, aby se stal skutečným kódem. Můžete dokonce přeskočit pseudokód dohromady a vyjádřit své myšlenky přímo v Pythonu
  • když musím udělat něco, co vypadá jako běžný úkol, Python má tendenci mít potřebné funkce (na vysoké úrovni) zabudované do své standardní knihovny. Například brzy, když jsem chtěl otevřete soubor a naskenujte jej řádek po řádku, odpověď byla tak jednoduchá jako „pro řádky v myFile: dostuff (řádky)“. Věřím tomu, že nazývají přístup „zahrnut baterie“ a liší se od některých jiných jazyků používá se tam, kde jsou každodenní operace mnohem chabější

Tyto dvě věci mi vynikají.

17
Andrew M

Pokud berete celý rok volno, pak bych navrhl strávit každý týden dva nebo dva učení a pak se sám rozhodnout, které se vám bude líbit. Mám s oběma zkušenostmi a podle mého názoru jsou oba tak schopní, že se opravdu musíte jen rozhodnout, který z nich upřednostňujete.

9
Jason Webb

IMO, měli byste jít s Pythonem. Důvod je ten, že je všestrannější, můžete jej použít téměř na všechno. Ruby je, jak jste si všimli, více využíváno při vývoji webových stránek díky svým webovým rámcům. Na rozdíl od Pythonu Ruby není pro vývoj gui desktopových aplikací tak dobrý) , numerické, statistické nebo obrazové programy.

7
Marcin

Ruby byl asi mnohem déle než Rails má), tak mi to dejte do světa, že Ruby != web, i když to dělá velmi dobře. Existuje mnoho věcí souvisejících se systémem, které dokáže a dělá. Vypadá to, že celý Rails framework pohltil zbytek světa Ruby svět. A ano, jsem Ruby) = fanoušek.

Python na druhé straně má hodně práce a byl integrován s téměř vším na Linuxu. To mi říká, že je asi poměrně snadné začlenit do větších programů (ve srovnání s Ruby, Java atd.). S Pythonem je napsáno velké množství infrastruktury Linuxu Ubuntu, což mi říká, že Python má aplikace v programování systémů. Slyšel jsem, že jeho webový rámec je opravdu pěkný, ještě jsem si s ním nehrál).

To znamená, že oba Ruby a Python) jsou stejně schopné jazyky, a zjistíte, že vám usnadní život. Ruby má ve své komunitě mnohem více webových hlav, ale to není celá komunita. Použil jsem ji také na řadu infrastrukturních projektů.

6
Berin Loritsch

Toto je zvláštní případ „ Ideální sekvence programovacího jazykového učení“ a podobné otázky . To, co potřebujete, není „jeden dokonalý jazyk“, potřebujete více jazykových paradigmat a více studijních zkušeností, abyste otevřeli svou mysl.

Vím, že jsi řekl, že jsi to zúžil na Ruby a Python, ale navrhuji, abys začal s Racket (populární Scheme). Je postaven pro učení a pěkně natáhne váš mozek směrem k funkčnímu programování, interaktivní programování a dynamické psaní. Neexistují žádné úlohy (doslova nula), velmi malá, roztříštěná komunita a žádný hlavní webový rámec, což je přesně důvod, proč se na to nenecháte uvíznout, na chvilku smažte mozek a poté se přesuňte .

Za druhé, chcete se učit Ruby nebo Python pro možné úkoly). Navrhuji, abyste se naučili oba. Učení druhého z těchto dvou bude mnohem snazší než Nejprve navzdory jejich rozdílům. Co se týče možných pracovních míst, mám pocit, že je více Ruby práce kvůli Rails, ale vím, že v této oblasti je také nějaká práce Zope. Investujte alespoň do jeden z nich, ale také vyzkoušejte druhého alespoň tak dlouho, aby postavil něco malého.

Upřímně řečeno, pravděpodobně se dozvíte více o svém prvním týdnu v práci u jednoho z nich, než jste se kdy naučili sami; oba mají velké ekosystémy se spoustou nástrojů a kultury a idiomů.

tl; dr: Both and Scheme.

5
Jesse Millikan

Také jsem přišel z prostředí Java/C++ a během posledních 4 měsíců jsem programoval v rámci Python s rámcem Django) a je to opravdu skvělé. mám problém nebo otázku, najdu vysvětlení na stávajících příspěvcích. Nemohu ručit za Ruby, protože jsem ho ještě nepoužil, ale určitě to vyzkouším, až budu mít čas) .

Já osobně se mi líbí, jak můžete dělat věci opravdu rychle pomocí Python), protože obsahuje mnoho užitečných funkcí.

1
chiurox

Id hlasovat pro Ruby. Přišel jsem z .Net a C # pozadí, zkusil Python první, ale Ruby mě právě okouzlil =)
Napíšu do toho spoustu systémových věcí a některé Rails dev do. Je schopen jako Python v programování systému) a je úžasné na webu. A připadá mi to více leštěné ..

1