Miksei C poistunut käytöstä heti kun C++ keksittiin?
Kommentit (78)
Vierailija kirjoitti:
Ei ole yhtä oikeaa kieltä, riippuu käyttötarkoituksesta. Olen koodannut mm C:llä, C++:lla, C#:lla, Fortranilla, Visual Basicillä ja Lispillä.
Ja jokainen Turing-täydellinen kieli voidaan korvata jollain toisella Turing-täydellisellä kielellä.
No, kunhan tietysti tarvittavat ohjelmointirajapinnat muualle maailmaan löytyvät.
Onko muka oikeasti niin, ettei koodareille ole töitä? Terveisin aloitteleva koodari
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
printf("Hello world");
Kehitä tuota vielä vähän.
Kelpaako tää sulle:
int main(){
printf("Hello World");
}T. ex-C-koodari
#include puuttuu
void puuttuu
return puuttuu
t. toinen ex koodari
Pseudokoodi kertoo vain oleellisen.
Jos kerrotaan että funktio palauttaa jotain on oleellista kertoa myös mitä se palauttaa.
Käyttäähän jotkut vielä latinaakin.
Vierailija kirjoitti:
Onko muka oikeasti niin, ettei koodareille ole töitä? Terveisin aloitteleva koodari
Töitä varmaan piisaa mutta kannattaa opetella elämään iso kyr.pä otsassa kun asiakas haluaa aina että asiat pitää tehdä väärin. Koska asiakkaan konsultti sanoi että väärin on oikein.
t. ex koodari
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Mutta noita webbisoftia pyörittää ihan hyvin javapohjaisinakin, sovelluspalvelimilla jotka osaa rinnakkaistaa käyttäjämäärän mukaan.
Eli käytännössä sitä korvataan raskaalla raudalla että ohjelmoijia täytyy pitää javapumpulissa.
Rauta on halpaa.
Jos koodarin työtunti oheiskuluineen maksaa 100 € niin aika nopeasti päädytään tilanteeseen, ettei kannata tehdä nopeaa koodia vaan tehdä mahdollisimman tehokkaasti valmista koodia. Koodataan nopeasti ohjelma joka tekee tehtävänsä ja jos se toimii liian hitaasti niin ostetaan lisää rautaa.
Mistä olet saanut sen käsityksen että nopean koodin tekeminen on jotenkin hitaampaa tai työläämpää kuin hitaan koodin tekeminen?
Öö.. Minä on ohjelmoin ammatikseni päivittäin?
Tuottavuus on Javalla selkeästi suurempi verrattuna C++ ohjelmointiin. Käytän työssäni molempia yli kymmenen vuoden kokemuksella.
Usein tuottavuutta voi vielä entisestään parantaa "vetämällä mutkat suoriksi". Tekemällä koodia jonka tietää olevan hyvin tehotonta, mutta nopeaa kirjoittaa. Usein paras vaihtoehto on saada toimivaa valmista koodia aikaan, eikä jäädä hieromaan merkityksettömiä yksityiskohtia. Mitä tahansa koodinpätkää voi optimoida nopeammaksi lähes rajattoman paljon. Se on loputon suo jos sille tielle lähtee. Silloin ei saa mitään valmista aikaan.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Mutta noita webbisoftia pyörittää ihan hyvin javapohjaisinakin, sovelluspalvelimilla jotka osaa rinnakkaistaa käyttäjämäärän mukaan.
Eli käytännössä sitä korvataan raskaalla raudalla että ohjelmoijia täytyy pitää javapumpulissa.
Rauta on halpaa.
Jos koodarin työtunti oheiskuluineen maksaa 100 € niin aika nopeasti päädytään tilanteeseen, ettei kannata tehdä nopeaa koodia vaan tehdä mahdollisimman tehokkaasti valmista koodia. Koodataan nopeasti ohjelma joka tekee tehtävänsä ja jos se toimii liian hitaasti niin ostetaan lisää rautaa.
Mistä olet saanut sen käsityksen että nopean koodin tekeminen on jotenkin hitaampaa tai työläämpää kuin hitaan koodin tekeminen?
Öö.. Minä on ohjelmoin ammatikseni päivittäin?
Tuottavuus on Javalla selkeästi suurempi verrattuna C++ ohjelmointiin. Käytän työssäni molempia yli kymmenen vuoden kokemuksella.
Et sitten ole kymmenessä vuodessa oppinut hyväksi C++ ohjelmoijaksi.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
printf("Hello world");
Kehitä tuota vielä vähän.
Kelpaako tää sulle:
int main(){
printf("Hello World");
}T. ex-C-koodari
#include puuttuu
void puuttuu
return puuttuu
t. toinen ex koodari
Oikeassa olet. Sori, mun koodausajoista on jo liki kymmenen vuotta aikaa.
#include
int main(void)
{
printf("Hello, world!\n");
return 0;
}#include <stdio.h>
Se \n puuttui lopusta. Sitä ajoin takaa.
Palatakseni aloittajan kysymykseen: C++:lle tuli uusia kilpailijoita esim. C#, Dalvik, Java jne. mutta pääsyy C-kielen säilymiselle eräänä tärkeänä ohjelmointikielenä on se, että useat käyttöjärjestelmät on joko pääosin tai osittain koodattu C-kielellä. Tästä seuraa, että käyttöjärjestelmäpalveluita käyttävien sovellusten on kohtuullisen helppoa linkittyä näihin käyttöjärjestelmäkirjastojen rajapintoihin C-kieltä käyttäen.
Vierailija kirjoitti:
Palatakseni aloittajan kysymykseen: C++:lle tuli uusia kilpailijoita esim. C#, Dalvik, Java jne. mutta pääsyy C-kielen säilymiselle eräänä tärkeänä ohjelmointikielenä on se, että useat käyttöjärjestelmät on joko pääosin tai osittain koodattu C-kielellä. Tästä seuraa, että käyttöjärjestelmäpalveluita käyttävien sovellusten on kohtuullisen helppoa linkittyä näihin käyttöjärjestelmäkirjastojen rajapintoihin C-kieltä käyttäen.
Miten C ja C# eroaa?
Hauskaa kuinka riiiippuvaisia ihmiset nykyisin ovat.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Mutta noita webbisoftia pyörittää ihan hyvin javapohjaisinakin, sovelluspalvelimilla jotka osaa rinnakkaistaa käyttäjämäärän mukaan.
Eli käytännössä sitä korvataan raskaalla raudalla että ohjelmoijia täytyy pitää javapumpulissa.
Rauta on halpaa.
Jos koodarin työtunti oheiskuluineen maksaa 100 € niin aika nopeasti päädytään tilanteeseen, ettei kannata tehdä nopeaa koodia vaan tehdä mahdollisimman tehokkaasti valmista koodia. Koodataan nopeasti ohjelma joka tekee tehtävänsä ja jos se toimii liian hitaasti niin ostetaan lisää rautaa.
Mistä olet saanut sen käsityksen että nopean koodin tekeminen on jotenkin hitaampaa tai työläämpää kuin hitaan koodin tekeminen?
Öö.. Minä on ohjelmoin ammatikseni päivittäin?
Tuottavuus on Javalla selkeästi suurempi verrattuna C++ ohjelmointiin. Käytän työssäni molempia yli kymmenen vuoden kokemuksella.
Et sitten ole kymmenessä vuodessa oppinut hyväksi C++ ohjelmoijaksi.
En ole tuo Java-koodaaja, mutta on se C#:llakin tehokkaampaa kuin C++:lla. Suorituskyky on muutenkin vain yksi tekijä. On kymmeniä muitakin tekijöitä ohjelmiston kehityksessä pitää arvioida ja kyllä C# ja Java aika ykkösiä on tuottavuudessa.
Vierailija kirjoitti:
Vierailija kirjoitti:
Palatakseni aloittajan kysymykseen: C++:lle tuli uusia kilpailijoita esim. C#, Dalvik, Java jne. mutta pääsyy C-kielen säilymiselle eräänä tärkeänä ohjelmointikielenä on se, että useat käyttöjärjestelmät on joko pääosin tai osittain koodattu C-kielellä. Tästä seuraa, että käyttöjärjestelmäpalveluita käyttävien sovellusten on kohtuullisen helppoa linkittyä näihin käyttöjärjestelmäkirjastojen rajapintoihin C-kieltä käyttäen.
Miten C ja C# eroaa?
Yksinkertaistetusti. C:stä kehittyi C++ ja siitä kehittyi C#. Eli täysin eri. C# on oliopohjainen kieli. Lisäksi se käännetään byte-koodiksi eikä binääriksi.
C:llä kirjoitettua aliohjelmaa voi kutsua helposti mistä tahansa ohjelmointikielestä. Esim. juuri näistä uusista skriptikielistä. C++ rajapinnat pitää erikseen paketoida, jotta sama olisi mahdollista. Tästä syystä monet kirjastot ja ns. matalan tason rajapinnat on koodattu C:llä. Tämä syy siis lisättynä edellä mainittuihin.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
printf("Hello world");
Kehitä tuota vielä vähän.
Kelpaako tää sulle:
int main(){
printf("Hello World");
}T. ex-C-koodari
#include puuttuu
void puuttuu
return puuttuu
t. toinen ex koodari
Oikeassa olet. Sori, mun koodausajoista on jo liki kymmenen vuotta aikaa.
#include
int main(void)
{
printf("Hello, world!\n");
return 0;
}#include <stdio.h>
Se \n puuttui lopusta. Sitä ajoin takaa.
Miksi rivinvaihto pitäisi olla?
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
printf("Hello world");
Kehitä tuota vielä vähän.
Kelpaako tää sulle:
int main(){
printf("Hello World");
}T. ex-C-koodari
#include puuttuu
void puuttuu
return puuttuu
t. toinen ex koodari
Oikeassa olet. Sori, mun koodausajoista on jo liki kymmenen vuotta aikaa.
#include
int main(void)
{
printf("Hello, world!\n");
return 0;
}#include <stdio.h>
Se \n puuttui lopusta. Sitä ajoin takaa.
Miksi rivinvaihto pitäisi olla?
Koska muuten sotkee komentorivin.
Vierailija kirjoitti:
Minusta nuo kaikki oliokielet on täyttä ulostetta ja tarpeetonta kompleksisuutta. Olin sitä mieltä jo kun C++ ja Java tulivat. Silloin kaikki vähän naureskelivat, että hitsi mikä dinosaurus, vastustaa edistystä. Nyt kuitenkin alan työelämässä näen, että kaikenlaiset skriptikielet yleistyy ja oliopohjaiset ohjelmointikielet harvinaistuu. Lopulta ne on huomanneet että turhaa tehdä asioita vaikeasti kun ne voi tehdä helpostikin.
Täh. Ei oliopohjaiset kielet mihinkään ole katoamassa, mutta ei niillä aina kannata mitään scriptejä tehdä... jollain Rubyllä voi toki tehdä vaikka molempia. C:llä tehdään sitten toisia asioita. Kuinkahan suuri osuus jostain webbisovelluksista on tehty jollain oliopohjaisella? Aika lailla suurin osa.
Vierailija kirjoitti:
Vierailija kirjoitti:
Minusta nuo kaikki oliokielet on täyttä ulostetta ja tarpeetonta kompleksisuutta. Olin sitä mieltä jo kun C++ ja Java tulivat. Silloin kaikki vähän naureskelivat, että hitsi mikä dinosaurus, vastustaa edistystä. Nyt kuitenkin alan työelämässä näen, että kaikenlaiset skriptikielet yleistyy ja oliopohjaiset ohjelmointikielet harvinaistuu. Lopulta ne on huomanneet että turhaa tehdä asioita vaikeasti kun ne voi tehdä helpostikin.
Täh. Ei oliopohjaiset kielet mihinkään ole katoamassa, mutta ei niillä aina kannata mitään scriptejä tehdä... jollain Rubyllä voi toki tehdä vaikka molempia. C:llä tehdään sitten toisia asioita. Kuinkahan suuri osuus jostain webbisovelluksista on tehty jollain oliopohjaisella? Aika lailla suurin osa.
Näin vielä on, mutta selkeä koodi on poispäin niistä. Mikropalveluarkkitehtuurit, pilvipalvelut jne edistää tätä kehitystä. Ei enää tehdäkään sitä isoa j2ee sovellusta jossa se yksi sovelluspaketti sisältää kaiken vaan pieniä mikropalveluita johonkin docker swarmiin lillumaan.
Vierailija kirjoitti:
Surullista on se että ainakaan Suomessa ei voi enää tienata leipäänsä koodaamalla optimoitua C:tä. Nykyään on tarjolla vain korporaatio-Javaa, pilveä ja oliomallinnusta.
Sulautettujen järjestelmien ohjelmoinnissa, tietoturvafirmoissa tai IoT hommissa voi hyvinkin päästä sitä ihan C:tä vääntämään ja optimoijia kunnioitetaan kovasti.
Bah! Fortrania ole käyttänyt kukaan vuosikymmeniin. Fyysikot koodaa C++:lla tai Matlabilla.