Advertisement

what lang. is the best to start programming?

Started by January 01, 2003 05:09 PM
195 comments, last by caandom 21 years, 10 months ago
Your posting history leads me to think you are just trolling.


I''ve looked at the source, and there are pieces that are good and pieces that are not ... My experience and some of my friends'' experience is that Linux is quite unreliable. Microsoft is really unreliable but Linux is worse. -- Ken Thompson
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
quote: Original post by Anonymous Poster
There unlimited resources for learning c++.

Aha! Finally someone actually provides some resources instead of insisting there are loads and expecting us to believe them.
quote:
www.cprogramming.com

From their tutorial:
(Lesson 1)
"#include <iostream.h>"

(Lesson 2)
"let us examine the meaning of TRUE and FALSE"

I didn't read the whole tutorial, but I don't need to in order to spot that is bad. Most websites are written by hobbyists, not experts. The two snippets above are a good demonstration of that.
quote:
www.cplusplus.com

"C++ tutorial that describes the language from basics up to Object Oriented Programming in a practical way and including the most important new incorporations of ANSI-C++"...

"#include <iostream.h>"

Say no more.

The abundance of incorrect resources rather demonstrates my point. Here's a suggestion: always assume that a resource found on the internet is untrustworthy until proven otherwise. Guilty until proven innocent.
quote:
there are a number of books like the ones previousaly mentioned also the one by Ivor Horton is a good book.

I'm not familiar with that book, so I won't comment. C++ is still a bad language for beginners, though.

quote: Original post by DakeDesu
Another decent book is C++ in 21 Days, whatever the latest edition is.

The ACCU didn't seem to think it was very good.

Let's not forget that the lack of good learning resources is not my only objection to C++ as beginners language.

Good resources for Python include Learning Python and the tutorials linked to from The Python Website.

[edited by - SabreMan on January 4, 2003 11:35:51 AM]
Advertisement
quote: Original post by NotAnAnonymousPoster
I just want to challenge you on this, purely out of curiosity.

<g>
quote:
1) Function signitures adorned with type information provide extra documentation.

Type information is of no interest to the problem domain. It's actually an irrelevant detail. Manifest typing recognises that and removes the responsibility of providing type information.
quote:
2) Errors are eradicated at compile time which could only be discovered at runtime.

That's the lie. There is no issue that a type system is important - it obviously is. However, the C++ (and Java and C#, amongst others) approach of explicit static typing leads people to believe that they are eliminating an entire class of bugs just by making their code compilable, and that remaining bugs are of lower importance. I don't believe that such an approach significantly reduces bugs, but I do believe that it makes it more complicated to write a working program. In effect, a high price is exacted, which potentially causes more bugs than it solves.
quote:
3) Back when type systems were first realised, efficiency was a concern, so calling C++'s type system idiotic is unfair (for all those who don't know, this is from a previous thread, and yes, it has taken me this long to think up a counter argument).

Awww... that's cute.

[edited by - SabreMan on January 4, 2003 11:33:26 AM]
quote: Original post by Me
1) Function signitures adorned with type information provide extra documentation.

quote: Original post by Sabreman
Type information is of no interest to the problem domain.

But you don't start worrying about type information until the implementation stage anyway. And your clients will know more about what your classes and methods do if their signatures contain type information.
quote: Original post by Me
2) Errors are eradicated at compile time which could only be discovered at runtime.

quote: Original post by SabreMan
That's the lie. There is no issue that a type system is important - it obviously is. However, the C++ (and Java and C#, amongst others) approach of explicit static typing leads people to believe that they are eliminating an entire class of bugs just by making their code compilable, and that remaining bugs are of lower importance.

But providing type information does reduce the number of ways that a method can be misused doesn't it? And when those specific misuses are identified by the compiler you know that you can start looking for, what I would say, are the more important bugs.
quote: Original post by NotAnAnonymousPoster
3) Back when type systems were first realised, efficiency was a concern, so calling C++'s type system idiotic is unfair (for all those who don't know, this is from a previous thread, and yes, it has taken me this long to think up a counter argument).

quote: Original post by SabreMan
Awww... that's cute.

Well, I was just being pedantic about calling it idiotic. It wasn't invented in an idiotic fashion. So would it have been better to say "with the current approach to programming, C++'s type system is shite?"

"C combines all the power of assembly language with all the ease of use of assembly language"

[edited by - NotAnAnonymousPoster on January 4, 2003 12:15:00 PM]

[edited by - NotAnAnonymousPoster on January 4, 2003 12:16:01 PM]

[edited by - NotAnAnonymousPoster on January 4, 2003 12:17:32 PM]
"C combines all the power of assembly language with all the ease of use of assembly language"
It would probably be better to learn a language and programming tool that is in wide use.

Visual Basic tops the list as the most used, and it is definately easier to make nice looking programs with it. Personally, I didn''t start with Visual Basic, but most of the people who did had little trouble with it. It is great if you want to make tools quickly.

Java would be another one that would be nice to start with. It uses C-like syntax, and it is a relatively clean language. You can program and not worry about memory leaks as much. Also, if a computer system has a java virtual machine?(forgot it''s name), then your program will work on it. It also makes the executable relatively small. Those two reasons are why you see java applets all over the web.

C++ is a great language. It is fast, powerful, and it gives the programmer great control over his/her code. It is the second most used language, but there is alot to learn concerning the language. I learned with C++ myself, because I wanted to learn what alot of people say is the best language out there. Unfortunately, there are alot of pitfalls when it comes to error control. I would say that it would take at least a year before you are even half-way decent in C++. I would guess at least 3 years before you can really harness it''s power and speed. The biggest downside to C++ is that once you get good at programming with it, then you become a die-hard C++ fanatic. Just don''t dismiss other languages as useless, because they all have their functions. Most large applications are made with C++ though.

There are alot of good languages out there, but it would be best to learn the ones that are used the most.
quote: Original post by NotAnAnonymousPoster
But you don''t start worrying about type information until the implementation stage anyway.

The semantic gap between problem and solution domain is one of the things which makes programming hard. The more irrelevant details we have to concentrate on to implement a solution, the harder it is to get right. Type information is generally irrelevant to the problem.
quote:
And your clients will know more about what your classes and methods to if their signitures contain type information.

To truly understand what a class or method does, you have to read the documentation.
quote:
But providing type information does reduce the number of ways that a method can be misused doesn''t it?

Potentially.
quote:
And when those specific misuses are identified by the compiler you know that you can start looking for, what I would say, are the more important bugs.

Possibly, but is the price worth paying if it means it makes it harder to write correct s/w in the first place?
quote:
Well, I was just being pedantic about calling it idiotic. It wasn''t invented in an idiotic fashion.

You can''t know that. I happen to consider Stroustrup as being very intelligent, so I have problems making myself believe he might do idiotic things. However, that''s besides the point.
quote:
So would it have been better to say "with the current approach to programming, C++''s type system is shite?"

There were alternate approaches to providing type-systems when C++ was invented.
Advertisement
quote: Original post by Zefrieg
It would probably be better to learn a language and programming tool that is in wide use.

That doesn't discount Python, which has a very large user base.
quote:
Java would be another one that would be nice to start with.

Hmmm...
quote:
It uses C-like syntax

Which is good because...?
quote:
C++ is a great language.

In what way?
quote:
It is fast, powerful, and it gives the programmer great control over his/her code.

Oh, in those ways! Ho hum.
quote:
It is the second most used language, but there is alot to learn concerning the language. I learned with C++ myself, because I wanted to learn what alot of people say is the best language out there.

A lot of people are idiots.
quote:
Unfortunately, there are alot of pitfalls when it comes to error control. I would say that it would take at least a year before you are even half-way decent in C++.

I would say it takes at least 6 months to be half-way decent in any general purpose programming language. When I read claims that people learned a language in a couple of weeks, it makes me laugh.
quote:
I would guess at least 3 years before you can really harness it's power and speed. The biggest downside to C++ is that once you get good at programming with it, then you become a die-hard C++ fanatic.

Yes, when people make a huge intellectual investment in something, they go to great lengths to protect that investment. If they read something which undermines what they have learned, they tend to implode. It happens on these forums each day.
quote:
Just don't dismiss other languages as useless, because they all have their functions. Most large applications are made with C++ though.

I have a problem with the implication that because something is popular it must be good.

Here's a controversial statement...

If someone wants to learn to program, and they come to Gamedev to ask for advice on doing so, they have already lost.

[edited by - SabreMan on January 4, 2003 12:32:26 PM]
How about we just say that beginners should try to learn c++.If they find it too confusing then they should start learning a simpler programming language like python. When they feel they are good with that language then they should maybe try c++ again.
And so, the evil religion thread stole the wonderful "What the Heck?" thread's throne. Truly a sad day for gamedev.
quote: Original post by SabreMan

A lot of people are idiots.


Like you.

quote:
I would say it takes at least 6 months to be half-way decent in any general purpose programming language. When I read claims that people learned a language in a couple of weeks, it makes me laugh.


You still have problems with people being more talented than you. Funny, you seem to be contradicting yourself every now and then. I wonder why anyone should listen to someone like you?

quote:
Yes, when people make a huge intellectual investment in something, they go to great lengths to protect that investment. If they read something which undermines what they have learned, they tend to implode. It happens on these forums each day.


Like for you. It must hurt your pride a lot to realize that python is inferior to c/c++?

quote:
I have a problem with the implication that because something is popular it must be good.


You seem to have problems with a lot of things.

quote:
Here''s a controversial statement...

If someone wants to learn to program, and they come to Gamedev to ask for advice on doing so, they have already lost.


Which again proves the kind of mentality you have. If you need help you must be an idiot. And you don''t like idiots. I really think you should take a good look at yourself first.

quote: Original post by Anonymous Poster
You still have problems with people being more talented than you.

What exactly is the point you are making? Are you trying to refute my statement that you can''t learn a general purpose programming language in a couple of weeks? If so, then you and I probably have widely differing notions of what it means to learn a language.
quote:
I wonder why anyone should listen to someone like you?

I never said anyone should.
quote:
It must hurt your pride a lot to realize that python is inferior to c/c++?

If you cannot back up that statement then you must be trolling. For the record, I happen to be reasonably proficient in Python, C and C++, amongst other languages. I''ve built large systems using all of those, including mixed-language systems. I''d like to think I''ve built a reasonable understanding of where each language''s strengths and weaknesses lie. Since I''m such an idiot and I don''t see it, would you be so kind as to explain how Python is inferior to C or C++? (Please make up your mind which of those 2 languages you are talking about). How much do you actually know about Python?
quote:
Which again proves the kind of mentality you have.

It demonstrates that I consider the Gamedev community to not be a good source of reliable and authoritative information for complete beginners.
quote:
If you need help you must be an idiot.

Wrong, and a complete mischaracterisation of my opinions. If you need help you would be best to seek out a good source. I don''t consider the Gamedev "For Beginner''s" forum to be a particularly good source of accurate information. If I had my way, I''d ban people who persist in posting poor information. I''d also disallow people from trolling as APs.
quote:
And you don''t like idiots.

Not completely true. I don''t like people being idiots when they are capable of something more. It''s my belief that most people can do better. And yes, I do include myself in that group of people.
quote:
I really think you should take a good look at yourself first.

You sir, are a troll. A tedious and not particularly imaginative troll.

This topic is closed to new replies.

Advertisement