# Wanna learn coding



## fraggermamba (Sep 4, 2010)

I am in 9th standard and would love to learn to code and make new apps....am i too young to start? If not where do i start and what do i need to learn? Do i need to download any software? 

Plz help...


----------



## lucifer_is_back (Sep 6, 2010)

start with python


----------



## Garbage (Sep 6, 2010)

You can start learning Python. (or C)

I would suggest to use Python on GNU/Linux. But you can use Windows as well.

Download Python interpreter from Download Python

And here is beginner's guide to Python BeginnersGuide - PythonInfo Wiki


----------



## orianablage (Sep 6, 2010)

If you like it, it doesn't matter if you are young, the soonest the better!
I will agree with the previews, Python is very good to start with


----------



## jayantr7 (Sep 6, 2010)

Age dosen't matter.I am in std.7 but I also have started learning making apps..

IMO,you wanna learn a programming language for coding and all those stuffs.If that,then I recommend you reading :-
    *www.thinkdigit.com/forum/developers/130650-help-choosing-programming-language.html
    OR
   Help in choosing a programming language - Stack Overflow

Python is the way to start with.What languages you know already??


----------



## fraggermamba (Sep 6, 2010)

jayant_raj7 said:


> Age dosen't matter.I am in std.7 but I also have started learning making apps..
> 
> IMO,you wanna learn a programming language for coding and all those stuffs.If that,then I recommend you reading :-
> *www.thinkdigit.com/forum/developers/130650-help-choosing-programming-language.html
> ...



I don't know any other languages  So will python help me in creating apps?? For what platforms can i create apps??

there are a bunch of tutorial links provided in the python website but I don't which would be the best one....can u guyz help me?


----------



## chickenload (Sep 22, 2010)

PHP anyone? this one has really helped me a lot. hope it helps as well.


----------



## abhijangda (Sep 23, 2010)

i will recommend Visual Basic 6.0, purchase its book and start with it. it will really help u in learning basics of programming. Then go for python, after it C, C++,JAVA,C#.
in all these languages  u can create programs for both windows and linux. but in Visual Basic 6.0 programs for windows can be created not for linux.


----------



## ico (Sep 23, 2010)

Start with Pyhton.


----------



## Garbage (Sep 27, 2010)

abhijangda said:


> i will recommend Visual Basic 6.0, purchase its book and start with it.


 
Err... Visual Basic, that too 6.0?
Can somebody please confirm in which year are we? *2010 or 2001?*


----------



## sanketJ (Nov 27, 2010)

1)Learn the basics properly: Get your OOP (Object oriented Programming )concepts right.
2) Practice: Practicing what you learn is most important and one cannot achieve goal of being a good programmer without practicing.
3) Learn to share : Sharing is the most important aspect of programmers.
5)Must learn: XML, HTML, JavaScript or any other scripting language, Ajax, SQL. This are the few basic things.
6)Track: After learning Basics and terminologies , choose just one platform. Programming languages are in vast numbers, Java, c#, C++, perl, PHP, ruby etc.

For more details you can check my Blog.
Any help you want regarding which books to refer, which are the good institutes to start out, ask me


----------



## chintan786 (Jul 19, 2011)

Hi,

I also intend to learn programming.

For that I have few Question..

1. My main aim is to programme mathematical functions mainly for the purpose of statistical analysis.C++ is one of the language because it is widely used in Technical analysis packages.

2. Also I want to learn making queries to work in various excel sheets at 1 go.

Please suggest from where to start with.

Thanks & Regards,

Chintan


----------



## nims11 (Jul 19, 2011)

first get a grip on a programming language. then learn using some libraries for operating on .xls. python is a good option for you as it is easy to read,write and learn. it also has a good collection of libraries. for operating with excel files using python, Python Excel


----------



## Zangetsu (Jul 19, 2011)

abhijangda said:


> i will recommend Visual Basic 6.0, purchase its book and start with it.



VB6 is obsolete & is replaced by VB.NET...after all its microsoft...


@OP:yes,u can start with Python..its not poisonous  
get ur concept cleared in OOPS.

u can also start with C & then C++


----------



## ss max (Jul 19, 2011)

Age does not matter you should start learning as soon as possibe . I think you should start with C , so just buy a book and start. Goodluck


----------



## chintan786 (Jul 20, 2011)

*Learning Programming : Python*

My background:

Programming : almost Nil nor I have IT background.

Nims11, suggested me to start with Python.

So today I am installing Pythin 3.2.1 along with its windows installer from below mention link:

Download Python

I Want to know which Books I can go though for the same.

Also regarding making Queries in SQL..wht are ur suggestions to start with.

I already tried my hand on Matlab. But my opinion regarding it is even to get simple thing Done one needs go through many steps.

if someone having Econometric Background then plz help.

Thanks & Regards,

Chintan


----------



## Garbage (Jul 20, 2011)

^^
Here you go - BeginnersGuide - PythonInfo Wiki

Python For Beginners


----------



## noob (Jul 20, 2011)

C, nothing is simple and better than this to start.


----------



## chintan786 (Jul 20, 2011)

@ garbage and Talk...with which IDE i should go for. I like Python tool kit. it is having matlab kind of environment. if u have any other thoughts do let me know..

Is there any good python forum for the same.

@ talk do i need to have knowledge of C to learn C++.

Thanks & Regards,

Chintan


----------



## noob (Jul 20, 2011)

C is very basic thing...u get to learn a gr8 deal ...then once you get basic understanding of OOPS , you can move on to web development ( not speaking about Photoshop or CSS) 

for this you have PHP or asp.net stack....choose whatever you like...


----------



## Liverpool_fan (Jul 20, 2011)

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 (Jul 20, 2011)

Liverpool_fan said:


> 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 (Jul 20, 2011)

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. 
Python + Tk are easy enough to learn anyway.


----------



## chintan786 (Jul 21, 2011)

Liverpool_fan said:


> 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


----------



## krishnandu.sarkar (Jul 21, 2011)

You are probably using Python3, so it'll be print("Hello World")


----------



## chintan786 (Jul 21, 2011)

krishnandu.sarkar said:


> You are probably using Python3, so it'll be print("Hello World")



ya, I'm using python 3.2.1. BTW thanks for correction.

Regards,

Chintan


----------



## noob (Jul 21, 2011)

Liverpool_fan said:


> 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 (Jul 21, 2011)

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 (Jul 21, 2011)

abhijangda said:


> 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#



Liverpool_fan said:


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



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 (Jul 21, 2011)

talktoanil said:


> 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.



talktoanil said:


> 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 (Jul 21, 2011)

talktoanil said:


> 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:


```
#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 (Jul 21, 2011)

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.


----------



## Liverpool_fan (Jul 21, 2011)

UI? Did you even READ the post?


----------



## noob (Jul 21, 2011)

> 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.



Liverpool_fan said:


> 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 (Jul 21, 2011)

talktoanil said:


> 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++)...


----------



## krishnandu.sarkar (Jul 21, 2011)

talktoanil said:


> but its good to understand what a pointer is and how memory management is done in your fav lang.



But why take the hassle of complicated things when he/she doesn't even know what the programming is??

Let the starting be easy for him/her.


----------



## Liverpool_fan (Jul 21, 2011)

C# is a decent choice btw for first programming language. I am biased to Python though.


----------



## Garbage (Jul 21, 2011)

talktoanil said:


> 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?



talktoanil said:


> 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 (Jul 21, 2011)

Liverpool_fan said:


> 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 (Jul 21, 2011)

^^ 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.


----------



## noob (Jul 21, 2011)

Garbage said:


> Agreed about variations. But not every languages has OOP. For example, C is NOT a OOP language. Is it?
> 
> 
> Excuse me? Are you sure what are you talking about?
> ...


i do understand and FYI , 'they have  omittied multiple inheritance from the Java ' as of now..way back it was there...google around..as i have moved to .net track have lost in touch with it..but it was there when i was learning it.


----------



## Zangetsu (Jul 21, 2011)

Garbage said:


> C is NOT a OOP language. Is it?


Yes C is not OOP buts its POP 




Garbage said:


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



that's what we call multiple inheritance achieved through interfaces


----------



## Liverpool_fan (Jul 21, 2011)

talktoanil said:


> 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.



Sorry what is the way you do in C? Using antiquated practices encouraged by institutes here or the extra code for implementation details. I sincerely hope it's the latter you are speaking of even though I don't agree.



Zangetsu said:


> that's what we call multiple inheritance achieved through interfaces


Its virtue is different though.

And oh for the record I never said not to learn C. Just that a language like C should be learnt after some experience with a programming language like Python. Python ain't the only choice, there's Perl, Ruby, PHP as well. Heck you can start with C# and Java as well but for some reason I don't like the idea of beginning with Java/C#. If you persist with C, for god sake at least give some respect to it and learn correct practices.


----------



## Zangetsu (Jul 21, 2011)

Liverpool_fan said:


> for some reason I don't like the idea of beginning with Java/C#.



Every one has different likes/dislikes....

if not C then OP can also have C++


----------



## Liverpool_fan (Jul 21, 2011)

Zangetsu said:


> Every one has different likes/dislikes....
> 
> if not C then OP can also have C++



Even worse choice for a beginner if you ask me.


----------



## Zangetsu (Jul 21, 2011)

^^C++ is not that Bad..& still in the league of programming giants...


----------



## Garbage (Jul 21, 2011)

talktoanil said:


> i do understand and FYI , *'they have  omittied multiple inheritance from the Java ' as of now..way back it was there...google around..*as i have moved to .net track have lost in touch with it..but it was there when i was learning it.



Okay. Let me google it. I searched Google

And I was feeling lucky. So first line of first search result says:


> Java was designed without multiple inheritance.



Second search result said:


> When Sun was designing Java, it omitted multiple inheritance - or more precisely multiple implementation inheritance - on purpose.



Now tell! :S

And I am repeating, for god's sake, please don't comment if you don't know! You are pissing me off!


----------



## Liverpool_fan (Jul 21, 2011)

Zangetsu said:


> ^^C++ is not that Bad..& still in the league of programming giants...



Never said it is bad. Just not the right choice for beginners. Ideally you should learn C before C++ anyway. (Though I began with C++ but I have to say wasn't the best idea).



Garbage said:


> You are pissing me off!


Fix'd.


----------



## chintan786 (Jul 21, 2011)

bhailog OP has gone long back and only beginner left is this poor soul.

If any consensus arrive among u then please let me know from where to start when want to learn C++ and SQL. i found C hard and don't have clue regarding c++ either.

Regarding C++ i have compiler name codeblock and regarding SQL i have no idea from to start with.

Pardon me if i sound too noob.

Regards,

Chintan


----------



## ico (Jul 21, 2011)

^ Just start with Python and stop thinking about other things for the time being.


----------



## chintan786 (Jul 21, 2011)

^^ok. Point taken


----------



## Zangetsu (Jul 21, 2011)

chintan786 said:


> regarding SQL i have no idea from to start with.


MySQL


----------



## chintan786 (Jul 21, 2011)

^^tht i already installed just 2 days ago.


----------



## abhijangda (Jul 22, 2011)

talktoanil said:


> 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#
> 
> 
> ...



Did you even read my post, I said do up to procedural programming only, I didn't talked about OOPS?? You should read post carefully, before commenting.

And who the hell are you, how many years of programming exp. you have? Have you done your CS degree from any of the IITs? Tell me!!
Just don't use these types of word here. Cool down man, there's no need to fight here!

@OP just go with Python. I would say Python 3.x. 
Good Luck
Happy Programming.


----------



## chintan786 (Jul 22, 2011)

Is there any good book on Python, which you ppl have also gone though.

Thanks & Regards,

Chintan


----------



## Liverpool_fan (Jul 22, 2011)

These are free eBooks:
Python - Notes
Dive Into Python 3

This one I've not read but my other experiences with Head First Series makes me recommend it:
Flipkart.com: Head First Python: Book: Paul Barry

This one I have read (the previous edition) and I recommend to buy but it's a bit comprehensive.
Flipkart.com: Learning Python: Book: Mark Lutz


----------



## chintan786 (Jul 22, 2011)

^^ thanks a Ton


----------



## Garbage (Jul 22, 2011)

chintan786 said:


> Is there any good book on Python, which you ppl have also gone though.
> 
> Thanks & Regards,
> 
> Chintan



I have posted this link multiple times, but here is one more time - BeginnersGuide - PythonInfo Wiki


----------



## abhijangda (Jul 22, 2011)

The best Python tutorial is it's official tutorial.

docs.python.org/

Also you can read Expert Python Programming (2008) by PACKT Publishing (don't remember the authors name)


----------



## Garbage (Jul 22, 2011)

"Learn Python The Hard Way" is also a good book. Though the name suggests its _hard_ way, the author means learn it by *programming*, not just reading.



> Have you always wanted to learn how to code but never thought you could? Are you looking to build a foundation for more complex coding? Do you want to challenge your brain in a new way? Then Learn Python the Hard Way is the book for you.


----------



## chintan786 (Jul 22, 2011)

Thanks abhi and garbage... just started with byte of Pyhton.

Regards,

Chintan


----------



## jayantr7 (Jul 23, 2011)

Started learning Python (from Yesterday). I hope to get awesome results from it.


----------

