C# .NET vs. Java?

javaman

Re:C# .NET vs. Java?
« Odpověď #285 kdy: 01. 03. 2015, 12:18:12 »
Podle mě jen nevíš, kolik se dostává za Javu. Ti nabízeli nějaké drobné, protože viděli, že děláš i C#.


whata

Re:C# .NET vs. Java?
« Odpověď #286 kdy: 01. 03. 2015, 12:30:49 »
Mit ale stale se opakujici radky kodu, ktere nejsou vyznamove taky, k nicemu neni. Kupr. trivialni gettery/settery v Jave by nemusely byt na tolik radku.
Kód: [Vybrat]
public int getFoo(){
  return foo;
}

// vs

def foo = _foo
Zadnou pridanou hodnotu v Java verzi nepozoruji.

Nemusíš je psát ručně, použij pro generování anotace: http://projectlombok.org/features/GetterSetter.html :
Kód: [Vybrat]
class X
{
        @Getter @Setter
        private int foo;
}

Pro jednoduché datové objekty to plně stačí, pro složité situace se musí napsat metoda tak jako tak. Pak se bavíme opět o konsistenci, viz například:
Kód: [Vybrat]
entityManager.createQuery("SELECT p FROM Person p WHERE p.name = :name")
        .setParameter("name", "Whata")
        .setMaxResults(10)
        .getResultList();
Zatímco v jazyku, který polovinu věcí řeší přes properties a polovinu přes setters, bude kód vypadat jako kočkopes.

JurP

Re:C# .NET vs. Java?
« Odpověď #287 kdy: 01. 03. 2015, 12:37:47 »
Podle mě jen nevíš, kolik se dostává za Javu. Ti nabízeli nějaké drobné, protože viděli, že děláš i C#.

neopisuj nam tvoju situaciu :)

javaman

Re:C# .NET vs. Java?
« Odpověď #288 kdy: 01. 03. 2015, 12:40:12 »
Takže 120 tisíc je u C# také běžné?

JurP

Re:C# .NET vs. Java?
« Odpověď #289 kdy: 01. 03. 2015, 12:44:04 »
Je to bezne, bez problemov:

http://www.titans.sk/sk/it-freelancers/pracovna-ponuka/?nazov-pracovnej-ponuky=net-programator-150213A

Java

http://www.titans.sk/sk/it-freelancers/pracovna-ponuka/?nazov-pracovnej-ponuky=integracny-java-programator-141217A

Su na tom podobne ;)

urcite 120 000kc nedostanes ako zamestnanec, a samozrejme zalezi aj od lokality. cize bolo by odveci zrovnavat napr. Vieden a Bratislavu.


noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:C# .NET vs. Java?
« Odpověď #290 kdy: 01. 03. 2015, 12:48:07 »
Lombok jsem kdysi davno zkousel pri vyvoji modu pro Minecraft. Ale bylo s tim hromada problemu - pri MC modovani (Forge/FML + MCP) se totiz hodne upravuji vysledne zkompilovane tridy (jak staticky tak za behu) a nektere nastroje s tim mely problemy. Take nutnost pluginu do IDE pro vyuzivani knihovny neni idealni. Navic je to stale knihovna, neni to soucast jazyka - musi se distribuovat s vyslednou aplikaci. Co ctu, tak to pouziva pri kompilaci nejake hacky a funguje to jen na specifickem kompilatoru Javy...

Re:C# .NET vs. Java?
« Odpověď #291 kdy: 01. 03. 2015, 12:53:37 »
Lombok nebrat. Za ty starosti to nestoji (trace skrz kod pri debugovani...) a vetsina veci uz je stejne poresena JDK8.

Psat acessory rucne neni potreba, zvlada to generovat IDE (a pak je srolovat, takze nezaclani ve vyhledu), nebo jde pouzit groovy... Trocha syntaktickeho cukru, ktery by tohle resil, by nebyla od veci, ale da se prezit i bez nej.

Kit

Re:C# .NET vs. Java?
« Odpověď #292 kdy: 01. 03. 2015, 13:11:35 »
Psat acessory rucne neni potreba, zvlada to generovat IDE.

Psát accessory není vůbec potřeba. Stačí umět používat privátní atributy.

Jerry

Re:C# .NET vs. Java?
« Odpověď #293 kdy: 01. 03. 2015, 13:18:46 »
@Kit +1 hold bohužiaľ veľa ľudí tie chyby, ktoré píšu a robia denno denne nevidí a ani nemá záujem sa naučiť ako správne písať OOP kód a potom tým trpia celé projekty a ľudia sa čudujú, prečo je ten program samý bug. Všetko so všetkým súvisí

