Sign in to follow this  
KittyPlaysViolin

"Must-Learn" Languages

Recommended Posts

[quote name='SharkBaitHooHaHa' timestamp='1344661133' post='4968326']
"You can have large sea of knowledge, but have it only be puddle deep. Likewise you can have a puddle that is miles deep. But in the end, the most interesting sea is the one that is expansive and populated with shallows and deep ends."[/quote]

Exactly. Once you know 1 language, the learning curve for the next language in the list just drops drastically. So the idea that knowing too many languages somehow gives you less understanding of each one, isn't usually the case (unless you insist on learning every single thing there is to know about 20 different languages).

====================

[b]@ DZee:[/b]
Remember that your brain is an amazing device (in fact the most complex object known to man - a hypermassive star is less complex), it's vastly capable of storing information and there's even ways to "learn how to learn" things. I think you're making a solid point about specialization though, that it can be superior to generalization in many respects. But that's only true if we're talking about comparable time spent on either. Typically it's a [i]transverging[/i] (? see below) relationship:

[b]My ad lib theorem on learning:[/b]
[i]"The more you generalize, the less time you spend on learning each new field.
The more you specialize, the more time you spend on that one field."[/i]

The golden mean of the above is when you've specialized enough so that further specialization becomes less effective than studying other fields to complement your own. Specialization is usually all about what you're actually [i]doing[/i]. Generalization is usually about what you [i]know[/i]. It's when you let generalization dictate your actions or specialization dictate your knowledge, that problems occur. Edited by DrMadolite

Share this post


Link to post
Share on other sites
hknowledge    113
C, C++, Assembly

In that order.

With C and C++ you can create whatever you can imagine.

With assembly added you will be a god instead of an angel Edited by jtw

Share this post


Link to post
Share on other sites
hupsilardee    491
Seeing as this is a game related website, I think a shader language should be on that list as well. But the way things are at the moment, the shader language that gets used is dependent on the graphics API...

Share this post


Link to post
Share on other sites
3Ddreamer    3826
husilardee,

That is an interest point.

If the developer wants to have his game cover two different APIs, then is there really a single shader language which will allow it?


3Ddreamer

Share this post


Link to post
Share on other sites
SimonForsman    7642
[quote name='3Ddreamer' timestamp='1344865954' post='4969064']
husilardee,

That is an interest point.

If the developer wants to have his game cover two different APIs, then is there really a single shader language which will allow it?

3Ddreamer
[/quote]

CG works with both OpenGL and D3D, (I'm not sure where it stands featurewise these days but nvidia is usually decent at keeping their stuff up to date)

Share this post


Link to post
Share on other sites
Telastyn    3777
I'd boil it down a bit:
[list]
[*]C
[*]C#
[*]JavaScript
[*]SQL
[*]Haskell
[/list]

I'd be okay if some of these were swapped with others. C++ could go in for C, Java or Python for C#, F#, OCaml or a lisp dialect for haskell. Scala for... Scala's not a good [i]replacement [/i]really; it [i]kinda[/i] satisfies the modern OO and functional language areas but is 'odd' enough to not translate super well to each.

And you should know enough HTML, CSS, and regexes to make stuff work. These will put you in a solid, well-rounded future. Assembly and Prolog are cute but you can get away without them. You can even get away without 1-2 of the items in this list and still be a successful, productive programmer.

Share this post


Link to post
Share on other sites
3Ddreamer    3826
[quote name='SimonForsman' timestamp='1344867670' post='4969075']
[quote name='3Ddreamer' timestamp='1344865954' post='4969064']
husilardee,

That is an interest point.

If the developer wants to have his game cover two different APIs, then is there really a single shader language which will allow it?

3Ddreamer
[/quote]

CG works with both OpenGL and D3D, (I'm not sure where it stands featurewise these days but nvidia is usually decent at keeping their stuff up to date)
[/quote]


After a little research, am I correct on this: CG (or Cg?) requires a compiler with an OpenGL or DirectX shader program? The vertex or pixel shading might be very important for certain things, huh? ...indispensible perhaps?. Would creating a laser beam and other types of light beams for a game be something which could use this? Somebody I know is very experianced in graphics and reminded me a few times to learn about vertex shaders. I am still trying to understand the applications of it.


3Ddreamer

Share this post


Link to post
Share on other sites
Hodgman    51237
That's a good point about the importance of 'shader languages' as a category.
[i]Everything[/i] that happens on a GPU is controlled by shaders (vertex/pixel/compute/etc), so to learn the GPU side of graphics programming, you have to learn one.
Vertex shaders are typically used to convert 3D points to 2D points on a screen, which the GPU then uses to draw triangles. Pixel shaders are used to calculate the colour of each pixel covered by a triangle.

nVidia Cg can be used in both D3D and GL, but nVidia Cg is almost exactly the same as Microsoft HLSL ([i]they created the language in cooperation, then both used different names for their implementations of that language[/i]). On every cross-platform game that I've worked on, we've written the shaders once and compiled that code as HLSL for D3D, and also compiled it as Cg for GL - with a few #ifdef's here and there for D3D/GL differences. That's how simmilar the two languages are.

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