Be a Supporter!

Programming for beginners

  • 5,256 Views
  • 57 Replies
New Topic Respond to this Topic
TechB
TechB
  • Member since: Nov. 1, 2008
  • Offline.
Forum Stats
Member
Level 02
Blank Slate
Response to Programming for beginners 2011-12-17 22:40:03 Reply

At 12/17/11 06:36 PM, Diki wrote:
At 12/17/11 11:25 AM, NinoGrounds wrote: I read all the posts in this page, and I'd like to know what people think about C++ being better than C#. What do ya think, is C++ > C# and why.
I wouldn't say one is better than the other. Really depends on what you want to do.
Say, for example, you want to make something that is heavily UI based, but not so much performance based, C# would probably be a better choice. GUI programming in C# is a lot simpler than in C++.

I agree. To extend a little, C# is what xbox uses along with XNA. C# is Microsofts attempt at Java. The only thing I don't care for C# is its owned by Microsoft. I don't have anything against .NET, just not my cup-o-tea.

Wolfos
Wolfos
  • Member since: Jan. 19, 2008
  • Offline.
Forum Stats
Member
Level 25
Game Developer
Response to Programming for beginners 2011-12-18 06:34:28 Reply

At 12/17/11 10:40 PM, TechB wrote: I agree. To extend a little, C# is what xbox uses along with XNA. C# is Microsofts attempt at Java. The only thing I don't care for C# is its owned by Microsoft. I don't have anything against .NET, just not my cup-o-tea.

XNA is horrible, it only allows you to make XBox games with very crappy PC support. And they won't be listed with the arcade games, they'll be listed with the indie games which aren't even available in most countries.

dem0lecule
dem0lecule
  • Member since: Feb. 17, 2008
  • Offline.
Forum Stats
Member
Level 11
Blank Slate
Response to Programming for beginners 2011-12-18 12:09:21 Reply

At 12/17/11 05:18 AM, Sterance wrote: Java looks like C/C++ if you squint, which is PERFECT when you are going from java to C/C++ to learn the more complicated and lower level aspects of programming.

Java doesn't 'look like' C++, not even close to C. Syntax of both are similar but not semantics nor libraries.


What comes around goes around...

BBS Signature
BlackMist75
BlackMist75
  • Member since: Aug. 17, 2011
  • Offline.
Forum Stats
Member
Level 07
Musician
Response to Programming for beginners 2011-12-18 22:13:05 Reply

Poor kid who started this thread, hasn't said a peep,

CronoMan
CronoMan
  • Member since: Jul. 19, 2004
  • Offline.
Forum Stats
Member
Level 06
Blank Slate
Response to Programming for beginners 2011-12-19 06:48:19 Reply

At 12/17/11 06:36 PM, Diki wrote:
At 12/17/11 11:25 AM, NinoGrounds wrote: I read all the posts in this page, and I'd like to know what people think about C++ being better than C#. What do ya think, is C++ > C# and why.
I wouldn't say one is better than the other. Really depends on what you want to do.
Say, for example, you want to make something that is heavily UI based, but not so much performance based, C# would probably be a better choice. GUI programming in C# is a lot simpler than in C++.

C# is alot faster than people give it credit for. You will always be able to write faster code in C++ (if you try) but if you don't use any special C++ tricks (inline assembler for SIMD instructions for instance) C# will perform as well and in some instances better than C++ (since the JIT compiler can take advantage of SIMD extensions automatically without needing special libraries)
Only real "problem" with using C# is the memory consumption. Reflection takes its toll

But on a general basis C# is the better choice.


"no sound in ass"

Awesomkia
Awesomkia
  • Member since: May. 18, 2011
  • Offline.
Forum Stats
Member
Level 10
Gamer
Response to Programming for beginners 2012-02-10 23:14:41 Reply

At 12/13/11 07:53 AM, ToBombThePanhandle wrote: I'm just starting programming and I was wondering if anyone had any tips for a beginner? I found a website that provided a link to a C++ compiler, I'm about to download it and read up on some tutorials quickly.

Im a newbie also, my friend who has been programming for years recommended that I learn off of Java you should do the same.


BBS Signature
Wolfos
Wolfos
  • Member since: Jan. 19, 2008
  • Offline.
Forum Stats
Member
Level 25
Game Developer
Response to Programming for beginners 2012-02-11 20:34:58 Reply

At 12/16/11 05:07 PM, TechB wrote: The only thing python will help in learning a new language is logic control and looping. That's it. And you've been coloured.

You don't need to explain anything because it was invalid in the first place.

That was also an invalid analogy, because someone will learn to ride a bike or code a program their own way despite any thing we tell them. C++, python, java, lisp, php it doesn't matter. If you want your hand being held then fine. If not then who cares anyway.

Because jumping right into C++ isn't fun. You'll want to get something done within a few hours of work, not play with Hello World for multiple weeks.

RobotNixon1820
RobotNixon1820
  • Member since: Jul. 27, 2010
  • Offline.
Forum Stats
Member
Level 10
Blank Slate
Response to Programming for beginners 2012-02-16 23:39:46 Reply

Okay, I believe that this is where I can find help. I was hoping to learn actionscript so i could start making games or maybe just general flash. I've got a BASIC AS IT GETS view of Java. Where do I go from there? Any recommended sites or services would be appreciated. (I already have Eclipse and FlexDeveloper. I just want to get more thorough understandings of java and a basic understanding of actionscript/flash.)

RobotNixon1820
RobotNixon1820
  • Member since: Jul. 27, 2010
  • Offline.
Forum Stats
Member
Level 10
Blank Slate
Response to Programming for beginners 2012-02-16 23:42:48 Reply

At 14 seconds ago, RobotNixon1820 wrote:

...FlexDeveloper...
Correction, FlashDevelop. Not FlexDeveloper. My bad.

UnknownFear
UnknownFear
  • Member since: Feb. 27, 2004
  • Offline.
Forum Stats
Member
Level 37
Gamer
Response to Programming for beginners 2012-03-01 09:32:47 Reply

At the end of the day, it's all about what you want to do. There are tons of categories for programming language, such as game, web, desktop, iOS, Windows Phone, Android, etc.

For a beginner language, in my opinion, I'd try Python, then move on to Java. Visual Basic is alright as well, but I don't care much for it. But read up on these languages as well. There are HUNDREDS of programming books out there, just make sure you get one and read up on it while you program. Learn what each language does and how it works, then get into coding.

After you spend a lot, and I mean a LOT of time learning Python and Java, the move on to C/C++ and maybe even try PHP. A lot of people say it's flawed, doesn't work right, etc. As many people have said, it's about getting the job done in the most efficient and time saving way.

kiwi-kiwi
kiwi-kiwi
  • Member since: Mar. 6, 2009
  • Offline.
Forum Stats
Member
Level 09
Programmer
Response to Programming for beginners 2012-03-01 15:28:43 Reply

I will never understand why no one recommends C++ as a starting language, I used to love it as a beginner because there was always more to discover.

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Programming for beginners 2012-03-01 18:48:31 Reply

At 3 hours ago, kiwi-kiwi wrote: I will never understand why no one recommends C++ as a starting language, I used to love it as a beginner because there was always more to discover.

Learning how to program by learning C++ first is like trying to learn how to swim by jumping into a lake with no floatation device.

Wolfos
Wolfos
  • Member since: Jan. 19, 2008
  • Offline.
Forum Stats
Member
Level 25
Game Developer
Response to Programming for beginners 2012-03-01 20:35:48 Reply

At 5 hours ago, kiwi-kiwi wrote: I will never understand why no one recommends C++ as a starting language, I used to love it as a beginner because there was always more to discover.

Because it's no fun. You want to progress to keep yourself motivated.

suyalynx
suyalynx
  • Member since: Apr. 30, 2007
  • Offline.
Forum Stats
Member
Level 02
Gamer
Response to Programming for beginners 2012-03-04 01:21:43 Reply

what an interesting topic!

I am a beginner on programming,
TRUE, at first I totally lost in PHP, but after some time, all seems to understandable
I think that if one tell a language is difficult and not worthy, it's their opinion and not a fact

