Miten C++ ja C sharp eroaa toisistaan?

koodinoviisi

Aloitin ohjelmoinnin ja opettelin C :n. Nyt kuitenkin huomasin, että moni paikka hakee C# osaajaa. Onko C# ja C eri kielet? Vai onko jokainen C -ohjelma C#-ohjelma ja C#:ssa on jotain muuta C :aan lisättynä? Pisäisi vissiin opetella tuo C# alusta alkaen.

Vaikka en kyllä ymmärrä miksi C#:a suositaan kun se on kai Windows-kieli eikä kai toimi Linuxeissa, Maceissä eikä Androidissa.

20

2880

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Öönotota
    • Ovat eri kieliä että onhan niissä eroa.

    • C_sharp_lähes_php

      Syntaksiltaan C# on hyvin lähellä php:tä eli ei juurikaan muistuta C :aa.

      • "Syntaksiltaan C# on hyvin lähellä php:tä eli ei juurikaan muistuta C :aa."

        Anteeksi mitä??? :)
        js et tarkoittanut jotain lohkosulkeiden käyttöä niin C# ja php eroavat filosofialta toisistaan kuin sika ja lentokapteeni :)


      • code_red kirjoitti:

        "Syntaksiltaan C# on hyvin lähellä php:tä eli ei juurikaan muistuta C :aa."

        Anteeksi mitä??? :)
        js et tarkoittanut jotain lohkosulkeiden käyttöä niin C# ja php eroavat filosofialta toisistaan kuin sika ja lentokapteeni :)

        Ai sorry. En huomannu sanaa "syntaksiltaan" :) My bad. Tosin syntaksiltaan voidaan vertailla miltei kaikkia yleisimpiä imperatiivisia ohjelmointikielia mutta siihen se yhtäläisyys loppuukin.


      • trollerson

        Kyllä se minusta aika paljon on lähempänä C :aa kuin PHP:tä . . .

        Mutta no joo, kai se riippuu mistä kulmasta katsoo.


    • nzmmzzmxmz

      "Vaikka en kyllä ymmärrä miksi C#:a suositaan kun se on kai Windows-kieli eikä kai toimi Linuxeissa, Maceissä eikä Androidissa."

      minusta C# toimii kyllä linuxissa paremmin kuin windowsissa.

    • Tähtituki

      C# on sen verran erilainen kieli, että melkein kannattaa netistä kaivella isoimmat erot lähtien muustinhallinnasta, roskankeruusta päätyen aina käännösmalleihin asti.

      Java on jo lähempänä.

      Linuxille taitaa olla Core nykyisin?

    • COVA.KODER

      C = tosikoodareille
      C# = noviisien lelu

      Kaikki garbage collect ja intermediate assembly lelukielet on täyttä p****aa. Pysykää kaukana!

      • Mikäs vika niissä on?


    • convaikeanhelppoa

      Voisi auttaa jos laittaisi jonkun esimerkin, pätkän jostain koodista, enkä nyt tarkoita mitään jotain direct3d-windows -juttuja, c , joita voin tehdä omaksi huvikseni, mutta:
      Jotta ei heti tule joku komento: "query3dinterfaces", "query3daccelerators"... listat tulee mitä on tietokoneessa sillä hetkellä tarjolla.


      Joku aivan pieni esimerkki jostain koodista, niin ihmiset voisivat auttaa kertomalla että mitä mikäkin tarkoittaa.

    • lggg324g2klg5

      Olet varmastikin jo kokeillut F# kieltäkin näin aloittelijana.

      Eräästä asiasta olen iloinen kun tytötkin tekevät omia pelejä, javalla varmaan yrittävät saada liikkuvia hahmoja ruudulle.... hirvittävä selittäminen olisi sitten opettaa jotain grafiikkakiihdyttimien käyttämistä.

      Java-kielellä tekevät perinteisen space invaders -pelin tai no jonkin, uusi versio space invaresista ja tyttöjen tekemänä voisi olla hauska kokeilla.

      • lggg324g2klg5

        Mutta niin, eikös Helsingin kaupunki anna nimenomaankin tukea tyttöjen pelaamiseen ja sellaisiin, olin lukevinani lehdestä.


    • MagicString

      One does not simply learn C . Eri kieliä ovat C ja C# todellakin. Mutta joo olen tehnyt C# töitä muutaman vuoden ja sitä ennen pidemmän ajan C koodia ja on se helpompaa tehdä C# hommia. Uudemmat .NET Core alustat toimivat Windowsin lisäksi Macissa ja Linuxissa, ja esim. Rider on näppärän oloinen kehitysympäristö, jossei halua tehdä Visual studiolla.

    • OnNytHankalaa

      Harjoittelen myös koodaamista. Olen nyt yrittänyt pureskella hieman Javaa, jolla saisi tehdä hienoja Android-sovelluksia. En kuitenkaan pidä Javan roskienkeruusta, joka luulee olevansa viisaampi kuin onkaan. Javassa ei näytä olevan varsinaista dekonstruktoria, minkä voisi ajaa milloin haluaa. On vain finalize-metodi, joka suoritetaan vain roskienkeruun yhteydessä.

      Olen nurkkasilmällä katsonut myös C opaskirjaa. C näyttäisi olevan tässä suhteessa parempi, koska siinä luokalla on myös selvä dekonstruktori. Yksinkertainen esimerkki: haluan tietää kuinka monta instanssia on luotu luokasta x. Luokassa on staattinen laskuri, jonka arvoa kasvatetaan aina oliota luodessa. No entä päin vastoin. Milloin instanssi tuhotaan Javassa? No ilmeisesti asettamalla siihen viittaava osoitin arvoon NULL. Mutta häviääkö olio? Ei välttämättä, jos ei aja erikseen roskienkeruuta.

      Mutta C# on itselleni tuntematon kieli. Onko siinä oliokirjanpito helpompaa kuin Javassa?

      • "Harjoittelen myös koodaamista. Olen nyt yrittänyt pureskella hieman Javaa, jolla saisi tehdä hienoja Android-sovelluksia.

        "En kuitenkaan pidä Javan roskienkeruusta, joka luulee olevansa viisaampi kuin onkaan."

        Ihan hyvin se toimii. Vaikka ohjelmointikielessä on roskienkeruu, se ei tarkoita sitä etteikö asian kanssa voisi sössiä. Jos sinne nyt jää jotain viittauksia, timereita tms. niin se ei vapauhdu vaan sinne jää muistivuoto. Eli pitää vaan keskittyä tekemään omasta koodista mahdollisimman virheetöntä, niinkuin kaikilla kielillä.

        "Javassa ei näytä olevan varsinaista dekonstruktoria, minkä voisi ajaa milloin haluaa. On vain finalize-metodi, joka suoritetaan vain roskienkeruun yhteydessä."

        Tämä on se roskienkeruun idea.

        "Olen nurkkasilmällä katsonut myös C opaskirjaa. C näyttäisi olevan tässä suhteessa parempi, koska siinä luokalla on myös selvä dekonstruktori. Yksinkertainen esimerkki: haluan tietää kuinka monta instanssia on luotu luokasta x. Luokassa on staattinen laskuri, jonka arvoa kasvatetaan aina oliota luodessa. No entä päin vastoin. Milloin instanssi tuhotaan Javassa? No ilmeisesti asettamalla siihen viittaava osoitin arvoon NULL. Mutta häviääkö olio? Ei välttämättä, jos ei aja erikseen roskienkeruuta."

        Tuo kuullostaa huonolta ohjelmoinnilta eikä ongelmalta kielessä. Ohjelmoijan ei tarvitse tarkistaa mistään mitään instanssien määrää vaan tieto kun on säiliöissä niin niiden koot on tietysti tiedossa.

        "Mutta C# on itselleni tuntematon kieli. Onko siinä oliokirjanpito helpompaa kuin Javassa?"

        Toimii olennaisesti samalla tavalla.


      • häh__

        Tuskin kukaan nyt hajoittimia C :ssa ja Javassa manuaalisesti kutsuu, eikä C :ssakaan olio mihinkään häviä jos sen osoittimeen sijoittaa NULL (ellei nyt sitten satu käyttämään älykkäitä osoittimia). Java (ja C#) sentään osaa vapauttaa jossain vaiheessa tuon muistin ellei siihen kukaan osoita, mutta C tuollaiset voivat jäävät pahimmassa tapauksessa vapautta jos käyttäjä jumahtanut osoittimien kanssa kivikaudelle (char *p = new char[1000]). Mitään roskien keruuta Javassa ja C#:ssa ei tarvita jotta osoittamattomat oliot häviävät...

        Huonolta ohjelmoinnilta kuulostaa jos C :ssa ohjelmoijan täytyy itse tarkistaa instanssien määrä, sillä se nyt kuitenkin on aina virheen paikka...


      • häh__
        häh__ kirjoitti:

        Tuskin kukaan nyt hajoittimia C :ssa ja Javassa manuaalisesti kutsuu, eikä C :ssakaan olio mihinkään häviä jos sen osoittimeen sijoittaa NULL (ellei nyt sitten satu käyttämään älykkäitä osoittimia). Java (ja C#) sentään osaa vapauttaa jossain vaiheessa tuon muistin ellei siihen kukaan osoita, mutta C tuollaiset voivat jäävät pahimmassa tapauksessa vapautta jos käyttäjä jumahtanut osoittimien kanssa kivikaudelle (char *p = new char[1000]). Mitään roskien keruuta Javassa ja C#:ssa ei tarvita jotta osoittamattomat oliot häviävät...

        Huonolta ohjelmoinnilta kuulostaa jos C :ssa ohjelmoijan täytyy itse tarkistaa instanssien määrä, sillä se nyt kuitenkin on aina virheen paikka...

        Tarkoitin yllä manuaalisesti laukaistua roskien keruuta...


      • häh__ kirjoitti:

        Tarkoitin yllä manuaalisesti laukaistua roskien keruuta...

        Miksi sitä roskienkeruuta haluttaisiin laukaista manuaalisesti? Parhaiten toimii kun antaa automaatin hoitaa.


      • fgdfg

        Jos tarvii tietää instanssien määrä niin käyttää listaa/kokoelmaa/vektoria ja instanssien määrä == count.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Voiko normaali ihminen ryhtyä vasemmistolaiseksi?

      Tätä jäin pohdiskelemaan.
      Maailman menoa
      202
      4218
    2. SDP haluaa 40 000 nettomaahanmuuttajaa

      SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah
      Maailman menoa
      146
      3778
    3. Orpo: Velkajarrua vastustavaa puoluetta vaikea ajatella hallitukseen

      No Minja Koskelan kommunistipuolue jäi ulos tuosta. Kaikki eduskuntapuolueet vasemmistoliittoa lukuun ottamatta sopivat
      Maailman menoa
      99
      3157
    4. Hienoa! Eduskunta luopui käteisen käytöstä

      Nyt tuo sama muutos pitää saada myös muuhun yhteiskuntaan. Käteistähän ei tarvitse tänä päivänä enää kuin rikolliset.
      Maailman menoa
      43
      1589
    5. Ikävä sinua mies

      Vuosia kuluu, mutta tunteet ei ole hävinnyt. Tasoittuneet toki, kun ei olla nähty. Järki palannut päähän kuitenkin. Se i
      Ikävä
      19
      1448
    6. Mikä tämä henkilö mahtaa touhuta Parkanossa

      Kamalaa https://www.ylasatakunta.fi/teksti/pirkanmaan-karajaoikeus-vangitsi-koiran-tappamisesta-epaillyn-6.68.127794.b58
      Parkano
      34
      1380
    7. Sulla on avaimet ja keinot

      Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi
      Ikävä
      25
      1375
    8. Orpo loukkaantui fasismiin viittaavasta sanavalinnasta

      Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk
      Maailman menoa
      27
      1351
    9. Kiinnostaa - ei kiinnosta - kiinnostaapas

      Selittäkää hämmentyneelle miksi miehiä ei ikinä kiinnosta silloin, kun sitä olisi itsekin kiinnostunut? Sitten kun siirt
      Sinkut
      116
      1130
    10. Martina haluaa Marbellaan

      Martinan tekisi mieli ottaa lennot Marbellaan, jossa näkisisi kauniita ja hyväntuulisia ihmisiä. No sitten pitää matkust
      Kotimaiset julkkisjuorut
      215
      1053
    Aihe