» »

C# VS. C++

C# VS. C++

«
1
2

zanchi ::

Zanima me kaj mi priporočate za izdelovanje programov (za Windows 7) C# ali C++? Imam nekaj izkušenj z programiranjem AVR-jev v C-eju. Rabil bi tudi literaturo najbolje kakšen PDF (v Slovenščini, če je možno).

smoke ::

Uporabi C++ ;). Če pa želiš imet GUI aplikacije pa je imho najboljša kombinacija C++ in Qt framework (ki je vbistvu crossplatform).

C# je počasna krava :D

Lep pozdrav

sdgfsdfas ::

ja najbolš da mu svetuješ še MFC, tip je samo mikrokontrolerje programiru v C-ju

techfreak :) ::

C# je najbolj primeren ker je lažji za uporabo ter ima boljšo dokumentacijo in bistveno več literature.

Invictus ::

Če hočeš imeti GUI, uporabi Visual Studio orodja. Vsaj veš da bo delalo.

C# je daleč od počasne krave. Največ počasnosti zakrivijo programerji aplikacij.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Marat ::

C#

smoke ::

Imho se je pa slabo zaklenit na platformo z nekim takim jezikom. Naučiš se dober general-purpose jezik, kot recimo C++, izbereš nek crossplatform framework in pišeš portable kodo. Seveda je jasno da nič ni 100% portable ampak si z C++/Qt dost bolj portable kot pa z .NET

Lep pozdrav

Marat ::

Pol je že bolš Java. Pa poglej si knjigo Head First Java, dobro nauči principe objektno-orientiranega programiranja (kar ti bo koristilo tudi če prešaltaš na kak drug jezik). Sintakso ima pa itak isto kot C#.

roba87 ::

Java.

smoke ::

techfreak :): Od kod pa tebi to da je vec literature za C#? Seveda je logicno, da ce gledas samo po C# knjigah, knjig za (npr.) Python ne bo zraven ;)
Invictus: Hm, torej hoces povedat da ce ne uporabis Visual Studia za programiranje na Windowsih, stvar ne dela?

techfreak :) ::

@smoke: Pri C# vs QT C++ bi vsekakor rekel, da je več literature za C#. Tudi na stackoverflow.com je veliko več vprašanj povezanih z C# kot pa s C++ in QT skupaj.

Qt je smiselno uporabiti pri razvijanju za več platform, če pa si osredotočen na Windows pa ni potrebe. Poleg tega so tudi UI gradniki ponavadi s slabšim dizajnom ter nimaš vseh, ki so pri C# Windows Forms že vgrajeni (recimo Open/Save dialog je pri QTju drugačen in tudi slabši). Ne pozabimo pa tudi na veliko drugih komponent, ki jih je za .NET/Windows Forms na voljo zelo veliko.

Hm, torej hoces povedat da ce ne uporabis Visual Studia za programiranje na Windowsih, stvar ne dela?

Ni nujno, ampak pri VS vsaj veš, da bo delalo. Pri uporabi Mono/MonoDevelop pa boš veliko prej naletel na težave.

Invictus ::

smoke je izjavil:


Invictus: Hm, torej hoces povedat da ce ne uporabis Visual Studia za programiranje na Windowsih, stvar ne dela?

Hočem samo povedat, če že programiraš za Windowse, potem uporabljaj orodja, ki jih požegna Microsoft. Ziher delujejo. Tudi lažje kje v tujini najdeš delo, ker imaš prava znanja.

V tujini ne bodo rekli, o super, za windowse programiraš v QT. Izpadeš kot knof od gat ...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

jype ::

Invictus> V tujini ne bodo rekli, o super, za windowse programiraš v QT. Izpadeš kot knof od gat ...

Za firme, kjer ne razumejo, zakaj je vendor lock-in slab, itak nočeš delat.

Seveda je C# bistveno boljša izbira od C++ že zato, ker je daleč bolj učinkovit. Programerju je treba misliti na bistveno manj reči.

Zgodovina sprememb…

  • spremenilo: jype ()

zanchi ::

smoke je izjavil:

Uporabi C++ ;). Če pa želiš imet GUI aplikacije pa je imho najboljša kombinacija C++ in Qt framework (ki je vbistvu crossplatform).

Mi lahko malo bolj razložiš? Če imaš literaturo se priporočam...

techfreak :) je izjavil:

C# je najbolj primeren ker je lažji za uporabo ter ima boljšo dokumentacijo in bistveno več literature.

Potem mi pa pošlji kaj ;)

Jave nočem ker mi je že požrla zelo veliko živcev, nikakor mi je ne uspe v celoti inštalirat na comp.

techfreak :) ::

V slovenščini boš malo težje našel literaturo, v tujih jezikih se pa najdejo PDFji na internetu. Imaš pa na internetu tudi veliko člankov in tutorialov, čeprav večinoma v angleščini.

zanchi ::

Nima veze če je angleško, vazno da je čimbolj razumljivo napisano...

jizzer ::

C# recimo ta PDF.
Lahko pa še dosti več stvari najdeš tu.
Pa tudi ta tip zna dobro razložit stvari.

Sem opazil zdaj da je še techfreak dal povezavo na Chanel9, se splača pogledat...

edit: In ja tudi jaz priporočam C#, v šoli programiramo v C++, doma mam C# in ti lahko povem kar takoj da je lažji, če že ne lažji pa dosti bolj razumljivejši.

Zgodovina sprememb…

  • spremenil: jizzer ()

techfreak :) ::

zanchi ::

Ker program pa je najboljši za C#?

vorantz ::

um...visual studio seveda

Goran's Blog ::

Visual Studio je najboljši za C#;)

techfreak :) ::

furion ::

C# ce bojo appi sam izkljucno za windows. Sicer to ni samo jezik ampak framework, bo deloval mal pocasnej kot recimo kak winapi based C/C++ app ampak je zelo easy za se naucit pa funkcionalnosti je ogromno. Rapid development ftw xD

Ce hoces cross platform pa bo treba kak QT4 al neki...

Invictus ::

jype je izjavil:


Za firme, kjer ne razumejo, zakaj je vendor lock-in slab, itak nočeš delat.

Ravno tako kot nočeš delat za firme kjer uporabljajo samo neka zastonjska orodja. Preveč overheada.

Tudi Volkswagna ne popravljaš z Renaultovim orodjem.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

techfreak :) ::

Sicer to ni samo jezik ampak framework, bo deloval mal pocasnej kot recimo kak winapi based C/C++ app

Vsekakor ne bo opazno počasnejše, če pa se nekaj zgodi par ms pozneje pa ne bo s tem nič narobe. Pri C++ lahko napišeš hitrejše programe, vendar boš za to potreboval veliko več časa.

darkolord ::

Zaradi enostavnosti asinhronega programiranja in grafično pospešenega vmesnika (WPF) lahko programi v C# mimogrede delujejo bistveno hitreje.

zanchi ::

Dobro sem si naložil VS C#, bom malo sprobal če mi bo všeč bom ostal nekaj časa na C#...

jype ::

zanchi> Jave nočem ker mi je že požrla zelo veliko živcev, nikakor mi je ne uspe v celoti inštalirat na comp.

Če to drži, boš imel verjetno pri programiranju precejšnje težave.

Invictus> Ravno tako kot nočeš delat za firme kjer uporabljajo samo neka zastonjska orodja. Preveč overheada.

Slab trollbait. Qt ni zastonjsko orodje.

smoke ::

techfreak :) je izjavil:

@smoke: Pri C# vs QT C++ bi vsekakor rekel, da je več literature za C#. Tudi na stackoverflow.com je veliko več vprašanj povezanih z C# kot pa s C++ in QT skupaj.

Qt je smiselno uporabiti pri razvijanju za več platform, če pa si osredotočen na Windows pa ni potrebe. Poleg tega so tudi UI gradniki ponavadi s slabšim dizajnom ter nimaš vseh, ki so pri C# Windows Forms že vgrajeni (recimo Open/Save dialog je pri QTju drugačen in tudi slabši). Ne pozabimo pa tudi na veliko drugih komponent, ki jih je za .NET/Windows Forms na voljo zelo veliko.

Hm, torej hoces povedat da ce ne uporabis Visual Studia za programiranje na Windowsih, stvar ne dela?

Ni nujno, ampak pri VS vsaj veš, da bo delalo. Pri uporabi Mono/MonoDevelop pa boš veliko prej naletel na težave.


