Miksi C-sharp on olemassa?

En tiedä ainuttakaan ammattisoftaa, joka olisi koodattu C#:llä. Kaikki vaativat jutut tehdään C/C++:lla tai PHP/MySQL:llä webbipuolella. C# on Microsoftin oma lellipentu, kuin karamelli, maistuu hyvälle mutta käytännössä hyödytön. Ehkä johonkin olio-ohjelmoinnin opetukseen se kelpaa jotenkuten, muuta hyötykäyttöä sille en oikein keksi. Jopa Delphillä tehtyjä ohjelmia on enemmän liikenteessä kuin C#:llä!

En ihmettelisi vaikka joku päivä Microsoft huomaa epäonnistuneensa ja tapattaa koko kielen, kuten sillä on monesti ollut tapana, ja siirtyy sataprosenttisesti tukemaan C++:aa.
Ilmoita


Mm. suuri osa peleistä pyörii C#:lla tai käyttää ainakin osaksi sitä. Lisäksi, mihin pohjaat väitteesi?
4 VASTAUSTA:
"Mm. suuri osa peleistä pyörii C#:lla tai käyttää ainakin osaksi sitä"

No hehheh, aivan varmasti. Osa Steamin muutaman euron peleistä saattaa olla C#:llä tehtyjä, mutta ne jotka vähänkin käyttävät 3D-grafiikkaa on tehty C++:lla ihan yksinkertaisesti sen takia, ettei C# tue DirectX:ää millään merkittävällä tavalla (jos unohdetaan hitaat wrapperit) ja C# on yksinkertaisesti 3D-peleille liian hidas.

C# skriptikielenä taas ei liity juuri mitenkään itse pelimoottoriin, se voi ihan yhtä hyvin olla vaikka Visual Basic, skriptaaminen/pelilogiikka ei hirveästi prosessoritehoja syö.

C# on suunniteltu bisnessoftiin, ei peleihin.
tfuhj kirjoitti:
"Mm. suuri osa peleistä pyörii C#:lla tai käyttää ainakin osaksi sitä"

No hehheh, aivan varmasti. Osa Steamin muutaman euron peleistä saattaa olla C#:llä tehtyjä, mutta ne jotka vähänkin käyttävät 3D-grafiikkaa on tehty C++:lla ihan yksinkertaisesti sen takia, ettei C# tue DirectX:ää millään merkittävällä tavalla (jos unohdetaan hitaat wrapperit) ja C# on yksinkertaisesti 3D-peleille liian hidas.

C# skriptikielenä taas ei liity juuri mitenkään itse pelimoottoriin, se voi ihan yhtä hyvin olla vaikka Visual Basic, skriptaaminen/pelilogiikka ei hirveästi prosessoritehoja syö.

C# on suunniteltu bisnessoftiin, ei peleihin.
"Osa Steamin muutaman euron peleistä saattaa olla C#:llä tehtyjä, mutta ne jotka vähänkin käyttävät 3D-grafiikkaa on tehty C++:lla ihan yksinkertaisesti sen takia, ettei C# tue DirectX:ää millään merkittävällä tavalla (jos unohdetaan hitaat wrapperit) ja C# on yksinkertaisesti 3D-peleille liian hidas."

Höpöhöpö. C# ei ole ikinä ollut hidas.
M-Kar kirjoitti:
"Osa Steamin muutaman euron peleistä saattaa olla C#:llä tehtyjä, mutta ne jotka vähänkin käyttävät 3D-grafiikkaa on tehty C++:lla ihan yksinkertaisesti sen takia, ettei C# tue DirectX:ää millään merkittävällä tavalla (jos unohdetaan hitaat wrapperit) ja C# on yksinkertaisesti 3D-peleille liian hidas."

Höpöhöpö. C# ei ole ikinä ollut hidas.
C# kuten muutkaan kielet eivät ole hitaita/nopeita vrt. Englannin tai Suomen kieli. Suoritettavan koodin nopeus/hitaus riippuu puhujasta eli tässä tapauksessa kääntäjästä, sekä ajonaikaisesta ympäristöstä.

En tiedä onko olemassa hyvää C# kääntäjää Linux ympäristölle, mutta on ainakin 1001 syytä olettaa että Linux jakelun mukana tuleva gcc/g++ kääntää glibc:lle parempaa konekoodia C/C++ kielistä. Sitä tässä varmasti tarkoitettiin.

