Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Kumpi on tehokkaampi tai parempi, C vai C++? (C++)

Sivun loppuun

less_than_perfect [11.09.2013 17:45:08]

#

Olen uusi ohjelmoinnin maailmassa haluaisin tietää kumpi on parempi/tehokkaampi
kieli C++ vai C kieli.

Jonne [11.09.2013 17:50:50]

#

Varmaan kannattaisi tarkentaa, mitä haluat tehdä.

Teuro [11.09.2013 18:30:30]

#

Aloittelijan kannalta tehokkuus ei ole relevanttia. Kokenut ohjelmoija tekee hitaammallakin kielellä nopeamman algoritmin, kuin aloittelija nopeaksi mielletyllä kielellä. Kielen syntaksin selkeys, dokumentaation kattavuus, oppaat sopivalla kielellä ovat olellisesti tärkeämpiä asioita.

Näistä kahdesta ottaisin varmaankin C++:n, koska se on aloittelijaystävällisempi muistin kannalta. Muutoin kielet (aloittelijan kannalta) ovat melko samanlaisia. Tästä aiheesta on monia näkökulmia, joten kokeile ja päätä itse kumpi tuntuu paremmalta.

Tzaeru [12.09.2013 11:10:41]

#

En nyt tierä onko C++ merkittävästi "muistin kannalta aloittelijaystävällisempi". Sikäli välttämättä tahtoo valita C:n ja C++:n välillä, minusta C++ olisi aika ilmiselvä valinta olioiden ja laajemman standardikirjaston takia.

Itse aloitin käytännössä C++:lla, mutta suosittelisin sitä aloittelijalle pienellä varauksella. Tavallaan suht matalan tason kielellä oppii paremmin tietsikoiden toiminnasta ja osin ohjelmoinnista itsestään, mutta jos valtaosa hiuksista harmaantuu, voi kokeilla myös esimerkiksi Pythonin opettelua.

Metabolix [12.09.2013 11:44:46]

#

Käytännössä kaikki C-koodi on myös kelvollista C++-koodia hyvin pienin muutoksin, joten ei ole tilannetta, jossa C olisi parempi tai tehokkaampi. Sen sijaan monessa tilanteessa C++ on parempi siksi, että siinä on valmiiksi tehty asioita, joita aloittelija ei osaisi itse tehdä yhtä hyvin tai ollenkaan.

En suosittele kumpaakaan näistä kielistä aloituskieleksi, ellei ole aivan erityistä syytä tai valmiiksi hyviä ongelmanratkaisu- ja tiedonhakutaitoja. Monet muut kielet ovat helpompia ja aivan tarpeeksi ”tehokkaita”. Jos esimerkiksi Python tuntuu vaikealta, on aika varmaa, että C ja C++ tuntuvat vielä vaikeammilta.

Yritä nyt vähän rauhoittua. Olet aloittanut parissa päivässä jo kuusi keskustelua yksinkertaisista tai merkityksettömistä kysymyksistä. Voisit nyt vain keskittyä yhteen asiaan – vaikka Pythoniin – ja yrittää itse ratkaista ongelmiasi esimerkiksi kokeilemalla ja netistä tietoa hakemalla. Pääsisit varmaan pidemmälle kuin tällä sähläyksellä.

Tzaeru [12.09.2013 13:03:26]

#

Jos motivaatio on kohdillaan ja ohjelmointia haluaa opetella juurikin ohjelmoinnin takia, voi minusta esimerkiksi C++ olla varsin sopivakin aloituskieli.

Huonompi ratkaisu se voi sitten olla silloin, kun motivaatio koodauksen oppimiseen on tyyliä "haluan tehdä battlefield vitosen", "haluun haxaa kaverin koneen" tai "kuulin, että alalla on paljon rahaa".

Rox [13.09.2013 16:03:52]

#

Molemmat on hyviä, mutta C-kielessä ei ole mitään mitä et pysty C++:lla toteuttamaan. Käy lukasemas tämä: http://stackoverflow.com/questions/3027177/what-are-the-differences-between-c-and-c niin voi olla helpompi päättää.

Ite aloitin VB6 & .NET kielillä, ja nyt kaduttaa kun en suoraan alottanut C++:ssaa. Ite pidän enemmän C++ kuin C-kielestä, C++ tuntu helpommalta alottaa.

Toki jotkut sanoo että C -kieli on helpompi hallita, mikä on varmaan totta kun C:n perusteet voi olla ~300 sivua ja kun taas C++ perusteet voi olla 1000+ sivua. (Stephen Prata - C++ Ohjelmointi 3.painos on 966 sivua, just katoin.)
..ja jos nyt meinaat C++:lla alata ohjelmoimaan, suosittelen lukemaan jonkun kirjan mikä käsittelee olio-ohjelmoinnin perusteet.

Tässä vielä lainus stackoverflowista:

stackoverflow kirjoitti:

In terms of power:

C is a chainsaw.
C++ is a 50-foot tall earthmover that mows down everything in its path, and has giant chainsaws sticking out of its wheel hubs to boot.

Sure, both can clear trees out of your way, but...

In terms of special:

C is a rockstar.
C++ is a narco-syndicate collective of superheroes.

Jaska [13.09.2013 16:39:35]

#

Rox kirjoitti:

Molemmat on hyviä, mutta C-kielessä ei ole mitään mitä et pysty C++:lla toteuttamaan.

Onpas! C:ssa voit antaa muuttujan nimeksi class, mutta tämä ei onnistu C++:ssa. Tarkoitit varmasti sitä, että molemmat ovat Turing-täydellisiä eli kaikki suoritettavat ohjelmat voi tehdä kummalla kielellä tahansa.

Metabolix [13.09.2013 17:24:13]

#

Jaska, yleensä toteutus ei tarkoita sitä, miten muuttujat nimetään, vaan sitä, miten ohjelma toimii. Myös Pascalilla voi toteuttaa useimmat samat asiat kuin C:llä, vaikka on selvää, että Pascal-kääntäjä ei käännä lainkaan C-koodia.

reino [13.09.2013 18:20:28]

#

http://harmful.cat-v.org/software/c /linus


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta