[C++ vs. C#] jsou nejake vetsi rozdily v zapisu?

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Pe 7. 10. 2005 11:47

Kdyz se podivam na zdrojovy kod jednoho ci druheho jazyka jsou nejake vetsi rozdily v zapisu? Dik

// Howard - upraven nazev, cti pravidla sekce
Pe
Junior

Odeslat příspěvekod podlesh 7. 10. 2005 11:56

Ano, jsou.
podlesh
Kolemjdoucí

Odeslat příspěvekod tiny 8. 10. 2005 14:52

Moj nazor je zasa taky, ze nejake vacsie rozdiely v zapise nie su.

Raz ked som potreboval vytvorit class diagram zo zdrojaku v C# a nemal som poruke case nastroj na reverse enginering C#, tak som pouzil daco na C++ a vytvorilo to pomerne spravny class diagram. Aj ked pocas generovania to vypisovalo hoodne vela warningov :-)

Inokedy som algoritmus z C++ presuval do C# a az na dake drobnosti som nemusel robit ziadne zasahy.
tiny
Junior

Odeslat příspěvekod Zorg 8. 10. 2005 14:57

Moc velké ne, jazyky jako Java, C#, C++ mají +- stejnou syntaxi.
Zorg
Junior

Odeslat příspěvekod JIV 8. 10. 2005 16:39

by som povedal ze c# bol navrhuty aby s mensimi rozdielmy sedel pri prechode z c++ ... MS sa snazi aby vecsina programatorov (ti c++) zacali pouzivat C# - mensie problemy pri prechode
All living things must eat.
As I have said, all living things must eat.
Podpora X
JIV
Pokročilý
Uživatelský avatar

Odeslat příspěvekod xtonda (novy) 8. 10. 2005 17:22

tiny píše:Inokedy som algoritmus z C++ presuval do C# a az na dake drobnosti som nemusel robit ziadne zasahy.


Pokud jde o syntax tak samozřejmě C# (stejně jako Java) je velmi výrazně inspirován syntaxí C a C++, ale pokud jde jazyk jako takový, tak C# oproti C++ je velmi významný krok vpřed, řekl bych srovnatelně významný jako byl z C na C++, rozhodně se na C# nelze dívat jako na "trochu jiné C++"
xtonda (novy)
Junior

Odeslat příspěvekod tiny 8. 10. 2005 20:49

xtonda píše:Pokud jde o syntax tak samozřejmě C# (stejně jako Java) je velmi výrazně inspirován syntaxí C a C++, ale pokud jde jazyk jako takový, tak C# oproti C++ je velmi významný krok vpřed, řekl bych srovnatelně významný jako byl z C na C++, rozhodně se na C# nelze dívat jako na "trochu jiné C++""/quote]


Ja som nehovoril, ze C# je len trocha iny C++. Hovorim len, ze maju podobnu syntax navonok a zdrojovy kod vyzera podobne. To je jedine co maju spolocne. Vo vnutry funguje kazdy uplne inak.
tiny
Junior

Odeslat příspěvekod ropman 9. 10. 2005 16:31

prave sa rozhodujem ci zacat programovat v C#... ale zaujima ma zopar veci. ako sa robia klasicke "oknove" aplikacie pod C# ? je to rovnako zlozite ako programovanie cez win32 API pod C++, alebo to maju zjednodusene nejakymi classmi, udalostami etc... ? alebo sa programuju cez vizualne IDE ako delphi (kt. je potom najlepsie?)
ako je to napr. s programovanim hier, podporuje to aspon DirectX ???
kde vsade treba instalovat .NET ak chcem spustit C# aplikaciu? zahrnul to MS aspon do novsich service packov ???
ropman
Junior

Odeslat příspěvekod JIV 9. 10. 2005 16:34

- vo VS mas moznost robit Form aplikacie pomocou RAD (nahadzes co potrebujes)
- v C# moses robit DX
- na spustenie .net aplikacie treba mat nainstalovany Framework (od Win2003 je v systeme od nainstalovania) pod winxp a menej treba stiahnut asi 20mb subor
All living things must eat.
As I have said, all living things must eat.
Podpora X
JIV
Pokročilý
Uživatelský avatar

Odeslat příspěvekod LubosD 9. 10. 2005 16:48

win32 v C++ je hrůza...jeden z důvodů, proč jsem utekl k Linuxu. Tam je to v C++ pohoda... (Qt/GTKmm)
Luboš Doležel, AbcLinuxu.cz
LubosD
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod ropman 9. 10. 2005 16:50

dik, ale daju sa robit win aplikacie aj obyc. pisanim kodu ? nemas nejaky example kt. takto vytvori okno a vypise do neho text ? a to VS je vporovnani napr. s delphi na akej urovni? (lepsie,horsie).
skoda ze to MS nedal napr. do winxp SP2...
ropman
Junior

Odeslat příspěvekod ropman 9. 10. 2005 16:54

LubosD píše:win32 v C++ je hrůza...jeden z důvodů, proč jsem utekl k Linuxu. Tam je to v C++ pohoda... (Qt/GTKmm)K/quote]

