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.
Ilmianna
Jaa

8 Vastausta



Mm. suuri osa peleistä pyörii C#:lla tai käyttää ainakin osaksi sitä. Lisäksi, mihin pohjaat väitteesi?
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
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ä.
Kommentoi
Ilmianna
Jaa
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.
Kommentoi
Ilmianna
Jaa
+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ä...
Ilmianna
Jaa
Siksi notta kaltaisesi IDIOOTIT voisivat esittää tyhmiä kysymyksiä!!
Ilmianna
Jaa
mees trolli tsekkaa vaikka muutama ohjelmointikielten suosiota mittava sivusto ja kato mihin C# sijoittuu. Palataan sitten asiaan, jooko :)
Ilmianna
Jaa

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