Jump to content

  • Log In with Google      Sign In   
  • Create Account

So I've learned C...


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
19 replies to this topic

#1 Prefantastic   Members   -  Reputation: 147

Like
4Likes
Like

Posted 05 November 2012 - 02:55 AM

After learning the basics of the C Language, I don't quite know what to do with myself. I mean, I've been craving to start SOMETHING and I've already made myself a basic stat roller for Dungeons and Dragons and the basic programs assigned to me by my professor. But I don't know where to go from here. I've heard many stories that Learning C or C++ as your first language is not exactly the best thing to do since the learning curve can be very steep for some, but I've had no qualms with it. Maybe I'm an exception? Or maybe I don't quite understand it as well as I think. I'm not sure, but I've come to gamedev to ask you masters of the keyboard to guide me in the right direction.

I've been wanting to get into learning Java, I'm going to try and take a class for it next quarter (if I pass this quarter's intro to C [Damn my laziness]) and I'm not sure if that's where I want to go. I would love to take up programming professionally, I just am not sure what exacty I want to do with the knowledge I'm collecting. I know that C, so far, is very memory based and seemingly more intricate than the programming I had invisioned, but I find it extremely fun.

I would like to be able to use C and C++ in some way, shape, or form. I kind of invision myself to be one of those guys that makes game engines like the unreal engine or something. I always thought it would be cool to be the un-sung heroes of the gaming world, making some of the fastest, most powerful gaming tools on the market. But then again, I also want to be a rock star... so you can see my indecisiveness.

Anyway, i'm merely rambling as I always do.

My point is... Where do you guys think I should go next? Do you think that I could take another class of c and c++ and be able to find a programming job this way? Or do I need to learn a lot more languages before I can even consider turning in an application for even the lowest levels of the programming profession.

Sponsor:

#2 mhagain   Crossbones+   -  Reputation: 8277

Like
4Likes
Like

Posted 05 November 2012 - 03:14 AM

You've learned a procedural language so now learning an OO language will be a good choice. Knowledge of both will also make you a better programmer with each - you'll be able to apply some OO concepts to your procedural language code, as well as not try to shoe-horn OO onto problems that don't really suit it.

You seem to be doing great so far, and I'd suggest that you also spend some time learning the basics of an API. Outside of a language's basic syntax and it's standard library, API use is a huge part of programming, so getting familiar with one, and with how it's been designed to be used, may not be a bad idea.

It's not really about how many languages you know; an experienced programmer can pick up and become reasonably productive with a new language in a week or so. It's your ability to apply that knowledge to solving problems that matter, and that's something that comes with time and experience.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#3 Anri   Members   -  Reputation: 597

Like
7Likes
Like

Posted 05 November 2012 - 06:24 AM

I would agree with mhagain about stepping up to OOP. Java or C++ are good choices, although if you are comfortable with C then maybe C++ might be a better choice - but either either way you cannot go wrong.

As for C being a poor first choice - balderdash! Its actually a good first choice as it introduces you to all the basic concepts you will find in many other languages. Its mainly C++ I wouldn't recommend as a first language as it has too many distractions to the beginner such as OOP.

Before moving on, though, have you considered trying your hand at a command-line text game? I don't mean like writing a text adventure parser, but perhaps seeing what you can come up with just by using menu selections? I remember my first program being an RPG that, although crude, taught me how important the overall structure of a program/game was. My biggest regret after that was being lured into learning C++, WinAPI and DirectX7 all at once and made a bloody awful 2D shoot-em-up...I should have forgot about DX until I had remade my first RPG into a more graceful C++/WinAPI application. The thought of hardware-accelerated sprites and snazzy 3D stuff was too hard to resist!

But anyway, learning C was a good start. Keep up the good work!

#4 Lauris Kaplinski   Members   -  Reputation: 841

Like
6Likes
Like

Posted 05 November 2012 - 07:01 AM

I would agree with mhagain about stepping up to OOP. Java or C++ are good choices, although if you are comfortable with C then maybe C++ might be a better choice - but either either way you cannot go wrong.


Personally I suggest learning Java. C++ is a bit too similar to C and thus you will end up doing many things "the C way", instead of "C++ way". Once you have learnt OO with separate language you can better understand the nuances of C++.

Otherwise - C is excellent first language. Although it has some complex parts - like memory management and pointer arithmetic - it is otherwise small, compact and powerful. And it gives you the "feeling of being close to metal" - i.e. understanding better how computers crunch through high-level data structures. While you can be good programmer without knowing low-level details, having more insight never hurts Posted Image

Edited by Lauris Kaplinski, 05 November 2012 - 07:02 AM.

Lauris Kaplinski

First technology demo of my game Shinya is out: http://lauris.kaplinski.com/shinya
Khayyam 3D - a freeware poser and scene builder application: http://khayyam.kaplinski.com/

#5 AndyEsser   GDNet+   -  Reputation: 386

Like
1Likes
Like

Posted 05 November 2012 - 07:33 AM

I am primarily a C/C++ programmer. However, in April I started a new job as a Java backend server developer. I had never touched Java before I got asked to come in for the interview.

I spent a week using it before my interview, and I passed.

Once you have the programming mindset, and have 'learnt' one language, it's very easy to learn another, it's simply a case of syntax.

I agree with those suggesting learning an API. I think my most valuable skill is my knowledge of OpenGL, having been using it for about 10 years.

#6 tufflax   Members   -  Reputation: 499

Like
2Likes
Like

Posted 05 November 2012 - 09:36 AM

Learning a new language is almost never a bad idea. And I agree that it would not hurt to know an object-oriented language like Java or C#. I agree with Lauris Kaplinski that C++ might be a little bit too familiar so you might learn less from it. However, there are other good and interesting languages out there to learn. I personally think OOP is way, way overrated, and I absolutely hate Java, C++ and C#. Some languages you might want to try: Haskell, Erlang, Lisp (Scheme, Clojure, Common Lisp), Ruby, Python, Go, Prolog. But, you might also want to just stick with C for now, and do a bigger project, like a small game; maybe a simple platformer or some sort of puzzle game.

I've heard many stories that Learning C or C++ as your first language is not exactly the best thing to do since the learning curve can be very steep for some, but I've had no qualms with it. Maybe I'm an exception? Or maybe I don't quite understand it as well as I think.



I think this (the bold part) is the case. Not that you show any particular signs of misunderstanding; you just seem so new to it that I don't think you realize what you don't know. Are you comfortable with pointers, memory management, recursion, data structures, etc?

It also doesn't hurt to learn some computer science theory (which you might wanna do if you want to make super fast game engines). Do you know about hash tables, regular expressions, graph algorithms like breath-first-search, sorting algorithms, dynamic programming, complexity analysis?

I think it might be best to stick with C a little bit longer, so that when you learn new languages later you can appreciate the differences more. And you might want to read up on some theory and such on the side, if you are interested.

Lastly, and I almost didn't write this because it seems so obvious now (I started 8 years ago): Programming is so much more than knowing languages. Besides the things I've mentioned, there is also the skill of good program/code design. I mean writing well-structured, maintainable, reusable, flexible, short, simple, correct and safe code. If you always think hard about the code you are writing, like "Could this be done better?", "Are there problems that might arise later with this?", etc. you will speed up your learning process. Reading books, blogs, and watching presentations can also help a lot.

Edited by tufflax, 05 November 2012 - 09:51 AM.


#7 mhagain   Crossbones+   -  Reputation: 8277

Like
0Likes
Like

Posted 05 November 2012 - 09:47 AM

Personally I suggest learning Java. C++ is a bit too similar to C and thus you will end up doing many things "the C way", instead of "C++ way". Once you have learnt OO with separate language you can better understand the nuances of C++.


This is a great suggestion (C# would be equally good for the same reason) - pick an OO language that you just cannot write C-style code in and you neatly avoid the trap of just falling back on C concepts and constructs as an easy way out.

Definitely seconded and +1 for that.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#8 BeerNutts   Crossbones+   -  Reputation: 2999

Like
4Likes
Like

Posted 05 November 2012 - 10:57 AM

Personally, I would say stick with C a while longer, but start using some multimedia API and learn how to make more games. SDL is a good one to begin with, and it has a C interface.

This tutorial teaches you how to use SDL (EDIT: Although, it will use some C++ in it, like classes, it will also give you a good idea what you can do with SDL). I would suggest going through it, make some simple games for yourself and have a little fun with C. You Can still make really fun and good games with C. Once you're comfortable making simple games and have a better grasp of programming in general you can move onto an OO language and expand your programming knowledge.

Whichever you choose (mine or others suggestions), have fun with it.

Edited by BeerNutts, 05 November 2012 - 12:32 PM.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

#9 Prefantastic   Members   -  Reputation: 147

Like
1Likes
Like

Posted 05 November 2012 - 02:40 PM

Man. I love you guys so much. No matter what questions I throw out there, I always get a mass of intelligent people such as yourselves giving me your two-cents and leading me on to be a better programmer. I can't thank you guys enough for all of the patient guidance you guys have provided me within the last month-or-less of me being a member on this forum. I really hope that I can pay you guys back some how, be it some free-lance programming or even some sensual serenading (I was a music major before i switched to computers ;D).

As it stands now, I do believe I'll pick up Java as I'm learning more of c. I'm gonna continue to study C and maybe mess around and develop a bit of a Interactive Fiction style program game that's easy to go through and run but has some complexities that make the program more efficent.

But a curious question that has been bugging me for the last few months is this;

Is there a way to blend languages together? I had a recent conversation with a new found friend of mine, not a half hour ago (Mind you, I'm sitting in the student center at my local community college enjoying a nice, tachicardia-enducing energy drink) who spoke of ASP.net . He said that in the language they use a lot of C#. I responded "Do I need to learn C# to learn asp?" and he said firmly, "ASP is a language on it's own... It's very hard to explain."

So... yeah. I'm a bit confused as to his response, so I shall ask you, my fellow quick-witted, ingenious, and handsome bretheren...

Is there a way to use one programming language in another programming language? Such as being able to write C in Java... etc. etc.

And please do explain more about what he meant with ASP.

#10 tufflax   Members   -  Reputation: 499

Like
3Likes
Like

Posted 05 November 2012 - 04:16 PM

Man. I love you guys so much. No matter what questions I throw out there, I always get a mass of intelligent people such as yourselves giving me your two-cents and leading me on to be a better programmer. I can't thank you guys enough for all of the patient guidance you guys have provided me within the last month-or-less of me being a member on this forum. I really hope that I can pay you guys back some how, be it some free-lance programming or even some sensual serenading (I was a music major before i switched to computers ;D).

As it stands now, I do believe I'll pick up Java as I'm learning more of c. I'm gonna continue to study C and maybe mess around and develop a bit of a Interactive Fiction style program game that's easy to go through and run but has some complexities that make the program more efficent.

But a curious question that has been bugging me for the last few months is this;

Is there a way to blend languages together? I had a recent conversation with a new found friend of mine, not a half hour ago (Mind you, I'm sitting in the student center at my local community college enjoying a nice, tachicardia-enducing energy drink) who spoke of ASP.net . He said that in the language they use a lot of C#. I responded "Do I need to learn C# to learn asp?" and he said firmly, "ASP is a language on it's own... It's very hard to explain."

So... yeah. I'm a bit confused as to his response, so I shall ask you, my fellow quick-witted, ingenious, and handsome bretheren...

Is there a way to use one programming language in another programming language? Such as being able to write C in Java... etc. etc.

And please do explain more about what he meant with ASP.


I'm not an expert on this, so some of what I say might be a little bit wrong. But, it is possible. How hard it is depends on which languages you want to mix, and how. I'm not sure exactly what you mean by "blend", but...

Some languages support other "embedded" languages. For example, in Perl you can mix in shell scrip code in the Perl code, and in some languages it's easy to mix in database query code like SQL. It is not that common, but some languages were designed with this in mind.

It's also possible to work in one language and use libraries written in other languages. It's relatively easy to do this between assembly, C, and C++. And it is easy to do it if the languages run on the same virtual machine/platform (.NET or Java Virtual Machine). Mixing Java with C is possible, but trickier and not something you usually do.

One can also have different subsystems that are written in different languages, and run on different platforms or even computers, just talk to each other over some network protocol.

C# and ASP.net both run on Microsoft's .NET platform, so it's easy to share libraries and such, but they are different languages, with different syntax, etc.

Edited by tufflax, 05 November 2012 - 04:28 PM.


#11 Anri   Members   -  Reputation: 597

Like
0Likes
Like

Posted 05 November 2012 - 04:56 PM


I would agree with mhagain about stepping up to OOP. Java or C++ are good choices, although if you are comfortable with C then maybe C++ might be a better choice - but either either way you cannot go wrong.


Personally I suggest learning Java. C++ is a bit too similar to C and thus you will end up doing many things "the C way", instead of "C++ way". Once you have learnt OO with separate language you can better understand the nuances of C++.


I have to admit, Java is great for learning OOP - mainly because one uses it from the get-go, whereas C++ its an option. And I can agree that its a mistake to believe that C++ is merely C with OOP tacked on. If some one asked advice for moving from C to C++ then I would recommend Herbert Schildt's Complete C++ Reference, as it points out how the two are similar but also different.

#12 Toothpix   Crossbones+   -  Reputation: 810

Like
2Likes
Like

Posted 05 November 2012 - 06:35 PM

I am exactly in the same (or at least a similar) boat as you. I have learned C as well, and some C++ to go with it. I am not quite the "master of the keyboard" as you put it, and only a few people are truly near being what you may consider a "master" on these forums, and I think those would be the members (that I have heard from) like ApochPiQ, Hodgman, jbadams, phantom, hplus0603, Servant of the Lord, etc. Of the ones I have heard from, ApochPiQ worked on GW2 and the user phantom made a realtime raytracer application that looks awesome. It is called Brigade if I am no mistaken. There are others, but those are the ones I hear from the most.
But, back to the topic. What I am doing is learning OpenGL, but there are so many other API's that people don't really focus on, such as a sound API, networking, I/O, etc. I started everything around this time last year (fully started in December of last year), and I always set the bar too high for myself. I wasn't naive enough to have ambitions to make something like Unreal, or Source, but even my early ideas were too much. I originally wanted to (more than a year ago) make a top-down-scrolling Doodle Jump-esque game that involved elevators for iOS only, but as my knowledge grew, so did my ambition, without ever completing (or even starting) my projects. I am now fully (if not way more than) capable of making that elevator game, but my goal is now to make a 3D RPG game (albeit a relatively simple one) for the Ouya console and probably PC and Mac with both online and single player play. Yes, I get very much ahead of myself. I am hoping I can at least amass enough knowledge to start by March. That will have been almost two years of learning. I initially (and foolishly) hated it when people said it took a long time to learn this stuff, and I wanted to make stuff NOW, but I have really wasted this time chasing after games I can never make. I hope I can make this one, however, as it is a very good idea. That final sentence was very cliche.
I hope you finish something and become more productive than my sorry lazy ass, as laziness and/or idleness will NOT get you anywhere and waste ALL of your time.

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.


#13 EddieV223   Members   -  Reputation: 1407

Like
-1Likes
Like

Posted 05 November 2012 - 11:14 PM

Learn c++ and QT. Then you can do almost anything cross platform too.

Edited by EddieV223, 05 November 2012 - 11:46 PM.

If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#14 prushik   Members   -  Reputation: 164

Like
0Likes
Like

Posted 06 November 2012 - 04:57 AM

After learning the basics of the C Language, I don't quite know what to do with myself. I mean, I've been craving to start SOMETHING and I've already made myself a basic stat roller for Dungeons and Dragons and the basic programs assigned to me by my professor. But I don't know where to go from here. I've heard many stories that Learning C or C++ as your first language is not exactly the best thing to do since the learning curve can be very steep for some, but I've had no qualms with it. Maybe I'm an exception? Or maybe I don't quite understand it as well as I think. I'm not sure, but I've come to gamedev to ask you masters of the keyboard to guide me in the right direction.

I've been wanting to get into learning Java, I'm going to try and take a class for it next quarter (if I pass this quarter's intro to C [Damn my laziness]) and I'm not sure if that's where I want to go. I would love to take up programming professionally, I just am not sure what exacty I want to do with the knowledge I'm collecting. I know that C, so far, is very memory based and seemingly more intricate than the programming I had invisioned, but I find it extremely fun.

I would like to be able to use C and C++ in some way, shape, or form. I kind of invision myself to be one of those guys that makes game engines like the unreal engine or something. I always thought it would be cool to be the un-sung heroes of the gaming world, making some of the fastest, most powerful gaming tools on the market. But then again, I also want to be a rock star... so you can see my indecisiveness.

Anyway, i'm merely rambling as I always do.

My point is... Where do you guys think I should go next? Do you think that I could take another class of c and c++ and be able to find a programming job this way? Or do I need to learn a lot more languages before I can even consider turning in an application for even the lowest levels of the programming profession.


Some of the smartest programmers that I ever knew professionally were college or even highschool dropouts. Its possible to get into the industry without taking any classes at all, however, it is not easy to do.
I guarentee that learning C first is not at all a mistake, its easier to learn other languages, however, learning C will help you understand what you are actually doing, whereas many Java and C# programmers have no clue at all what they are doing, they are just typing magic words. Using C will help you understand what is happening internally in your computer, and as a result, you may have more trouble learning, but in the end, you will probably end up being producing better quality code when you are finished learning, so I highly recommend continuing to learn C and avoid Java and C# at all costs. Especially if you are interested in game programming.
However, you should know that now, Android programming is pretty hot, so if you want to develop Android applications, you should know at least some Java, you can do C programming on Android, but officially applications on Android should be written in Java (I personally don't care and write mine in C, but its fine for me because I don't plan to release my software as Android software).
If you are willing to try to write hardware drivers, then C is the best language to know.
For speed, efficiency, and resource conservation, you can't do much better than C. Some languages can about match C such as pascal, but C is more powerful because of the amount of libraries written in C, you can't expect everything to have a pascal binding for you. The only language that is actually faster than C is assembly, and most people find that to just be infeasible on modern computers, especially if you want any portability at all.
So basically, figure out what your goal is and work toward that. However, my recommendation is to stick with C.

#15 Mizu   Members   -  Reputation: 1075

Like
0Likes
Like

Posted 06 November 2012 - 06:06 AM

Some of the smartest programmers that I ever knew professionally were college or even highschool dropouts. Its possible to get into the industry without taking any classes at all, however, it is not easy to do.
I guarentee that learning C first is not at all a mistake, its easier to learn other languages, however, learning C will help you understand what you are actually doing, whereas many Java and C# programmers have no clue at all what they are doing, they are just typing magic words. Using C will help you understand what is happening internally in your computer, and as a result, you may have more trouble learning, but in the end, you will probably end up being producing better quality code when you are finished learning, so I highly recommend continuing to learn C and avoid Java and C# at all costs. Especially if you are interested in game programming.
However, you should know that now, Android programming is pretty hot, so if you want to develop Android applications, you should know at least some Java, you can do C programming on Android, but officially applications on Android should be written in Java (I personally don't care and write mine in C, but its fine for me because I don't plan to release my software as Android software).
If you are willing to try to write hardware drivers, then C is the best language to know.
For speed, efficiency, and resource conservation, you can't do much better than C. Some languages can about match C such as pascal, but C is more powerful because of the amount of libraries written in C, you can't expect everything to have a pascal binding for you. The only language that is actually faster than C is assembly, and most people find that to just be infeasible on modern computers, especially if you want any portability at all.
So basically, figure out what your goal is and work toward that. However, my recommendation is to stick with C.

I won't start an argument here, since that'd probably turn into the usual my-language-is-better-than-yours, but I just want people to know there are some things in this text that is quite arguable... (however, I'm not saying C is a bad language)

As for the OP: I agree with those that suggest you learn an OO language, like java or C# as those languages are kinda the 'opposite end' of C. Knowing OO is a good skill to have as a programmer in general, and it might prove interesting for someone who has programmed in a language were you have full control of everything, to try a language were you have very little control.

#16 ifthen   Members   -  Reputation: 820

Like
1Likes
Like

Posted 06 November 2012 - 09:00 AM

I would like to point out to the OP that the path to mastering a programming language (or a paradigm) is steep. Ask yourself: which concepts don't I understand completely? The memory management? Casting? The preprocessor? Bit shifts? Floating point numbers? String management? The standard library? Think about those. Don't assume that you know the whole foundation of C. Read about those concepts that you don't understand perfectly and experiment. Understand that learning language and mastering it to use it effectively are two entirely different things.

About C++ and Java – I personally think that it is easier to switch from a low-level language to a high-level one. It's like "hey, great libraries, rapid and easier coding, hooray!" as opposed to "man, there is no garbage collector, screw the memory management". But it is your call.

#17 3Ddreamer   Crossbones+   -  Reputation: 3165

Like
0Likes
Like

Posted 06 November 2012 - 12:55 PM

Hi, fellow dreamer! Posted Image

I would like to be able to use C and C++ in some way, shape, or form. I kind of invision myself to be one of those guys that makes game engines like the unreal engine or something. I always thought it would be cool to be the un-sung heroes of the gaming world, making some of the fastest, most powerful gaming tools on the market. But then again, I also want to be a rock star... so you can see my indecisiveness.

Anyway, i'm merely rambling as I always do.

My point is... Where do you guys think I should go next? Do you think that I could take another class of c and c++ and be able to find a programming job this way? Or do I need to learn a lot more languages before I can even consider turning in an application for even the lowest levels of the programming profession.


Where should you go next? Are you kidding or something? Don't you see the opportunity before your eyes? Just in case you don't, I will explain...

It is good that you came here for advice, so you can find a path, plan, course, and career direction. There is nothing wrong with indecisiveness at this point in your school course as long as it is short, but I will help you decide. It is normal to hesitate at a crossroad, but I am glad that you are concerned about it. Looking at your map, are you? Great! Asking for directions? Wonderful!

Completing education is important for your reputation and knowledge. Hopping, cancelling, and restarting things is inefficient. You need to choose a course and see it to the end or some big opportunity is presented. Learn each language well! Better to master a couple languages than be mediocre and ineffective at several more.


Please, please, please, take the following as constructive criticism:

First thing that you need to do is decide what you want for a career and be fully committed to it, as you revealed earlier.
Second is to look at your options, but you need to ask for more advice in the near future other than this thread - use several sources.
Third is to begin to research your options in more depth than this thread can provide.

By the time you finish school, I am sure, you will have understood the above three. There is no hurry on a career choice because you are in school to bring structure to your indecisive self - actually a good decision on your part - going to school being an action decision.

You say that you learned C, but where are your real world projects that you created in C? Other than school, what have you accomplished in C? Do you realize that this practical applying of C which I mention here may actually take years to achieve? I recommend that you continue learning C in future classes and slowly add other languages which match your career goals.

Learn one or two languages at this stage and keep working with them long term. You really need a core language around which you learn other things, including other languages. Why don't you ask a professor? They are supposed to have good information about career choices with programming.

As for game development, any of the languages which you mentioned and many more would be powerful and effective for a skilled programmer.


Please don't choose a career path based on seeking glory alone! Having been a semi-professional musician and recently semi-pro in game assets, I feel obligated to let you know that you need a burning desire that people enjoy your art, but not necessarily for glory's sake. You must enjoy the journey as well as the end results.

Big dreamers like you and me need to cultivate our good habits so we can get past the fantasy and take action! Posted Image A fix for you is to study the lives of highly successful and decisive people, for example as revealed by the master of success - Napolean Hill. Find inspiration which is deep inside you. Posted Image

Know your condition inside and you will be able to decide what you want to do. When all else fails, plan by what you want and take action! The progress made by your desires is most important! No desire? Don't know what you want? Well... flip a coin between wanting to be a rock star or a gaming star, then put your whole heart and energy into it! ... you dreamer, you! Posted Image



Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#18 J. Evola's Apprentice   Members   -  Reputation: 307

Like
-1Likes
Like

Posted 07 November 2012 - 07:02 AM

Prefantastic: make a turn-based, multiplayer opengl game.

#19 Yrjö P.   Crossbones+   -  Reputation: 1412

Like
0Likes
Like

Posted 08 November 2012 - 10:49 AM

I mostly agree with tufflax and BeerNutts. Whether you are learning new languages or not, try to get actually good at one and do larger projects with it. Only when you are good enough with your tools that you don't have to pay a lot of attention to them, you start developing the big-picture skills that make a good programmer. Just superficially learning a bunch of languages one after another takes you nowhere.

I'm a teaching assistant at a university level C course. We do not teach programming - we teach the C99 language. (The course assumes previous programming skill in some other language.) It is a semester long, and I think it is supposed to take the average student about 160 hours of work to complete, most of that being exercise / coding time. In that time we can barely cover all the fundamental building blocks you use to do stuff in C. Topics include maybe 1/3 of the standard library, bit manipulation, memory management, macros, generic programming, modular/object oriented programming. Any memory leaks or illegal reads/writes will kill your exercise scores so you better learn to use a memory analyzer. Plenty of things like build control, debuggers or static analyzers which are critical for professional C development are not covered. Completing the course with the highest grade means the student "kind-of knows C" and has a good basis for learning further. It doesn't indicate in the slightest that the student is a decent C programmer, much less a good one. If you write a semi-serious game or other app in C - let's say couple thousand lines of code from scratch - and it works and isn't a horrible pile of bugs, then you are a decent C programmer.

#20 SimonForsman   Crossbones+   -  Reputation: 6305

Like
0Likes
Like

Posted 08 November 2012 - 12:05 PM


After learning the basics of the C Language, I don't quite know what to do with myself. I mean, I've been craving to start SOMETHING and I've already made myself a basic stat roller for Dungeons and Dragons and the basic programs assigned to me by my professor. But I don't know where to go from here. I've heard many stories that Learning C or C++ as your first language is not exactly the best thing to do since the learning curve can be very steep for some, but I've had no qualms with it. Maybe I'm an exception? Or maybe I don't quite understand it as well as I think. I'm not sure, but I've come to gamedev to ask you masters of the keyboard to guide me in the right direction.

I've been wanting to get into learning Java, I'm going to try and take a class for it next quarter (if I pass this quarter's intro to C [Damn my laziness]) and I'm not sure if that's where I want to go. I would love to take up programming professionally, I just am not sure what exacty I want to do with the knowledge I'm collecting. I know that C, so far, is very memory based and seemingly more intricate than the programming I had invisioned, but I find it extremely fun.

I would like to be able to use C and C++ in some way, shape, or form. I kind of invision myself to be one of those guys that makes game engines like the unreal engine or something. I always thought it would be cool to be the un-sung heroes of the gaming world, making some of the fastest, most powerful gaming tools on the market. But then again, I also want to be a rock star... so you can see my indecisiveness.

Anyway, i'm merely rambling as I always do.

My point is... Where do you guys think I should go next? Do you think that I could take another class of c and c++ and be able to find a programming job this way? Or do I need to learn a lot more languages before I can even consider turning in an application for even the lowest levels of the programming profession.


Some of the smartest programmers that I ever knew professionally were college or even highschool dropouts. Its possible to get into the industry without taking any classes at all, however, it is not easy to do.

That type of people tend to stand out and get hired or start their own business before they graduate. I'd strongly recommend staying in school until you either get a degree or a job (If the job offer comes before the degree you probably want to make sure that you can go back and finish the degree later if things don't work out in the long run)
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS