|
The answer entirely depends on whether the purpose of learning is for the academic reasons; or for understanding how computer works, or whether you are looking for a job.
I have a personal choice of going toward C# for professional stuff, this language has really proven to be a game changer in every way. You can use the same language to write simple console programs, web applications, microservices, machine learning, games, mobile apps, cloud-native apps, what not. This was the first language I learnt, and it really gives a lot of power and support for the programmer, while abstracting away the unnecessary stuff—*coughs* InputStreamReader *coughs*.
For academic reasons, I might recommend JavaScript—hold on, hold on—as most of the times, the concepts are recursive. For example, a hello world in C is,
#include <stdio.h>
int main() {
printf("Hello world!\n");
} What does that include do? What does it mean to have an int with main. Now this point leads to a very serious problem with today's educational system, and that is, most of the times teachers would leave the int out and write it with void. Woah, hold on. That causes the students to think that it is okay to ignore the standards and write the code that compiles.
There are several issues with JavaScript, but at least it is better than Python, in terms of familiarity with other languages like C, C++ or JavaScript. If not JavaScript, then go for C++ or C.
But hey, either them C or C++. Do not involve pointer to structure, that uses a reference type based on a macro. Just don't do that!
Feel free to disagree, and enlighten me, please.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
modified 1-Apr-19 1:40am.
|
|
|
|
|
Afzaal Ahmad Zeeshan wrote: The answer entirely depends on whether the purpose of learning is for the academic reasons; or for understanding how computer works, or whether you are looking for a job.
The first thing to determine is whether or not the student has the aptitude for the kind of critical thinking which is required.
That's why you start with an easy language and then work up to the more useful languages.
Just as a pilot will learn on something like a Cessna even if he dreams of flying 747s.
|
|
|
|
|
C is at least a third language. You need to learn an easy (safe) language first.
When I learned, it was: BASIC, Pascal, (COBOL, FORTRAN)*, C...
I think Python is currently the language best suited to be a first language, but even it is too modern. (Then move on to better languages.)
* Didn't really learn these, but I was able to complete the homework unassisted and with no Internet.
|
|
|
|
|
C is the first choice when coding for some embedded hardware or high perfomance computing.
I love the power of C to pick one's nose in memory
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Yes, but not to learn first.
|
|
|
|
|
I started with C and I'm glad that I did, I think that it gives you a real feel of what's going on inside the box.
Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain
|
|
|
|