btw, I would like to ask for suggestions
I've heard about lots of programming language
have books for Foxpro, Delphi, C++, C#, VB.net, PHP, HTML, Java, Flash
any suggestion on which one I should start?

I am interested on making website and desktop application (windows)

Wolfos
Wolfos
  • Member since: Jan. 19, 2008
  • Offline.
Forum Stats
Member
Level 25
Game Developer
Response to Programming for beginners 2012-03-04 05:44:43 Reply

At 4 hours ago, suyalynx wrote: what an interesting topic!

I am a beginner on programming,
TRUE, at first I totally lost in PHP, but after some time, all seems to understandable
I think that if one tell a language is difficult and not worthy, it's their opinion and not a fact

btw, I would like to ask for suggestions
I've heard about lots of programming language
have books for Foxpro, Delphi, C++, C#, VB.net, PHP, HTML, Java, Flash
any suggestion on which one I should start?

I am interested on making website and desktop application (windows)

You can use HTML and Javascript to make both websites and applications for Windows 8 Metro. Best part is that you only need to test it in your browser to see if it works multiplatform.
Flash can do it as well, but it's not great for websites.

XxJoshxX
XxJoshxX
  • Member since: Sep. 24, 2006
  • Offline.
Forum Stats
Member
Level 02
Blank Slate
Response to Programming for beginners 2012-03-08 16:50:33 Reply

Why do most of you recommend java for beginners and staying away from C++ until later down the road?

Maybe i just haven't explored each language deep enough to have learned the differences between the two, I'm a fairly new programmer and I've touched the basics on a few different languages and from my experiences (as limited as they may be) C++ and Java both seem to be very similar in many ways.

What exactly makes C++ so much harder for beginners than Java?

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Programming for beginners 2012-03-08 17:57:39 Reply

At 46 minutes ago, XxJoshxX wrote: What exactly makes C++ so much harder for beginners than Java?

Here are some examples of C++ code, which speak for themself.

EASTL: http://codepad.org/xEi08Qe1
Boost: http://codepad.org/YzfB8tLH
Mongo: http://codepad.org/P5jIBhmk

Even something as simple as iterating through a container is pretty complex, and a little confusing looking (unless you are well versed in C++), in C++:

for (std::vector<int>::iterator itr = myVec.begin(); itr != myVec.end(); itr++)
{
	//
}

And errors in C++ can easily confuse a beginner.
Take, for example, this code:

class MyClass
{
private:
	int __mId;
public:
	MyClass();
	int getId() const;
};

inline int MyClass::getId() const
{
	return __mId;
}

This will fail to compile and return an "unresolved external" error.
Unless you are already experienced in C++ chances are you will not know what "unresolved external" means, and that code will not appear to have any flaws.

You can also do some very goofy shit in C++ that a beginner would, I imagine, be very perplexed about.
I guarantee that any beginner to C++ thinks that if you declare a member variable as "private" then it cannot be publically accessed, which is demonstrably false:

#include <iostream>

class Foo
{
private:
	int __mSomeNumber;
public:
	Foo();
	int getNumber() const;
};

Foo::Foo() : __mSomeNumber(42)
{}

inline int Foo::getNumber() const
{
	return __mSomeNumber;
}

int main()
{
	Foo foo = Foo();
	
	std::cout << "Before: " << foo.getNumber() << std::endl;
	
	int* ptr = ((int*)(&foo));
	*ptr = 1337;
	
	std::cout << "After: " << foo.getNumber() << std::endl;
	
	return 0;
}

Note: don't ever do this.

And I have not even touched on pointers (although I did use one in the example above), something even intermediate-level programmers in C++ struggle with.

In summary:

C++ is too complex for a beginner.
Advocating that a beginner to programming learn C++ is the same as advocating that a beginner to mathematics learn calculus.

RIPGeo
RIPGeo
  • Member since: Mar. 22, 2012
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Programming for beginners 2012-03-22 01:15:00 Reply

