C# .NET vs. Java?

kk

Re:C# .NET vs. Java?
« Odpověď #105 kdy: 24. 02. 2015, 14:51:08 »
Proč bych měl VS používat? Ani by mi to nešlo nainstalovat. Stačí mi, když vidím ty šmejdy, co v tom píší jiní. Často to ani nejde zkompilovat v Mono.
LOL cim by to tak mohlo byt? Mozna tim ze MONO je jen jakysi pokus o opensource implementaci .NETu jeho vyvojari by spravne nemeli reverzovat vnitrnosti .NETu  a tak tam strilej picoviny, jak je napadne. 

kdyz jsem zjistil, jak tam implementovali treba MaxDegreeOfParallelism u Parallel.ForEach  tak jsem to hovno rovnou smazal jako kompletne nepouzitelne a neduveryhodne. Neveril bych tomu ani 1+1


Kolemjdoucí

Re:C# .NET vs. Java?
« Odpověď #106 kdy: 24. 02. 2015, 14:51:56 »
Proč bych měl před název interface strkat nějaké "X" nebo "I". Je to zápis, který nedává smysl a často se i blbě vyslovuje.

Původně to bylo myšleno pro přehlednost, například třída se jmenovala CFoo, instance Foo, interface se jmenovalo IFoo. IMHO to nebyl úplně špatný nápad, je to přehlednější než třída Foo a instance foo.

Kit

Re:C# .NET vs. Java?
« Odpověď #107 kdy: 24. 02. 2015, 14:53:50 »
No ked si tam napisete: "SomNeskusenyCsharpProgramatorAHejtujemHo" tak vam IDE nevynada zato. Jo mensia rada - ostante teda v JAVE a vo VIM. Pokrocilejsie nastroje nechajte na skusenejsich :)

Ještě mi poraď, jak se VS instaluje do Ubuntu. Nebo raději ne, nestojím o to.

Kit

Re:C# .NET vs. Java?
« Odpověď #108 kdy: 24. 02. 2015, 14:58:26 »
Původně to bylo myšleno pro přehlednost, například třída se jmenovala CFoo, instance Foo, interface se jmenovalo IFoo. IMHO to nebyl úplně špatný nápad, je to přehlednější než třída Foo a instance foo.

Názvy CFoo, IFoo, Foo a foo si co do šílenosti nemají co vyčítat. Nepoužívám je.

I bez prefixů lze velmi snadné rozpoznat Třídu, instanci, metodu() i interface. Prefixy jsou zbytečné.

whata

Re:C# .NET vs. Java?
« Odpověď #109 kdy: 24. 02. 2015, 14:58:46 »
Když porovnám VS2010 (2013 jsem zatím neviděl) s tím, co umí Eclipse nebo Intellij Idea jednoduše na right-click nebo jednoduchou zkratkou přes Alt-Enter, tak je to nesrovnatelné drbání se pravým palcem u nohy na levém oku. Jediný problém s Intellij Idea je to, že plná verze je komerční, nicméně i ta free je na tom líp, než VS Ultimate edition :-)

Ohledně maďarštiny - to je další peklo. Kromě toho, že to další písmeno a) nic neříká, b) je matoucí, c) je netransparentní, tak hlavně d) stejně jako jakákoli dřívější maďarština vede k naprostému pazvyku brát to písmeno jako název třídy - ve výsledku u nás v C# projektech vidím ICustomerDao a k němu CustomerDao jako implementaci. Až jednou přejdem z SQL třeba na Mongo, tak nevím, zda přepíšou stávající implementaci nebo udělají CustomerDao2...? Argument jak si to uděláš, tak to máš, neberu, neboť IList/List je typický příklad, kdy už je to zprasené v dotNet core framework. V Javě zcela jasně vidím rozdíl v interface (List) a různých typech implementací (ArrayList a LinkedList) už z názvu třídy.


atarist

Re:C# .NET vs. Java?
« Odpověď #110 kdy: 24. 02. 2015, 15:04:59 »
projekty, u nichz "hrozi", ze budou muset byt podporovany treba vic nez 5 let, to stavi jen na otevrenych technologiich

Otázkou je, zda to stačí. Stejně tu je riziko, že nebudou mít kapacitu udržovat tu otevřenou technologii, když ji opustí původní autoři.

Budu mit minimalne jednu jistotu - zdrojaky, s kterymi mam mnohem vetsi sanci to rozchodit nez s uzavrenou technologii, kterou uz vyrobce nepodporuje. Priklad mam mozna absurdni ale o to zavaznejsi: jedna aplikace naprgana zcasti s pouzitim ActiveX. Pro mladsi - to mela byt jedna z technologii (z dilny MS), ktera mela spasit cely IT svet, dneska samozrejme deprecated. Dalsi aplikace pouzivajici vbrun6xx.dll - taky smula dneska (a to je aplikace s velkou uzivatelskou zakladnou). Dneska to puvodni autori prepisuji na otevrenejsi reseni, protoze je to stalo krvave prachy.

JurP

Re:C# .NET vs. Java?
« Odpověď #111 kdy: 24. 02. 2015, 15:17:49 »
Obcas mam pocit, ze ti, co tu pise take nepravdive kktiny ohladom VS a C#, tak to videli tak akurat z rychlika, na nejakom,skolskom projekte. Je to smutne. Ostante radsej v jave. Java, ktora nepodporuje linq, nepodporuje extension metody, generika su na tom lepsie. Co dodat :P

Kolemjdoucí

Re:C# .NET vs. Java?
« Odpověď #112 kdy: 24. 02. 2015, 15:18:48 »
I bez prefixů lze velmi snadné rozpoznat Třídu, instanci, metodu() i interface.

Výše uvedené tvrzení není platné pro dvojici "instanci" "interface".

zcela jasně vidím rozdíl v interface List a různých typech implementací ArrayList

Ten je kde přesně ? Když to má jedno velké písmeno tak je to jasně interface a když to má dvě velké písmena tak je to jasně implementace ? Nebo si pamatuješ názvy 2500 interface v hlavě ?

Aby bylo jasno neobhajuji maďařštinu, jen že situace není tak jednoduchá.

sadsa

Re:C# .NET vs. Java?
« Odpověď #113 kdy: 24. 02. 2015, 15:32:47 »
I bez prefixů lze velmi snadné rozpoznat Třídu, instanci, metodu() i interface.

Výše uvedené tvrzení není platné pro dvojici "instanci" "interface".

zcela jasně vidím rozdíl v interface List a různých typech implementací ArrayList

Ten je kde přesně ? Když to má jedno velké písmeno tak je to jasně interface a když to má dvě velké písmena tak je to jasně implementace ? Nebo si pamatuješ názvy 2500 interface v hlavě ?

Aby bylo jasno neobhajuji maďařštinu, jen že situace není tak jednoduchá.

Ten rozdiel je ten, ze ked mam interface "List", tak cokolvek by som pred to pridal ("Array" v tomto pripade) je uz konkretna implementacia.

Ked mam napriklad interface "CarBuilder", tak implementacia by bola "XCarBuilder", teda napr. "DefaultCarBuilder" alebo "CustomCarBuilder".

Existuje aj druhy sposob, ak viem ze CarBuilder je interface, tak CarBuilderImpl je jeho implementacia. Tu je ale "problem", ze mozem takto pomenovat len jednu implementaciu.

V praxi sa rozhodujem podla toho, co potrebujem / co viac vyhovuje. To nie je o tom, ze to je nekonzistentne, vzdy sa to da pomenovat tak, aby to bolo uplne zrejme co je co.

perceptron

Re:C# .NET vs. Java?
« Odpověď #114 kdy: 24. 02. 2015, 15:35:39 »
Citace
Obcas mam pocit, ze ti, co tu pise take nepravdive kktiny ohladom VS a C#, tak to videli tak akurat z rychlika, na nejakom,skolskom projekte.
vy ste tiez videli javu z rychlika pan general tak uberte pary

---------------

tie konvencie v jave (a mnohych dalsich jazykoch) madarsku notaciu opustili. prakticky v kode je jedno ci zoznam "List<Troll>" je interfejs alebo abstraktna trieda alebo konkretna implementacia.

riesi sa to predponou, ci uz arraylist alebo defaulttrollservice alebo simpletrollservice

ak vam to velmi vadi tak si mozete v ide nastavit malovanie interfejsov a abstraktov inou farbou

takisto konvencie ako privatne premenne s podciarkovnikom alebo predpona mStudents na memberoch sa riesia viac v ide a v legacy projektoch

niekde v low level jazykoch malo vyznam vediet ci nieco je long alebo int uz podla nazvu ale dnes uz je to jedno. alternativne ked v scale uz su interfaces, triedy, abstraktne triedy, companion triedy, traity, to by bolo prefixov..

aj tak potom clovek pride do javascriptu alebo haskellu a tam mu musi prdnut pod deklom

Lael Ophir

Re:C# .NET vs. Java?
« Odpověď #115 kdy: 24. 02. 2015, 15:46:23 »
nesmysl typu Java ME, kterého se Java zbavila už před 5-10ti lety, teď Microsoft u dotNet prosazuje jako horkou moderní novinku? :-)
Odlehčené verze .NET Frameworku jsou tu pěkných pár let.

Na věci, které jsou platformově závislé, existují, celkem logicky, platformově závislé knihovny.
OK, jak zjistit ty běžící services/daemons, plánované úlohy (Windows Task Scheduler, cron), a dostat data ze skeneru? Nechci si poměřovat velikost, vážně mě to zajímá.

Kde je přesně problém s named parameters u DB, nikdy jsem na žádný nenarazil...?
JDBC named parameters (pořád ještě?) neumí. Dají se použít další knihovny, ale otázka je, jestli autoři Javy neznají named parameters, nebo je považují za zbytečné.

Viz například Silverlight, který měl být vlajkovou lodí a dnes po něm neštěkne ani pes - a společnosti, které na tom postavily svůj business, si teď rvou vlasy...
SilverLight je založený na XAML, a migrace je poměrně jednoduchá.

whata

Re:C# .NET vs. Java?
« Odpověď #116 kdy: 24. 02. 2015, 15:47:18 »
zcela jasně vidím rozdíl v interface List a různých typech implementací ArrayList

Ten je kde přesně ? Když to má jedno velké písmeno tak je to jasně interface a když to má dvě velké písmena tak je to jasně implementace ? Nebo si pamatuješ názvy 2500 interface v hlavě ?

Aby bylo jasno neobhajuji maďařštinu, jen že situace není tak jednoduchá.

Předřečníci už částečně odpověděli, já jen dodám, že tím jsem měl na mysli, že z názvu třídy jasně vidím podstatu implementace. Stejně jako v případě Map, HashMap, TreeMap, LinkedHashMap mám představu o schopnostech a efektivitě dané struktury. V dotNet vidím pouze IDictionary / Dictionary, pokud budu chtít sorted, tak ji najdu/pojmenuju jak?

Kolemjdoucí

Re:C# .NET vs. Java?
« Odpověď #117 kdy: 24. 02. 2015, 15:49:50 »
Ten rozdiel je ten, ze ked mam interface "List", tak cokolvek by som pred to pridal ("Array" v tomto pripade) je uz konkretna implementacia.

"Mám interface" znamená co ? Že si pamatuješ 2500 názvu interface v projektu a knihovnách zpaměti ?

Když se dostaneš do projektu kde mají Tunnel a MegaTunnel, tak Tunnel je class nebo interface ?

Lael Ophir

Re:C# .NET vs. Java?
« Odpověď #118 kdy: 24. 02. 2015, 15:51:29 »
Chci, protože ty platformy jsou rozdílné, a napsat to jednou znamená, že to bude špatně na všech platformách.
Psát tu samou aplikaci třikrát je vzor produktivity :)

A to, že jsou ty věci v knihovnách, je snad správně – proč by to mělo všechno být v základní platformě?
...
To je podle mne nedostatek.
To snad nemůžete myslet vážně. Proč bych měl na základní operace používat externí knihovny?

...Protože kompletní syntaxi obsáhne programátor za chvilku a v kódu ho pak nepřekvapují různé obskurní shluky symbolů.
To máte na mysli třeba to že v regexech musíte escapovat, a v Javě escapovat ještě jednou? Jo, obskurní shluky symbolů, to popisujete celkem dobře :/

sadsa

Re:C# .NET vs. Java?
« Odpověď #119 kdy: 24. 02. 2015, 15:57:26 »
Ten rozdiel je ten, ze ked mam interface "List", tak cokolvek by som pred to pridal ("Array" v tomto pripade) je uz konkretna implementacia.

"Mám interface" znamená co ? Že si pamatuješ 2500 názvu interface v projektu a knihovnách zpaměti ?

Když se dostaneš do projektu kde mají Tunnel a MegaTunnel, tak Tunnel je class nebo interface ?

Ano, ako to nepisal magor tak MegaTunnel je implementacia a Tunnel je interface. Tunnel nemoze byt abstraktna trieda pretoze to by sa volalo AbstractTunnel (rovnako plati ja pre AbstractMegaTunnel).

Rovnako moze byt Tunnel trieda a MegaTunnel podtrieda.