Wanna learn coding

Status
Not open for further replies.

Liverpool_fan

Sami Hyypiä, LFC legend
C is not a "basic" language. In fact C is a "tricky" language and compartively harder to learn correctly for beginners (too many traps, non-standard techniques, etc.). 90% of newbies (in India) code it incorrectly using non-portable and antiquated libraries and horrible programming practices. A newbie will most probably make a bad choices in his early days as well.

@chintan786 Just learn Python. Learn C after your learn Python.
 

abhijangda

Padawan
C is not a "basic" language. In fact C is a "tricky" language and compartively harder to learn correctly for beginners (too many traps, non-standard techniques, etc.). 90% of newbies (in India) code it incorrectly using non-portable and antiquated libraries and horrible programming practices. A newbie will most probably make a bad choices in his early days as well.

@chintan786 Just learn Python. Learn C after your learn Python.

Yes, you are right, I don't know why in nearly all the colleges first C is taught and that too using aged,non-standard Turbo C++ Compiler.
I would rather say first learn Visual Basic 6.0, although it is more than a decade old. But I will say you should prefer it because I think it is easiest language to learn. That's because most newbie wants to develop a GUI program which is very easy to develop in it. Just learn that procedural part. Then go for Python, learn it and become expert in it. After that go for C++ and at the end C. Or I would say go for C if and only if you want to become a system software developer. Then you can learn other languages like Java, C# etc.
 

Liverpool_fan

Sami Hyypiä, LFC legend
Well VB6 is way too old and doesn't really build concept. I know you are attached to it and smart enough to use it well but in 2011 it's not the answer. :p
Python + Tk are easy enough to learn anyway.
 

chintan786

In the zone
C is not a "basic" language. In fact C is a "tricky" language and compartively harder to learn correctly for beginners (too many traps, non-standard techniques, etc.). 90% of newbies (in India) code it incorrectly using non-portable and antiquated libraries and horrible programming practices. A newbie will most probably make a bad choices in his early days as well.

@chintan786 Just learn Python. Learn C after your learn Python.

I can't be agree more than this..."C" is tricky lang.

Regarding Python. I'm using PTK IDE and tried below mention statement

print "Hello" hit enter ...ended up showing syntax error. Given statement was copied by me but stilll...

any idea why.

Thank u all

Chintan
 

noob

Cyborg Agent
C is not a "basic" language. In fact C is a "tricky" language and compartively harder to learn correctly for beginners (too many traps, non-standard techniques, etc.). 90% of newbies (in India) code it incorrectly using non-portable and antiquated libraries and horrible programming practices. A newbie will most probably make a bad choices in his early days as well.

@chintan786 Just learn Python. Learn C after your learn Python.

never used Python, but still C rules. if u r not good at it then dont say its tricky.
no matter what you learn, java , c , Python, every prog language has got few things in common..OOPS , data types..and few thing varies like how they implement OOPS, memory management. etc

Eg. In Java , you can have a derived class inherited from 2 or more base class but in C# , you cant. you can have derived class inherited from only 1 base class.

However, in C# , we have interfaces which a class can use to implement. A class can implement multiple interfaces which gives exactly same results as java (derived class inherited from 2 or more base class) but in much more simple and easy to understand manner avoiding complexity involved in java doing same.

All those colleges are not fool as you believe ..C is the best place to start and is the simplest thing.
 

Liverpool_fan

Sami Hyypiä, LFC legend
Write me a C program which:
Inputs two numbers.
Add them and outputs.

It also inputs your name and outputs it.

Go go go.

After you write that, we have a discussion in hand.
 

noob

Cyborg Agent
I would rather say first learn Visual Basic 6.0, although it is more than a decade old. But I will say you should prefer it because I think it is easiest language to learn. That's because most newbie wants to develop a GUI program which is very easy to develop in it. Just learn that procedural part. Then go for Python, learn it and become expert in it. After that go for C++ and at the end C. Or I would say go for C if and only if you want to become a system software developer. Then you can learn other languages like Java, C# etc.



that a very very bad advice.... VB6 does not even supports full OOPS. its was good for desktop apps...
instead get a free VS 2010 IDE Express edition and learn C#

Write me a C program which:
Inputs two numbers.
Add them and outputs.

It also inputs your name and outputs it.

Go go go.

After you write that, we have a discussion in hand.

i understand what you are pointing to..but at very start , main intention is to develop logic...and make you understand OOPS. make a fresher understand data types..objects,,inheritance...etc etc..

now when you develop real life apps , you dont need C (may be required for low level prog) ..you use tools like VS 2010 , SQL etc.
but thats too far...1st learn the basics.....classes,inheritance,polymorphism,
 

ico

Super Moderator
Staff member
never used Python, but still C rules. if u r not good at it then dont say its tricky.

<--->

All those colleges are not fool as you believe ..C is the best place to start and is the simplest thing.
First of all, a normal person will only take your comments seriously if you have used both C and Python. C rules and it is powerful - everyone knows this. But the point is, C is a "jugaadu" language imo. Definitely not the right language for a beginner. Has plenty of hassles and it is best if a beginner stays away from those and learns a more to-the-point language like Python first. He can learn C anytime later. A beginner also doesn't have to deal with memory in Python.

As far as "simplest" thing goes, it is Python. Not C. And don't dare to think that people who have posted in this thread are not good in C.

i understand what you are pointing to..but at very start , main intention is to develop logic...and make you understand OOPS. make a fresher understand data types..objects,,inheritance...etc etc..

now when you develop real life apps , you dont need C (may be required for low level prog) ..you use tools like VS 2010 , SQL etc.
but thats too far...1st learn the basics.....classes,inheritance,polymorphism,
well, most students in my class last year understood what stacks are but never really got the hang of pointers and memory management. You don't have to bother about this in Python.
 

Liverpool_fan

Sami Hyypiä, LFC legend
i understand what you are pointing to..but at very start , main intention is to develop logic...and make you understand OOPS. make a fresher understand data types..objects,,inheritance...etc etc..

now when you develop real life apps , you dont need C (may be required for low level prog) ..you use tools like VS 2010 , SQL etc.
but thats too far...1st learn the basics.....classes,inheritance,polymorphism,

Logic with what? Antiquated Turbo C++ code? Putting student into a false sense of security that they have learnt a Industrial level language? I am sorry but that is epic fail.

Let's see what will 95%+ Indian students will write:

Code:
#include<stdio.h>
#include<conio.h>

void main()
{
int x, y, sum;
char name[100];

clrscr();
printf("Enter number 1: ");
scanf("%d", &x);
printf("Enter number 2: ");
scanf("%d", &y);

sum = x + y;

printf("Enter your name: ");
gets(name);

printf("The sum is %d.\nThe Name is %s.", sum, name);

getch();
}

Now this program fails in several counts:
1) void main
2) clrscr
3) getch
4) gets
5) scanf without any care of type of inputs, fails terribly

Details:
Things to Avoid in C/C++ -- gets() , Part 1 - GIDNetwork

That's just a tip of the iceberg. Programming malpractices are very easy to learn for a beginner in C unless he is really guided very well and works hard at it as well. Don't get me started with pointers, an important part of the language.

You talk of polymorphism, inheritence, OOPS, none of them are C traits anyway.

You want to develop logic? Why would you like to do that with a language where half the code is spent on memory management and there are many pitfalls and dangers with undefined behaviours which you have to be very careful to avoid. WHy not use a higher level language which abstracts the learner from these details and just let the learner code for the logic or developing the program.

You ask colleges are fools. I say they are indeed. Most of their faculty are Incompetent, and an insult to computer science. I don't like to stereotype but it's true. Of course there are good, quality teachers as well but that's a rare specie.
 

noob

Cyborg Agent
how many years of prog exp you have ?

for a fresher , you dont need fancy UI and if thats what you want then get a free copy of VS2010 and start using C# ...point is learn the basics...rest is useless.
 

noob

Cyborg Agent
well, most students in my class last year understood what stacks are but never really got the hang of pointers and memory management. You don't have to bother about this in Python

thats right ..even in C#.net you dont have to.. but its good to understand what a pointer is and how memory management is done in your fav lang.
every language takes it own approach and neither of them is perfect.

UI? Did you even READ the post?

yes i did. but thats not the point here for a fresher.

i am talking from a freshers perspective.
 

Liverpool_fan

Sami Hyypiä, LFC legend
yes i did. but thats not the point here for a fresher.

i am talking from a freshers perspective.
So learning crap programming practice doesn't matter for freshers? Seriously?

Could be true though. I know a lot of companies staff ask questions like printf("%d %d %d", x, ++x, x++)...
 

Garbage

God of Mistakes...
no matter what you learn, java , c , Python, every prog language has got few things in common..OOPS , data types..and few thing varies like how they implement OOPS, memory management. etc
Agreed about variations. But not every languages has OOP. For example, C is NOT a OOP language. Is it?

Eg. In Java , you can have a derived class inherited from 2 or more base class but in C# , you cant. you can have derived class inherited from only 1 base class.

However, in C# , we have interfaces which a class can use to implement. A class can implement multiple interfaces which gives exactly same results as java (derived class inherited from 2 or more base class) but in much more simple and easy to understand manner avoiding complexity involved in java doing same.
Excuse me? Are you sure what are you talking about?

YOU CAN'T HAVE A DERIVED CLASS INHERITED FROM 2 OR MORE BASE CLASSES in Java. That's why we have "interfaces" in Java.

Don't comment if you don't know it!
 

noob

Cyborg Agent
So learning crap programming practice doesn't matter for freshers? Seriously?

Could be true though. I know a lot of companies staff ask questions like printf("%d %d %d", x, ++x, x++)...

well, this is how u do it in C and no other option. i agree,its bit lengthy..but then it lays a good foundation...

every prog lang has its once ways and we need to cope with it.
 

Garbage

God of Mistakes...
^^ IMO Python is much more "natural" than C. Why would I want to "co-op" with a language when I have another language which is quite easy to use.
 
Status
Not open for further replies.
Top Bottom