Več vprašanj glede C# na stackoverflow bi lahko bil pokazatelj tega, da mogoče pa sam jezik tut ni tak enostaven kot ga hočejo/te prikazat ;) Sicer sem pa bolj mislil C++ literaturo. Je pa za Qt kot tak kar precej dokumentacije, knjig iz katerih se lahko učiš.
Kaj se pa tiče izgleda/designa Qt aplikacij na windowsih. Zgledajo identično kot vse ostale windows aplikacije.
A Mono sploh dela na Windowsih? Kakorkoli že, bilo je govora o C++ jeziku :)


jype je izjavil:

Invictus> V tujini ne bodo rekli, o super, za windowse programiraš v QT. Izpadeš kot knof od gat ...

Za firme, kjer ne razumejo, zakaj je vendor lock-in slab, itak nočeš delat.

Seveda je C# bistveno boljša izbira od C++ že zato, ker je daleč bolj učinkovit. Programerju je treba misliti na bistveno manj reči.


Besedi učinkovitost in C# pa redko slišim skupaj. Lahko prosim elaboriraš kaj točno si mislil z učinkovitostjo? Si mislil performančno učinkovit, prostorsko učinkovit,.. ?

zanchi je izjavil:

smoke je izjavil:

Uporabi C++ ;). Če pa želiš imet GUI aplikacije pa je imho najboljša kombinacija C++ in Qt framework (ki je vbistvu crossplatform).

Mi lahko malo bolj razložiš? Če imaš literaturo se priporočam...


Seveda.
Osnove C++: http://www.amazon.com/Primer-Plus-6th-D...
Standardna knjižnica C++: http://www.amazon.com/The-Standard-Libr...
Mogoče še kaj o objektno orientirani analizi in designu: http://www.amazon.com/Applying-UML-Patt...
Qt knjige: http://qt-project.org/books
Qt dokumentacija: http://qt-project.org/doc/qt-4.8/

Invictus je izjavil:

jype je izjavil:


Za firme, kjer ne razumejo, zakaj je vendor lock-in slab, itak nočeš delat.

Ravno tako kot nočeš delat za firme kjer uporabljajo samo neka zastonjska orodja. Preveč overheada.


Tole pa prvič slišim. Zastonjska orodja so slaba? Od kdaj? Sicer pa, če tako želiš plačat pa mislim, da vsak OSS projekt zbira donacije. :) Ne me narobe razumet, vse kar je zastonj tut ni dobro, po drugi strani pa tut vse kar je za plačat ni. Ampak rangiranje aplikacij na podlagi tega al so zastonj al ne, je pa milo rečeno čudno, se ti ne zdi?

techfreak :) je izjavil:

Sicer to ni samo jezik ampak framework, bo deloval mal pocasnej kot recimo kak winapi based C/C++ app

Vsekakor ne bo opazno počasnejše, če pa se nekaj zgodi par ms pozneje pa ne bo s tem nič narobe. Pri C++ lahko napišeš hitrejše programe, vendar boš za to potreboval veliko več časa.


To je odvisno kdo aplikacijo piše. C# programer ne bo napisal optimalne aplikacije v C++.

jype ::

smoke> Besedi učinkovitost in C# pa redko slišim skupaj. Lahko prosim elaboriraš kaj točno si mislil z učinkovitostjo? Si mislil performančno učinkovit, prostorsko učinkovit,.. ?

Manpower učinkovit. Programer v C# bistveno lažje in hitreje izrazi koncepte, hkrati pa se hitreje in lažje teh konceptov tudi nauči. V C++ se normalnim ljudem zatakne že daleč preden sploh začnejo obravnavat zahtevnejše koncepte jezika, recimo template.

smoke ::

jype: Potem sem pa jaz zgleda eden redkih, ki nerad gre po liniji najmanjšega odpora. No, al to, al sem pa čuden. :D Nevem, dejstvo je, da je C++ dober jezik, mogoče res malo pretežek za začetnika, ampak glede na to da je OP programiral že v C-ju, mislim, da ne bo problem. Kakorkoli že, odločitev je njegova. Jaz v glavnem ne bi vzel C#.

jype ::

Če mora rešiti poslovni problem, je C# daleč najboljša rešitev.

