Java <-> C#

Java <-> C#
2009-08-17T22:13:59+02:00
2009-08-24T13:31:30+02:00
2022-10-28T12:05:35+02:00
  • A linq nem hülyeség szerintem, azonban vannak esetek, amikor túlságosan absztrakt. Nem lehet finomhangolni a query-ket, pl. fetch stratégiát megadni, mivel ez nem nyelvi elem. Az NH Criteria API-ja erre ad lehetőséget (nyilván, mivel céleszköz), viszont nem annyira típusos (még). Itt sincs tökéletes megoldás, kéremszépen...
    Mutasd a teljes hozzászólást!
  • Nemrég megjelent egy oldal, ahol .Net-es ORM eszközöket hasonlítanak össze, teljesítmény szempontjából. (ormbattle.net)
    Itt az NH valóban nem teljesít valami fényesen. Arról szól a teszt, hogy hozzunk létre/töltsünk be több 10k entitást (rekordot).

    A dolog szépséghibája csak annyi, hogy ilyen batch jellegü feladatokra nem való az NH. Sőt, általában egyik ORM sem. Ekkora adatmennyiség megmozgatásához érdemesebb kézzel írni az sql-t, vmi céleszközt használni (ssis, stb)


    Mutasd a teljes hozzászólást!
  • és nem kell egy osztály/tábla definícióhoz 300 oldal xml-t

    Ez alatt mit értesz? Hogy nem kézzel írod meg a 300 oldalas EDM xml-t? Hibernate esetében az XML mapping csak egy alternatíva, teljes mértékben konfigurálható annotációkkal is.

    ráadásul míg a .NET-es ORM-eket többnyire el tudom érni Linq interfészen keresztül, addig a hibernate-nek valami béna házi query nyelve van,


    Az egész ORM-nek az a lényege (célja), hogy 0 darab saját query-t kelljen írni, ne is kelljen azzal foglalkozni, hogy milyen perzisztencia megoldás van a háttérben. Ehhez viszont az kell hogy az ORM implementációd a lehető legtöbb feature-el rendelkezzen, különben tényleg jöhetnek a kézzel írt query-k.

    A linq-val én pedig nem vagyok kibékülve. Hosszútávon nem tudom jó ötlet-e nyelvi szintre emelni az éppen aktuális hóbortot. Ráadásul most hogy már a nyelv része, sokkal nehezebb lesz fejleszteni is. Plusz ilyen erővel lehetne nyelvi szintű xml/xpath támogatás is, vagy akár natív sql támogatás is. Nyilván ez utóbbi nem triviális.

    ORM Sebesség:
    Az 'azt hallottam' az nem túl meggyőző érv. Nyilván minél magasabb absztrakciós szinten dolgozunk, annál lassabb, ezen nincs mit vitatkozni. Viszont ha nem 10 meg 100 rekordos táblákat használunk, akkor már nem az ORM réteg lesz a szűk keresztmetszet.


    Mutasd a teljes hozzászólást!
  • Én nem annyira jókat hallottam róla, Pl. sebességügyileg.
    Én most sajnos datasetezek pedig csináltam már ef-fel is és dlinq-val is kisebb projectet, de ez a nagy amit épp most csinálok akkor lett elkezdve amikor még linq sem volt nem hogy EF
    Mutasd a teljes hozzászólást!
  • Oksa a Hibernate nem a legjobb példa volt, de pl. a Springgel nem nagyon sikerült megbarátkoznom.

    Az új framework-ök, technológiák (folyamatos) tanulása pedig hozzá tartozik ehhez a szakmához, de ha ez neked gondot okoz


    Látod, hogy nem okoz gondot, hiszen simán nekiesem megtanulni a .NET-et ami ahogy elnézem egy időre le fog kötni.

    De komolyabbra fordítva a szót, bár személyes példát hoztam, nem gondolom, hogy személyeskedni kellene.
    Mutasd a teljes hozzászólást!
  • Az NHibernate, köszöni szépen, jól van. Linq is van hozzá, ha még nem is 100%-os, de már elég jól használható. A portolása pedig arra mindeképpen jó volt, hogy az MS végre kicsit összeszedi magát, és próbál végre egy normális ORM-et összehozni. Az EF ugyanis, ahogy én látom, sok koncepciót vesz át az NH-tól (poco, proxy, stb.)
    Ja, és használnak NH-t, itt Mo.-n is, nem is kis móricka projektekben.
    Mutasd a teljes hozzászólást!
  • A hibernate portolása azért nem egy sikertörténet. Kétlem hogy lenne aki élesben hibernate.net-et alkalmaz, és az oldalukon is eléggé halottnak tűnik a dolog. ORM viszont már van .NET alatt is, több fajta, az ami a frameworkben van (ado.net entity framework) ugyan talán nem tud mindent amit a hibernate, de kisebb projekteknél elég kényelmesen használhatónak tűnik, és nem kell egy osztály/tábla definícióhoz 300 oldal xml-t írni, ráadásul míg a .NET-es ORM-eket többnyire el tudom érni Linq interfészen keresztül, addig a hibernate-nek valami béna házi query nyelve van, méghozzá szöveges, márpedig a linq-ban pont az a jó hogy végre lehet használni az IDE és a fordítóprogram támogatását Pl. változónevekhez, típusokhoz, azaz nem run-time derül ki hogy az invoiceheaderid helyett invceheaderid-t gépeltem.

    Spring-gel kapcsolatban viszont őszintén szólva nem igazán sikerült rájönnöm mire is jó. Első rálátásra úgy tűnik hogy az alap java osztályokat bővítgeti olyasmikkel mint ami a .NET alap könyvtáraiban eleve benne van (Pl. webservice, ado.net, databinding). De lehet hogy hülyeségeket beszélek, mivel túl jó bevezető leírást nem láttam arról hogy pontosan mi is ez, mit csinál, és túl sok időm nem volt elmélyedni benne. Ráadásul mivel első látásra főleg webesnek tűnt, túlzottan nem is nagyon érdekelt a dolog: az egész webes architektúra úgy sz.....r ahogy van, és ezen semmilyen framework nem segít. És már az is túlzás amit az ASP.NET tesz alá.
    Mutasd a teljes hozzászólást!
  • Egyszerűen belefáradtam abba, hogy folyamatosan új és bizonytalan jövőjű frameworköket tanuljak meg (Spring, Hibernate [...])


    .NET alatt mit fogsz használni ezek helyett? Spring.NET és NHibernate? Az alap .NET FW nem (sem) ad neked ilyen jellegű/szintű szolgáltatásokat. Nem véletlen, hogy szinte minden java-ra kifejlesztett cuccot portolnak .net-re.

    Az új framework-ök, technológiák (folyamatos) tanulása pedig hozzá tartozik ehhez a szakmához, de ha ez neked gondot okoz, akkor reménykedhetsz, hogy egyszer a .NET-et fejlesztését is befagyasztják úgy, mint ahogy az Internet explorer-ét a 6-os verzió után.

    Mutasd a teljes hozzászólást!
  • "Egy profi életében nem lehet semmi, amiről ne tudna fél perc alatt lemondani, amikor a zsaruk befordulnak a sarkon."

    Több mint nyolc évig dolgoztam Java fejlesztőként, és pár hét alatt megtanultam ObjectiveC-ben programozni, mert most ebben van a pénz.
    Azt javaslom, hogy tanuld meg az egyik nyelvet profi szinten használni, de állj készen a váltásra, ha úgy hozza a sors.
    Mutasd a teljes hozzászólást!
  • Sziasztok. Az lehet, hogy az enterprise programozóknak sokkal több munkalehetőségük van javában, viszont aki kisebb verébre lő, annak jobban kézre áll a C#. Annak idején én a java mellett döntöttem, és megmondom őszintén, hogy mostanra megbántam és most turbó sebességgel térek át C#.NET-re, ami egyébként a java után nem egy bonyolult dolog. Egyszerűen belefáradtam abba, hogy folyamatosan új és bizonytalan jövőjű frameworköket tanuljak meg (Spring, Hibernate [...]), továbbá hogy olyan alapvető problémákkal bajlódjam napokig, amelyeknek egyszerűen csak működnie kellene. Ezért néhány hete úgy döntöttem, hogy a következő framework helyett egyszerűen csak átnyergelek .NET-re és ezzel rengeteg időt spórolok meg. Tegyük hozzá, hogy én csak kisebb webes és intranetes alkalmazásokat fejlesztek (tipikusan a .NET célcsoportjához tartozom...), de egyébként az enterprise javáról (amelyet a munkahelyemen mint felhasználó "fogyasztok") is az a véleményem, hogy nagyon lassú lehet rajta a fejlesztés, de erről persze nyilatkozzanak az enterprise java fejlesztők.
    Mutasd a teljes hozzászólást!
  • Na igen ezzel a minap szembesültem. A java-ban alapvető jártasságom van, és elég sokminden van benne natúran is; de a csupasz java osztálykönyvtárától a .NET nekem sokkal összetettebbnek tünik. Ámde eddig nekem sokkal jobban kézreesik a C# mint a Java. Nemtudom a Java-ban mindig mindent meg akartam írni pedig minden készen volt benne . Hiába kis C-s berögződés van bennem .
    Mutasd a teljes hozzászólást!
  • Régebben ezt jobban lehetett. Bőven el lehetett úgy lenni hogy az ember profi Clipperes volt és emelett még ismerte a Turbo Pascal-t és a Turbo C++-t is, sőt a 16 bites assembly-t + a DOS / BIOS rendszerhívásokat. Még a Delphis időkben is belefért hogy az ember mellette tudja a vizuálbéziket és mondjuk linux + C++ +wxWidgets-et. Esetleg némi CORBA-val.

    De ma a .NET osztálykönyvtára önmagában is elég nagy. Kétlem hogy valaki egyszerre profi .NET-es és profi javás is tudna lenni, mivel ez utóbbi osztálykönyvtára + hibernate, spring, stb. szintén elég méretes. Ugyanakkor persze ez a méretes osztálykönyvtár nagy-nagy előny is: szinte bármit meg lehet a rendszeren belül csinálni, és nem kell vakarózni hogy hogyan tudok Pl. egy titkosított stream-et összehackelni magamnak mint anno a DOS-os időkben.
    Mutasd a teljes hozzászólást!
  • Válaszd a rosszabbat. Mindenki a jobbat fogja választani, így egy idő után hiány lesz a rosszabbikhoz értőkből.

    Ez zseniális!:)

    De amúgy komolyra fordítva a vitátokhoz: szerintem is király ha az ember ismer több technológiát is, és szerintem még reális is lehet, hogy megismerjen elég jól többet is mondjuk 30 éves korára vagy mittudomén mikorra, de ezek a technológiák önmagukban is annyira szerteágazóak, hogy egyszerre kettőt tanulni egy viszonylag kezdőnek nem tanácsos. Amikor már 2 éve nyomja az egyiket, akkor viszont nem baj ha elkezdi tanulni a másikat is, ha van energiája és agykapacitása hozzá. Szerintem.
    Mutasd a teljes hozzászólást!
  • Én most épp vs expresst használok, és szinte minden funkció benne van ami kell. Ami hiányzik (nekem legalábbis) az különféle kiterjesztések használata (nekem az ankhsvn hiányzik, de a tortuisesvn elég jól pótolja). A többi korlátja vagy játszva megkerülhető (adatbáziskezeléssel kapcsolatosak) vagy lényegtelenek (Pl az integrált reporting services designer). Az összes többi funkció menüből bekapcsolható.
    Mutasd a teljes hozzászólást!
  • A NetBeans és az Eclipse ingyenes, ugyanakkor a Visual C# Express is az - és nekem bár a Netbeans feature listája elég impozáns, de a gyakorlatban az előbbi jóval használhatóbbnak tűnt.


    Vicces hogy ezt mondod. Szerintem nem sokat használtál VS Express-t (vagy nem nemnagyon használod az IDE funkcióit), mert elég kellemetlen tud lenni, amikor nem találsz egy funkciót, ami a normál VS-ben benne van.
    Mutasd a teljes hozzászólást!
  • Java-ban lényegesen nagyobb pénz van az enterprise vonal miatt, ahol egyeduralkodó, és valószínűleg az is marad.
    A .net fejlesztése inkább desktop irányba halad. Magam részéről egyelőre több java-s desktop alkalmazást használok mint .net-est, de ez várhatóan meg fog fordulni. A desktop vonal miatt a projectek és a fejlesztők számossága szerintem nagyobb lesz .net esetében.
    Ezek nagyrésze nyilván kis project lesz, pl számlázó-nyilvántartó programok 1-2 fős csapatokkal, amelyek most még inkább delphi-ben készülnek.
    Mutasd a teljes hozzászólást!
  • Nekem is van ilyen ismerosom!

    (De pl C++/MFC vagy C++/QT kutya fule J2EE-hez kepest...)
    Mutasd a teljes hozzászólást!
  • Van ismerősöm aki Java és C++-t-ban nyomul egyszerre.
    Igaz Ö átlagon felüli...
    Mutasd a teljes hozzászólást!
  • Miért ne lehetne párhuzamosan?


    Mert ha tullepsz egy alap desktop alkalmazas szintjen, mindket platform nagyon elbonyolodik.

    A hasznalt keretrendszerek bonyolultsaga mellett Java eseten pl rengeteget fogsz szivni az alkalmazasszerver konfiguralasaval, megfelelo verzioju jar-ok osszevadaszasaval, stb., emellett en nemigazan tudom elkepzelni, hogy barkinek meg lenne energiaja es kedve meg egy hasonlo kaliberu platform felfedezesere.

    Meg sokkal jobban megeri az egyikhez erteni jol ($$$), mint mindkettohoz erteni egy keveset, mindket platform irant eleg nagy a kereslet, munkat talalni szvsz hasonlo eselyed van barmelyikkel.
    Mutasd a teljes hozzászólást!
  • Egyetértek.

    Nem attól tapasztalt valaki, mert gyorsan átlát egy új programnyelvet, szintaxist, stb. Hanem attól, mennyire ismeri az adott nyelv/környezet-re épülő technológiákat.
    Mutasd a teljes hozzászólást!
  • Ha hosszu evekig embedded C-ben kodoltal


    Kikérem magamnak még a feltételezést is.

    De írhattál volna sarkosabb példát is. Pl., ha hosszú évekig csak mosógépet programoztál, akkor...

    Itt tanulásról van szó nem életvitelszerű fejlesztésről. Miért ne lehetne párhuzamosan?
    Mutasd a teljes hozzászólást!
  • A szoftverfejleszo meg szoftverfejleszto.

    Ha hosszu evekig embedded C-ben kodoltal, ket heten belul nem fogsz enterspajz alkalmazast fejleszteni EJB/JSF/JAX-WS/Spring/Hibernate/anyamkinja alapokon.
    Mutasd a teljes hozzászólást!
  • Má te is?!

    A programozo az programozo...
    Mutasd a teljes hozzászólást!
  • A nyelv nem minden, a hozzatartozo osztalykonyvtarakat, libeket, keretrendszereket nem lehet (es nem is igazan erdemes) egymas mellett megismerni szvsz...
    Mutasd a teljes hozzászólást!
  • Csak halkan mondom, de szerintem a kettő nem zárja ki egymást. Kis szorgalommal mind a két nyelvet meg lehet ismerni.
    Mutasd a teljes hozzászólást!
  • .NET sokkal jobb mint Java csak b.sznak megcsinálni a többi oprendszerre. Mono egy vicc.
    Mutasd a teljes hozzászólást!
  • Alaposan áttanulmányoztam egy összefoglalót a C#-ről és megszületett a döntésem . Na még egy C betűs nyelvet bevállalok .
    Mutasd a teljes hozzászólást!
  • Mindkettőnek megvan a piaca, és a maga területe. A C# szerintem sokkal fejlettebb (lambda expressions, linq, operator overloading, properties, stb) és mintha lényegesen gyorsabban is fejlődne. A másik oldalon a java openszorsz (bár kérdés hogy ez mennyire előny) platformfüggetlen, és van pár dolog amiben kiforrottabb. Más területeken meg a C# és a mögötte lévő .NET / Visual Studió az. A NetBeans és az Eclipse ingyenes, ugyanakkor a Visual C# Express is az - és nekem bár a Netbeans feature listája elég impozáns, de a gyakorlatban az előbbi jóval használhatóbbnak tűnt. Az Eclipse sem rossz, csak sok plugint kell hozzá összevadászni. Általában véve szvsz egy adott dolgot megcsinálni javában sokkal macerásabb. De az is igaz hogy én a C# vonalon vagyok otthon, a javával csak játszottam.
    Mutasd a teljes hozzászólást!
  • Mindkettőnek jó piaca van
    Mutasd a teljes hozzászólást!
  • @KisJ:
    Na igen, most erősen bólogatok a C# irányába pedig a C++ után azt mondtam ,hogy nincs több programnyelv amiben van C . De nemtudom megitélni melyik a jobb mert több álláshirdetést találtam C#-re mint Java-ra de a Java jobban fizet .

    @karogy:
    Hát igen ez a terv de a másikkal mindenképp lasabban fogok haladni.
    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