Al_Bundy skrev:
Jag tycker att man borde kunna retunera flera värden samtidigt, utan att använda pekare. Detta skulle vara bra. Och lägg till objektorientering i C!
Då är det ju något helt annat, och bör kallas något annat, exempelvis C++..
Det är ju lite som att gnälla på att Morgan fortfarande använder träram i sina bilar, och tycka att dom borde gå över till moderna produktionsmetoder, när själva anledningen att deras kunder köper deras bilar ÄR att det är en helt nyproducerad handbyggd bil efter gamla byggmetoder.
Fast största kritiken mot C++ är att det är helt enkelt för stort. Tänk om man skulle lägga till lite småsaker i C som bara skulle underlätta helt enkelt. Lite grundläggande klasser skulle inte vara fel.
Men den som skapade C hade väll bra anledningar att forma C efter på detta sätt?
För stort? Bara för att vissa saker finns måste man väl inte använda dem?
Ett av designmålen med c++, som de håller stenhårt på, är att du betalar inte för det du inte använder.
Så det går inte fläska på med "onödigt" med C också? Vad är onödigt? Borde inte ett objekt vara mer nödvändligt än just en struct med massa funktionspekare?
Mr Andersson: Jo, just DET problem är ju välkänd!
"Jag brukar ha alla resurser i mängder så det har jag väl här med! Vaddå? Kan jag inte svina med minnet?"
Al: såklart kan man fläska på med onödigt i C också. Oftast är det så att ovana programmörer väljer en lösningsmodell som kan optimeras ganska duktigt men det kan såklart läggas in en massa funktioner som inte används.
Fast funktioner som inte används brukar utlösa en varning och länkaren tar inte med dom.
Al_Bundy skrev:Så det går inte fläska på med "onödigt" med C också? Vad är onödigt? Borde inte ett objekt vara mer nödvändligt än just en struct med massa funktionspekare?
Klart att det går. Det går att skriva dålig kod i alla språk.
Ingen aning om vad du menar med mer nödvändigt. En c++-klass med metoder är snabbare än c-varianten med funktionspekare.
Exakt. Borde inte C++ vara ett lämpligt språk för inbyggda system då? Allt har ju med den som skriver koden. Jag kan ju skriva skitdålig kod i C, men underbar kod i Python.
Om ni undrar om jag ska byta från C till C++? Nej, men jag gillar inte att folk slänger skit på C++ bara för att det är C++. Man använder det verktyg man är van med och det som fungerar.
Jag kör C för att STM32 erbjuder C som standard. Mer orkar jag inte bry mig. Men jag har åsikter att C borde ha faktiskt ha OOP för att underlätta.
void copyval(matrix*a, matrix* b){
int n = b->row;
int m = b->column;
float* ptr_a = a->data;
float* ptr_b = b->data;
// copy all values from matrix a to matrix b
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
*(ptr_b++) = *(ptr_a++);
}
}
}
Där eye(n) retunerar en identitetsmatris. Måste jag radera denna eye(n) efter jag har "kört klart" copyval(matrix* a, matrix* b) ? Eller beror det på vilken kompilator jag använder? Just nu är det C11.
Gafflar är dumma! Kan de inte vara som en liten skål också så man kan äta soppa med dem!? Hur svårt ska det var!? Varför ha man inte tänkt på det när man gjorde gaffeln?