Nope. 99% од студентите доаѓат на факс со веќе набилдан паскал. Оние коишто доаѓаат со нула познавање од програмирањето, заглавуваат или шибаат на друг смер (барем оние кои јас ги познавам).
Има и исклучоци, пример еден мој колега уште од средношколските денови пука на C++, па сега ме шиша.
Ајде сега ти се замисли како ептен почетник во програмирање и ти е дадена задача да направиш програма која ќе создаде и испечати матрица со произволни (ама теоретски неограничени) димензии, со елементи производ на бројот на редот и бројот на колоната.
Еве го решението во три јазика: Basic, Java и C++.
Просуди самиот каде е полесно
C++, прво решение, онака како што ТРЕБА да биде
Код:
#include <iostream>
#include <vector>
using namespace std;
int main(int arg, char *agrv[])
{
int dimX, dimY;
cout <<"Vnesete broj na redovi: ";cin >>dimX;
cout <<"Vnesete broj na koloni: ";cin >>dimY;
vector < vector <int> > pole;
for (int i=0; i<dimX; i++)
{
vector <int> vnPole;
for (int j=0; j<dimY; j++)
vnPole.push_back((i+1)*(j+1));
pole.push_back(vnPole);
}
//pecatenje na gotovata matrica
for(int i=0; i<dimX; i++)
{
for (int j=0; j<dimY;j++)
cout <<pole[i][j]<<' ';
cout <<endl;
}
system("PAUSE");
return 0;
}
C++ второ решение. Пократко, ама грдо стои.
Код:
#include <iostream>
#include <vector>
using namespace std;
inline int getInd(int x, int y, int maxY)
{
return x * maxY + y;
}
int main(int arg, char *agrv[])
{
int dimX, dimY;
cout <<"Vnesete broj na redovi: ";cin >>dimX;
cout <<"Vnesete broj na koloni: ";cin >>dimY;
int *pole = new int[dimX*dimY];
for (int i=0; i<dimX; i++)
for (int j=0; j<dimY; j++)
pole[getInd(i,j,dimY)] = (i+1) * (j+1);
//pecatenje na gotovata matrica
for(int i=0; i<dimX; i++)
{
for (int j=0; j<dimY;j++)
cout <<pole[getInd(i,j,dimY)]<<' ';
cout <<endl;
}
system("PAUSE");
return 0;
}
C++ е замислен и остварен како јазик близок со асемблерот. Работи на ниско ниво, може директно да комуницира со меморијата и како последица на тоа пројавува и одлични перформанси. Кај C/C++ се појавува и терминот странички ефекти што значи дека треба да се биде исклучително внимателен при програмирањето бидејќи може да ти настанат грешки кои директно нема да бидат предизвикани од ништо.
Тежината на програмските јазици иде обратно пропорционално од нивното ниво. C/C++ може се на најниско ниво од вишите програмски јазици, па според тоа не ни очекувајте дека ќе бидат лесни за учење.