C# .NET vs. Java?

whata

Re:C# .NET vs. Java?
« Odpověď #135 kdy: 24. 02. 2015, 17:08:46 »
dam pre nu "Abstract", nie je to iste ako ked dam pred interface "I"

V prvním případě přidáš před název písmenka "Abstract", v druhém případě před název písmenka "I", ale vůbec to není to samé a vůbec to není maďarština ;D

"Tunnelable"

suffix "able" je prakticky maďarština jako prefix "I".

able nemate čtenáře písmenkem navíc. Tunnelable je běžné anglické slovo. Navíc autor mluvil o situaci, kdy už je situace nějak daná.

Co se týče Abstract, používá se pro odlišení částečné implementace, kterou budou nejspíš všechny implementace sdílet. Hlavní rozdíl je v tom, že Abstract bývá pro uživatele neviditelný a je zajímavý pouze pro autora, který píše finální implementaci a ten stejně musí mít povědomí o hierarchii. Z hlediska uživatele daného interface i finální třídy tedy zůstává zachována _transparentnost_ !


sadsa

Re:C# .NET vs. Java?
« Odpověď #136 kdy: 24. 02. 2015, 17:09:16 »
dam pre nu "Abstract", nie je to iste ako ked dam pred interface "I"

V prvním případě přidáš před název písmenka "Abstract", v druhém případě před název písmenka "I", ale vůbec to není to samé a vůbec to není maďarština ;D

"Tunnelable"

suffix "able" je prakticky maďarština jako prefix "I".

Aha takze ako chcete vlastne rozlisit co je co? :) Bez toho aby ste tam dali Abstract alebo "able". C# sa mi zda pouziva to "I" na rozlisenie co je interface a co trieda. Ja v Jave "I" nepouzivam a interfejs je pomenovany bud podstatnym menom alebo privlastkom "able". To, ci to je alebo nie je interface som ako uz povedal moze byt jedno.

Java pouziva len Abstract, C# pouziva masivne to I.

Bol by som zvedavy ako C# riesi pomenovanie abstraktnych tried. Ked to pouziva tak isto ako Java, tak C# prehrava 1:2, pretoze Java nepouziva "I".

Kolemjdoucí

Re:C# .NET vs. Java?
« Odpověď #137 kdy: 24. 02. 2015, 17:18:36 »
able nemate čtenáře písmenkem navíc.

Proto je mate čtyřmi písmenkami navíc :) Raději ani nechci vedět, co se stane když chci pracovat s "Capable", zřejmě "Capableable" :)


C# se nezastávám a bez nějaké formy maďarštiny to zřejmě rozlišit nejde, jsem rád že jsme se na tom shodli.

Ivan

Re:C# .NET vs. Java?
« Odpověď #138 kdy: 24. 02. 2015, 17:24:34 »
Citace
Souhlas, JDBC sux. Proč autoři Javy nepíší platformu tak aby se dala používat, a musí se i základní věci lepit různými knihovnami třetích stran? Za mě je to značná nevýhoda.
jdbc vzniklo asi v 199x a preto je api take ake je. navyse polovica problemov ide od zlych driverov od vendorov.

JDBC je chory z definice. Od zacatku to vypada, jako by autori nikdy nevideli jinou databazi nez MySQL. Od zacatku se snazi podporovat nejmensi spolecny jmenovatel vsech databazi. Autocommit je by-default zapnuty proboha proc? Protoze MySQL nepodporuje transakce? V te dobe uz jim to melo byt jasny, ze je to spatne. MySQL nepodporuje named bind variables, tak JDBC to nebude umet taky?
JDBC podporuje pouze skalarni datove typy: NUMBER, STRING a DATE. A i s tim datumem ma spousta lidi problemy (viz java.util.date vs. java.sql.date).

Anebo JDBC 4.0. java.sql.Connection.createBlob(): "LOB creation - New methods, createBlob() and createClob() let you create empty Blobs and Clobs, which you can then fill up before stuffing into a column.". Ok tak vytvorim blob, zapisu do nej desitky GB dat a pak ten blob vlozim do nejaky radky v databazi. (jako bind variable). S tim jako ma ta databaze delat? To funguje v pripade MySQL JDBC driveru, ze je max. velikost blobu 30MB. Anebo se to (v pripade Oracle kopiruje z disku TEMP tbs na disk DATA tbs). Navic databaze netusi kdy GC ten objekt uvolni a ty data lezi v TEMP tablespace dokud se neuzavre db spojeni.

Uznavam navrhnout jednotny API pro ruzny databaze je tezky (skoro nemozny), ale pred tim uz tu byl pokus s ODBC, tak se mohli poucit z cizich chyb.

Kit

Re:C# .NET vs. Java?
« Odpověď #139 kdy: 24. 02. 2015, 17:28:21 »
"Tunnelable"

suffix "able" je prakticky maďarština jako prefix "I".

Je dobrým zvykem pojmenovávat interface přídavným jménem. Samotný název pak vysvětluje, jakou schopnost musí mít implementace. Slovo "Tunnelable" tedy znamená, že implementace musí umět tunelovat.

Není to tedy maďarština, ale angličtina. Prefix "I" nic takového nevyjadřuje a proto není žádoucí ho používat.


Kit

Re:C# .NET vs. Java?
« Odpověď #140 kdy: 24. 02. 2015, 17:32:40 »
able nemate čtenáře písmenkem navíc.

Proto je mate čtyřmi písmenkami navíc :) Raději ani nechci vedět, co se stane když chci pracovat s "Capable", zřejmě "Capableable" :)

Třídy se pojmenovávají podstatným jménem, třída se tedy nemůže jmenovat "Capable". Navíc interface se nikdy nepojmenovává podle tříd, které ho mají implementovat.

Kolemjdoucí

Re:C# .NET vs. Java?
« Odpověď #141 kdy: 24. 02. 2015, 17:34:53 »
Je dobrým zvykem pojmenovávat interface přídavným jménem.

To přesně je maďarská notace v nóbl balení.

Třídy se pojmenovávají podstatným jménem, třída se tedy nemůže jmenovat "Capable". Navíc interface se nikdy nepojmenovává podle tříd, které ho mají implementovat.

Toť důkaz že suffix "able" je rezervován pro maďarskou notaci.

Kit

Re:C# .NET vs. Java?
« Odpověď #142 kdy: 24. 02. 2015, 17:40:03 »
Třídy se pojmenovávají podstatným jménem, třída se tedy nemůže jmenovat "Capable". Navíc interface se nikdy nepojmenovává podle tříd, které ho mají implementovat.

Toť důkaz že suffix "able" je rezervován pro maďarskou notaci.

Pro interface jsou rezervována všechna přídavná jména. Co na tom nechápeš?

Radek Miček

Re:C# .NET vs. Java?
« Odpověď #143 kdy: 24. 02. 2015, 17:52:53 »
Je dobrým zvykem pojmenovávat interface přídavným jménem.

To platí i pro rozhraní datových struktur? Např. pro rozhraní seznamů, front, množin?

sadsa

Re:C# .NET vs. Java?
« Odpověď #144 kdy: 24. 02. 2015, 18:02:03 »
Je dobrým zvykem pojmenovávat interface přídavným jménem.

To platí i pro rozhraní datových struktur? Např. pro rozhraní seznamů, front, množin?

Nevyva to zvykom, pretoze datove struktury (ako nejaky interface) nemavaju vlastnosti. Toto tvrdenie berte prosim s rezervou. Ide proste o to, ze ked mam List v Jave a ArrayList jeho implementaciu, tak nema velmi zmysel pracovat s nejakym interfaceom ktory sa vola "Listable".

Proste je viac intuitivne ak "ArrayList implements List" ako "ArrayList implements Listable", takze v tomto pripade to neplati.

sadsa

Re:C# .NET vs. Java?
« Odpověď #145 kdy: 24. 02. 2015, 18:04:02 »
Lenze uz napriklad List ako interface v Jave extenduje "Iterable" a to je ukazkovy priklad ako to ma vyzerat. Tam sa uz popisuje to spravanie, co ten List vie, teda ze mozem na nom iterovat - v tom pripade sa to hodi.

perceptron

Re:C# .NET vs. Java?
« Odpověď #146 kdy: 24. 02. 2015, 18:11:10 »
Citace
Outlook je veliká Win32 aplikace. Co to má společného s Xamarinem založeným na .NETu?
hovorim o outlooku pre iphony. pozrite si, co to ms kupil.

Citace
je dobrým zvykem pojmenovávat interface přídavným jménem.
toto uz v novych java projektoch nevidiet. byvavalo ked bolo cloneable serializable ale dnes je to uz len pre marker metody (z novych mozno android parcelable). interface nemusi mat pridavne meno a casto ani nema. spring pouziva uz dlho initializingbean namiesto initializable alebo beannameaware namiesto nameable

nikomu to velmi nevadi

---
Citace
Autocommit je by-default zapnuty proboha proc?

nechcem vam brat iluzie ale vyvoj jdbc a mysql isli nezavisle od seba. jdbc driver pre mysql vznikol 1998, to uz bolo jdbc vyse roka na svete. ale mate pravdu s niektorymi prekotmi.

autocommit si viem predstavit automaticky zapnuty lebo vtedy sa planovalo pouzitie gui aplikaciach kde jeden riadok connection.commit() je zbytocny krok v tutoriali

takisto biedne datove typy: cielom bola portabilita a ako hovorite najmensi spolocny menovatel.

zvysok si mozete doriesit v knizniciach a ako som pisal aj budete

perceptron

Re:C# .NET vs. Java?
« Odpověď #147 kdy: 24. 02. 2015, 18:12:41 »
aby to nevyzeralo ze jdbc je vynalez storocia, neni.

Kolemjdoucí

Re:C# .NET vs. Java?
« Odpověď #148 kdy: 24. 02. 2015, 18:12:53 »
Pro interface jsou rezervována všechna přídavná jména. Co na tom nechápeš?

Mě je to jasné již dávno. Pokud nezavedeš předpisy na tvorbu identifikátoru, tak nepoznáš zda se jedná o interface.
Rozdíl je prakticky jenom v tom, že tvůj předpis je "able" a u sousedů mají předpis "I". Lingvistické záležitosti mě nezajímají.

Kit

Re:C# .NET vs. Java?
« Odpověď #149 kdy: 24. 02. 2015, 18:31:49 »
Pro interface jsou rezervována všechna přídavná jména. Co na tom nechápeš?

Mě je to jasné již dávno. Pokud nezavedeš předpisy na tvorbu identifikátoru, tak nepoznáš zda se jedná o interface.
Rozdíl je prakticky jenom v tom, že tvůj předpis je "able" a u sousedů mají předpis "I". Lingvistické záležitosti mě nezajímají.

Jenže pojmenování identifikátorů je lingvistickou záležitostí nezávisle na tvém zájmu.