C++ je seveda precej izrazno močnejši od C#, a je tudi bistveno bolj zapleten in temelji na kompleksnejših in predvsem za programerje zahtevnejših konceptih. Ja, C++ je odličen jezik, a ravno zato, ker ga od C ločijo koncepti, ki jih OP ne bo mogel uporabljati.

zanchi ::

To bom uporabil bol za hobby namene sedaj bom predelal osnove C# potem še osnove C++, potem se bom pa odločil kateri mi bolje leži... Kaj pa za fax ali zaposlitev katerega bom bolj rabil?

techfreak :) ::

@smoke: C#/Windows Forms je lažje za uporabo kot C++/Qt. Mono deluje na Windowsu, da.

@jype: C# je bistveno primernejši od C++ povsod kjer hitrost ni prioriteta in kjer ne potrebuješ dostopa do strojne opreme. V C++ lahko napišeš hitrejšo kodo, vendar boš za to porabil veliko več časa.

roba87 ::

No, če si imel pri programiranju z Javo težave (obupal), pol jih boš imel z vsemi jeziki.

Zgodovina sprememb…

  • spremenil: roba87 ()

zanchi ::

V javi sem hotel za androida programirat in nikor nisem uspel vseh dodatkov v eclipso spravit...
Za enkrat v C# se nisem naletel sem pri 4. tutorialu...

Zgodovina sprememb…

  • spremenilo: zanchi ()

techfreak :) ::

Sicer imaš na http://developer.android.com/ navodila za namestitev Eclipse, SDKja in dodatka za Eclipse. Če lepo slediš navodilom bi moral brez težav usposobiti okolje za delovanje.

sdgfsdfas ::

kupi si windows phone 7, ne rabiš nobenih pluginov samo zalaufaš in programiraš po podobnem (skoraj istem) kopitu kot se sedaj učiš.
wtf zakaj sem dobil persona rudis? sem slišal da ste tukaj gor modi malo čez les, pol pa enako vam, zapuščam slo tech

Zgodovina sprememb…

  • spremenilo: sdgfsdfas ()

zanchi ::

techfreak :) je izjavil:

Sicer imaš na http://developer.android.com/ navodila za namestitev Eclipse, SDKja in dodatka za Eclipse. Če lepo slediš navodilom bi moral brez težav usposobiti okolje za delovanje.

Vem a mi ni ratalo...

sdgfsdfas je izjavil:

kupi si windows phone 7, ne rabiš nobenih pluginov samo zalaufaš in programiraš po podobnem (skoraj istem) kopitu kot se sedaj učiš

Nemaram nokij...:)

techfreak :) ::

No ja, pri WP ne boš nikoli imel toliko svobode glede programiranja kot pri Androidu.

jizzer ::

sdgfsdfas je izjavil:


kupi si windows phone 7, ne rabiš nobenih pluginov samo zalaufaš in programiraš po podobnem (skoraj istem) kopitu kot se sedaj učiš

Nemaram nokij...:)


Saj ne rabiš imet nokie. Imam Omnio7 in programiram za WP in je precej enostavno, res pa je da ni tolko svobode kot pri Androidih, ampak je zaradi tega tudi manj bugov in je vse dosti bolj kompatibilno.

Pa tudi če ti ni ratalo Jave usposobit niti po tutorialu, nevem kak boš se spoprijemal z problemi v prihodnje.

Zgodovina sprememb…

  • spremenil: jizzer ()

zanchi ::

jizzer je izjavil:

Saj ne rabiš imet nokie. Imam Omnio7 in programiram za WP in je precej enostavno, res pa je da ni tolko svobode kot pri Androidih, ampak je zaradi tega tudi manj bugov in je vse dosti bolj kompatibilno.

Pa tudi če ti ni ratalo Jave usposobit niti po tutorialu, nevem kak boš se spoprijemal z problemi v prihodnje.

Imam že izbranega/naročenega galaxy s3... Nevem upam da nebom naletel na kakšen podoben problem...

A ni tako da se da tudi v C# delat aplikacije za androida?

techfreak :) ::

A ni tako da se da tudi v C# delat aplikacije za androida?

Če se prav spomnem nekaj obstaja, ampak je bolj bogo. Za Android je Java edina primerna možnost.

jype ::

techfreak :)> @jype: C# je bistveno primernejši od C++ povsod kjer hitrost ni prioriteta in kjer ne potrebuješ dostopa do strojne opreme. V C++ lahko napišeš hitrejšo kodo, vendar boš za to porabil veliko več časa.

Saj točno isto sem jaz napisal.

vasquez ::

Ni ga čez adrenalin, ko začneš uporabljat pointerje, malloc in podobno :)

Invictus ::

vasquez je izjavil:

Ni ga čez adrenalin, ko začneš uporabljat pointerje, malloc in podobno :)

In ni večjih frustracij ko gre kaj narobe. Ko ne veš katero spremenljivko v polju si povozil.

Neprecenljivo :)).
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

jype ::

Če v C++ uporabljaš malloc, nekaj počneš narobe.

A že zato ker sem moral to zapisat je očitno, zakaj je C# boljša rešitev.

sherman ::

To s hitrostjo C ali C++ je dostikrat tudi narobe. Verjetno je izjava, da če nekaj lahko napišeš v jeziku X, lahko napišeš isto stvar v C-ju, ki bo delovala enako hitro, res, a bolj ali manj trivialno in ne realno. Recimo GHC lahko izpljune kodo v C-ju, a naj se pokaže hrabra duša, ki bo šla tisto brat za katerikoli netrivialen program.

Kar sem hotel povedati je, da lahko velikokrat, odvisno od problema ki ga rešuješ, pišeš veliko bolj učinkovite programe v spodobnih višjenivojskih jezikih enostavno zaradi tega, ker smo kot ljudje omejeni in nujno potrebujemo abstrakcije in s pravimi abstrakcijami postanejo vidne lastnosti problema, ki bi jih drugače sploh ne opazil medtem ko bi taval v temi typedefov in postavljanja grušta namesto reševanja dejanskega problema. Včasih je seveda najlažje in najhitreje stvar napisati v Fortranu. Za prave vrste problemov, recimo, OCaml programi letijo k sneta sekira. Taki, ki bi jih v C-ju navadni smrtnik sploh težko napisal v spodobnem času.

Če hočeš programirati grafične aplikacije na Win, je mogoče F# "dobra" izbira. Imaš podporo v VS, vse knjižnice .NET na voljo, pa še temelji na spodobnem jeziku. Malo so ga pokvarili, da so ga uspeli spraviti skupaj z .NET, a ne moremo imeti vsega.

Zdaj, mogoče se bo kdo obesil na to da F# ni C-ju podoben jezik. Tu ni kaj za oporekati, je res, a ljudem ki niso obremenjeni s C-jem in Pascalom, je verjetno lažje programirati v kakem funkcijskem jeziku, saj človek lahko počne naravne stvari brez magije s kazalci na funkcije. Avtor pravi da je programiral mikrokontrolerje, tako da mogoče je obremenjen s tem in bo čudno izgledalo premetavanje funkcij kot da so znaki.

vasquez je izjavil:

Ni ga čez adrenalin, ko začneš uporabljat pointerje, malloc in podobno :)

S tem se seveda strinjam.:) Je zabavno, a zabavno je tudi programirati stvari, ki delajo navidezno magične stvari, pa še pravilni so po vrhu. Tedaj je to bolj v napoto in nočeš postavljati temeljev in grušta.

Zgodovina sprememb…

  • spremenilo: sherman ()

zanchi ::

sherman je izjavil:

Avtor pravi da je programiral mikrokontrolerje, tako da mogoče je obremenjen s tem in bo čudno izgledalo premetavanje funkcij kot da so znaki.

Jaz nisem nič obremenjem z Cjem, samo zdi se mi da bi se lažje naučil C# kot recimo javo ker približno vem kako je sestavljena C koda...

Mi lahko kdo pove, kaj moram naredit da shranim program tako da se mi odpre z enim klikom? (C#)

darkolord ::

Build -> Build Solution?
«
1
2


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Sprejet standard C++11

Oddelek: Novice / Ostala programska oprema
4010677 (8759) Bistri007
»

[C++] Windows programiranje - nasvet

Oddelek: Programiranje
151918 (1556) smoke
»

programski jezik

Oddelek: Programiranje
303443 (2814) noraguta

Več podobnih tem