jj preto ma zaujima ako je to v C#
ropman
Junior

Odeslat příspěvekod pexxi 9. 10. 2005 17:48

xtonda píše:...tak C# oproti C++ je velmi významný krok vpřed, řekl bych srovnatelně významný jako byl z C na C++...
C/quote]

No, ja by som to zas tak evolucne nebral. Kazdopadne C# je odpoved M$ na Javu, kedze sa mu nepodarilo vnasat ten svoj "bordel" do tohto jazyka... Osobne mam voci jazyku C# velky odpor, nikdy by sa neuchytil, keby za nim nestala taka spolocnost, ako je M$, pretoze je to zase "len" dalsia implementacia upraveneho C++ inspirovana niektorymi vecami z Javy a par myslienkami priamo z hlavy vyvojarov Microsoftu, ktorych vsak nie je vela... Jedna z dobrych veci je, ze .NET framework nie je priamo viazany na pouzitie jazyka C#, zavisi od kompilera.

Ako povedal jeden moj znamy: C# nenavidim, ale programujem pod nim, pretoze ma buducnost, ked za nim stoji Microsoft...

Som zvedavy, ako to bude s multiplatformnostou, ktora je hlavnou vyhodou Javy. Existuje sice aj Linuxova implementacia .NET frameworku (Mono), ale predpokladam, ze M$ bude robit vsetko preto, aby programatori pouzivali nekompatibline kniznice, ktore sposobia problematicke portovanie tychto aplikacii na iny OS. A tym sa straca vyhoda frameworku, ktory sa "zmensi" iba na JIT compiler a garabge collector ;-)


lubosD píše: win32 v C++ je hrůza...jeden z důvodů, proč jsem utekl k Linuxu. Tam je to v C++ pohoda... (Qt/GTKmm)
m/quote]

C++ je pohoda aj pod Win32, lenze je rozdiel, ci programujes priamo vo WinAPI, ci MFC, alebo pouzijes kvalitnu objektovu kniznicu ako Qt, so vsetkymi podpornymi nastrojmi, ktore vyvoj v nej ulahcuju. To nie je "vyhoda" Linuxu, ale vyhoda kniznice Qt (ktora existuje, mimochodom, aj pre Win32).


ropman píše:...ale daju sa robit win aplikacie aj obyc. pisanim kodu ? nemas nejaky example kt. takto vytvori okno a vypise do neho text ? a to VS je vporovnani napr. s delphi na akej urovni? (lepsie,horsie).


Daju, avsak to sa nikdy neodporuca, ked dnes existuju RAD nastroje. Vyvoj GUI, totiz spolu s ladenim zabera 90% casu vyvoja, tak preco si ho neulahcit vizualnymi nastrojmi a venovat sa radsej tvorbe samotnej aplikacnej logiky. Niekto namietne, ze vysledny kod je vecsi, ale to je, pri dnesnych 20MB frameworkoch ;-), asi jedno.

Delphi je oproti MSVC na lepsiej urovni, co sa tyka navrhu GUI. Tazko vsak komplexne porovnavat tieto dve prostredia, kedze jedno je pre jazyk C/C++ (a to ma jeden z najlepsich kompilerov, co sa tyka optimalnosti a rychlosti vysledneho kodu), druhe je pre jazyk Object Pascal-Delphi.

Pokial chces vyvijat hry, MS VC sa asi nevyhnes. Predstavit si hru v C#, to je ako predstavit si hru v Jave... Rychlostou je Java priblizne na rovnakej urovni ako C#, kedze tiez pouziva JIT (Just-in-Time compilation).

A roznych demo kodov pre C# najdes na internete miliony, staci hladat na Googli, alebo pozriet priamo na MSDN.COM (odkedy som prvykrat navstivil tento web, je pre mna neocenitelnym zdrojom informaci pri vyvoji pod vsetkym od M$).


ropman píše:...je to rovnako zlozite ako programovanie cez win32 API pod C++, alebo to maju zjednodusene nejakymi classmi, udalostami etc... ?...


To nie je zalezitost jazyka, ale podpornych objektovych kniznic. V C++ mozes vyvijat rychlo a jednoducho, takisto, ako mozes v C# vyvijat pomocou Win32 API, co je vsak, vzhladom na podstatu C# a .NET nelogicke.



Takze v zavere, pokial uz chces programovat pod C#, pouzi bud IDE od M$ (ak si zvyknuty pracovat s tymto prostredim), mozes pouzit takisto Delphi 2005, ktore obsahuje aj podporu pre C# vratane vizualneho navrhu GUI. Potom bude pre teba jednoduchsi prechod napr. na Delphi-Object Pascal, ktory je mozne v novych Delphi skompilovat priamo pre .NET framework.
It's better to be wholly alone, than alone with ass-holes. ;-)
pexxi
Junior

Odeslat příspěvekod ropman 9. 10. 2005 18:30

dik za vycerpavajucu odpoved ;) no v C# som chcel programovat preto lebo sa mi paci syntax tohto jazyka aj ked viem ze je velmi podobna jave. ale kto z obycajnych userov ma nainstalovany framework... takmer nikto... ako doteraz som fungoval na C++ buildery, ale ten je velmi slabo zdokumentovany podla mna a nepodporuje DirectX a dlho uz nevysla nova verzia a asi uz ani nevynde. hlavne ze to podporuje delphi no nechapem borland v tomto smere... delphi zas nechcem preto lebo nemam rad pascal... no ale skusim delphi 2005 a vyberiem si nejaky ten jazyk... len by ma zaujimalo ako programuje vecsina programatorov desktopove programiky pre win (jazyk a IDE)...
ropman
Junior

Odeslat příspěvekod pexxi 9. 10. 2005 18:43

2 ropman: Jeden z jednoduchych identifikatorov je text v MZ hlavicke EXE suboru:

"This program cannot be run in DOS mode." - MS VC
"This program must be run under Win32" - Delphi, BCB

Pokial medzi DLL pouzivanymi danym programom, najdes nejake VBxxx, jedna sa o kod vo Visual Basicu.

Okrem toho, Delphi vytvara vecsinou vecsi kod v porovnani s MS VC, co je vsak vykupene uzivatelskou privetivosotu pri vyvoji.

Vecsina programatorov pouziva MSVC alebo Visual Basic, ci Delphi, ked dlhsie pouzivas tieto prostredia, naucis sa spoznat rozdiel medzi aplikaciami, niekedy uz len z ich chovania, ci pouzitych obrazkov, ikon, tvarov vizualnych prvkov...

Borland sa prestal aktivne venovat BCB, kedze mu tento produkt nevynasal, vzhladom na ovela zdatnejsieho supera MSVC. Preto dane dva produkty integroval do jedneho Delphi (Object Pascal, C++ a teraz aj C#). Okrem toho, maju este CBuilderX, ktory je cross-platformne IDE, umoznujuce zvolit, aky kompiler pre C/C++ pouzit, nema vsak podporu pre vizualny navrh, je to len IDE so vsetkymi pre a proti.

Ziadne IDE nepodporuje DX, zavisi od kniznic a komponentov. Podla mna je mozne v BC pouzit hlavickove subory z DirectX SDK, ale nemam to odskusane, kedze pre DX nerobim. Pre Delphi existuje sada komponentov DelphiX, mozno je nieco podobne pre BCB, ale pre DX jednoznacne odporucam MSVC (aspon zatial...)
It's better to be wholly alone, than alone with ass-holes. ;-)
pexxi
Junior

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků