Miksei Javassa ole defineä?

miksiiiiiiiiiiiiiiiiiii

Javasta kun puuttuu precompiler kokonaan niin miksei definen ja typedefin tilalle ole rakennettu mitään? Jos esimerkiksi pitää tulostaa paljon tekstiä niin
#define NEWLINE \n
lähdekoodin alussa olisi varsin kiva juttu! Muuten joutuu kutsumaan System.out.println aika moneen kertaan.

14

2879

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • limanuljaskalle

      Hohhoijaati. älä kuse ohjelmakoodeeille.
      kakissa on rajoteensa ja Tietyt tutvallisuus jutut.

    • koetapas esim. google hakua "c preprocessor hell" ja nauti!
      Sen jälkeen ehkä ymmärrät, miksi näitä ei otettu javaan mukaan..

      • Anonyymi

        Ei liity mitenkään avaukseen.


      • Anonyymi kirjoitti:

        Ei liity mitenkään avaukseen.

        Liittyy hyvinkin keskeisesti


      • Anonyymi
        code_red kirjoitti:

        Liittyy hyvinkin keskeisesti

        Aivan yhtä paljon kun rintaliiviesi koko.


      • Anonyymi kirjoitti:

        Aivan yhtä paljon kun rintaliiviesi koko.

        Vau. Olet todella vitsikäs!


    • Anonyymi

      Copypastaamaninen on hyvin yksinkertaista.

    • Anonyymi

      Mielestäni \n on nopeampi kirjoittaa kuin huutaa NEWLINE.

      System.out.println:n saa taas nopeasti kirjoittamalla sout ja painamalla tabulaattoria.

      • Anonyymi

        En tiedä miten on nykyisin mutta joskus ennen \n (newline) ei toiminut Windowsissa jossa sen pitää olla \r (return) ja tuo ei taas toimi Linuxissa ja Macissa. Toisaalta nuo makrot luovat enemmän ongelmia kuin ratkovat niitä. Olen joskus niitä käyttänyt paljonkin C kielen kanssa ja lopputulema on se että koodi ei ole sellaisenaan uudelleenkäytettävissä muissa projekteissa. Makroja ei pitäisi käyttää siitä syystä ollenkaan vaan käyttää standardoitua kieltä aina ja poikkeuksetta. Itseasiassa jopa typedef on uskomattoman typerä idea juuri siksi että koodia ei voi sellaisenaan uudelleenkäyttää. Ainoan poikkeuksen luo tuollainen NEWLINE makro koska se käsittelee tulostettavaa tekstiä jota ei ole tarkoitus käyttää missään muualla uudestaan. Mutta ongelma on ratkaistavissa yhden ylimääräisen muuttujan avulla.


      • Anonyymi
        Anonyymi kirjoitti:

        En tiedä miten on nykyisin mutta joskus ennen \n (newline) ei toiminut Windowsissa jossa sen pitää olla \r (return) ja tuo ei taas toimi Linuxissa ja Macissa. Toisaalta nuo makrot luovat enemmän ongelmia kuin ratkovat niitä. Olen joskus niitä käyttänyt paljonkin C kielen kanssa ja lopputulema on se että koodi ei ole sellaisenaan uudelleenkäytettävissä muissa projekteissa. Makroja ei pitäisi käyttää siitä syystä ollenkaan vaan käyttää standardoitua kieltä aina ja poikkeuksetta. Itseasiassa jopa typedef on uskomattoman typerä idea juuri siksi että koodia ei voi sellaisenaan uudelleenkäyttää. Ainoan poikkeuksen luo tuollainen NEWLINE makro koska se käsittelee tulostettavaa tekstiä jota ei ole tarkoitus käyttää missään muualla uudestaan. Mutta ongelma on ratkaistavissa yhden ylimääräisen muuttujan avulla.

        Sehän riippuu siitä mitä haluaa. Tuo \r (carriage return) palauttaa kursorin rivin alkuun ja \n (line feed) siirtää kursorin alas, mutta *nix-järjestelmissä myös lisäksi palauttaa kursorin rivin alkuun. Yhdistelmä \r\n tekee Windowsissa molemmat. https://en.wikipedia.org/wiki/Newline


      • Anonyymi
        Anonyymi kirjoitti:

        En tiedä miten on nykyisin mutta joskus ennen \n (newline) ei toiminut Windowsissa jossa sen pitää olla \r (return) ja tuo ei taas toimi Linuxissa ja Macissa. Toisaalta nuo makrot luovat enemmän ongelmia kuin ratkovat niitä. Olen joskus niitä käyttänyt paljonkin C kielen kanssa ja lopputulema on se että koodi ei ole sellaisenaan uudelleenkäytettävissä muissa projekteissa. Makroja ei pitäisi käyttää siitä syystä ollenkaan vaan käyttää standardoitua kieltä aina ja poikkeuksetta. Itseasiassa jopa typedef on uskomattoman typerä idea juuri siksi että koodia ei voi sellaisenaan uudelleenkäyttää. Ainoan poikkeuksen luo tuollainen NEWLINE makro koska se käsittelee tulostettavaa tekstiä jota ei ole tarkoitus käyttää missään muualla uudestaan. Mutta ongelma on ratkaistavissa yhden ylimääräisen muuttujan avulla.

        Windowsissa käytetään \r\n.

        C# on java paremmin toteutettuna.


    • Anonyymi

      Voit aina kehitellä oman preprocessorisi joka parsettaa koodisi ja prosessoi #define direktiivillä olevat statementit. Prosessoitu lähdekoodi menee Java-kääntäjälle. Helppoa.

      • code_red

        Ja aina voi kehittää oman ohjelmointikielen, jossa on preprosessori. Helppoa :)


      • Anonyymi
        code_red kirjoitti:

        Ja aina voi kehittää oman ohjelmointikielen, jossa on preprosessori. Helppoa :)

        Kuinka paljon ihmiset noin yleensä välttelevät seuraasi. Minua ainakin oksettaa teikäläinen siinä määrin että oli pakko kysyä.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Sannan kirja USA:n bestseller!

      "Congratulations to Sanna Marin's HOPE IN ACTION, officially a USA TODAY bestseller!" Kertoo Scribner. Mitäs persut tä
      Maailman menoa
      210
      11991
    2. Oikeistolainen luki Med mod att leda : en biografi

      ...ei tykänny Sanna Marinista
      Maailman menoa
      29
      8228
    3. Metsäalan rikolliset

      Jokohan alkaa vähitellen kaatua kulissit näillä ihmiskauppaa harjoittavilla firmoilla.
      Sotkamo
      60
      6388
    4. Ruotsalaistoimittaja: "Sanna Marinin saunominen saa minut häpeämään"

      Sanna Marinin kirja saa täyslaidallisen ruotsalaislehti Expressenissä perjantaina julkaistussa kolumnissa.....voi itku..
      Maailman menoa
      178
      5319
    5. Hyvää syntymäpäivää Sanna 40 vee!!!!

      ᕼᗩᑭᑭY ᗷIᖇTᕼᗞᗩY Sister ❣️🥰 🎉🎂✨🍰🥳 🥳🎂🥂 🎉🎊🎁🎈🎂
      Maailman menoa
      58
      5010
    6. Suomen kaksikielisyys - täyttä huuhaata

      Eivätkö muuten yksilöt pysty arvioimaan mitä kieliä he tarvitsevat? Ulkomaalaiselle osaajalle riittää Suomessa kielitai
      Maailman menoa
      51
      4533
    7. Työeläkeloisinta 27,5 mrd. per vuosi

      Tuo kaikki on pois palkansaajien ostovoimasta. Ja sitten puupäät ihmettelee miksei Suomen talous kasva. No eihän se kas
      Maailman menoa
      120
      4460
    8. Missä vaiheessa

      Päätit luovuttaa suhteeni?
      Ikävä
      122
      3982
    9. Juuri muiston ne

      Rakastuneet katseesi. Huh
      Ikävä
      83
      3472
    10. Miten paljon

      Olet halunnut mun kanssa?
      Ikävä
      59
      2051
    Aihe