Who has coded (asm) demos on the biggest nb of machines?
category: general [glöplog]
Quote:
they routinely fail at the most trivial "what does thisandthat language feature do" questions
but then again, if you want fulltime hardcore coders, the university gates may not be the best recruitment spot
It's not exactly hardcore coders we're looking for; but even as a mid-level game programmer it would actually be nice to know what eg. the difference between normal and virtual inheritance is.
Then again, C++ is one beast of a language and perhaps you've gotta be pretty hardcore to even try it ;)
Then again, C++ is one beast of a language and perhaps you've gotta be pretty hardcore to even try it ;)
kb_: I just finished a comp sci degree and everything, with the exception of some C in the operating systems module, was Java. That's not to say I didn't learn a lot on the course, but just that universities tend to view C/C++ as more specialist than the norm these days I guess.
-> Optimuz: So i really hope to see some Atari ST/E stuff from you!
Java is for lamers ;-)
Java is for lamers ;-)
doom: Yeah, but most coders are on a time/motivation budget. Compilers give way better performace/time ratio, and hand-rolling code only makes sense for those small, tight innerloops that most applications don't have.
Luckily, demos do :)
But why some people insist on writing their back-face culling routines in asm is beyond me.
Luckily, demos do :)
But why some people insist on writing their back-face culling routines in asm is beyond me.
parapete: The language itself isn't the problem anyway. It's the underlying paradgims that are.
Basically.. has anyone ever told you (as in: students) how Java's VM and especially the Garbage Collector work and why in many cases simply relying on such a thing is a fundamentally bad idea? I won't argue that it help speed up development and get rid of memory management bugs in probably even more situations, but many students I know simply take GC based memory management for granted and have no idea what's happening underneath.
And with "underneath" I actually DO mean it in a scientific, "what algorithms are employed and what are the alternatives" way. No prob about leaving the ASM trickery to the hardcore types, but I WOULD appreciate if non-hobbyists pursuing a programmer career had a more clear understanding of the underlying basics.
Basically.. has anyone ever told you (as in: students) how Java's VM and especially the Garbage Collector work and why in many cases simply relying on such a thing is a fundamentally bad idea? I won't argue that it help speed up development and get rid of memory management bugs in probably even more situations, but many students I know simply take GC based memory management for granted and have no idea what's happening underneath.
And with "underneath" I actually DO mean it in a scientific, "what algorithms are employed and what are the alternatives" way. No prob about leaving the ASM trickery to the hardcore types, but I WOULD appreciate if non-hobbyists pursuing a programmer career had a more clear understanding of the underlying basics.
I, for one would not study cs on a university if i wanted to get a code-monkey later..
C is great if you manage to learn it and the hardware is not very slow.
For slow machines assembly would be better. C is ok for NDS, GP32, GP2X stuff but maybe not entirely ok for GBA power if you don't want crappy speed. Still, I'd like to try a C compiler on something like a CPC after I have seen then Phat demo. Maybe build a little framework just for fun and see how it goes?
And yes coding for a new machine makes you learn the limitations and appreciate different the effort of other demos in this machine.
For slow machines assembly would be better. C is ok for NDS, GP32, GP2X stuff but maybe not entirely ok for GBA power if you don't want crappy speed. Still, I'd like to try a C compiler on something like a CPC after I have seen then Phat demo. Maybe build a little framework just for fun and see how it goes?
And yes coding for a new machine makes you learn the limitations and appreciate different the effort of other demos in this machine.
v3nomsoup: Right. But:
a) not all programming related jobs can be called "code monkeys" (I think if I took all the things you do in game programming and applied a business compatible moniker to it, i'd probably go at least for "Systems Architect" or shit like that)
b) Sadly many of CS grads aren't suitable for more than typing down others' designs because they never had to nor wanted to do something on their own.
a) not all programming related jobs can be called "code monkeys" (I think if I took all the things you do in game programming and applied a business compatible moniker to it, i'd probably go at least for "Systems Architect" or shit like that)
b) Sadly many of CS grads aren't suitable for more than typing down others' designs because they never had to nor wanted to do something on their own.
the difference between normal and virtual inheritance is an "underlying paradigm" now? important enough to be essential ingredients of academic cs education? come on kb. your gc example is spot on, but if you ask recruits about a very obscure and quite silly language implementation detail such as virtual inheritance, and then get disappointed that they'd need to spend a whole 5 minutes reading up on it because they don't speak c++ as their second language, then that means that you want universities to produce code monkeys, not self-thinking engineers.
sure thing, of course there's a big amount of difference between graduates, and between schools. but it seems to me that you're either not looking for engineers or asking the wrong questions.
sure thing, of course there's a big amount of difference between graduates, and between schools. but it seems to me that you're either not looking for engineers or asking the wrong questions.
oh btw i reckon you're quite right about b) though (and i hope i'm not one of them!)
kb_: funny you should mention that; the only time I remember anything regarding the inner workings of the VM or GC being touched upon were in a computational complexity lecture, where the lecturer was trying to explain away anomolies in results from a comparison of sorting algorithms! The applicability of Java to that kind of thing is a whole different conversation though... :)
you're both right : most CS graduates have too basic knowledge and fewer technical experience, i know it because i was one of them a few years ago :D
kb is right : the good ones are those with personal side projects (technical projects i mean, like shareware, open-source, gamedev, tutorial-writing, etc...), thus interviewing any random CS graduate for some hardcore gamedev is a total waste of time, unless you want him(her) to code some corporate management system or some website.
only a few CS schools/uni teach you very deep technical knowledge, but is it that appropriate to become an überspecialist by education ? actually i kinda like how engineer schools teach you only the basics but in many domains, and supposedly teach you the methods, how to work efficiently in a group/corporation/society, how to teach yourself when need be.
they clearly don't train the brilliant coders needed for pro gamedev.
i think it's a different thing for artists : some schools train great designers for 2D, 3D, sound design, video, animation, etc...
kb is right : the good ones are those with personal side projects (technical projects i mean, like shareware, open-source, gamedev, tutorial-writing, etc...), thus interviewing any random CS graduate for some hardcore gamedev is a total waste of time, unless you want him(her) to code some corporate management system or some website.
only a few CS schools/uni teach you very deep technical knowledge, but is it that appropriate to become an überspecialist by education ? actually i kinda like how engineer schools teach you only the basics but in many domains, and supposedly teach you the methods, how to work efficiently in a group/corporation/society, how to teach yourself when need be.
they clearly don't train the brilliant coders needed for pro gamedev.
i think it's a different thing for artists : some schools train great designers for 2D, 3D, sound design, video, animation, etc...
skrebbel: Ok, the exact difference between "virtual" and "not virtual" is perhaps one of the scarier parts of C++ (wouldn't call it silly to ;), you're right.
Still I'd doubt that the people who fail at this question would know how inheritance (regardless of language) works at all. And considering how much and for how long pretty much the entire world of computing regarded a simple function table bundled with other data as the next big thing and intricate OOP knowledge was an absolute prerequisite for getting _any_ IT job in the late 90s, I'd at least hope that these concepts would be taught at uni today.
Still I'd doubt that the people who fail at this question would know how inheritance (regardless of language) works at all. And considering how much and for how long pretty much the entire world of computing regarded a simple function table bundled with other data as the next big thing and intricate OOP knowledge was an absolute prerequisite for getting _any_ IT job in the late 90s, I'd at least hope that these concepts would be taught at uni today.
Zest, ok, then the big fault about universities is that they're giving people the illusion of actually knowing anything. It's quite correct that the most basic mathematical/theoretical toolset given to students should be enough to understand and solve most real-world problems (if not all of them), but applying it should also be taught (like in "ok, now you can program in Java and had some OS design courses, the homework for next week will be describing how you'd go for a Java VM").
I think we can simply conclude that the really able and motivated people are mostly self-trained anyway. Most cs students don't know and don't like coding when they enter uni and certainly don't when they leave.
in a way, what you're advocating is to only focus on programming, algorithms and software design and to dismiss all the other fields of computer science, no? i mean, in my whole university traject, i had about eh, 20 ects credits worth of courses that directly deal with programming, programming languages and program stuctures. add 10 about os stuff and lowlevel hackery, and another 30 for those projects that involved a lot of programming. that's 60 in total, i.e. one year out of five.
i'm personally quite fine with that; university is academic education (even in engineering fields) which means that research and not-at-all-yet directly applicable ideas and solutions are a big thing. most of the courses i had, especially in the master's programme, are about difficult solutions for certain niches of problems. i think i'll be able to directly apply *very* little of what i've learnt in that programme in the industry. but i'm able to read badly written papers full of difficult stuff with relative ease now, and i'm able to quickly understand how complicated things work. maybe i'm just pretentious, but i'm happy about all that.
if i wanted to learn how to code, i'd not have gone to a university.
i'm personally quite fine with that; university is academic education (even in engineering fields) which means that research and not-at-all-yet directly applicable ideas and solutions are a big thing. most of the courses i had, especially in the master's programme, are about difficult solutions for certain niches of problems. i think i'll be able to directly apply *very* little of what i've learnt in that programme in the industry. but i'm able to read badly written papers full of difficult stuff with relative ease now, and i'm able to quickly understand how complicated things work. maybe i'm just pretentious, but i'm happy about all that.
if i wanted to learn how to code, i'd not have gone to a university.
in other words, there's a gap between what universities deliver and what the industry demands.
which is fine, because they're universities (i.e. compare to the job market's craving demand for art historians)
which is fine, because they're universities (i.e. compare to the job market's craving demand for art historians)
i'm not sure the universities are that faulty, CS courses and practical exercises seemed mosstly well-made and well-thought to me, the problem is more basic and human : few students really study! ;) if they attend the lectures that's already good enough, few do make the exercises, big coop projects are usually achieved by 2-3 studious or smart guys then replicated, and many are busy with student activities, etc...
and that's human, you can't ask 20-something people who are enjoying student life and autonomy to be superfocus ;)
now they have to know that they don't know much after leaving CS schools or unis, they will have to learn a lot from their first jobs.
i'm not talking about students with master degree or PhD, those are supposedly more aged, wise and knowledgeable (obviously).
and that's human, you can't ask 20-something people who are enjoying student life and autonomy to be superfocus ;)
now they have to know that they don't know much after leaving CS schools or unis, they will have to learn a lot from their first jobs.
i'm not talking about students with master degree or PhD, those are supposedly more aged, wise and knowledgeable (obviously).
exactly skrebbel, and that's the neverending debate and compromise to find : universities should train students so that most can get a suitable job outside uni, but also provide them with a wide range of knowledge to make them aware, creative and thinking-independent, like the mythical character of the enlightened philosopher scientist in the 18th...
anyway i'm sure the amateur gamedev community (and the demoscene ?) is young and active enough to provide kb with all the skilled trainees and rookies he wants ;)
anyway i'm sure the amateur gamedev community (and the demoscene ?) is young and active enough to provide kb with all the skilled trainees and rookies he wants ;)
wait.. what? zest has a CS degree?
mentor: exactly what i mean ;D
Why don't you implement some of your own ideas then?
...
i wish i could cite all the stuff i heard about gated knowledge communities from Dr. Michael Wagner in vienna two weeks ago - but the sentence "it will probably replace academia in a few years" kinda stuck.