Peliohjelmointiin tarvitaan muuten melko paljon tietämystä rajapinnoista ja kun ne tuppaavat Linux maailmassa oleman usein avointa koodia, uskoisin että C/C++ kielellä tehdyt pelit rullaavat Linux alustalla oletusarvoisesti paremmin. Esimerkiksi jos tehdään jokin yksinkertainen 3D grafiikkaa käyttävä peli Windowsille C# kielellä, sama peli Linuxille C++ kielellä, ajetaan peliä samalla raudalla, teoriassa Windows ja C# häviää ja pahasti.

Kyse ei siis ole käytettävästä kielestä vaan ihan muista tekijöistä.
toisaaltaon kirjoitti:
C# kuten muutkaan kielet eivät ole hitaita/nopeita vrt. Englannin tai Suomen kieli. Suoritettavan koodin nopeus/hitaus riippuu puhujasta eli tässä tapauksessa kääntäjästä, sekä ajonaikaisesta ympäristöstä.

En tiedä onko olemassa hyvää C# kääntäjää Linux ympäristölle, mutta on ainakin 1001 syytä olettaa että Linux jakelun mukana tuleva gcc/g++ kääntää glibc:lle parempaa konekoodia C/C++ kielistä. Sitä tässä varmasti tarkoitettiin.

Peliohjelmointiin tarvitaan muuten melko paljon tietämystä rajapinnoista ja kun ne tuppaavat Linux maailmassa oleman usein avointa koodia, uskoisin että C/C++ kielellä tehdyt pelit rullaavat Linux alustalla oletusarvoisesti paremmin. Esimerkiksi jos tehdään jokin yksinkertainen 3D grafiikkaa käyttävä peli Windowsille C# kielellä, sama peli Linuxille C++ kielellä, ajetaan peliä samalla raudalla, teoriassa Windows ja C# häviää ja pahasti.

Kyse ei siis ole käytettävästä kielestä vaan ihan muista tekijöistä.
"En tiedä onko olemassa hyvää C# kääntäjää Linux ympäristölle"

Microsoft julkaissut omansa avoimena koodina.

"mutta on ainakin 1001 syytä olettaa että Linux jakelun mukana tuleva gcc/g++ kääntää glibc:lle parempaa konekoodia C/C++ kielistä. Sitä tässä varmasti tarkoitettiin."

C#:a käännetään tavukoodiksi, ei prosessorin natiiviksi. Siinä on sitten JIT välissä että ajettaessa käännellään prosessorin mukaiseksi.

"uskoisin että C/C++ kielellä tehdyt pelit rullaavat Linux alustalla oletusarvoisesti paremmin."

Kypsempi natiivitoteutus yleensä on vähän parempi.

"Esimerkiksi jos tehdään jokin yksinkertainen 3D grafiikkaa käyttävä peli Windowsille C# kielellä, sama peli Linuxille C++ kielellä, ajetaan peliä samalla raudalla, teoriassa Windows ja C# häviää ja pahasti."

Ei mitenkään selvää. C# on natiivia Windowsille, ja eri asiat toimii eri työkaluilla eri tavalla.

Voihan noille tehdä testcaseja ja mittailla, mutta mitenkään selvästi jokin ei ole toista parempi ja se riippuu myös mitä tehdään.
+Lisää kommentti
Unityssä käytetään C#:ia. Voi siinä käyttää myös JavaScriptiä, mutta yleensä taidetaan käyttää C#:ia. Ja kun ottaa huomioon kuinka laajastu Unity on käytössä...
Ilmoita
Siksi notta kaltaisesi IDIOOTIT voisivat esittää tyhmiä kysymyksiä!!
Ilmoita
mees trolli tsekkaa vaikka muutama ohjelmointikielten suosiota mittava sivusto ja kato mihin C# sijoittuu. Palataan sitten asiaan, jooko :)
Ilmoita

Vastaa alkuperäiseen viestiin

Miksi C-sharp on olemassa?

En tiedä ainuttakaan ammattisoftaa, joka olisi koodattu C#:llä. Kaikki vaativat jutut tehdään C/C++:lla tai PHP/MySQL:llä webbipuolella. C# on Microsoftin oma lellipentu, kuin karamelli, maistuu hyvälle mutta käytännössä hyödytön. Ehkä johonkin olio-ohjelmoinnin opetukseen se kelpaa jotenkuten, muuta hyötykäyttöä sille en oikein keksi. Jopa Delphillä tehtyjä ohjelmia on enemmän liikenteessä kuin C#:llä!

En ihmettelisi vaikka joku päivä Microsoft huomaa epäonnistuneensa ja tapattaa koko kielen, kuten sillä on monesti ollut tapana, ja siirtyy sataprosenttisesti tukemaan C++:aa.

5000 merkkiä jäljellä

Peruuta