Sign in to follow this  
corrington_j

how do you keep up with constantly chaning technology?

Recommended Posts

I have recently begun learning .NET, and also c#, and i find the amount of material to be overwhelming. It is kind of stressing me out knowing how fast technologies changes, and how much work it can be to keep up. So how do you all keep up with rapidly chaning technology. For instance do you learn as you go, learn as you need it, or like to learn a new technology when it comes out.

Share this post


Link to post
Share on other sites
It's one thing to ride the hype, another to be stable.

I have coded a variation of languages using variation of techniques, and it's the techniques that changes, not so much the languages.

If you learn C# today, and become good at it, I'm positive that you can do windows development for many years from now. But if you learn for instance C++, which is over 20 years old, it will still remain compability with the OS's to come even in the future. C++ (and C! even older!) is very much alive today, and I doubt the interest for these languages will cold.

I'm sure you think about java. But IMO java is not a good language to use for programming applications to start with, C# is much better at that, so that would be a safer choice today, C# will become a greater language than java ever was, BUT C++ is a steadier option if you ask me. Why? Because C/C++ works on so many platforms you could not even name half of them.

Then it comes to techniques (sorry, can't spell that), like algoritms and API's etc, those are likely to expand in the near future, but is not language specific in many cases (thinking of the API's, not the algos). As an example, I started coding "game programming" (doing demos really) back in 1995/96, then everything was done in software mode, using normal 2D graphics adapters. I then had to learn DirectX/OpenGL just to adopt, and changes like that will always occur in your personal evolutional process, that's a deal of being a programmer.

And don't worry for not catching up, then you're into programming, the changes come to you, you just have to keep up listening for it, and the more you know about programming, the more you will know where to listen, and what to listen for.

Albert "thec" Sandberg

Share this post


Link to post
Share on other sites
Quote:
Original post by thec
It's one thing to ride the hype, another to be stable.

I have coded a variation of languages using variation of techniques, and it's the techniques that changes, not so much the languages.


I'd tend to disagree with some of that, I do agree that say C++ will still be C++ in 10 years but I'd say its the techniques that stay the same.

The bubble sort has been taught for 30 years, same with linked lists and tree strucutres.

in 20 more people will still be teaching the chain of command pattern and gerneric programming. Its new programming languages that will change as well as new API's. Students will be learning the successor to Java and C++ in school but still be learning how to progrma linked lists and tree structures. And they'll still be writing games with OpenGL and directx.

THat's my 2 cents:)

Cheers
Chris

Share this post


Link to post
Share on other sites
Yeah, of course... what I ment was like then per pixel lightning came, cube mapping, those techniques are not "new" as for science, but new to programmers finally able to implement them in real time, those are the algos that will come, this is a game developers forum after all :-)

Of course you do not throw away bubblesort (or quicksort to be realistic) like you threw away LISP, that was not what I ment.

But if we talk heavyweight programming languages here, not that much will change. Anyway, learning a new language when you know one of the more complex ones (such as C#) is just like changing underwear really, not saying I'm not doing that more often tho.

Albert

Share this post


Link to post
Share on other sites
Quote:
Original post by corrington_j
I have recently begun learning .NET, and also c#, and i find the amount of material to be overwhelming. It is kind of stressing me out knowing how fast technologies changes, and how much work it can be to keep up.
You don't need to "keep up"; you just need to know what you need to get your job done.

The knowledge/APIs/language aren't going anywhere.

Share this post


Link to post
Share on other sites
It actually doesn't change as much you think.

Once you learn the paradigms and the patterns everything else is details that usually are very easy to grasp. It comes with experience by wasting all your life by doing it.

Share this post


Link to post
Share on other sites
Just my two cents.

From my experience, the only things that really change are the API's and the languages themselves. Languages are easy to learn and pickup since they are all more or less the same, the API's like OpenGL and DirectX are the hard things to "keep up" with but as has been said, you only need to know what you have to to get done what you need to do. So learn as you go is how I do it.

Share this post


Link to post
Share on other sites
Keep up? My games are software rendered and written in C (well, C and Lua). :) Also, most indie developers recommend the use of older versions of DirectX as many people don't have the latest versions and/or hardware that supports them. DirectX 7 is OK I think.

Share this post


Link to post
Share on other sites
Quote:
Original post by thec
Yeah, of course... what I ment was like then per pixel lightning came, cube mapping, those techniques are not "new" as for science, but new to programmers finally able to implement them in real time, those are the algos that will come, this is a game developers forum after all :-)


