• Steam recently changed the default privacy settings for all users. This may impact tracking. Ensure your profile has the correct settings by following the guide on our forums.

Whats the first step?

Vee

New Member
So I want to get into programming. What do you recommend? I read about a little and most people say, start off with C, then C++ then Java. What would you guys recommend? Also, are there any good sites for help?
What language does the Windows platform use?

Thanks in advance.
 

eldiablov

Contributor
Python

and I dont know where you heard to go from C to C++ to Java as that doesn't make much sense.

If you master the concepts of programming you should be able to switch between languages fairly easily.
 

Vee

New Member
Python

and I dont know where you heard to go from C to C++ to Java as that doesn't make much sense.

If you master the concepts of programming you should be able to switch between languages fairly easily.

I remember reading that C and Java followed quite similar rules. That, or i'm mixing the names up. What language is used for Windows programs?
 

eldiablov

Contributor
There are many languages that run on windows, it may come as a surprise but a lot of languages that are similar to eachother :)

In my opinion, python is the perfect language for beginners.
 

BlackBurd

Original Gangstuh
If its for games then no doubt c# (csharp) is the language for you. if its for apps ide say java and c and c++ are pretty versatile with both.

i really dunno java but ive seen some source code and it does look very similar too c.

i would not learn both until you get a good grasp on one that way you wont accidentally put java code in your c project.

Also you want to look into portability and what os supports your language. Now people
say java is more easy to port but i havent had any problems with porting my c programs.
 

eldiablov

Contributor
If its for games then no doubt c# (csharp) is the language for you. if its for apps ide say java and c and c++ are pretty versatile with both.

This may come down to personal preference but have a look at phyton and pygame and compare it to C#. It's easier.
 

BlackBurd

Original Gangstuh
This may come down to personal preference but have a look at phyton and pygame and compare it to C#. It's easier.

yes.

It most definately is but c# has better libraries for 3d games and it would be more easy to ask for help if needed because python isnt very mainstream.
 

A_Nub

Developer
I hate to say it, but this thread so far is somewhat full of ignorance/lack of knowledge.
I do not feel like making a long post, but here it comes.

C is compilable for any platform that has a compiler or cross compiler. (yes windows included)

C++ is a super set of C, it is not backwards compatible, but it can use/incorporate C.

These were the only 2 mentioned compiled languages.

Java is similar to C++ not C, C does not have OOP nor classes.
C# is similar to Java and C++.
Now the main difference is that Java and C# are interpreted languages, and do not run natively, they use a Virtual Machine to run. (compiled to byte code)

Python is a scripting language, which is similar to java and C# in the respects of a virtual machine, but it is not compiled at all. Same with lua and perl and many others (javascript included).

C# is a bad choice for games, since it is Windows only. And has many portability issues, since it is made by M$.

Java is easily portable, you dont have to do anything, since it is ran in a VM you just run it on any platform u want.

C/C++ must have platform specific code changed to work on multiple machines.

So now with that info maybe you can make a better choice, but heres my advice.

Pick 1 language and learn it and its syntax, then continue learning, and learning programming practices (these are language independent, such as loops, variables, conditionals, etc). Then after you have a grasp of the concept of programming, learning a new language is a matter of learning its syntax (aka styling).

Personally, I started in C/C++, which is jumping into the deep end of the pool since there is the most room for error. But I believe it was for the best, as I now understand most of the core programming features, some that newer abstracted languages such as java and C# do not support.

So it all depends on what you plan on doing.

And go ahead and ask me more question, should you have any.
 

Vee

New Member
I hate to say it, but this thread so far is somewhat full of ignorance/lack of knowledge.
I do not feel like making a long post, but here it comes.

C is compilable for any platform that has a compiler or cross compiler. (yes windows included)

C++ is a super set of C, it is not backwards compatible, but it can use/incorporate C.

These were the only 2 mentioned compiled languages.

Java is similar to C++ not C, C does not have OOP nor classes.
C# is similar to Java and C++.
Now the main difference is that Java and C# are interpreted languages, and do not run natively, they use a Virtual Machine to run. (compiled to byte code)

Python is a scripting language, which is similar to java and C# in the respects of a virtual machine, but it is not compiled at all. Same with lua and perl and many others (javascript included).

C# is a bad choice for games, since it is Windows only. And has many portability issues, since it is made by M$.

Java is easily portable, you dont have to do anything, since it is ran in a VM you just run it on any platform u want.

C/C++ must have platform specific code changed to work on multiple machines.

So now with that info maybe you can make a better choice, but heres my advice.

Pick 1 language and learn it and its syntax, then continue learning, and learning programming practices (these are language independent, such as loops, variables, conditionals, etc). Then after you have a grasp of the concept of programming, learning a new language is a matter of learning its syntax (aka styling).

Personally, I started in C/C++, which is jumping into the deep end of the pool since there is the most room for error. But I believe it was for the best, as I now understand most of the core programming features, some that newer abstracted languages such as java and C# do not support.

So it all depends on what you plan on doing.

And go ahead and ask me more question, should you have any.
Thanks for the awesome post.

I'm primarily trying to get into programming, because its possibly a field i'm willing to explore as a career. But right now, i just want to code relatively basic windows applications for day to day convieniance. Then i'd like to slowly edge towards a portable device, whatever it may be when i've learnt the lesson. Such as the iPhone.

With this in mind, what would you recommend? I just really want to know how hard it is to program something decent.


Thanks again. :)
 

Moca

New Member
Thanks for the awesome post.

I'm primarily trying to get into programming, because its possibly a field i'm willing to explore as a career. But right now, i just want to code relatively basic windows applications for day to day convieniance. Then i'd like to slowly edge towards a portable device, whatever it may be when i've learnt the lesson. Such as the iPhone.

With this in mind, what would you recommend? I just really want to know how hard it is to program something decent.


Thanks again. :)

Since you stated that you want to program Windows Applications, programming in C# would be a good first choice. If you code in C# and use the .NET framework, you will find Windows programming very easy. In addition to being a fairly easy language to learn, C# is backed by a large community of programmers, .NET Framework, and vast amounts of tutorials and books.

However, C# separates you from knowing a large amount of low-level details on how your program operates. While this is good in cases where that type of thing doesn't matter, knowing about the low-level details of how programs work is important for your own development as a programmer.

I learned C as a first language for coding and then moved on to C#. My suggestion to you would be to learn C# first and then learn C.
 

yaustar

New Member
C is compilable for any platform that has a compiler or cross compiler. (yes windows included)
ANY language can be used for any platform that has a targeted compiler. C and C++ are the most common.

Java is similar to C++ not C, C does not have OOP nor classes.
OOP is a way of programming and it is possible to do OO design and programming in C although it doesn't inherently support it.

Now the main difference is that Java and C# are interpreted languages, and do not run natively, they use a Virtual Machine to run. (compiled to byte code)
C# is definitely not interpreted and is usually compiled to CIL byte which is JIT compiled to machine code by the compiler. The standards don't state that it can't be compiled to machine code as well. Wiki link)

Java is also not interpreted and is compiled to byte code that then runs on a JVM. Wiki link

C# is a bad choice for games, since it is Windows only. And has many portability issues, since it is made by M$.
C# is not owned by MS, is not Windows only and isn't a bad choice for games however it doesn't have very many supporting platforms. Look at Mono and Tao framework for Applications and games which run on Linux and Mac.

It was designed by MS but is an open standard.

Thanks to XNA framework and toolset and the high level nature of C#, it is good language and base to start programming games especially as they can also be executed on 360.

Java is easily portable, you dont have to do anything, since it is ran in a VM you just run it on any platform u want.
Any platform that has a JVM.
 

slicer4ever

Coding random shit
Thanks to XNA framework and toolset and the high level nature of C#, it is good language and base to start programming games especially as they can also be executed on 360.

xna has horrible portability to other computers, i've had to install visual c#/xna again just to get any of my programs to run(all the programs that are supposed to allow xna programs to run on other computers won't work), however maybe i wasn't doing things correctly.
 

yaustar

New Member

Grimfate126

New Member
confusion is the first step.

i would recommend starting with C/C++. Its not the "easiest" way, but it is arguably more beneficial than any other language in the long run.
 

slicer4ever

Coding random shit
Did you compile in release mode before distribution? Does the PC have the latest version of DirectX installed?

ah, that may have been the problem

jparshy said:
Also, I think there is an XNA Redistributable runtime binary that you can bundle with your application for end-users.

indeed, however even after running it on my other computer, my program still wouldn't work on the other computer.

either way i'm over it, i've moved on to better things
 

Dege

New Member
C# is not owned by MS, is not Windows only and isn't a bad choice for games however it doesn't have very many supporting platforms. Look at Mono and Tao framework for Applications and games which run on Linux and Mac.

It was designed by MS but is an open standard.

Thanks to XNA framework and toolset and the high level nature of C#, it is good language and base to start programming games especially as they can also be executed on 360.

I totaly agree with you personally I've ported one of my program that used the tao (a 3D tris) to linux

Thanks for the awesome post.

I'm primarily trying to get into programming, because its possibly a field i'm willing to explore as a career. But right now, i just want to code relatively basic windows applications for day to day convieniance. Then i'd like to slowly edge towards a portable device, whatever it may be when i've learnt the lesson. Such as the iPhone.

With this in mind, what would you recommend? I just really want to know how hard it is to program something decent.


Thanks again. :)

Personally when I want to write very fast a program, I use VB6. It's very easy but I don't suggest it for learning because when i program, sometimes i forgot the ; at the end of the code :D (it's an example, but vb6 use an orrible sintax) i started with C/C++ because it's lower level so you understand how the things works.
 

DreamShore

New Member
For a beginner, you shouldn't worry about which language is good. It is not likely to meet a programming language that would take more than a week for you to learn when you are a pro. (For something like Java, you can complelely understand it in several hours, if you do know what programing is.)

And what is important, you need master the the basic concepts of programming. It's better start with a lower-leveled language, like C. ASM could be even better if you were to be properly guided. Some higher-leveled languages may seem to be easier to learn, it is because of that they do a lot of thing for you, which is harmful for you to understanding programming. That is, in another word, the higher-leveled a language is, it hides more truth from you to simplify the work.
 
Top