Olen uusi ohjelmoinnin maailmassa haluaisin tietää kumpi on parempi/tehokkaampi
kieli C++ vai C kieli.
Varmaan kannattaisi tarkentaa, mitä haluat tehdä.
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.
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.
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ä.
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".
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.
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.
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.