Visual Basic .NET ako folklór?   zodpovězená otázka

VB.NET

Všimol som si, že takmer všetci stáli prispievatelia na týchto stránkach sa preorientovali na C#. Pracuje sa v ňom lepšie, alebo ich len prinútili okolnosti (bližší k iným rozšíreným jazykom)?

Naozaj náš milý VB .NET zostane iba ako folkór? Na internenete je ho v porovnaní s C# stále menej a menej.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Porušujete pravidla fóra, konkrétně sekci Flame.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Já dělám ve VB.net, protože mi lépe sedí jeho syntaxe (ačkoli je ukecanější). Ve finále je to jedno, protože framework to přeloží všechno plusmínus stejně, ať to píšete ve VB.NET nebo v C#.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

To je přesně ono. To že je ukecanější ho zároveň dělá mnohem přehlednějším. Klasický příklad:

      End If
    Next
  End Sub
End Class

      }
    }
  }
}

Co je přehlednější?

nahlásit spamnahlásit spam 1 / 3 odpovědětodpovědět

Tak tak. V IDE mi sice ty uzavírací závorky něco obarví a vypáruje, ale není nad to vědět, že mi končí tu podmínka, tu smyčka, tu procedura...

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Zvláštna situácia. Stretli sme sa traja, ktorí si myslia, že vo VB .NET sa lepšie programuje. Žiadny iný názor. A predsa je C# viac preferovaný.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Vzhledem k tomu, že tohle téma má v názvu Visual Basic a je zařazené ve fóru pro Visual Basic na webu VbNet.cz, tak si nemyslím, že to je úplně průkazné.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Většina lidí, kteří programují v .NETu, používá C# - spousta lidí přešla z Javy nebo z C++, tak je jim jeho syntaxe bližší.

Lidí, kteří dělali ve VB 6 a přešli na .NET, tolik není a nebylo.

Já jsem na C# (ač trochu nerad) přešel taky, jelikož nabízel funkce, které VB.NET prostě neumí, například yield return nebo víceřádkové lambda funkce (ty umí až od teď).

Nedávno jsem v něm musel napsat něco menšího a použil jsem VS 2010. Ve VB je to prostředí strašně zabugované a pomalé, C# ve VS2010 je naprosto v pohodě, rychlý a bezproblémový, používám jej denně.

Takže i když VB některé nové funkce doplnil (například implicitní konce řádků a ty víceřádkové lambdy), přecházet zpět nebudu - C# má lepší vývojové prostředí a pořád umí víc věcí než VB (i když VB má několik roztomilých fíčur, které C# mít nikdy nebude).

Složené závorky vs. Next, End If atd., to je jen věc zvyku, během týdne vám to přijde naprosto přirozené.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Tak toto je odpoveď, ktorej som sa najviac obával...

Utešiť ma môže iba to, že pre absolutného laika veta "programujem v sí šarp" može znieť veľkolepejšie ako "progamujem vo vižual basiku" :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mě to nepřišlo přirozené a přehledné ani za ty 4 roky. C# že má lepší vývojové prostředí? Když pominu některé věci, které má VB a nemá C#, tak jsou ty prostředí uplně stejná. To samé je s rychlostí. A co se týče bugů, nenarazil jsem nikdy na žádný specifický pro VB - vždy to byl bug týkající se celého Visual Studia. VB neuměl kód na více řádků bez použití _ až do verze 2010, ale C# zase už od první verze až doteď neumí With nebo něco podobného (nebo se pletu?).

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Konkrétně ve když ve VB v poslední verzi VS napíšete lambda funkci, která má více než 5 řádků a je v ní nějaký compile error, tak dokud jej neopravíte, po napsání každého znaku se VS tak na 1 sekundu zamyslí.

IntelliSense ve VB taky nenabízí úplně nejlogičtější varianty - měl jsem enum Token a proměnnou currentToken, a když jsem chtěl napsat Token.End, tak po zmáčknutí tečky VB dosadil currentToken (ať jsem psal velké nebo malé t). A takových věcí tam bylo asi 10.

V C# ani jedno z toho nedělá.

Nebo další nelogičnost - když napíšu název třídy z frameworku, ale nemám Import, tak musím přejet kurzorem na další řádek a vrátit se zpátky, aby bylo možné zmáčknout Ctrl-tečka a import si nechat vygenerovat. V C# se ten malý čuplík objeví hned jak ten název třídy napíšete. Je to drobnost, ale tohle používám asi tak 500x denně.

With v C# není, ale to se dá nahradit proměnnou a je to dokonce o řádek kratší (i když ne tak přehledné):

With něco.něco.něco
    .a = 15
    .b = 7
End With

vs

var c = něco.něco.něco
c.a = 15
c.b = 7

Ano, VB má pár drobností, které C# nemá, ale bez nich se dalo žít lépe, než bez těch drobností, co má C# a VB ne. S poslední verzí VS se to sice dost srovnalo, ale yield return používám tak jednou týdně a ve VB není.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ďakujem všetkým za odpoved. Je mi trocha ľúto, že bola vymazaná odpoveď pána Linharta, ktorá bola z môjho pohľadu najoptimistickejšia :-). Ale úplne to chápem.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback