Melyiket tanuljam: Java vs Python?
2017-02-04T19:41:10+01:00
2017-02-07T13:27:38+01:00
2022-07-21T16:01:49+02:00
  • Tanulj egy új paradigmát, pl. funkcionális programozást.
    Itt a Haskell-t és a Scala-t javasolnám, esetleg az F#-ot (ha már C#-ot tanultok).

    Ha egy-két programnyelvet ismersz, akkor könnyen meg tudsz tanulni egy újabbat (ugyanolyan paradigmájút).
    Egy paradigmát viszont sokkal nehezebb megtanulni, mert teljesen más gondolkodás kell hozzá.
    Mutasd a teljes hozzászólást!
  • Érdekes lehet egy webes scriptnyelvet megtanulni, emiatt jó ötlet a python (+web2py, flask, django) tanulása, hozzá meg HTML+CSS+JavaScript (+frameworkok pl. Angular2). Ha jól sejtem, teljesen más filozófia és felhasználási terület mint amiket most csinálsz.
    Mutasd a teljes hozzászólást!
  • Én inkább arra gondoltam, hogy a Python-nál alap az interaktív/repl/shell-jellegű használat, a többieket meg buildelgetni kell.
    Mutasd a teljes hozzászólást!
  • Persze. Rögtön azután, hogy a PC-met Commodore Amigára cseréltem.
    Mutasd a teljes hozzászólást!
  • Cseréld le a droidos telefonodat pl egy Blueberry-re és megoldódik a problémád....
    Mutasd a teljes hozzászólást!
  • Mondjuk pythont telefonon max. úgy tudsz értelmesen próbálgatni, ha fogod a termux-ot, telepíted a pythont, a vim-et és alá a python supportot (esetleg emacs-et). De a droidos QPython elég gyengécske cucc, az integrált QEdit-ben nyoma sincs code completitionnek. Javára viszont van egész jó kis IDE droidra is (AIDE), igaz fizetős. Van ingyenes is, de az kevésbé jó. Az ADIE ráadásul C++-t is tud, igaz arra jobb a C4Droid. C#-ra sajnos jelenleg nincs normális környezet, de ez csak idő kérdése, a következő .NET core már lesz ARM linuxra is, és a vim-hez van omnisharp, így valószínűleg a termux-szal ezt is lehet majd használni.
    Mutasd a teljes hozzászólást!
  • Egyetemen C# van 0/24-ben

    Ha ezt úgy kell érteni, hogy a tananyag keretében most C#-ot tanulsz, akkor a Java-t pillanatnyilag több szempontból is érdemes hanyagolnod. Egyrészt a C# gyakorlatilag a Microsoft Java-ja, emiatt nagyon hasonlóak, különösen az alapok, de mégis egy csomó apróság szándékosan eltér, és ha papíron írt Zh-ban összekevered őket, az nagy szívás lehet. Másrészt a Java-t a (később) már meglévő C# alapokkal nagyon gyorsan át tudod majd futni.
    A Python ehhez képest egy eléggé tökmás nyelv és környezet, amit üres óráidban bizonyos mértékig még tableten vagy telefonon is tudsz próbálgatni.
    Mutasd a teljes hozzászólást!
  • Sokrétűség alatt valóban valami olyasmire gondoltam, mint hány platform stb. Viszont nem csak erre: mivel viszonylag nem rég kezdtem programozni, szeretnék minél több dologba belekóstolni és megtalálni azt, amit a legjobban szeretek és amiben a legjobb lehetek. Így például az is érdekelne (akár szubjektív vélemény is), hogy hányféle alapvetően különbőző dolog alapul egy bizonyos prognyelven. Hadd hozzak erre egy C# példát.
    Alapvetően konzolban ismerkedtem meg vele, és azon kívül hogy konzolban is lehet szinte bármit, C#-hoz tartozik egy csomó minden, ami  megkönnyíti a nem konzolos alapú fejlesztést: 
    lehet vele visual appokat is fejleszteni WPF-ben (és azt hiszem Silverlight-ban is), és C# az egyik használt nyelv a Unity Engine videjáték motor esetében is (illetve azt hiszem, a CryEngine is ezt használja).
    Ezen kívül biztos van még sok más is, de azt hiszem a példa érthető: a C# nyelvismeret egyből "kulcsot ad" egy csomó más terület felé is. Bocs, ha ez egy tapasztalt fejlesztőnek bután hangzik, de mint mondtam, nem vagyok annyira tapasztalt.
    Mutasd a teljes hozzászólást!
  • Igaz, ezt el is felejtettem. Máshogy OO mint a java. :) Többszörös öröklődés is különbség pl.
    Mutasd a teljes hozzászólást!
  • a python még egy kicsit jobban objektum orientált, mert ott minden objektum, natív típus sincs.

    Más részről viszont kevésbé objektum-orientált, mert nincsen benne lehetőség privát mezők és metódusok létrehozására (csak olyan mezőket és metódusokat hozhatsz létre, amiket kényelmetlen elérni az osztályon kívülről) és megengedi a "mezei" függvények definícióját, míg a Javában csak metódusok definiálhatók.

    Nem érzem célszerűnek olyan skálán elhelyezni a nyelveket, hogy melyik "mennyire OOP", mert ez nem egy olyan dolog, amit egyértelműen össze lehet hasonlítani. Minden nyelv kicsit másképp értelmezi, hogy mi az "igazi OOP", és más-más embernek más-más lesz a véleménye arról, hogy mi a "leginkább OOP" nyelv.
    Mutasd a teljes hozzászólást!
  • - Mindkét nyelv eléggé OOP, a python még egy kicsit jobban objektum orientált, mert ott minden objektum, natív típus sincs.
    - mindkettő sokrétű, bár kérdés, hogy mit is értünk ez alatt. Ha felhasználható területek számát, akkor a java előnyösebb.
    -közösség: nehezen tudom elképzelni, hogy ne a java mögött állna a legnagyobb közösség. Najó, a javascript, php után. :)

    Igazából attól függ, hogy milyen területen szeretnél/tudsz elhelyezkedni, ill. hogy a piacnak mire van szüksége. Persze, ez utóbbi jellemzően akkor játszik szerepet, ha alkalmazottként dolgozol. Üzleti webes appok fejlesztése során a cégeknél nem feltétlen technológiai döntések születnek és ott a front-end oldal biztos egyedül: javascript (vagy arra fordul). Vastag klienses fejlesztések meg visszaszorulóban vannak, de ott jellemzően a C++/C# meghatározó, esetleg a java.

    A java még mindig több területen elterjedt, mint bármely versenytársa ill. vannak területek, amik felfutóban vannak és jellemzően java-ra épülnek, pl. big data. De a java-t nagyon sok helyen használják szerver oldalon, ahol igazán van pénz, ill. pénzzel kell dolgozni (bankok, biztosítók), ill. nagy adatmennyiséggel. Az Androidot is említették már. De ott azért azt meg szabad elfelejteni, hogy java fejlesztő != android fejlesztő, a platformnak megvannak a sajátosságai.

    A python egy nagyon jó nyelv, legnagyobb előnye, hogy könnyen és gyorsan tanulható ill. a gyors alkalmazás fejlesztés. Ráadásul a pythonnak is megvan az igazi területe. Data science körökben az egyik legfelkapottabb nyelv az R mellett. Hiába lenne nagyon jól használható számos más területen, valahogy még sem tudott elterjedni, pedig a flask, sqlalchemy is ütős.

    Amellett, hogy mindkét nyelv keresett

    Ezt én nem így látom sajnos. Saját tapasztalat szerint lényegesen több keresés van java területre, mint pythonra. A fizetések is jellemzően mások, másból válogathatsz. Magyarországon és külföldön is.
    Mutasd a teljes hozzászólást!
  • Java pro:
    - Sok helyen használják üzleti szoftverekhez
    - Az Androidon ezen az anyanyelv
    Java kontra:
    - A nyelv finoman szólva nem annyira kifejező és hatékony. A normálisabb alternatívák pedig, Pl. scala nem igazán tudtak elterjedni. Kb. a C# nagypapája.
    - Oracle

    Python pro:
    - Tömör kódot lehet vele írni
    - Viszonylag egyszerű
    Python kontra:
    - Dinamikus típuskezelés
    - A mai napig nem tudta leváltani a 3.x a vele nem teljesen kompatibilis 2.x verziót

    Aztán fel lehetne sorolni még egy rakás dolgot ami mindkét oldalon pro, de az mára már lényegében az összes többi programnyelvre is igaz:
    - sok ingyenes, nyílt forrású tool - ez mindkettőnél megvan, de szintén igaz Pl C++-ra, C#-ra, és talán minden más mainstream nyelvre is.
    - multiplatfrom - ugyanez, ma már szinte minden nyelven fejleszthetsz minden fontosabb platformra - ebből a szempontból talán a C a király, mert azzal olyan platformokat is megcélozhatsz mint Pl. mikrovezérlők, vagy Commodore 64.

    Ugyanakkor, alapvetően ezek más célú programnyelvek. A kérdés inkább úgy merülhet fel, hogy java vs C#, vagy python vs powershell. Én személy szerinte az első kérdésben a másodikat, a másodikban az elsőt preferálnám.
    Mutasd a teljes hozzászólást!
  • Jó itt minden, itt már az ember a gyenge láncszem inkább, ha valaki nagyon toppon van, manapság mindent elérhet könnyedén. :)
    Mutasd a teljes hozzászólást!
  • Jó a C++ és JAVA páros is. Sőt.

    Ne beszéld rá a Pythonra.
    Mutasd a teljes hozzászólást!
  • (persze a C++ mellett mindkettőt meg szeretném majd tanulni


    Ha C++ mellé választasz, akkor szerintem egyértelműen a Python a befutó. Nagyon jó páros. Python nagyon jó cross platform script nyelv kisebb toolok, akár gyors prototípus fejlesztéshez.

    Személy szerint C++ és Python párossal dolgozok és nagyon bevált (ízlések és pofonok).
    Mutasd a teljes hozzászólást!
  • Sziasztok!
    Elsőéves mérnökinfós vagyok az OE-NIK-en. A második félévem kicsit lazább lesz, mint az 1. volt, ezért úgy gondoltam, belekóstolgatnék egy új programozási nyelvbe. Egyetemen C# van 0/24-ben, ezen kívül C-t ismerem. Főleg a Java és a Python között gondolkodok (persze a C++ mellett mindkettőt meg szeretném majd tanulni, csak nem most).
    Tudnátok pozitívumokat/negatívumokat mondania két nyelv mellett? Olvastam már mindkettőről elég sok mindent, összehasonlításokat is, de azokban vagy az egyik, vagy a másik nyelv mellett érveltek a másik nyelv rovására.
    Főleg ilyen szempontok érdekelnének:  "mennyire" OOP, sokrétűség, közösség a nyelv mögött, de bármit szívesen elolvasok. Amellett, hogy mindkét nyelv keresett, érdekelne az is, hogy MO-on (és ha tudtok, külföldön is) milyen lehetőségek állnak a nyelvvel foglalkozók előtt és ők mit csinálnak általában. Köszi a segítséget!
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd