Help! What to learn First?

Newbie Spellweaver
Joined
Dec 20, 2013
Messages
14
Reaction score
0
Hello People. I am Crost. I am starting to learn to code since it is my dream to be a software developer when I grow up. So, I was advised by my teacher to learn C first, then C++ and then some high level programming language like, Java and C#.

So should follow this pattern my teacher advised me? Forget about things like it is hard etc..

I mean is C worth over to learn before C++? Of course, don't worry about having to waste my time. I am still 13(turning 14 next month). I have like 5 years before I go to university.

Any Advice?

Note: I am living in a country where my mother tongue is not English, so yeah my English is damn weak.... Also, I plan on doing os kernels of my own when I grow up.


If I put this thread in wrong section, I'd kindly request forum moderators to move this thread.

Thank You,
Yours only Crost.
 
...Also, I plan on doing os kernels of my own when I grow up. ...

If you said that to your teacher then this is probably why he gave you this advise.
To write your own kernel you'd need to know low level programming language like ASM and/or C.

Since you are not bothered with difficulty then just go with C (which, btw, is easier in my opinion than for example Java - just more tedious).
With C under your belt moving to higher level languages would be a piece of cake.

On the other hand, it takes a while to see any results of your newly acquired programming skills if you go with C - this tend to discourage new programmers.
Personally I think it may be a good idea to learn Python or other scripting language first.
You'll have fun with it, knowledge you acquire will be applicable to other languages you'd learn later.
Besides if you're talking C/C++ then you'll most likely want to learn Python sooner or later anyway just to make your life as a programmer easier.
Glue It All Together With Python
 
No, you don't have to learn C first before going to C++.

C++ was made to fill C's missing holes. So basically, when you study C++, it's like learning the same, but improved one!

Don't mislead the OP. C++ was not "made to fill C's missing holes."
The C programming language is complete on it's own and was developed
to assist in writing the *nix operating system back in the early '70's.

C++ was created because a guy named Stroustrup decided to "enhance"
the C language with Simula-like features. C was chosen simply because
it is a simple, fast, portable, general-purpose language that is highly
portable.

Studying C++ is NOT like learning the same, but improved one."
 
So should follow this pattern my teacher advised me? Forget about things like it is hard etc..

Any Advice?


.

Just keep practicing and striving to learn more. Soon you'll find yourself spending loads of time on the computer each day wanting to eat new information and build on what you already know. You will most likely reach a stage where you would like to explore another language just because people become interested in other stuff because they learn what other languages can do.

I say learn C to the fullest, meaning the point where you can look through other peoples script and be able to understand what they do and how they work.

- Remember nothing is hard, We'll maybe somethings are but programming is only made to look hard like a lot of things but once you take the time to practice it and understand it... it'll become easier... Not saying everything is straight forward but once you know what each line of code does your set to make stuff.

Good luck
 
I suggest that you familiarize yourself with some basic programming first.
And personally i think python is a good way to start. It's a very clean language and have a lot of open source project which you can use as an example to learn from.
But it's all based on your personal choices. Any language is good once you love them and you are sure to be able to make something out of them.

Psst: Since you're aiming to create an OS, you might be interested in Chromium OS . They're open source and a budding project of google. Guess what, it's python. http://www.chromium.org/chromium-os

Anyway, I would suggest that you read this book from O'reilly titled Head First Programming. http://www.headfirstlabs.com/books/hfprog/
Although that book gave a brief introduction on python, the content is actually useful for any programming language.
 
I suggest that you familiarize yourself with some basic programming first.
And personally i think python is a good way to start. It's a very clean language and have a lot of open source project which you can use as an example to learn from.
But it's all based on your personal choices. Any language is good once you love them and you are sure to be able to make something out of them.

Psst: Since you're aiming to create an OS, you might be interested in Chromium OS . They're open source and a budding project of google. Guess what, it's python. http://www.chromium.org/chromium-os

Anyway, I would suggest that you read this book from O'reilly titled Head First Programming. http://www.headfirstlabs.com/books/hfprog/
Although that book gave a brief introduction on python, the content is actually useful for any programming language.

When you say "basic" programming I pray you mean beginner-level programming and not the BASIC language. LoL
Stay away from BASIC as it teaches poor programming practices. Learning pure C then C++ will get you on a level
to where you will fully understand other languages that are somewhat based upon them (for example, java, php, python, C#).
As your future goal is OS development, you will want to start with C. Once you have that mastered, go on to C++.
 
Of course it's not the BASIC (Beginner's All-purpose Symbolic Intruction Code) language lol.
I was saying about the 'common' newbie programming stuff that are used in in every language like those strings, variable, logic and stuff.
I never even heard anyone here is using that BASIC programming language anyway.

Getting on C, and going through C++ will surely makes learning other language later on easier. It will makes you more flexible but a bit of time consuming. Might be the best bet for you since you have a long time to go on.
Getting on python first will makes your learning easy and fun. Also easier to find a community as there's tons of open source project for python. But will makes you prone to lose out some programming knowledge which you could obtain with C and C++.

Anyway, it's up to your own preferences. You need to find which is suitable for you. Which is why the reason I suggested the Head First Programming as it teaches general programming knowledge instead of jumping in directly to any language . [strike]Yeah, if you need a link to get that book, pm me. [/strike]
 
A little programming humor:

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg."
- Bjarne Stroustrup

"If C gives you enough rope to hang yourself, then C++ gives you enough rope to bind and gag your neighborhood,
rig the sails on a small ship, and still have enough rope to hang yourself from the yardarm.
"
- Anonymous quote from the The UNIX-HATERS Handbook
 
Thank you guys. I really appreciate all of you for your help.

I have decided to start from C then move on to C++ and after that some other high level language.

Thanks again.

Yours Crost.
 
Except... it wouldn't help him in developing OS kernels.
Ever try to get a python script to boot a computer? LoL

Python is a nightmare of a language, but it's still a better suggestion than trying to get an absolute beginner to write an OS from the bottom up. It doesn't matter what language OP learns first because he's not going to be writing kernels for another 10-15 years anyway. Not to mention, language has nothing to do with it. Almost any language with a native compiler will do.
 
Python is a nightmare of a language, but it's still a better suggestion than trying to get an absolute beginner to write an OS from the bottom up. It doesn't matter what language OP learns first because he's not going to be writing kernels for another 10-15 years anyway. Not to mention, language has nothing to do with it. Almost any language with a native compiler will do.

Why do you think Python to be a nightmare of a language?
Anyway, I just wanted to point out that it actually wouldn't take longer than ~2 years of continuous learning (C/asm) to start writing kernels.
10-15 years is highly exaggerated.
 
Why do you think Python to be a nightmare of a language?
Anyway, I just wanted to point out that it actually wouldn't take longer than ~2 years of continuous learning (C/asm) to start writing kernels.
10-15 years is highly exaggerated.

I'm still young so I have a lot of time already. Thanks anyway.
 
Imho : instead of learning a script language like phyton , you should better learn C at the beginning.

P.s. if you want to develop an os it would be very useful to have some knowledge of the assembly language too ;)

Greetz
 
Python is the EASIEST Language yet Powerful for seniors (from the university website i have visited last night) and yes Python is the First language used for Programming and preferrably for beginners, and to tell you i really love python lol i came from opascal/delphi but i have no idea what cursed me to jump to python, You should try it and Love it, If you write a letter with your brain and your hand its more easy in python. :)

regards bro.
 
Python is the EASIEST Language yet Powerful for seniors (from the university website i have visited last night) and yes Python is the First language used for Programming and preferrably for beginners, and to tell you i really love python lol i came from opascal/delphi but i have no idea what cursed me to jump to python, You should try it and Love it, If you write a letter with your brain and your hand its more easy in python. :)

regards bro.

Again, read the OP's first post. His interest lies in OS kernel development.
Suggesting languages that will not allow him to achieve this goal is not
helping in the least. If someone asks you directions to the nearest gas
station, will you lead him to the nearest lumberyard? Sure, wood can be
used as fuel but he requires gasoline to reach his goal of refueling.

Python is the first language used for programming? Python evolved in
the early 80's and wasn't implemented until the late 80's. It is an
interpreted language and, thus, cannot be used as an OS kernel.
Even Linus Torvalds used C and assembly for the Linux kernel and
not an interpreted language. If you want to suggest the first programming
language (that is still in use today) then you should suggest FORTRAN
(which dates back to 1957).

As anyone knowledgeable is OS development will suggest, the correct
path to take is the pure C language followed by assembly in the
targeted microprocessor. After that, there are different paths to take,
C++ being a common path. Also beneficial in OS development is
bash scripting. All in all, it will take years to get to the point of a
person with no knowledge of programming to be able to start designing
a viable kernel. And, again, the proper route to take is C followed
by assembly.
 
I don't think there's a point in further arguing about this since the OP already decided to take on C and going further later on, C++.
He asked for suggestion before sure, but when he already decided, respect his decision and let him go on with it rather than trying to make
him to change his mind and confusing him. It's not like he made a bad decision anyway.

To iamcrost. Goodluck.
 
Back