Come one, Come all and help the newbie!!!
Hello ALL!!!!!!!! (my first post, you know)
Any way, I want to learn how to program. I''ve looked around at the different languages, but havn''t decided yet. I dled Robot Battle a couple of days ago and that was my first programming experience (an ok one too, i guess, since my robot can beat all the ones included in the game).
I really wanted to learn c++, but now my dad has come in and said i should learn java because "that''s where all the money is", which im not sure is true. I also have been thinking about Visual basic (not sure how it''s different fom basic, but everyone talks about visual basic) since i hear it''s simpler to learn and quiker to get started on, but I also hear that it''s pretty limited when compared to other languages (specificlly c++). I don''t really know anything about Pascal or some of the others.
Which language do any of you recommened? I want a language that isn''t torture for a first timer, but I also want to know which language that, say, you would take if you could only use one for the rest of your life.
I dled this thing called Div Games Studio about a month ago or so when I first became interested in this stuff. It seems pretty good (although I recognise that it''s designed for making small crappy games. Actually, the samples look pretty damn good if you ask me). If you''ve heard of it, do you think it would be a bad to learn that for my first language. My teacher is giving me credit for this programming stuff (i actually got credit for writing that stupid robot program for Robot Battle ) so all I REALLY need is some working code to turn in, which this would be fine for. Plus it seems to be a good stepping stone to work up for C++. Check it out if you havn''t already www.div-arena.com .
Also, if i went with c++, is it better to learn c and c++. If so, should I learn C first? Should I learn C++ first?
Well, I''d appreciate any feed back i can get.
Thanks,
Brandon
(Retro)
Retroretro@gdnmail.net
I think people get too caught up in this notion of ensuring that everything they learn will be valuable later on. The truth is, you''ll go through school and work learning all sorts of different technical skills, most of which you''ll quickly forget! However, if you enjoy your studies or work, you will retain something more important-- an understanding of concepts. In my experience, that proves to be far more useful, and personally rewarding, than any particular technical detail.
Programming is a perfect example. If you get caught up in picking a language because it is "most employable or "what the big boys use" you''ve already begun treating it as a chore, something that will become significant only to contribute to the sad drudgery that is work (and your resume). Bah humbug! I say, look at the different things out there and find something that looks fun for what you want to do. People may slam VB and say it''s a toy language but if it gets the job done for you, then more power to you. Ditto for Div Games, and so on.
The bottom line, I feel, is that once you find something that you are comfortable with-- that gets you results and allows you to progress without excessive frustration -- you will learn the valuable concepts that will assist you in your future pursuits.
One day, when your employer tells you to learn Jimbug 2050-- the language of the future -- you may mumble an algorithm to the compiler (voice2text being a figment of the times of course), and suddenly realize, with great profoundity, that you once implemented this same such method way back in your Div Games days!
Programming is a perfect example. If you get caught up in picking a language because it is "most employable or "what the big boys use" you''ve already begun treating it as a chore, something that will become significant only to contribute to the sad drudgery that is work (and your resume). Bah humbug! I say, look at the different things out there and find something that looks fun for what you want to do. People may slam VB and say it''s a toy language but if it gets the job done for you, then more power to you. Ditto for Div Games, and so on.
The bottom line, I feel, is that once you find something that you are comfortable with-- that gets you results and allows you to progress without excessive frustration -- you will learn the valuable concepts that will assist you in your future pursuits.
One day, when your employer tells you to learn Jimbug 2050-- the language of the future -- you may mumble an algorithm to the compiler (voice2text being a figment of the times of course), and suddenly realize, with great profoundity, that you once implemented this same such method way back in your Div Games days!
If you want to learn C/C++ then you should learn it. Java is a great language, but as far as it "being were the money is" that just isn''t true. As far as games and business apps go, C++ is the most commonly used language with probably VB in second (when just considering business apps).
As far as which you should learn first, C or C++, I''d probably say C. C++ contains everything C does with a bunch of added functionality. So it may be easier for you to learn the basic C language then learn the additions that C++ made to it.
Personally I learned C++ first and had no difficulty but I can see how C would be easier to learn first, especially if you don''t have prior experience in other programming languages.
- Houdini
As far as which you should learn first, C or C++, I''d probably say C. C++ contains everything C does with a bunch of added functionality. So it may be easier for you to learn the basic C language then learn the additions that C++ made to it.
Personally I learned C++ first and had no difficulty but I can see how C would be easier to learn first, especially if you don''t have prior experience in other programming languages.
- Houdini
- Houdini
I would suggest that you do NOT learn C until after you learn C++. C and C++ have some quirks that means you need to unlearn some of the things you learned in C. My two favorite examples: #define vs const, and struct MyStruct vs plain old MyStruct. As for where you should start, the way I did it (planning on hitting C++ from the start ) was Batch (good old MS-DOS), QBASIC (still dos), HTML (if you count that as a language), C++, Java, C++ with MFC, C++ with DirectX. That whole progression will have taken me five years on February 2nd (ground hog day!). If you know nothing of programming, write a batch scripts, then tackle one of the many dialects of BASIC (not visual basic, that too OOP ). If you can write a Pong clone in BASIC, take your pick of where to go next.
--------------------
You are not a real programmer until you end all your sentences with semicolons; (c) 2000 ROAD Programming
--------------------
You are not a real programmer until you end all your sentences with semicolons; (c) 2000 ROAD Programming
You are unique. Just like everybody else.
Visit the ROAD Programming Website for more programming help.
--------------------
You are not a real programmer until you end all your sentences with semicolons; (c) 2000 ROAD Programming
You are unique. Just like everybody else.
"Mechanical engineers design weapons; civil engineers design targets."
"Sensitivity is adjustable, so you can set it to detect elephants and other small creatures." -- Product Description for a vibration sensor
You are not a real programmer until you end all your sentences with semicolons; (c) 2000 ROAD Programming
You are unique. Just like everybody else.
"Mechanical engineers design weapons; civil engineers design targets."
"Sensitivity is adjustable, so you can set it to detect elephants and other small creatures." -- Product Description for a vibration sensor
I''d have to agree with byondo. The bottom line is simple. There are a lot of programmers out there who aren''t good at programming. They will tell you "Oh, never learn this first!", or "That was so hard to learn, start with something easy!". It has been my experience that if you are "cut out" for being a programmer, you''re going to be able to learn C just as well as C++, or Java, or Fortran, or whatever. I''m sure there are exceptions, but I highly recommend you do not consider how difficult you think one language or another will be. Concentrate on what you want to do with the language, and decide which one to learn based on that.
If a man is talking in the forest, and there is no woman there to hear him, is he still wrong?
I learned how to program in Pascal, and nowadays I still use Delphi an awful lot - even to write 3D engines. I think it rules
Seriously, it''s a very good language to start programming in. It doesn''t have any of the syntactical quirks that always annoy me about C/C++ and VB. Java is very good too, but it''s usually slower than other languages.
Where did you get this information? I''m not questioning it - I''m just very interested. There''s no doubt about games, but personally I would have thought that a lot more business apps get written in VB and Java than in C++.
Seriously, it''s a very good language to start programming in. It doesn''t have any of the syntactical quirks that always annoy me about C/C++ and VB. Java is very good too, but it''s usually slower than other languages.
quote: Original post by Houdini
If you want to learn C/C++ then you should learn it. Java is a great language, but as far as it "being were the money is" that just isn''t true. As far as games and business apps go, C++ is the most commonly used language with probably VB in second (when just considering business apps).
Where did you get this information? I''m not questioning it - I''m just very interested. There''s no doubt about games, but personally I would have thought that a lot more business apps get written in VB and Java than in C++.
Tom Nuydens delphi3d@gamedeveloper.org www.gamedeveloper.org/delphi3d
Retro,
I agree with Byondo and Novalis on this one. The most important thing is to begin by understanding the ''concept'' of programming and what good programming is and what it isn''t.
Personally, I have coded in about 15 different languages, ranging from C/C++ all the way through to VB (all sorts of versions), assembly languages and web platform languages too.
What is important is to understand WHY each of these babies functions like it does and how you can best use it.
I wrote a game for a client of mine in Flash 5 and it took me 3 weeks to build it (with an artist). Learning ActionScript however took me less than about 4 hours because it is based on other languages that I already know (C++ and java-script) and also what I was trying to do could be defined as a series of problems, all of which could be solved one bit at a time.
One of the most valuable things I learnt at University from a computer science professor was not coding but this:
''Look at a problem and split it up into it''s various components. Look at each of these components and say:
- Has this been done before? If it has grab the bits that you need from where they exist and modify them if you need to.
- If it hasn''t ask youself if you can do it. If you can''t, find someone who can, and if you can then start again.
-Repeat this until you can express the problem in pseudo code. Then all you need to do is choose a language that is appropriate and get on with the task.''
I hope this helps. 10 years later and well into my professional career I can still remember the conversation so there must be some grain of truth in it....
-- Guard your mind. You never know who is listening --
I agree with Byondo and Novalis on this one. The most important thing is to begin by understanding the ''concept'' of programming and what good programming is and what it isn''t.
Personally, I have coded in about 15 different languages, ranging from C/C++ all the way through to VB (all sorts of versions), assembly languages and web platform languages too.
What is important is to understand WHY each of these babies functions like it does and how you can best use it.
I wrote a game for a client of mine in Flash 5 and it took me 3 weeks to build it (with an artist). Learning ActionScript however took me less than about 4 hours because it is based on other languages that I already know (C++ and java-script) and also what I was trying to do could be defined as a series of problems, all of which could be solved one bit at a time.
One of the most valuable things I learnt at University from a computer science professor was not coding but this:
''Look at a problem and split it up into it''s various components. Look at each of these components and say:
- Has this been done before? If it has grab the bits that you need from where they exist and modify them if you need to.
- If it hasn''t ask youself if you can do it. If you can''t, find someone who can, and if you can then start again.
-Repeat this until you can express the problem in pseudo code. Then all you need to do is choose a language that is appropriate and get on with the task.''
I hope this helps. 10 years later and well into my professional career I can still remember the conversation so there must be some grain of truth in it....
-- Guard your mind. You never know who is listening --
-- That's my $0.02 worth --
Hang on, where I come from, $0.02 is rounded down. Does that mean my opinion is worthless or priceless?
CHROM
Hang on, where I come from, $0.02 is rounded down. Does that mean my opinion is worthless or priceless?
CHROM
December 01, 2000 10:46 AM
listen kid, as i say time and time again, a compiler is just a tool to implement a design. whether it be a game, a database or an interactive web page, each one is better at something than another. it''s not important whether or not you learn a specific language, rather its more important that you understand the principles by which engineers and programmers accomplish thier tasks. this means learning about different data structures, algorithms, and theories behind how all this cool stuff works.
dont get caught up in all this language crap, and learn the theory behind them first, then choose the best tool to implement the application you wish to make. languages will change like the weather, but so far the software design principles have been fairly steady over the years, and change only on great research breakthroughs. even carmack who was so celebrated for his development of doom, and quake, used the idea of a bsp tree to implement his games. a bsp tree has been around since the early 1980''s, so you get the idea.
dont get caught up in all this language crap, and learn the theory behind them first, then choose the best tool to implement the application you wish to make. languages will change like the weather, but so far the software design principles have been fairly steady over the years, and change only on great research breakthroughs. even carmack who was so celebrated for his development of doom, and quake, used the idea of a bsp tree to implement his games. a bsp tree has been around since the early 1980''s, so you get the idea.
Byondo is right on the money (so to speak . Don''t confuse "what''s valuable" with what you really want to use. As a consultant I''ve used many languages over the past 8 years... but guess which one I used from 1998-2000? COBOL! Don''t laugh, I made over 175K doing it. But you can bet I don''t use COBOL at home.
Decide what you want to do, then pick a tool that can do the job efficiently... that you like to use. For games, both C++ and Delphi are great. But even then, having a good 3d library is a god-send. I''ve played a few Java games and they looked good. But I really don''t know how they would scale when it comes to big client-side projects that need to keep the FPS up.
As for "game makers" like Div Studio and DarkBasic, they are good for beginners with little to no programming experience, or little to no DX/OpenGL/3d experience. But in the long run you are completely at the mercy of the wrapper. That usually means no debugging abilities, memory leaks, and countless other bugs you have to live with. In all cases the result is reflected in the FPS on bigger projects: low.
Decide what you want to do, then pick a tool that can do the job efficiently... that you like to use. For games, both C++ and Delphi are great. But even then, having a good 3d library is a god-send. I''ve played a few Java games and they looked good. But I really don''t know how they would scale when it comes to big client-side projects that need to keep the FPS up.
As for "game makers" like Div Studio and DarkBasic, they are good for beginners with little to no programming experience, or little to no DX/OpenGL/3d experience. But in the long run you are completely at the mercy of the wrapper. That usually means no debugging abilities, memory leaks, and countless other bugs you have to live with. In all cases the result is reflected in the FPS on bigger projects: low.
quote: Original post by delphi3d
Where did you get this information? I''m not questioning it - I''m just very interested. There''s no doubt about games, but personally I would have thought that a lot more business apps get written in VB and Java than in C++.
Well, I don''t have any hard data stating C/C++ is the most commonly used language for games, yet people in the gaming business just know it''s true. As far as business apps it''s from my personal experience working in the field. VB MAY be used more than C/C++ but when talking about a combination of game and business apps C/C++ is still more common.
As for Java, I''d bet the farm that C/C++ and VB is more widley used for business apps. I''ve only seen a few jobs that were looking for Java programmers, and a ton for C/C++ and VB.
- Houdini
- Houdini
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement