Tři veteráni: uživatelské srovnání integrovaných prostředí pro jazyk C#

Diskuze čtenářů k článku

brano  |  01. 05. 2007 00:36  | 

Neni fer davat ako minus u C# 2005 Express absenciu web nastrojov, na to je Visual Web Developer 2005 Express

Souhlasím  |  Nesouhlasím  |  Odpovědět
Mem_, Mem_  |  03. 05. 2007 12:39  | 

Tak já bych jako mínus dal nemožnost vývoje pro .NET CF (kapesní počítače a smartphony), nebo jde některé z těch free řešení pro tenhle účel použít?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Matěj  |  06. 06. 2007 21:56  | 

Kup si za 8k Visual Studio 2005 Standart Ed., dostaneš hlavně tu roztomilou zelenou krabici :D, a jako třešničku Visual studio s kompletní podporou CF :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jirka  |  01. 05. 2007 00:51  | 

Souhlasím s předchozím komentářem o VSC#Express, Web Developer je príma. Zároveň bych chtěl říci redakci živě - konečně po dlouhé době článek, který je vtipný, pravdivý, záživný, má spád, zajímavý a především napsaný bez jazykových chyb. Ostatní autoři by se zde mohli inspirovat, přispělo by to k zvýšení kvality celého webu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jakub Hegenbart  |  01. 05. 2007 01:17  | 

"Čas ovšem nejde zastavit, čehož důsledkem je, že C++ s OOP nebylo finálním stupínkem v genezi historie softwarového vývoje. Následovníkem se stává dynamické komponentové programování, které sice staví na základech položených OOP..."

Hmm, spíše by bylo lepší říct, že C++ je poloobjektový jazyk a tak se musí na komponenty vymýšlet složité frameworky, které ve třicet let starém Smalltalku nejsou zapotřebí... A "opravdové pochoutky"? Bohužel ani ty "nulovatelné typy" (zde třeba je vidět, kam vedou chybějící union typy - ale to aspoň moftí inženýři přiznávají), "neúplné třídy" nebo "extension methods" (plánované do C# 3.0) IMHO nejsou ani tak lahůdky jako spíš záplaty na fundamentální nedostaky jazyka. Aneb:

"Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary."

Asi zůstanu u Gauche, má to jen pár mega, ale umí to mnohem víc, než jak by se mohlo zdát.

Souhlasím  |  Nesouhlasím  |  Odpovědět
fbquick  |  01. 05. 2007 07:00  | 

Pane Jakube, jste bezpochyby vybornym programatorem znajice svoje. O tom neni pochyb, ale kdo ze zamestnavatelu oceni ze zustanete u Gauche ci Boo. Malokdo....

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jakub Hegenbart  |  02. 05. 2007 00:01  | 

Myslím, že mému zaměstnavateli je to celkem jedno - ideální stav, který mi vyhovuje.

Souhlasím  |  Nesouhlasím  |  Odpovědět
azazel  |  01. 05. 2007 08:29  | 

kam podle tebe vedou chybějící uniony? Union je nesmysl vymyšlený v době, kdy prostě bylo málo paměti a musel se šetřit každý bit - dnes nemají žádný význam a nikdo je nepoužívá

podle mého názoru je C#3.0 (nepléct si s .net3.0 to je zcela něco jiného) z velké většiny hrozný paskvil, který jinak velmi dobrý jazyk hodně poškodí (pokud projde, což není úplně jisté) - dopadne to jako u C++, pokud chcete programovat dobře, tak musíte na 90% možností toho jazyka hned od začátku zapomenout

Souhlasím  |  Nesouhlasím  |  Odpovědět
ares, ares  |  01. 05. 2007 09:36  | 

uniony maji stale sve misto v embedded aplikacich a to ne z duvodu nedostatku pameti

Souhlasím  |  Nesouhlasím  |  Odpovědět
developer, developer  |  01. 05. 2007 10:16  | 

Union je vynikajuca vec. Skuste bez neho navrhovat napriklad datove reprezentacie vlastnych sietovych protokolov...

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jakub Hegenbart  |  01. 05. 2007 23:55  | 

Zase někdo, kdo si plete Cčkovské unie s disjoint union v pořádném typovém systému? Vystřílet by vás měli. Doporučuju přečíst http://www.cs.cornell.edu/Info/Projects/NuPrl/book/node39.html. Chmm. Nikdo union typy nepoužívá, takže Haskell nefunguje. (Nápověda: C#ovské "Typ?" je totéž, co "Typ | None" v pořádném typovém systému...odkud to asi okopírovali, že? )

Souhlasím  |  Nesouhlasím  |  Odpovědět
deda.jabko  |  01. 05. 2007 11:26  | 

s postupem casu taky zacinam mit ten dojem, ze objektovy pristup nemusi byt ten nej... (nektere problemy dedicnosti, oo navrhu, atp.)

realizace c# 3.0 me pripada, jak kdyz pejsek s kocickou pekli dort. pominu-li veci, ktere v c# jsou jiz od zacatku a sly nejak zkousnout (napr. implicitne nevirtualni metody -- zrychluje to beh, ale komplikuje navrh, stuktura struct -- nove hodnotove typy v objektovem jazyce... malinko paradox ne?)
kdyz se k tomu pripoji partial classes, ktere byly zaclenene, jenom proto aby se lip visual studiu pracovalo s kodem... nebo konstrukt "var", ktery byl pry zacleneny kvuli tomu, aby se dalo lip pracovat s databazemi... (ac to jde uplne mimo koncepci celeho jazyka) .... proste kockopes

btw. kdyz jste zminil gauche (ten sice nepouzivam, protoze mam vlastni interpretr, hec!)... ale uz tu vidim remcali s dotazy, kde se da scheme v praxi pouzit... pomalu nikde... kdyz se nesnazite ;-] (i kdyz se v nich da programovat plnohodnotne objektove)... ale scheme/lisp dokaze tak dokonale ponicit mozek, ze pak pri programovani v jave nebo php, budou ostatni cumet, co je to za kouzla ;-]

Souhlasím  |  Nesouhlasím  |  Odpovědět
wessan  |  01. 05. 2007 11:53  | 

Myslim, ze tohle je otazka preferenci. Nekteri nadsenci opravdu preferuji Smalltalk a podobne. Ale podivejte co se realne prosadilo - Java, ktera je extremne prisna, nabizi pomerne omezeny pocet featur ve srovnani s jakym koliv jinym jazykem. Podle me je absence dynamickych trid apod. velice dulezitym faktorem pro velke aplikace, u kterych se vyzaduje spolehlivost a mala chybovost kodu. Kdybyz se zeptali tvurcu Javy co by zmenili, kdyby delali Javu nyni, tak odpovedeli dedicnost a meli dost argumentu proc by to tak melo byt a opravdu byly opravnene.

Podle me neni dulezitym faktorem mnozstvi featur, ale celkova koncepce jazyka a to jak do sebe vsechno zapada. Napriklad C#, byl podle me ze zacatku jeste pomerne povedeny a kvalitni jazyk, i kdyz uz tam se vyskytly featury, ktere podle me byly zbytecne zpatecnicke. Dnes uz neni C# rozhodne dobrou ukazkou objektoveho jazyka jestli vyjde verze 3.0 a bude principielne nekde na pomezi stareho C++ a relacnich DB. Takze bych novinky v C# nebral jako krizi objektove orientovanych jazyku - je to je krize jednoho jazyka, se kterym microsoft dela to, co je jeho zvykem.

Pokud se bavime co je dnes trendem, tak je to aspectove orientovane programovani, pro ktere jsou jako stvorene anotace. A pokud se bavime jaky jazyk bude dominantni za 10 let, tak favorite jsou podle me 3 - nejaky jazyk od Adobe vychazejici z ActionScriptu, Java a nebo jazyk, ktery tu jeste neni a teprve prijde.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Michal Kára  |  02. 05. 2007 11:18  | 

Java je super, je to spolu s cistym C muj oblibeny jazyk, prave pro svoji jednoduchost. Mozna bych do ni pridal:
- vystupni parametry
- properties (ve spojeni s reflection se s tim daji delat elegantni veci)
- foreach konstrukt
- _mozna_ events/delegates

...ale to je tak vsechno.

C# sice nabizi o neco sirsi skalu moznosti, ale je uz mi taky prijde ponekud preplacane.

Souhlasím  |  Nesouhlasím  |  Odpovědět
deda.jabko  |  02. 05. 2007 12:01  | 

ale foreach tam uz je od verze 1.5... zkust
List<String> list = new ArrayList<String>();
list.add("foo");
list.add("bar");
for(String s : list)
System.out.println(s);

Souhlasím  |  Nesouhlasím  |  Odpovědět
wessan  |  03. 05. 2007 00:43  | 

vystupni parametry? Nevim co tim mylite, ale navratova hodnota z metody mi staci.
properties nevim co myslite - ale zkousel jste anotace?
foreach tam je, jen vypada elegantneji
sprava udalosti je tam objektovym principem a toho delegati nezapadaji ... nic extra se tim neziska vymenou za zbytecne konstrukty v jazyce

Souhlasím  |  Nesouhlasím  |  Odpovědět
deda.jabko  |  03. 05. 2007 12:05  | 

vystupni parametry v c# delaji neco takoveho:

void foo(out int x) {
x = 10;
}
foo(out y);
y => 10

properties, jsou takove elegantnejsi getters & setters, v kodu se tvari jako promenne, ale ve skutecnosti misto cteni, zapisu se vola moteda.... a s notacemi nemaji nic spolecneho.
class Foo {
int bar;
int baz {
get {
Console.WriteLine("Nekdo cte");
return bar;
}
set {
Console.WriteLine("Nekdo zapisuje");
bar = value;
}
}
void blah {
this.baz = 1;
Console.WriteLine(this.baz);
}
}

jinak jsou to veci bez kterych se opravdu da obejic

Souhlasím  |  Nesouhlasím  |  Odpovědět
wessan  |  03. 05. 2007 12:28  | 

Jasne chapu ... myslim, ze se bez propertieas rad obejdu ... radsi necham ide vygenerovat gettry/settry za me, tohle mi prijde zbytecne duplicitni vec na totez

ty vystupni parametry mi prijdou, ze zbytecne komplikuji model "nasyp tam vstupy dostanes vystup", takovy request response ... tohle mi prijde takove dost zvlastni a ztezujici citelnost kodu a data-flow obecne

jinak kazdy preferuje neco jineho, ale tohle bych v jave opravdu nechtel ... chapu, ze C# musi mit neco aby se odlizoval od javy, ale myslim ze java by mela byt opatrna a neprijmat kazdy "dobry" napad, ktery se v dlouhodobem meritku ukaze jako spatny

Souhlasím  |  Nesouhlasím  |  Odpovědět
wessan  |  03. 05. 2007 12:32  | 

jo jeste ty properties ... tam jde vlastne o zjednoduseni, aby se nemuseli volat metody set/get ale mohlo se pouzivat prirazeni a cteni promene asi, ze? ... zajimave, ale radsi bych nechal tu zasadu, ze na promene ve tride se proste nesaha a pouzivaji se pro jeji manipulaci metody ... pak se k necemu pristupuje "rovnou" k necemu ne

navic neco co se tvari jako jednoduche prirazeni muze delat uplne neco jineho a clovek, ktery nezna kod do hloubky a jen ho prochazi, tak muze mit dost zkreslenou predstavu co se vlastne v kodu deje

Souhlasím  |  Nesouhlasím  |  Odpovědět
mol  |  01. 05. 2007 01:24  | 

a) pozor na to, ze z free verze Turbo produktu lze mit na pocitaci nainstalovany pouze 1, na rozdil od MS Express, ktere lze mit treba vsechny (viz predrecniky zminovany Web Developer)
b) zminovane Turbo C++ neni ovsem pro managed c++, ale pro Borlandi VCL, proto taky i jiný GUI malovátko
c) SharpDevelop podporuje krome C# a VB.NET i IMHO mnohem lepsi jazyk Boo a to vcetne GUI návrháře (byť poněkud zabugovaně)

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jakub Hegenbart  |  01. 05. 2007 01:36  | 

Nechtěl jsi říct "zaboogovaný"? Ale souhlas, Boo je bezva věc.

Souhlasím  |  Nesouhlasím  |  Odpovědět
David  |  01. 05. 2007 09:40  | 

Teda nevím, ale nejsem si jist, že by autorovi byl úplně jasný koncept OOP. Nechápu, co chtěl autor říct větou:

<i>Následovníkem se stává dynamické komponentové programování, které sice staví na základech položených OOP, ovšem jde mnohem dál.</i>

Možnost vytváření komponent přece není žádné rozšíření OOP? V tomto směru by měl autor svými úsudky šetřit...

Souhlasím  |  Nesouhlasím  |  Odpovědět
Necroman, Necroman  |  01. 05. 2007 09:51  | 

Osobně používám Visual Studio 2005: Team Suite (legálně podotýkám) a to je vybaveností a možnostmi opravdu trochu jinde, než verze Express. Bylo by dobré porovnat i jak si vedou pokročilejší verzi verze od Microsoftu, už taková verze Professional je na hodně dobré úrovni.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Pepa  |  02. 05. 2007 09:30  | 

ale taky je to cenou někde úúúplně jinde. A cílová skupina těchto nástrojů není skupina korporátních matlafů asp stránek, kteří si tu team edition neumí sestavit sami z opensource/free nástrojů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
pivelix  |  01. 05. 2007 10:16  | 

Ve MS Visual C# Express se mi pokazil designer (podle msdn fora je zatim jedinnym resenim reinstal PC), Turbo C# Explorer mit nemuzu, protoze uz mam Turbo Delphi Explorer, tak mi zbyl #develop, ktery mi ale na to, co potrebuju, bohate staci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Big ben  |  01. 05. 2007 10:45  | 

Driv jsme programoval v nastrojich od Borlandu, pak jsem bolestive(nez jsem si zvykl)presel k MS, a ted kdyz jsem mel na jedny skole neco ucit v Turbo Delphi, tak jsem malem zaplakal..Tem zakum i me se Turbo z niceho nic zasekavalo.. Neni to tak i v Turbo C#?

Souhlasím  |  Nesouhlasím  |  Odpovědět
deda.jabko  |  01. 05. 2007 11:35  | 

problem je, ze microsofti nastroje do verze 2003/2005 zaostavali hodne za ostatnim svetem, at uz za borlandima nebo opensource nastrojame.... (napr. do verze 2005 nemeli nastroje na refactoring!) ale pak pretahli vyvojare z borlandu, okopirovali to nejlepsi z okolniho sveta... a uz se v tom da i programovat ;-] (jak typicke!)

Souhlasím  |  Nesouhlasím  |  Odpovědět
PaJaSoft  |  02. 05. 2007 13:50  | 

Ehm.. ono to pretahovani zamestnancu (doslo i na soudni spor) bylo uz v dobe Visual C++ 1.2 blahe pameti...:-r

Souhlasím  |  Nesouhlasím  |  Odpovědět
cb  |  02. 05. 2007 07:41  | 

Funguje to uz dohormady?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Pepa  |  02. 05. 2007 09:31  | 

Článek není špatný. Dokonce je i čitelný, ale fráze jako je "Je jistě vzrušující sledovat, jak se mládenci z Borlandu s touto výzvou vypořádali." působí dojmem špatného překladu původního článku nebo, pokud je to opravdu autorovo dílo, dost špatným slohem a slovní zásobou.

Já osobně tipuji mizerný překlad špatného angličtináře.

Souhlasím  |  Nesouhlasím  |  Odpovědět
wojta, wojta  |  03. 05. 2007 10:10  | 

Nikde nevidím uvedený zdroj, tak předpokládám, že jde o článek napsaný samotným autorem.Jinak nevím, co se ti na slohu nezdá, ta věta je velice pěkná, taková česká, tohle v angličtině není možné napsat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Mem_, Mem_  |  03. 05. 2007 12:38  | 

Slovosledem se mi ta věta nezdá ani tak česká, jako spíš slovenská, když už Otázka je, jestli je autor Slovák píšící česky (to jsem třeba i já), anebo je článek kompletně přeložen ze Slovenštiny (ale na to má poměrně vysokou kvalitu, což se na CPressu ignorujícím korektury článků zdá podivné )

Souhlasím  |  Nesouhlasím  |  Odpovědět
rek  |  06. 06. 2007 22:31  | 

Tohle neni Babicka ani zadny slohovy cviceni, tak nechapu co je na tom spatneho ... svuj ucel to plni

Souhlasím  |  Nesouhlasím  |  Odpovědět
jetset  |  02. 05. 2007 14:04  | 

Trochu objektivity by to chtelo. Borland C# muze vynikat v editoru jak chce, ale minus v tom, ze nepodporuje specifikaci 2.0 je dost velke. K cemu mi je editor ktery nepodporuje zakladni vlastnosti jazyka. Takze logicky by tam nemelo byt cislo 85, ale cislo 50 (neb verze 1.1 je jenom minoritni zmena oproti 1.0).Borland je znam svoji polovicatosti uz od dob Delphi (plno chyb dosud neopravenych). Dale vytka k ASP.NET u MS je uz vise zminena. Je to sice nestastne, ze to rozdelili , ale co Vam brani si nainstalovat Web Developer. Nadruhou stranu musim rict, ze mne Borland svym editorem velmi prijemne prekvapil a kdyby doladil podporu 2.0 zacal bych uvazovat o jeho aktivnim pouzivani.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Richard Musil, Richard Musil  |  02. 05. 2007 23:13  | 

Kdyby si autor přečetl první kapitolu The C++ Programming Language, zjistil by, že C++ ani být finálním stupínkem nemělo a také by se dozvěděl, jaké otázky si klade a jaké problémy řeší někdo, kdo navrhuje programovací jazyk pro skutečné použití. Požadavek, aby se v něm programovalo "snadno a samo" rozhodně nepatří do top 10.
U C++ navíc hrála velkou roli snaha o kompatibilitu s C. Čímž chci říct, že srovnávání C# s C++ může být zavádějící pokud se bude C# brát jako evoluce C++. Jsou to prostě dva jazyky určené pro různé druhy úloh. C++ se ve své branži osvědčil, C# bych řekl to má ještě před sebou. Otázka také je, pro jaký druh úloh je vlastně C# určen a zda vůbec se Microsoft snaží ho nějakým způsobem profilovat, nebo je to skutečně pokus o "všelék na všechno".

Protože kdybych se měl rozhodovat podle toho v jakém jazyce se programuje snadno a rychle, mohl bych stejně dobře vybrat Python, který obsahuje dynamické typy, uživatelské typy (třídy) plně měnitelné za běhu, možnosti generovat sám svůj kód (lambda, generátory) a jej interpretovat atd. Navíc je dostupný určitě na víc platformách než C#. Všechny tyhle výdobytky zase platí tím, že se o dost hůř ladí, protože chyby nodchytne překladač, ale projeví se až za běhu, a běží pomaleji.

Znamená to, že je horší než C++ nebo C#, nebo lepší?

Souhlasím  |  Nesouhlasím  |  Odpovědět
DvD500  |  29. 06. 2007 19:11  | 

Proč je v tabulce 3 dvakrát sloupec elektronická dokumentace?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Tomas  |  16. 07. 2007 19:17  | 

Dokumentace je podcenovana, a opakovani je matka moudrosti ;)

Souhlasím  |  Nesouhlasím  |  Odpovědět
Vebloud  |  25. 07. 2007 17:34  | 

Docela by mě zajímalo, ve kterém světě ator žije, když v květnu 2007 neví, kdy vyjde .NET Framework 3, když ten vyšel v listopadu 2006

Souhlasím  |  Nesouhlasím  |  Odpovědět
Rudidlo  |  04. 09. 2007 12:26  | 

Jestli jsem si dobře všiml, autor píše, že bude vydán c# 3.0, nikoliv .NET Framework 3.0.

Souhlasím  |  Nesouhlasím  |  Odpovědět
erik  |  06. 11. 2007 20:24  | 

muzete mi nekdo rict proc mi pri zapnuti programu nabehne jit a pres to se nedostanu, jak to vypnu?

Souhlasím  |  Nesouhlasím  |  Odpovědět
Tomixon  |  14. 01. 2008 08:21  | 

"Turbo C# is no longer available. Try Turbo Delphi for .NET for .NET development or Turbo C++ or Turbo Delphi for native Windows development."

Souhlasím  |  Nesouhlasím  |  Odpovědět
Anicka z rise linuxu  |  03. 03. 2008 00:13  | 

jenomze tohle je 100 let stary clanek
Borland je ted CodeGear

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor
Aktuální číslo časopisu Computer

Megatest: 20 powerbank s USB-C

Test: mobily do 3 500 Kč

Radíme s výběrem routeru

Tipy na nejlepší vánoční dárky