Kiderült mikor jön az Java 7 és a Java 8
2010-09-21T10:41:17+02:00
2010-09-30T12:07:15+02:00
2022-07-02T07:20:46+02:00
  • FORTH néven...
    Mutasd a teljes hozzászólást!
  • Vadiúj nyelv szvsz utoljára a 70-es években keletkezhetett...
    Mutasd a teljes hozzászólást!
  • Nem mintha lenne egy ilyen összehasonlításnak értelme, vagy legalábbis negatív visszhangal felemlíteni, hogy ki mit utánoz.


    Nem az ms-t akartam szidni, csupan arra utaltam, hogy az sem egy vadiuj nyelv...
    Mutasd a teljes hozzászólást!
  • Teljesen egyetértek veled!
    Az biztos, hogy nem dolgoznék ilyen cégnél, azaz kezdőként biztos nem bírtam volna sokáig, hogy fogja anyuci, apuci a kezem...
    Mutasd a teljes hozzászólást!
  • A code monkey alatt én is ezt értem. Nem hülye (feltétlen), csak szalagmunkát végeztetnek vele, de ezt jó sokat.
    Mutasd a teljes hozzászólást!
  • Nem tudom, hogy ki hogy van vele, de én a 'code monkey' címet abban a kontextusban szoktam alkalmazni, hogy egyes (nagy) cégek hogyan tekintenek a programozóik nagy részére. Lazán előfordulhat, hogy valaki zseniális programozó, de code-monkey szerepbe van kényszerítve egy nagy bürokratikus cégben, pláne ha fiatal.
    A nagy cégek nem szeretik a kockázatot, ezért ódzkodnak attól, hogy a munkatársak kreativitásában megbízzanak. Inkább csináltatnak mindent több emberrel lassabban, de a viszonylag bürokratikus 'process'-jeiket végigvíve, bízva abban, hogy ha közepes is lesz a termék, ezzel a módszerrel kiszámítható módon elkészül. Ami vagy igaz, vagy nem, de ez az alapállás. Továbbá nem technológiai fókuszú cégeknél szeretik semmibe venni a technológiai embereket. Egy pénzügyi cégnél a pénzügyi szakemberek az istenek. Még technológiai cégeknél is van olyan, hogy nem becsülik meg nagyon a technológiai embereket, lásd James Gosling (és sokan mások) felmondása az Oracle-nél. Na mindegy ez már céges politika. Mindenester nekem a kisebb, de kompetens csapatban dolgozás jobban tetszik, mint a tipikus nagycéges felállás.
    Mutasd a teljes hozzászólást!
  • Hát ha nagyon összetett dologról van szó, akkor nem biztos, hogy jó, ha egy olyan kezdő foglalkozik a hiba megoldásával, aki az adott résszel egyáltalán nincs tisztában...


    Nyilván nem totál kezdőre bíztnak egy eszméletlen összetett dolgot. Meg persze mi az, hogy kezdő, én olyan cégnél dolgozok, ahol az első két év gyakorlatilag betanulási idő, minimális önállósággal, nulla döntési joggal. Ja,és ezalatt egyetlen terület pár részterületével foglalkozol. 4-5000 munkaóra ott vna mögötted, na ez a kezdő.
    Mutasd a teljes hozzászólást!
  • Ha ezt valóban nekem címezted, akkor félreértettél.
    Csak az a "code monkey" szöveg irritál egy kissé, ezért szóltam bele.
    Mutasd a teljes hozzászólást!
  • Meg Label alma = null;-al mar hasznalhatod a lokalis alma-t!
    Mutasd a teljes hozzászólást!
  • Ez egy Javaban írt pár ezer soros munkaidő elszámoló progi új menüpontjának tesztje.
    Van egy online felület az intraneten, szépen be lehet adogatni, melyik projekten hány percet dolgozott a jómunkásember. Ezt egy pályakezdőnek is meg kell tudnia terveznie, le kell tudnia kódolnia és tudnia kell debugolnia is, méghozzá reális időtartamon belül. De itt nem is a teljes progiról van szó, csak egy új képeséségéről. Tökeletes junior task.
    Mutasd a teljes hozzászólást!
  • Javaban csak lokalis valtozoknal szol a fordito, adattagoknal nem.
    Mutasd a teljes hozzászólást!
  • Ilyen egyszerűen Javaban sem lehet. De ha kicsit megcsavarod:
    Label alma = Label.findByName("amla"); alma.Text = "Akármi";
    akkor máris kész a lábonlövés. A gépelési hiba csak futás közben fog kiderülni.

    Ez igaz minden olyan metódusra, ami null-lal jelzi a speciális eseteit (nincs ilyen elem, nem értelmes a kérdés stb.).
    Mutasd a teljes hozzászólást!
  • Attól függ mi okozza a null pointer exceptiont. Ugyanis legalábbis C# alatt nem tudsz olyat csinálni hogy


    Label alma; alma.Text="Akármi";

    Ehhez legalább az kell hogy Label alma=null; legyen, különben már eleve fordítási hibád van. Ezért aztán a null pointer exception sem annyira könnyen fordul elő mint a régi szép időkben. Ha igen, annak általában elég komplex oka tud lenni...
    Mutasd a teljes hozzászólást!
  • Az ilyen hozzászólások miatt szeretek idejárni...
    (tudod: magas ló... )

    gyk: ex főnököm kifejezetten szeretett kódolással, debuggolással foglalkozni, pedig finoman szólva nem volt kezdő...
    Mutasd a teljes hozzászólást!
  • Épp most küldtem egy null pointer exception-ös bug jelentést egy fejlesztői csoportnak. Egy ilyen javításához minek kéne 10 év tapasztalat?


    Hát ha nagyon összetett dologról van szó, akkor nem biztos, hogy jó, ha egy olyan kezdő foglalkozik a hiba megoldásával, aki az adott résszel egyáltalán nincs tisztában...
    Mutasd a teljes hozzászólást!
  • Igen, ez így van. Sőt, ha egy multinál vagy, ami azért jött Magyarországra, hogy olcsóbb legyen a fejlesztés mint az USA-ban, akkor nagy esély van arra, hogy amúgy tapasztalt emberek is ha nem is kizárólag, de nagyrészt code monkey-ként vannak kezelve a magyar részlegen. Van, hogy szinte az egész magyar részleg code-monkeyként van nagyrészt kezelve. Van pénzük, miért ne vegyenek fel csóró Magyarországon seniorokat ilyen szerepre is? A baj csak az, hogy ezt sokan megunják és lelépnek. Én is ezért léptem le az utóbbi multi állásomból. És ez is egy ok arra, hogy inkább a Scala felé próbálok orientálódni és nem a Java-nál maradni mindenáron.
    Mutasd a teljes hozzászólást!
  • Profi multinál soha nem kódol, csak tervez. A kódolás és debugolás büdös, koszos, fárasztó részét a code monkey seregek végzik. A Java teljesen jól támogatja ezt a fejlesztési módot, talán ezért is terjed el bizonyos szektorokban annyira.

    Épp most küldtem egy null pointer exception-ös bug jelentést egy fejlesztői csoportnak. Egy ilyen javításához minek kéne 10 év tapasztalat?
    Mutasd a teljes hozzászólást!
  • Királyság lehet amikor a kezdő javít bele a profik által lerakott kódba.
    Mutasd a teljes hozzászólást!
  • Egyéni fejlesztésnél, kiscsoportos fejlesztői gárda esetén igen.
    Egy multinál ez nem feltétlen igaz.A kezdő reszeli az alap kódot, bugokat jevít, ezzel fejlődik, a haladó reszeli a nehezebb részeket, az öreg róka meg tervez, felügyel, döntéseket hoz.
    Mutasd a teljes hozzászólást!
  • Programozóból az olcsó a legköltségesebb.
    Mutasd a teljes hozzászólást!
  • "a microsoft is elindult az F#-al."

    Ami egy OCaml koppintmany...


    Az, hogy egy programozási nyelv egy másik nyelven alapul vagy befolyásolva van általa, egy teljesen megszokott és természetes dolog a programozási nyelvek világában (bár ezt ugye senkinek sem kell mondani). Ilyen alapon az összes C-szerű szinaxisú nyelvet lehetne azzal vádolni, hogy a C-t "koppintja", "majmolja". Szerintem nincs, vagy alig van olyan elterjedt nyelv, ami ne alapozna egy másikra szintaxisában.

    A wikipédia szerint a jávát a következő nyelvek folyásolták be:
    Ada 83, C++, C#, Delphi Object Pascal, Eiffel, Generic Java, Mesa, Modula-3, Objective-C, UCSD Pascal, Smalltalk
    . Ezzel szemben az F# -ot "csak" a következőkből ihletődött:
    Objective Caml, C#, Haskell
    . Nem mintha lenne egy ilyen összehasonlításnak értelme, vagy legalábbis negatív visszhangal felemlíteni, hogy ki mit utánoz.
    Mutasd a teljes hozzászólást!
  • Ilyen szempontból a Scala egy hatalmas előnnyel indít.


    Ha ugy vesszuk, az OCaml is egy hatalmas elonnyel inditott ahhoz a rengeteg meglevo Java libhez kepest: elottuk letezett!

    A jáva kód a map inicializálására milyen jáva verziót igyényel?


    Nincs benne semmi speci dolog, egy egyszeru anonymous osztalyt peldanyosit, amely HashMap-bol szarmazik, es peldanyasitaskor az inicializalo blokkban levo kod belepakol par erteket. En is vakartam a fejem par percig, amikor eloszor latam ilyent!

    a microsoft is elindult az F#-al.


    Ami egy OCaml koppintmany...

    Mutasd a teljes hozzászólást!
  • Hasonlo nyelvek eddig is voltak (pl. OCaml), valamiert megsem terjedtek el...


    Azok mögött nem volt ott a JVM, és így nem működnének együtt a számtalan meglévő jáva könyvtárral és nem lehet őket összekötni az esetlegesen meglévő jáva kódokkal. Ilyen szempontból a Scala egy hatalmas előnnyel indít.

    A jáva kód a map inicializálására milyen jáva verziót igyényel?

    Egyébként, ha már az objektum-orientált funkcionális programozási nyelveknél tartunk, a microsoft is elindult az F#-al. Valakinek valami tapasztalata róla? Remélem nem túlságosan off-topik a kérdés.
    Mutasd a teljes hozzászólást!
  • a fejlettebb startupok, vagy egyéb elitebb cégek szvsz. egyre inkább lejönnek majd a Java-ról a JVM világában, és áttérnek pl. Scala-ra


    A Scala szep es jo, de sokkal nehezebb a Javanal, es azert egy atlagos Java koder (ez sem valami hiperszuper magas szint ugyeugye...) most sem olcso. Jelenleg sok ceg azert valaszt pl. PHP-t Java/.net helyett, mert a celnak megfelel, de sokkal konnyebb olcso munkaerot talalni.

    Szerintem legfeljebb a leginnovativabb cegek fognak Scala-ra atterni, akik megengedhetik maguknak, hogy a legjobbakat alkalmazzak, ezzel is probaljak a zseniket magukhoz vonzani.

    Talan Marius Danciu (Liftweb) mondta egy interjuban, hogy szerinte a Scala lehetosegeit egy profi programozo megfeleloen kihasznalva sokkal attekinthetobb kodot dobhat ossze rovidebb ido alatt, de egy gyengebb koder a nyelvi ficsoroket nem megfeleloen hasznalva sokkal ganyabban kodolna, mint Javaban...

    Hasonlo nyelvek eddig is voltak (pl. OCaml), valamiert megsem terjedtek el...
    Mutasd a teljes hozzászólást!

  • így inicializálsz egy Map-et Java-ban:


    Map<Integer,String> romanNumerals = new HashMap<Integer,String>();
    romanNumerals.put(1, "I");
    romanNumerals.put(2, "II");
    romanNumerals.put(3, "III");
    romanNumerals.put(4, "IV");
    romanNumerals.put(5, "V");



    Map<Integer,String> romanNumerals = new HashMap<Integer,String>() {{ put(1, "I");put(2, "II");put(3, "III");put(4, "IV");put(5, "V"); }};

    Mutasd a teljes hozzászólást!
  • Zsír!
    Mutasd a teljes hozzászólást!
  • Namost, lehet, hogy így még nem világos, ezért még írok pár példát:

    iyenkor a greeting írható olvasható (var):

    class CarefulGreeter(var greeting: String) {


    iyenkor a greeting csak olvasható (val):

    class CarefulGreeter(val greeting: String) {

    ilyenkor a greeting nem érhető egyáltalán el kívülről:


    class CarefulGreeter(private var greeting: String) {

    És persze mondom attól, hogy ilyen rövidítések vannak, még mindent csinálhatsz hasonlóan mint a Java-ban, tehát megvannak a hagyományos módszerek. Itt egy hagyományosabban definiált class (explicit definiált member variable-kkel, explicite definiált (nem elsődleges) konstruktorral.):

    class Square { var x: Double = 0 var y: Double = 0 var width: Double = 0 var height: Double = 0 def this(x: Double, y: Double) = { this(); this.x = x; this.y = y } def area(): Double = width * height }

    Ez hasonló a java-hoz, azzal a különbséggel, hogy a konstruktor nevének mindig this-nek kell lennie.

    Vagy pl. kedvcsinálónak hasonlítsuk össze, hogy hogyan inicializálsz egy Map-et Javaban, és hogy Scala-ban:

    így inicializálsz egy Map-et Java-ban:


    Map<Integer,String> romanNumerals = new HashMap<Integer,String>(); romanNumerals.put(1, "I"); romanNumerals.put(2, "II"); romanNumerals.put(3, "III"); romanNumerals.put(4, "IV"); romanNumerals.put(5, "V");

    így inicializálsz egy Map-et Scala-ban (figyeljük meg a val erejét a típus kitalálásakor: a scala mapek is típusosak!):

    val romanNumeral = Map(1 -> "I", 2 -> "II", 3 -> "III", 4 -> "IV", 5 -> "V")

    (És igen, Scala-ban is van többféle Map implementáció (HashMap, stb...) és írhatsz sajátot is, csak mint látható iszonyú tömören írhatod le a dolgokat, ha a default-ot használod.)
    Mutasd a teljes hozzászólást!
  • Természetesen azt is lehet.
    Scalaban is lehet definiálni egy csomó konstruktort, de mindig van egy elsődleges konstruktor, aminek a paramétereit egyből a class után írod. A nem elsődleges konstruktorokat a JAva-s konstruktorokhoz hasonlóan definiálod.
    Namost mi van, ha te az elsődleges konstruktorban akarsz valamit csinálni? Semmi gond, minden végrehajtható kódot amit a class bodyjába írsz közvetlenül, azt az elsődleges konstruktor body-jának tekinti, és az elsődleges konstruktor végrehatjátskor végrehajtja.

    Példa innen:

    class CarefulGreeter(greeting: String) { if (greeting == null) { throw new NullPointerException("greeting was null") } def greet() = println(greeting) }

    A Scala egyszerűen kifinomultabb mint a Java, persze tovább is tart megtanulni. A Scala-t egyébként az a Martin Odersky tervzte, aki a generics támogatást tervezte a Java-hoz.

    Egyébként Java-ban profi vagyok, de Scala-ban totálisan kezdő. Szóval erre a kérdésedre tudtam válaszolni, de nagyon trükkös kérdésekre valószínűleg jelenlegi tudásommal még nem fogok tudni.
    Mutasd a teljes hozzászólást!
  • Hát az lehet...
    Mutasd a teljes hozzászólást!
  • Azért abban hogy nem volt COBOL vs PL/1 flamewar nagyban belejátszhatott az is, hogy akkoriban prog.hu sem volt .
    Mutasd a teljes hozzászólást!
Címkék
abcd