You have to make an effort yourself to keep up with change. Because I notice everywhere that once people learn something, or use something, they will stick with it no matter what. People still make mp3's despite WMA/Ogg being smaller and better. People will use the AVI videoformat forever no matter how good WMV/MP4 will become. The people that were downloading videocd's (MPEG1) before divx 3.11 stick to those and ignore avi's as 'too new'.

In programming it's similar. Once you know C++ you will probably never mess with C#, although almost all people that did try it love it and stick with it.

With DirectX a lot of people use it like it's still DX7. Most of the tutorials and posts here are about separate vertex buffers/index buffers and ignore meshes, even though that's just a class that combines those two together with some useful helper functions. Hell, people are still thinking about converting to triangle strips manually to speed things up. Never mind the beginners asking DirectDraw questions because they just started learning it, 5 years after it was phased out.

Most of the tutorials and I guess amateur games just use softwareprocessing and don't even test for hardwareprocessing, just like the geforce card and its hardware T&L was never invented.

The bottom line is, once you know something your knowledge is already fading and getting obsolete. You really have to make an effort yourself to read up on new stuff and learn new techniques or else you'll be making games that would have looked old already in 2000.

Share this post


Link to post
Share on other sites
Quote:
Original post by chollida1
[...]I'd tend to disagree with some of that, I do agree that say C++ will still be C++ in 10 years but I'd say its the techniques that stay the same.

The bubble sort has been taught for 30 years, same with linked lists and tree strucutres.[...]
Of course linked lists have been linked lists for a while now. How many different techniques can you use to implement it, though? At least 3 (procedural, OOP, functionally and of course each of those 3 can have 50 different implementations) and I'd bet much much more. Once we start getting into paralell processing more it'll be a whole new ball game from what most people know, and if we ever get a serious quantum computer built that will be another completely different way.

As far as keeping up, you don't have to unless your work requires you to. Technology might sell games, but it doesn't make them good games. I'd much rather you(meaning any indie game developer) spend a few minutes whipping up a basic OGL/DX7 framework and then the rest of the time on figuring out gameplay and mechanics etc to make a good game than to spend years writing shaders to release "an engine called a game"

Share this post


Link to post
Share on other sites
Quote:
Original post by Fidelio66
Most of the tutorials and I guess amateur games just use softwareprocessing and don't even test for hardwareprocessing, just like the geforce card and its hardware T&L was never invented.


No, no. It's the amateur games that use hardware and T&L and shaders and DirectX 9.1 and what not when they don't need to. Professional downloadable games try to have the game work on as many computers as possible and as such go through a lot of pain and technical tricks to use software rendering.

By the way, it's hard enough for me to keep up with old stuff - I want to learn Lisp and bash scripting and Emacs and gdb. I just tend to stay away from all these "new" "technologies" that may or may not be around a few years from now.

Share this post


Link to post
Share on other sites
Word of advice - technology is overrated.

My game, when it was first created, looked awful. So we added all kinds of nice effects - bumpmapping, specular highlights, reflective water, particle systems, you name it. It still looked like crap. What finally made it look good? Plants. Lots of them.

The point is this: the same things that make a real-world scene look good are what make a computer scene look good. My apartment is an attractive environment because it has subdued lighting, plenty of houseplants, well-coordinated colors, and because it looks comfortable.

Technology is only useful insofar as it helps duplicate some real-world effect you want to achieve. Your engine pushes lots of polygons? Why? Oh, because houseplants have lots of polygons - well okay then. Your engine has multiple light sources? Why? Oh, because you want to implement subdued lighting - well okay then. Your engine has specular reflections? Why? Unless some interior designer said "you need more shiny stuff in your living room," then there's no point implementing speculars. Of course, if you're trying to do a rainforest scene in which everything looks wet, then that's a whole other story.

- Josh


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this