Teen Programmers Unite  
 

 

Return to forum top

A biginner needs HELP

Posted by missy [send private reply] at June 21, 2002, 05:41:33 AM

I don't know so much about programming ...but i signed up for a c++ course ....my friends told me that i shouldn't start with c++ ...they told me to take some simpler languages first....what should i do?

Posted by Mycroft [send private reply] at June 21, 2002, 10:38:06 AM

Its better to have learned a simpler language such as basic or a scripting languages e.g. javascript, perl to understand the concepts of programming. But if its an intro to programming using c++ course go ahead and take it. I would recommend taking a C course before taking C++, but thats just me.

Posted by RedX [send private reply] at June 21, 2002, 11:13:37 AM

The "don't learn C(++) as a first language" guideline only applies to self-tutoring. A good course will teach you the basics before the C++ stuff. That is if it's a "from the ground up" type of course.
However don't expect it to be easy. This way you'll be learing 2 things at the same time: basic programming and the C++ programming language. Both are worth a course of their own.

RedX

Posted by rev [send private reply] at June 22, 2002, 02:54:23 PM

eww. The "don't learn C(++) as a first languge" guideline applies to everything, not just self-tutoring. Learning C++ in group or a class will be a little easier, but it doesn't remove the garbage that C++ is bloated with. I also suggest you learn a simpler language, one with a simpler syntax. If you're trying to learn C++ as a first language, there is a ton of stuff you have to learn, and it all has to be done at the same time, to get anything worthwhile going.

However, if you learn a simpler language first, it will be easier to pick up what is important- generalized knowledge of programming. A language with a simpler syntax will allow you to seperate what is specific to that language (syntax) from what applies to all programming. C++ is very poor for that.

Note, just because a language is simple, it doesn't mean it is not powerful. There is nothing C++ can do that Smalltalk, Lisp, Ruby, Python or Scheme cannot. In C++, you just have to type more to get it usually. :)

Frankly, I wouldn't suggest you learn JavaScript or Perl as a first language. JavaScript is severely crippled, and far from a "real" language. Perl, like C++, has a lot of syntax that serves to confuse the beginner. Sometimes it can be a good thing to an experienced coder, but it also trips people up, both beginners and advanced users.

Even though I'm not a huge fan of it myself, I suggest Python. It has a very supportive community and good tutorials. It has a simple syntax, yet is powerful enough to write anything you could ever want. With it, you can learn most of the major programming methodologies, functional, object-oriented and procedural. However, unlike C++, it won't feel like torture while you learn it.

Start at www.python.org. :) Best of luck, missy!

The great thing about using Python as a first language is that most of it maps directly on to C and C++ down the line, if you choose to learn it. When you're forced to use C++, it'll just be a matter of picking up the syntax, which isn't as hard when you have a good grasp on the basic concepts.

Posted by vikram_1982 [send private reply] at June 24, 2002, 02:25:28 AM

c++ aint for beginners period.

Try something like

Basic --> <pascal> --> C --> C++ --> VB


The higher end languages may be interchanged.

Posted by AngelOD [send private reply] at June 24, 2002, 02:22:19 PM

Vikram.. I hope that's a joke, putting VB as the final goal.. I mean, VB is okay for setting up and testing GUIs and other stuff quickly, but for optimized applications I would never use it (and even for the other things I have Delphi).

Posted by jbman [send private reply] at June 25, 2002, 01:24:57 AM

In my opinion, Visual Basic 6 (Standard Edition) is a great starting place. I read a book (VB in 24 hours) and it was great. It gives me a grasp on VB and programming in general. Now that I understand I can program in vb and I can expand to other things. (This is generalized because I know there is quite a difference between Event-Driven languages and Object Oriented ones, but Event-Driven is easier to start out with. Object Oriented is more powerful though)

Posted by AngelOD [send private reply] at June 25, 2002, 04:03:11 AM

Hmm.. Well Delphi is Event-Driven and Object Oriented, though not 100% OO like e.g. Python, but it does have OO capabilities. The compiled files are also faster than VB6 compiled files. Can't compare to VB.NET files, since I haven't tried that.

Anyway, I never said VB was bad for starting out with, but using it as the final goal *after* learning C/C++, that's just odd. :)

Posted by jbman [send private reply] at June 25, 2002, 11:31:12 AM

yea....it is kinda weird - for a starting point its good - but if you don't move on from VB6 your gonna have problems being as its not even cross-platformed...

Posted by missy [send private reply] at June 25, 2002, 02:27:01 PM

so...i understood that c++ isn't a good start-point .
but if i took it as a first language would the setuation be that bad ? i mean.....i'll know how to program .. right?

Posted by Psion [send private reply] at June 25, 2002, 02:44:35 PM

C++ is a fine starting language. If you have any background in math/abstract thinking, you should have no problem.

Posted by metamorphic [send private reply] at June 25, 2002, 04:24:34 PM

you may learn how to program using c++ or you may not. It all depends on if you understand it or not. If so, great you can. if not, consider learning something less complex first.

Posted by vikram_1982 [send private reply] at June 29, 2002, 11:16:59 AM

AngelOD.

I , by no means intended to state that VB should be the final goal. Just the first few rungs of the ladder....

VB can be complemented by gaining knowledge of the nuances of VC++( ok , it is just another C++ compiler, but it has some specialised features). Further VB 7 has completely changed Visual Basic programming. It may also be pursued. So, honestly, the Chequered Flag cannot and should not be waved for Vb6.

Posted by vikram_1982 [send private reply] at June 29, 2002, 11:19:25 AM

Missy,

if u still intend taking up C++ as ur starting lang. , just plz make sure that u dont jump into advanced (!!!???) features like inheritance, polymorphism.....(blah blah). Just take it easy, learning the very basic stuff before u take off.

Posted by mrnorman [send private reply] at July 01, 2002, 02:42:15 AM

C++ is not THAT hard of a language to learn, so the introductory course will surely suffice. The major hurdle is getting a handle on the 'class'. That's the building block of most Object-oriented (OO) languages anyway. Personally, I think Java is significantly easier than C++ though. It's not nearly as powerful, but it's easier AND it's similar, so switching to C++ requires a little adjustment to compliation differences, and then you simply build onto your knowledge and dwelve into pointers, references, and what not. So, I'd say learn some basic OO concepts with an easy language like java and then apply them to a more difficult language such as C++. Good luck

Posted by metamorphic [send private reply] at July 01, 2002, 02:33:48 PM

"C++ is not THAT hard of a language to learn" - no its not. But as a first language it can be exceptionally hard.

consider a basic c/c++ (im going to use C++ for this) app that writes hello world.

#include<iostream>
{
   std::cout << "Hello world" << std::endl;
   return 0;
}


To someone who has never programmed before, even above, the simpelest of applications, looks complex.
Posted by unknown_lamer [send private reply] at July 01, 2002, 04:24:01 PM

And then look at the Scheme hello world:

(display "Hello World!")
(newline)


Anyone should be able to understand that.
Posted by CodeRed [send private reply] at July 01, 2002, 08:32:39 PM

Well, you overcompicated that (and made several mistakes)

First, #include and <iostream> have to be seperated by a space, second, unless you say using namespace std; you have to put an .h after iostream, third, neither of those "std::" are necessary (if you do what I said above), fourth, you forgot the main method (or something, I don't know what the hell you were doing).
The revised code is a little easier:

#include <iostream.h>

void main()
{
   cout << "Hello world" << endl;
}


or, if you prefer (for what reason I don't know):

#include <iostream>
using namespace std;

int main()
{
   cout << "Hello world" << endl;
   return 0;
}
Posted by CodeRed [send private reply] at July 01, 2002, 08:34:10 PM

It's really not that hard, once you learn what cout, endl and crap like that mean.

Posted by unknown_lamer [send private reply] at July 01, 2002, 10:17:24 PM

Um, CodeRed..your code sucks and you should be shot. iostream.h is deprecated and anyone that does using namespace std; in a new program should die.

Posted by gian [send private reply] at July 01, 2002, 10:39:23 PM

I still use stdio! But then again, I really do C most of the time...
I like stdio because it follows the standard form one would expect a C function to follow (ie function(arguments) instead of <<><><><><><<><><>)

Posted by CodeRed [send private reply] at July 02, 2002, 12:23:49 AM

"Um, CodeRed..your code sucks and you should be shot. iostream.h is deprecated and anyone that does using namespace std; in a new program should die"

Roooigt, did you see that I did it the "Politically Correct" way also, dumbass.

Posted by CodeRed [send private reply] at July 02, 2002, 12:25:31 AM

Gian, it's just operator overloading, embrace it, it can be very usefull.

Posted by RedX [send private reply] at July 02, 2002, 08:35:42 AM

Operator overloading rocks!
Cout is way much easier to use than printf() & Co.
But that's my opinion.

RedX

Posted by unknown_lamer [send private reply] at July 02, 2002, 10:58:40 AM

I saw no correct code in your post CodeRed. iostream.h is deprecated and using namespace std; is also wrong. Using std:: isn't difficult at all and it makes sense--anything that is in the std namespace is part of the standard library. The ANSI part of the libc is also prefixed by std:: when you include <c[header with no .h>.

Posted by CodeRed [send private reply] at July 02, 2002, 11:16:27 AM

Whatever, tell that to my college professors, and every online tutorial, and every book ever written on the subject.

Posted by unknown_lamer [send private reply] at July 02, 2002, 11:32:14 AM

Well, "The C++ Programming Language 3rd ed." says you are wrong. And seeing who wrote it...also the standard says you are wrong. My teacher also used iostream.h and what not, but that is because the standard wasn't finished until 1998. That was only four years ago. It has taken until now for compilers to support the standard (and no one supports the standard in its entirety today).

Posted by CodeRed [send private reply] at July 03, 2002, 01:58:57 AM

Don't be so anal-retentive, if it works it works, if the non-standard approach works and EVERYBODY uses it, who gives a shit that it's non-standard.

Posted by AngelOD [send private reply] at July 03, 2002, 03:02:38 AM

Actually, I'd say that if the majority of developers use one way, that's closer to being a standard, than the actual standard is.. In fact, I am getting a bit confused about what the standard (correct?) way of doing it is?

Posted by gian [send private reply] at July 03, 2002, 04:27:19 AM

Me too... does someone care to demonstrate?

Posted by buzgub [send private reply] at July 03, 2002, 04:31:44 AM

The Standard way of doing things is the way specified by the document(s) that define the language. What this document says is technically the correct way.

The standard way of doing things is whatever everyone does. At least with the C and C++ standards, I believe the intention was to "codify existing practice", so the standard and Standard ways of doing things should be the same.

If this post does not make sense to you, reread and note the case of the first letter of each instance of the word standard.

Posted by unknown_lamer [send private reply] at July 03, 2002, 09:11:50 AM

When the *.h STL headers are gone (they are deprecated now), then you'll be SOL. Also, using namespace std; will make life suck for anyone maintaining your program down the road. Is is really that hard to use std::?

Posted by missy [send private reply] at July 11, 2002, 02:21:12 PM

Thank you all guyz for ur help
i took a look on www.python.org and i decided to learn python as my first programming language ....
but will really need your help and support (really being the key word) bcoz in my country you can't easily find a python book or even a person who uses it seriously ...well.. i don't know why be they concentrate mor on c \ c++ \VB .
in case i faced any problems i hope you will be in touch by keeping visiting this page ...ok?
thanx again
urs : the mediterranean missy

Posted by Psion [send private reply] at July 11, 2002, 02:37:14 PM

Please start a different thread if you want to ask for help again, however.

Posted by unknown_lamer [send private reply] at July 11, 2002, 03:08:32 PM

Or try the Python LG, which doesn't appear to be up and running yet. <plug_for_my_lg>But the Scheme LG is up and running if you want to learn Scheme.</plug_for_my_lg>

You must be logged in to post messages and see which you have already read.

Log on
Username:
Password:
Save for later automatic logon

Register as a new user
 
Copyright TPU 2002. See the Credits and About TPU for more information.