Re:C# .NET vs. Java?
« Odpověď #294 kdy: 01. 03. 2015, 13:34:38 »
Psat acessory rucne neni potreba, zvlada to generovat IDE.

Psát accessory není vůbec potřeba. Stačí umět používat privátní atributy.

Tak urcite.

perceptron

Re:C# .NET vs. Java?
« Odpověď #295 kdy: 01. 03. 2015, 13:53:49 »
o accessoroch a kitovi bola debata vedla. ani po 4 stranach nevypadol kloudny priklad co tym ma na mysli

je tu krasny paradox debaty. kym javaci vidia priestor aj inde od c#akov (jurp...) alternativy nevypadli. moze to byt tym ze c# je najlepsi jazyk lebo iny nepoznaju

Citace
Co ctu, tak to pouziva pri kompilaci nejake hacky a funguje to jen na specifickem kompilatoru Javy...
ono to vygeneruje bajtkod ktory je identicky ako keby tam vyvojar nadrbal gettery a settery rucne. o specifickom kompilatore neviem (experimentalne sme isli nad normalnym sedmickovym oracle javac, islo to, ale opustili sme to s projektom).

je to vsak o tom ze je tam ten medzikompilacny krok ( unas maven)

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:C# .NET vs. Java?
« Odpověď #296 kdy: 01. 03. 2015, 14:17:05 »
Psat acessory rucne neni potreba, zvlada to generovat IDE.

Psát accessory není vůbec potřeba. Stačí umět používat privátní atributy.

To funguje jak presne? Napr. vystup z Twitter API, to jako dostanu objekt tweet s privatnimi fieldy a budu s nim delat co?

Celkove psat v Jave immutable tridy je za trest. Co jsem vygooglil, tak se to standardne dela hromadou accessoru.
Kód: [Vybrat]
public class Foo {
  private final int x, y;
  private final String name;

  public Foo(final int x, final int y, final String name){
    this.x = x;
    this.y = y;
    this.name = name;
  }

  public int getX(){
    return x;
  }

  public int getY(){
    return y;
  }

  public String getName(){
    return name;
  }
}
Pak jsem nasel jeste jednu moznost, nevim jestli se pouziva (pripomina closures).
Kód: [Vybrat]
public interface Foo2 {
  int getX();
  int getY();
  String getName();
}

public class Foo2Creator {
  public static Foo2 create(final int x, final int y, final String name){
    return new Foo2(){
      public int getX(){
        return x;
      }

      public int getY(){
        return y;
      }

      public String getName(){
        return name;
      }
    };
  }
}
Neprijde mi o moc lepsi.

Posledni co me napada je uplne vypustit gettery a prejit na verejne final fieldy. Co ctu, tak to ale moc Java-like neni (a u verejnych API uz vubec ne).

Priklad reseni ve Scale:
Kód: [Vybrat]
case class Foo3(x: Int, y: Int, name: String)Krome strucnosti dostanu navic oproti Jave porovnani, hash, extraktor (coz ale v Java svete asi moc nepouziju) a predevsim copy metodu.

Samozrejme je vice nez pravdepodobne, ze existuje nejaky lepsi pristup, precejen se Javou (ani Scalou) nezivim.

Kit

Re:C# .NET vs. Java?
« Odpověď #297 kdy: 01. 03. 2015, 14:18:45 »
o accessoroch a kitovi bola debata vedla. ani po 4 stranach nevypadol kloudny priklad co tym ma na mysli

Ono to není tak jednoduché zarytým C#ařům vysvětlit, co je to OOP :)

Re:C# .NET vs. Java?
« Odpověď #298 kdy: 01. 03. 2015, 14:27:01 »
Jestli neni problem spis v tom, co vysvetlujes...

Kit

Re:C# .NET vs. Java?
« Odpověď #299 kdy: 01. 03. 2015, 14:28:49 »
Celkove psat v Jave immutable tridy je za trest. Co jsem vygooglil, tak se to standardne dela hromadou accessoru.
... CODE ...
Neprijde mi o moc lepsi.

V daném případě můžeš vyhodit obě třídy. Nic nedělají a jsou k ničemu. Tím ušetříš nejvíc psaní.
Citace
Posledni co me napada je uplne vypustit gettery a prejit na verejne final fieldy. Co ctu, tak to ale moc Java-like neni (a u verejnych API uz vubec ne).

To se používá jen u messengerů. Co takhle vypustit gettery a fieldy ponechat private?