I work as a C++ programmer. It's just a student job at my university, but it's a big step up from what I had before. If you put forth the effort and have fun, you'll get back what you put in tenfold. Just don't get discouraged.
Tips:
If you're looking to start programming and have a PC, MSVS is the best choice if you're not using it already.
Make your projects fun. If it's not fun, figure out what's not making it fun and fix it!
- I had a lot of fun with the DirectX framework, programming little 3D demos.
Don't expect to be an expert overnight.
Don't try to walk before you can run - don't skip over the fundamentals.
Keep track of your progress.
Have a plan for where you want to end up. Set your aspirations high and set little milestones along the way.
Try to get feedback whenever possible from people who know their stuff.
Cannibalize code from online sources when you're learning the ropes.
- Be careful with this, though. Cite your sources, etc. If you're doing work for someone or putting this on your portfolio it's best to stick to open-source things like the Boost library.
Always seek to better your knowledge, both in breadth and depth: learn new concepts and better understand the ones you know.

Good luck!

RIPGeo
RIPGeo
  • Member since: Mar. 22, 2012
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Programming for beginners 2012-03-22 01:22:14 Reply

At 13 days ago, Diki wrote: C++ is too complex for a beginner.
Advocating that a beginner to programming learn C++ is the same as advocating that a beginner to mathematics learn calculus.

Yes and no. I started out learning C++, but other languages like C# and PHP far more intuitive. It probably would be more efficient for him to learn C# or VB first, but C++ sort of forces one to internalize good programming concepts and seems to be more common on the professional level.

lawfirm
lawfirm
  • Member since: Feb. 25, 2012
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Programming for beginners 2012-03-24 12:55:06 Reply

At 12/13/11 07:53 AM, ToBombThePanhandle wrote: I'm just starting programming and I was wondering if anyone had any tips for a beginner? I found a website that provided a link to a C++ compiler, I'm about to download it and read up on some tutorials quickly.

Start with C instead of C++. it will help you learn basics of programming

TalvishTV
TalvishTV
  • Member since: Mar. 22, 2012
  • Offline.
Forum Stats
Member
Level 03
Animator
Response to Programming for beginners 2012-03-24 15:47:11 Reply

At 12/13/11 07:53 AM, ToBombThePanhandle wrote: I'm just starting programming and I was wondering if anyone had any tips for a beginner? I found a website that provided a link to a C++ compiler, I'm about to download it and read up on some tutorials quickly.

The other dude's are right, C++ is not a beginner language. C++ was my first language that I learned on my own, but it seriously took me for a spin and like 2 years until I was considered "decent" in the language.

Python is really fun and the syntax is very EZ to do. I've done several projects with Python and 2 or 3 with Pygame (gaming library for Python). It's seriously fun, there's less rules, and quicker to code things.

Though if you want to get into the industry eventually, you should probably learn languages like C++ and Java because they're standards and have big brass balls.

Anyways, hoped this helped mayne!

-Talvish


Swimming in a pool of ever-flowing creativity.

CecilSunkure
CecilSunkure
  • Member since: Oct. 4, 2009
  • Offline.
Forum Stats
Member
Level 01
Blank Slate
Response to Programming for beginners 2012-03-28 20:40:30 Reply

At 3/8/12 04:50 PM, XxJoshxX wrote: Why do most of you recommend java for beginners and staying away from C++ until later down the road?

Maybe i just haven't explored each language deep enough to have learned the differences between the two, I'm a fairly new programmer and I've touched the basics on a few different languages and from my experiences (as limited as they may be) C++ and Java both seem to be very similar in many ways.

What exactly makes C++ so much harder for beginners than Java?

C++ and C give full control to the developer. Other languages take that control away making programming potentially faster and easier, but at a cost of performance. It's performance vs stability. As a beginner, it doesn't matter much what language you learn in, but once you hit an intermediate stage things start to change. Dynamic memory allocation, code optimization, these things are much more limited in a language like Python than compared to C++, as Python handles that stuff for you to a large extent.

I almost always suggest starting with C to everyone that has an interest in becoming a professional programmer, as C is a very compact language with no bullshit. For people who are intended hobbyists I just recommend Python or Actionscript. Python is extremely readable and intuitive, and Flash allows for easy development of interactive applications. Though the bottom line is learning basic concepts of programming, like control structures, scoping, functions, it's all the same from language to language just with different syntax.

SketchistGames
SketchistGames
  • Member since: Mar. 2, 2012
  • Offline.
Forum Stats
Member
Level 05
Game Developer
Response to Programming for beginners 2012-03-29 16:57:10 Reply

At 12/13/11 07:53 AM, ToBombThePanhandle wrote: I'm just starting programming and I was wondering if anyone had any tips for a beginner? I found a website that provided a link to a C++ compiler, I'm about to download it and read up on some tutorials quickly.

#include <iostream>
using namespace std;

int main()
{
cout<<"This is a \"Simple\" Hello World!"<<endl;
system("pause");
return 0;
}

I learned C++ before I even started with flash so yeah if I am only 14 I think you can do it... Download Dev-C++ and learn BUT take you time.


Current Trophies:
Weekly Fourth Place for Blast the Bunny 2
~SketchistGames :P

MrBooleen
MrBooleen
  • Member since: Mar. 5, 2012
  • Offline.
Forum Stats
Member
Level 01
Game Developer
Response to Programming for beginners 2012-05-13 19:02:52 Reply

At 12/13/11 10:33 AM, Diki wrote: If you are new to programming then do NOT learn C++.
It is a very complex language, with a very steep learning curve. It is not a good idea for a beginner to be using it.

I would recommend that you instead learn Python. It's pretty much the perfect language for someone who is still learning.
Ruby would be a good choice as well, though I would recommend Python over it. Ruby has very unique syntax that could cause you some confusion later down the road.
Java is also a pretty good choice for beginners, though I personally don't like Java.

And here's a tip that will save you a tonne of grief: Avoid PHP whenever possible.

yes listen to this guy, If you would like to do Indie Game dev like me, then XNA or Unity is your buddy! C# is for people who does nothing but want to program, and JavaScript is for develepers who can draw.

NinoGrounds
NinoGrounds
  • Member since: Nov. 28, 2005
  • Offline.
Forum Stats
Member
Level 19
Programmer
Response to Programming for beginners 2012-05-14 10:08:34 Reply

At 5/13/12 07:02 PM, MrBooleen wrote: and JavaScript is for develepers who can draw.

what the hell i don't even...

BlackMist75
BlackMist75
  • Member since: Aug. 17, 2011
  • Offline.
Forum Stats
Member
Level 07
Musician
Response to Programming for beginners 2012-06-07 20:12:22 Reply

OP still hasn't replied to this thread :|

arkrix
arkrix
  • Member since: May. 4, 2012
  • Offline.
Forum Stats
Member
Level 04
Programmer
Response to Programming for beginners 2012-06-10 09:37:36 Reply

At 3/29/12 04:57 PM, SketchistGames wrote:
At 12/13/11 07:53 AM, ToBombThePanhandle wrote: I'm just starting programming and I was wondering if anyone had any tips for a beginner? I found a website that provided a link to a C++ compiler, I'm about to download it and read up on some tutorials quickly.
#include <iostream>
using namespace std;

int main()
{
cout<<"This is a \"Simple\" Hello World!"<<endl;
system("pause");
return 0;
}

I learned C++ before I even started with flash so yeah if I am only 14 I think you can do it... Download Dev-C++ and learn BUT take you time.

That code doesn't even compile. (It might do for you, but eh, it's Dev-C++ after all.)
And you can guess the output:
:This is a "Simple" Hello World!
:sh: pause: not found

Diki
Diki
  • Member since: Jan. 31, 2004
  • Offline.
Forum Stats
Moderator
Level 13
Programmer
Response to Programming for beginners 2012-06-10 11:24:09 Reply

At 6/10/12 09:37 AM, arkrix wrote: That code doesn't even compile. (It might do for you, but eh, it's Dev-C++ after all.)

Yes it does. I just copied/pasted it into Microsoft Visual Studio and it compiled with no problems.
It may fail to compile in GCC, but that is not the be-all-end-all C++ compiler.

Although for the record I would never recommend using DevC++. Just use Visual Studio or Visual Studio Express (if you're using Windows).