Mit is tanuljak először Java vs C#?
2010-09-04T11:30:35+02:00
2010-09-18T06:43:13+02:00
2022-07-24T23:32:30+02:00
  • Na ja, de ugyanez igaz .NET esetén is. Itt is jó sok technológia van, nagyon nem mindegy hogy valaki a wpf-hez ért vagy az ASP.NET-hez. Amúgy meg, ha ez a szempont akkor a legjobb PHP-snak lenni
    Mutasd a teljes hozzászólást!
  • Ingyenessé tette a microsoft az enterprise technológiáit?


    Maga a .NET az ami ingyenes. Az express verziónak vannak korlátai, Pl. csak MS-SQL szerverhez férhetsz hozzá, és azt is csak fájlként. A másik nagyobb korlátja hogy nem telepíthetsz rá bővítéseket, Pl. ankhsvn. A harmadik, hogy nem használhatod a MS beépített report designerét. A negyedik, hogy sok-sok feature hiányzik ami az enterprise verzióban van (Pl. debuggolási, tesztelési eszközök).

    Az 1. akkor lehet gond, ha nem egyszemélyes fejlesztőcég vagy. Akkor valóban macerás egy picit, de szvsz ha valaki nagyon akarja megoldható. A 2. sem kényelmes, de az svn külső eszközökkel megoldható, más meg nem nagyon kell. A 3. nekem legalábbis nem nagyon fáj, én amúgy is a fastreport.net-et használom, az sokkal okosabb jószág. Maga a ms is odateszi a nagyobb VS-ekben a crystal reportsot, de azt sem igazán kedvelem. A 4. a legnagyobb baj, de egyrészt ezek a feature-ök nagyrészt a profban sincsenek ami már fizetős, másrészt azért el lehet lenni nélkülük. És azért az alap VS Express így is többet tud mint Pl. egy Netbeans vagy egy alap Eclipse. Igaz ugyan hogy a verziókontrollt kívülről kell megoldani ha nincs legalább prof-od, de van winforms designer, dataset designer, wpf designer, sőt linq to sql-het és entity framework-höz is van designer support. Teszthez ott az nunit és társai, reporthoz pedig vannak fizetős és openszorsz megoldások is.

    A lényeg: az MS jóval többet ad ingyen mint amint java oldalon találsz. Az egyetlen nagyobb érvágás hogy UML-ből csak class diagram van (de az az expressben is), teljes UML designer csak az enterprise verzióban van. Mondjuk, ennek a logikáját nem igazán értem - free uml designerek azért elég sokan vannak (staruml, argouml és vidéke)és Pl. a netbeansban is van. Szvsz ez speciel simán befért volna legalább a professionalba is.
    De ez sem olyan dolog ami nélkül nem lehet élni.

    Néhány éve láttam egy eset amikor fejlesztők nekiestek egy projektnek fizetős holmikkal és a kötbér lejárta előtti pillanatokban már több milliós volt a beruházási költség és éppen kapkodtak fűhöz fához, nehogy elvigye a megrendelő a házukat a fejük fölül.

    Ha professionalban gondolkodsz (és nem használsz olyat mint Pl. BizSpark) akkor az fejlesztőnként úgy 300 ezer forint. Ahhoz hogy egy fejlesztőt leültess a gép elé kell legalább egy 200 ezer forintos gép, plusz kell egy iroda (havonta alsó hangon is 100 000 ft). Plusz kell neki úgy 500 ezer feletti bérköltség szintén havonta. Ez azt jelenti, hogy már az első fejlesztőd után az első hónapban lesz 800 ezer forint kiadásod, és utána havonta 600. Hidd el, nem az egyszeri, 300 ezer forintos Visual Studió vagy a 60 ezer forintos windows miatt fogják elvinni a fejed fölül a házat.

    Mutasd a teljes hozzászólást!
  • Par honapja vegigneztem a magyar allaskereso portalokat, kb 3:1 volt az arany Java javara...


    Hát, akkor hajrá, legyen Java!
    Mutasd a teljes hozzászólást!
  • De a Java/.neten tul is! ;)
    Mutasd a teljes hozzászólást!
  • mert magyar infóikat nem találtam a neten.


    Par honapja vegigneztem a magyar allaskereso portalokat, kb 3:1 volt az arany Java javara...
    Mutasd a teljes hozzászólást!
  • Ez így nem fair, mert míg a Java oldalán felsorolsz egy csomó mindent


    Nem egy csomó mindent, csak és kizárólag a Java nyelvre épülő keretrendszereket... azok közül is csak az ingyenes és nyílt forrásúakat.

    Nem tettem oda még az IBM technológiáit se, pedig egymagában a WebSphere kulcsszó annyi állást lefed az indeed szerint, mint az IIS, pedig a WebSphere csak egy jól fejlett JavaEE konténer. :)

    1 WebSphere ~= 1 IIS
    1 WebLogic ~= 1 IIS
    0.5 JBoss ~= 1 IIS
    0.5 Tomcat ~= 1 IIS

    Ezek közül a JBoss és a Tomcat dinamikusan tör előre, főképp ... szóval továbbra is azt mondom, hogy óvatosan a trendekkel, az ember csúnyán mellé tud lőni, ha rosszul keres... :)
    Mutasd a teljes hozzászólást!
  • Alapvető tévedés, hogy pusztán a "Java" szóra keresel... :)


    Ez így nem fair, mert míg a Java oldalán felsorolsz egy csomó mindent, az MS oldalon továbbra is csak a nyelvnél maradtál. Ha Javanal alapvető tévedés csak a nyelvre keresni, akkor az MS-nél miért nem? Tegyük csak oda a C# mellé a számtalan MS technológiát is: ASP.NET, Silverlight, WPF, BizTalk, Visual Basic.NET, Sharepoint, MS SQL Server, Windows Phone 7, Entity Framework, Windows Forms, IIS ésatöbbi, ésatöbbi. Én ehhez lusta vagyok, ha ezt mind összeadtad mindkét oldalon, akkor beszélhetünk :)
    Mutasd a teljes hozzászólást!
  • Én a kolléga helyében a trendeket nézném. Mondjuk itt (java,c#,c++ Job Trends)

    Ezen mindig is mosolygok... :)

    Alapvető tévedés, hogy pusztán a "Java" szóra keresel... :)

    Próbáld így is:
    spring,c#
    hibernate,c#
    javaee,c#
    jboss,c#
    jpa,c#
    android,c#

    A Java színes, nagyon sok álláshirdetésben egy szót nem szólnak arról, hogy Java programozásról lenne szó, ellenben benne van pár olyan kulcsszó, amelyeket felsoroltam, és ezekről messziről tudni, hogy Java a platform. Ennek egyszerűen az az oka, hogy sok esetben Spring szakembert keresnek, aki nem szokott érteni az EJB3/EJB3.1 dolgaihoz és viszont.

    Szóval óvatosan a trendekkel... :)
    Mutasd a teljes hozzászólást!
  • "ha akarsz Visual Studio Express-szel is kifejleszthetsz akár egy komplett vállalatirányítási rendszert is."

    Ingyenessé tette a microsoft az enterprise technológiáit? Ez igazán örvendetes hír. Ha ez így van akkor tényleg mindegy miben fejleszt a srác.


    Ami ingyenes, az a VS Express (nyilván messze nincs akkora tudása, mint a "nagy" VS verzióknak és az SQL Server Express (ami simán felveszi a versenyt bármelyik open source ingyenes adatbáziskezelővel). Ezzel a MOL vállalatirányítási rendszerét nem fogod fejleszteni, de egy néhány tucat fős cég dolgai simán beleférhetnek.

    Néhány éve láttam egy eset amikor fejlesztők nekiestek egy projektnek fizetős holmikkal és a kötbér lejárta előtti pillanatokban már több milliós volt a beruházási költség


    Hát, ez a hibás projektvezetés és a "mindenáron ajánlatot akarok adni, még akkor is, ha nem láttam soha ilyet" következménye. De asszem ebben a topicban is írtam már: BizSpark, 3 évre minden MS cucc ingyenes 5 fejlesztőnek, ha a céged 3 évnél fiatalabb.
    Mutasd a teljes hozzászólást!
  • A válaszod alapján következtethetek arra, hogy ha valakinek hirtelenjében választania kell mondjuk C#/java közt és eltökélt szándéka, hogy elsősorban szerveroldali programozás irányába akar "elmenni", akkor jobban jár ha a java-val indít? Szem előtt tartva, hogy a szerverek világában talán még(/már megint?) nincs túlsúlyban a windows.


    A szerveroldal az mit jelent? Minek a szerver oldala? Egy website-nak? Egy vállalatirányítási rendszernek? Egy chat szoftvernek? Egy, több tíz vagy százezer felhasználót kiszolgáló multimédia alkalmazásnak? Egy Facebook-nak?

    Amúgy van itt pár érdekes link. 2007-es (elég régi) adat szerint a top 20 cég felénél volt IIS, és egyetlen más technológia sem volt 15% felett. 2009-ben ez visszaszorul 40%-ra - az Apache megközelítette 30%-al az IIS-t, de feltehetőleg nem Java technológiával.

    Aztán ott van még az a szempont, hogy a szerver oldal kliens nélkül nem létezik. A Java-nak nem nagyon van jövője a kliens oldalon (max. Androidon) véleményem szerint. Az MS technológiáknál a C# a desktoptól a telefonon át az alkalmazás-szerveren keresztül egészen az adatbázisig használható, és természetesen a .NET világ saját magán belül jóval produktívabb, mint ha a szerver oldal Java. Sokkal kevesebb a hibrid technológiás projekt, és ha a szerver oldalnak van kliens fele is, ott leginkább HTML vagy .NET gazdag klienset fogunk találni.

    Én a kolléga helyében a trendeket nézném. Mondjuk itt, mert magyar infóikat nem találtam a neten. Ennek alapján 2010 júliusában 5-ször akkora a kereslet C# programozók iránt, mint Java fejlesztők iránt. Ráadásul a Java az utóbbi két évben nem lett népszerűbb, míg ugyanezen idő alatt a C# iránti kereslet majdnem másfélszeresére nőtt.
    Mutasd a teljes hozzászólást!
  • "ha akarsz Visual Studio Express-szel is kifejleszthetsz akár egy komplett vállalatirányítási rendszert is."

    Ingyenessé tette a microsoft az enterprise technológiáit? Ez igazán örvendetes hír. Ha ez így van akkor tényleg mindegy miben fejleszt a srác.

    "Néhány éve láttam egy eset amikor fejlesztők nekiestek egy projektnek fizetős holmikkal és a kötbér lejárta előtti pillanatokban már több milliós volt a beruházási költség és éppen kapkodtak fűhöz fához, nehogy elvigye a megrendelő a házukat a fejük fölül."
    Mutasd a teljes hozzászólást!
  • A vállalatokon kívül is van élet :)
    Mutasd a teljes hozzászólást!
  • Ez egyrészt elhanyagolható tényező, másrészt ha akarsz Visual Studio Express-szel is kifejleszthetsz akár egy komplett vállalatirányítási rendszert is.
    Mutasd a teljes hozzászólást!
  • nem csak a fejlesztői...
    Mutasd a teljes hozzászólást!
  • Azért egy open source projektet milliószor egyszerűbb lekoppintani mint egy zárt forrásút.

    A .NET igen nagy része nyílt forrású, egészen kiváló minőségű szabványokkal dokumentált. Itt a siker nem itt keresendő, hanem ott, hogy a Microsoft öl annyit a fejlesztésbe - és olyan képzett fejlesztőgárdát alkalmaz -, hogy mire bárki lekoppintja a kreálmányt, addigra már két fényévvel előbbre tartanak.
    Ami a technológia alapjait illeti (virtuális gép, szemétgyűjtés, stb.) az már a 70-es években is igen komolyan fejlődött.

    Ugyanezen okból pl. nem megengedhető számukra, hogy egy .Net alapú alkalmazás túlsúly [kvázi egy újabb monopolium] lehetővé tegye, hogy a fejlesztők gyakorlatilag ne tudjanak (vagy lényegesen nehezebben tudjanak) pl. Oracle adatbázist használni. Ez már komoly érvágás lenne.

    Ezen az érvágáson már túlvagyunk. Az Oracle fejlesztői támogatása kritikán aluli. Évek óta ígérgetnek egy teljes funkcionalitású .NET-es providert, ami mind a mai napig nincs kész. (A beépített Oracle provider habár működik, elég korlátolt és mellesleg obsolete-re van jelölve.) És a legsiralmasabb az egészben, hogy 3rd party cégeknek van rendes providerük, persze nem ingyen. A fejlesztők már most lényegesen nehezebben tudnak Oracle adatbázist használni.
    Mutasd a teljes hozzászólást!
  • Ha sok pénzed van akkor mindegy melyikben tolod mindkettőnek van piaca.


    Fejlesztokent neki tokmindegy lesz, hogy egy adott technologia ingyenes vagy penzes, meg komolyabb rendszereknel az eszkozok ara eltorpul a fejlesztok berehez kepest...
    Mutasd a teljes hozzászólást!
  • A java-ban kifejleszthetsz egy komplett vállalatirányítási rendszert úgy, hogy csak a kávéra kell költened amit programozás közben kortyolgatsz. Ha sok pénzed van akkor mindegy melyikben tolod mindkettőnek van piaca.
    Mutasd a teljes hozzászólást!
  • (most valaki megint rámfogja, hogy kötekszem, pedig nem...)

    A válaszod alapján következtethetek arra, hogy ha valakinek hirtelenjében választania kell mondjuk C#/java közt és eltökélt szándéka, hogy elsősorban szerveroldali programozás irányába akar "elmenni", akkor jobban jár ha a java-val indít? Szem előtt tartva, hogy a szerverek világában talán még(/már megint?) nincs túlsúlyban a windows.
    Mutasd a teljes hozzászólást!
  • Kötekedés és irónia messze nem egy kategória.
    Ha kötekedni akarok, azt nem kérdéssel kezdem.
    Mutasd a teljes hozzászólást!
  • Szerver oldalon mennyire divat pl. a C#?

    Felettébb.

    Nem windows-os szervereken?

    Kevésbé, mivel csak a Mono-ra lehet hagyatkozni, az meg akármilyen jó, akárhogy támogatja a Microsoft teszt-esetekkel, egyebekkel, mégsem hivatalos.

    A C# mint nyelv önmagában ugyan nagyon jó, de igazi erejét a rendkívül kiterjedt és átgondolt .NET ökoszisztéma adja - kezdve a .NET hatalmas könyvtáraitól, a kapcsolódó közösségtől elérhető példákig és segítségekig egészen a komoly, megvásárolható kiegészítésekig (pl. asp.net és egyéb vezérlők, ORM eszközök, stb). Ide tartozik még persze a fejlesztőeszközök területe is, a folyamatos frissítések és support, és még sorolhatnám.
    Mutasd a teljes hozzászólást!
  • A válaszod tökéletesen egyértelmű volt, szerintem nem olvastad rendesen el a posztját, csak kötekedni próbált
    Mutasd a teljes hozzászólást!
  • Pozitívnak szántam.

    "Persze így sem kis szám..." + főleg olyan kaliberű programozókból. Így értettem.
    Mutasd a teljes hozzászólást!
  • Nem tudom eldönteni: az "olyan kaliberű" az negatív v. pozitív jelző ezesetben?

    ---
    Szerver oldalon mennyire divat pl. a C#? Nem windows-os szervereken?
    Mutasd a teljes hozzászólást!
  • Pláne nem olyan kaliberű fejlesztőkből, akiket egy MS foglalkoztat.
    Mutasd a teljes hozzászólást!
  • A MS legutóbbi bejelentése alapján csak a WPF-en 200-an dolgoznak, pedig az csak egy viszonylag kis része a .NET-nek.


    Helyesbítenék: A WPF-en és a Silverlight-on együtt dolgoznak 200-an. Persze így sem kis szám...
    Mutasd a teljes hozzászólást!
  • Tudom, hogy az osztálykönyvtár jelenti a nagyobb problémát. Viszont az 500-1000 embert azért komoly túlzásnak tartom

    Pedig nem az. A MS legutóbbi bejelentése alapján csak a WPF-en 200-an dolgoznak, pedig az csak egy viszonylag kis része a .NET-nek. Ott a WCF, az entity framework, nem beszélve a különálló dolgokról mint a Sync framework vagy az XNA.

    Még most is vannak olyan API-k a Javában (nem is kevés), amik még a legelső kiadásban kerültek bele. A már meglévő API-k nagy részéhez évekig hozzá sem kellene nyúlni

    Ez nem biztos. Különösen ha új nyelvi elemeket teszel bele, az jelentheti az is, hogy ezt végig kell vezetni a régi osztályokon is.

    A GNU Classpath pedig szerintem ahhoz képest, hogy jobbára tényleg csak hobbifejlesztők álltak mögötte, elég messzire eljutott.

    Egyrészt még ma is távol áll SUN-os 1.6-os javától, másrészt maga a java is jóval kisebb ma már mint a .NET. És ez a különbség csak nő. Harmadrészt pedig nagyon más tervezni mint a kész dolgot újraimplementálni.

    Éppen ez az érdeke a Red Hat-nek, mint az egyik vezető Linux disztribútornak.

    Csakhogy míg windowson a .NET mára a legalapvetőbb API-vá lépett elő (lényegében a Visual Studióval csak C++-ban tudsz win32-es progit csinálni, és a produktivitásod így is mélyen a .NET alatt lesz). Vannak ugyan 3dparty cuccok (a haldokló Delphi, a windowson soha el nem terjedt Qt) de a .NET a fő irányvonal.

    Linuxon viszont a java csak egy a sok közül - és finoman szólva nem a legnépszerűbb. A másik kellemetlen tulajdonsága neki hogy multiplatform. Azaz, amikor a RedHat pénzt tesz a java fejlesztésébe akkor a windowst ugyanúgy erősíti mint a linuxot. A másik hátulütője a dolognak az opensource. Ha a RedHat beleteszi az egy kalap pénzt a java (vagy bármely más linuxos API) fejlesztésébe, abból ugyanúgy profitál Novell, a Canonical, a Mandriva és a többi linux gyártó. Azaz a saját relatív helyetén nem igazán javít vele.
    Mutasd a teljes hozzászólást!
  • Viszont az 500-1000 embert azért komoly túlzásnak tartom, de nem a számok jelentik a lényeget.


    Akkor valószínűleg még nem láttad, milyen roppant nagy a .NET könyvtár valójában. Nagyon-nagyon nagy. A számok pedig sok dolgot mutatnak, például azt, hogy mennyibe kerülhet a fejlesztés, és mekkora méretű projektről van szó.
    Mutasd a teljes hozzászólást!
  • A kiegészítő termékekről már hallottunk (akit mélyebben érdekel nézzen utánna Joel oldalán -- amúgy is érdemes olvasgatni a fazont).

    Szerintem a java-t mindenképpen életben tartják a multik, mivel nem engedhetik meg maguknak az elvesztését.

    Pl. az IBM vagy az Oracle azért támogatja a Linux fejlesztését, mert bár komoly piaci bevételük van a Windows alapú programok/szolgáltatások értékesítéséből, feltétlenül kell hogy létezzen a Linux, hogy sakkban tudják tartani a MS-ot, egyébként a MS be tudna tenne nekik a Windows kizárólagossággal, lenyúlhatná a bizniszüket.

    Ugyanezen okból pl. nem megengedhető számukra, hogy egy .Net alapú alkalmazás túlsúly [kvázi egy újabb monopolium] lehetővé tegye, hogy a fejlesztők gyakorlatilag ne tudjanak (vagy lényegesen nehezebben tudjanak) pl. Oracle adatbázist használni. Ez már komoly érvágás lenne.

    Mutasd a teljes hozzászólást!
  • Szerintem a Java számára a nyílt forrás csakis előnyöket jelent


    Azért egy open source projektet milliószor egyszerűbb lekoppintani mint egy zárt forrásút. Természetesen zárt forrásút is le lehet, de jóval drágább. Optimális esetben akár drágább is lehet mint másolás nélkül elkészíteni. Ez nyíltnál szinte kizárt.

    Szerintem azért elég valószínű, hogy .NET születésekor a team bele-bele nézegetett a Java forrásába, ha nem is hivatalosan, de egyénenként jópár fejlesztő egész biztos.
    Ez is közrejátszhat abban hogy C#ban szinte minden megvan ami jávában, míg jáváról ez nem messze nem mondható el (amellett persze, hogy .NET és C# a java után jött, amúgyis tanulhattak a hibákból, valamint jóval több pénz ment az utóbbi 10 évben a fejlesztésükre).



    Szerintem zárt forrás esetén jobban, nagyobb eséllyel megtérül az innováció.
    Mutasd a teljes hozzászólást!
  • LC azt írta hogy a Javából a Sun azért nem tudott pénzt kiszedni mert nyílt forrású, én arra akartam rávilágítani, hogy ez hülyeség.

    Közvetlen haszonnak azt nevezném, ami közvetlenül a .NET keretrendszer terjesztéséből származik. Mint ahogy azt már korábban leírtam, fejlesztőeszközöket árulhatott volna a Sun is, tehát tök mindegy ilyen szempontból hogy nyílt forrású vagy nem. Szerintem a Java számára a nyílt forrás csakis előnyöket jelent, nincs semmilyen gyakorlati hátránya.

    Azt pedig újra leírom, hogy a Sun a bukását gyakorlatilag semennyire nem a szoftvereknek köszönhette, ugyanis a Sun eredendően mindig is hardver-cég volt.
    Mutasd a teljes hozzászólást!
abcd