• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Programming |OT| C is better than C++! No, C++ is better than C

ha1f

Member
This is something that bothers me, when people say "well you don't need a degree" as it trivializes the amount of work a person does when getting a CS or related degree. Yes, you don't need a degree, but you still need years of experience and aptitude for the field. A lot of people I've met who are working as programmers that don't have a degree were programming from a really young age. These people were already very experienced by the time they graduated from high school. If you are telling a person who is a complete beginner at age 23, that the only thing they need is code on GitHub, you are forgetting that it will take them years until they can actually have something interesting to put there.

I've yet to meet anyone who has gotten a good programming job without a CS degree, and no previous programming experience.

I work for a small startup, and so do a lot of my friends (before that I worked for a web company that does massive traffic, and thats where I met a lot of them). We've seen a lot of young people without CS/related degrees come through the pipeline. Here's the situation:

A lot of companies need code monkeys. They need you to push out web apps in a couple of months, they need you to make pages look pretty, they basically just need you to shit out code at an extremely fast rate. That is not a hard thing to do, any smart person can do it. It doesn't matter what the code actually looks like or does since they have 3000 users and their web, db, and batch server are all the same box (or on heroku, etc). You can start programming and become this person in a year, maybe even months.

Other companies are looking for engineers. These are the people who actually know how a computer works. They're the ones who can can keep your site running under heavy load, they're the ones who understand how complexity applies to a domain, etc. You can't become this person in a matter of months, you need a deep understanding of computational theory and/or real world experience.

I have interviewed countless kids from _great_ schools with physics/mech eng/math degrees. Those guys could build a website for sure. But when I asked some of them basic data structures questions, they looked at me like a deer in headlights. I don't want to hire these people. They aren't going to make me any better at what I do, and they're going to build things that are going to be a shitshow to maintain in the future. But small companies who just need code and have small bank accounts would be happy to have them, and I'm sure they can become great engineers in the future. No one starts good, you gotta get good.

Companies hire code monkeys for like 75k or less. That's great money in the grand scheme of things, and it's what startups can afford. Companies pay 100k+ for engineers, and that's on the low end (imo). (These are SF numbers).
 
I work for a small startup, and so do a lot of my friends (before that I worked for a web company that does massive traffic, and thats where I met a lot of them). We've seen a lot of young people without CS/related degrees come through the pipeline. Here's the situation:

A lot of companies need code monkeys. They need you to push out web apps in a couple of months, they need you to make pages look pretty, they basically just need you to shit out code at an extremely fast rate. That is not a hard thing to do, any smart person can do it. It doesn't matter what the code actually looks like or does since they have 3000 users and their web, db, and batch server are all the same box (or on heroku, etc). You can start programming and become this person in a year, maybe even months.

Other companies are looking for engineers. These are the people who actually know how a computer works. They're the ones who can can keep your site running under heavy load, they're the ones who understand how complexity applies to a domain, etc. You can't become this person in a matter of months, you need a deep understanding of computational theory and/or real world experience.

I have interviewed countless kids from _great_ schools with physics/mech eng/math degrees. Those guys could build a website for sure. But when I asked some of them basic data structures questions, they looked at me like a deer in headlights. I don't want to hire these people. They aren't going to make me any better at what I do, and they're going to build things that are going to be a shitshow to maintain in the future. But small companies who just need code and have small bank accounts would be happy to have them, and I'm sure they can become great engineers in the future. No one starts good, you gotta get good.

Companies hire code monkeys for like 75k or less. That's great money in the grand scheme of things, and it's what startups can afford. Companies pay 100k+ for engineers, and that's on the low end (imo). (These are SF numbers).

That's the type of position I was referring to.

Also, I have to disagree with you iapetus about your statement of going through CS a degree in months. I just don't see that happening and that was my point in my previous post. As an example, let's say you need to have a level of understanding of algorithms to someone graduating from a good CS school. You would need the algorithms class, and as prerequisites data structures, a good foundation in a programming language, and discrete math. Discrete Math alone assumes you are comfortable with college level mathematics, which in my experience very few college graduates are. And that just the foundation, you would still need computer architecture, operating systems, and the list goes on.

edit: or maybe I'm just a really slow learner. :p
 

iapetus

Scary Euro Man
Also, I have to disagree with you iapetus about your statement of going through CS a degree in months.

University courses have a whole load of empty space in them. You go through things at a pace that's geared towards some of the slower members of the class, and there's plenty of time within term-time for socialising and procrastination. That's based on my experience of seeing other students on CS courses, anyway - I shared a house with several of them. And that's just term time - there's a whole load of holiday in a university year.

If you're one of those people who'd have been running ahead of the crowd on the course, if you're motivated enough by a genuine interest in the subject matter, and if you're smart with it, then of course you can compress it. Into months? I'd say so. 6-9 months if you dedicate yourself to it. Practically, of course, you wouldn't do exactly that - you'd focus on certain areas.

Yes, the pre-requisites would be the same as for a comparable CS course.
 

Spoo

Member
University courses have a whole load of empty space in them. You go through things at a pace that's geared towards some of the slower members of the class, and there's plenty of time within term-time for socialising and procrastination. That's based on my experience of seeing other students on CS courses, anyway - I shared a house with several of them. And that's just term time - there's a whole load of holiday in a university year.

If you're one of those people who'd have been running ahead of the crowd on the course, if you're motivated enough by a genuine interest in the subject matter, and if you're smart with it, then of course you can compress it. Into months? I'd say so. 6-9 months if you dedicate yourself to it. Practically, of course, you wouldn't do exactly that - you'd focus on certain areas.

Yes, the pre-requisites would be the same as for a comparable CS course.

I'd bite on about 10 months to a year, but I'm including the Math requirements as well (Calc I-II//Discrete Math at least). There are courses that are supposed to take months and months of coding (Compilers, for example), but I've seen people start and finish their compiler in 1/10th that time. You're given about 1 to 2 weeks for assignments that take a dedicated student about 4 hours to complete. Cut out the assignments which are retreads (a student taking a Data Structures class will have, likely, already implemented many of the structures they are given WAY too much time to do), and you can trim the fat on these degrees significantly. Case in point, I was given a BitArray class to complete in 2 weeks for my advanced C++ class (prof implemented the vector<bool> spec. in STL and wanted people to do something similar). I had it done about 2 days in. I could probably finish all the classes assignments in about 1 week, properly motivated.

Most people need a course to "push them along." They need due dates, etc. Some people don't, and can absorb a lot of material much faster.

edit: I'm not saying / agreeing with this to "undermine" CS majors. It's a good major; worth a lot if you applied yourself. But a person with dedication who walks in a straight line is a thing to behold, and they can do it.
 

usea

Member
Given that a not-insignificant portion of CS grads can't program at all or are just plain dumb, having the degree by itself doesn't really mean all that much. If you can demonstrate the ability and knowledge then your lack of degree doesn't mean shit. If you can code, you can get a job as a coder; regardless of degree. You can continue learning and work your way into the more advanced positions. Degree doesn't matter.

Who's going to hire somebody just based on the fact that they have a degree? You interview them and try to get an idea of their ability. A degree is only an indicator of potential ability, which is taken with a grain of salt.
 
I've yet to meet anyone who has gotten a good programming job without a CS degree, and no previous programming experience.

I've met lots of people who are good programers and don't have a degree. Of course they have previous experience (self taught) it would be stupid to work with anyone without experience, degree or not.
 

moka

Member
Given that a not-insignificant portion of CS grads can't program at all or are just plain dumb, having the degree by itself doesn't really mean all that much. If you can demonstrate the ability and knowledge then your lack of degree doesn't mean shit. If you can code, you can get a job as a coder; regardless of degree. You can continue learning and work your way into the more advanced positions. Degree doesn't matter.

Who's going to hire somebody just based on the fact that they have a degree? You interview them and try to get an idea of their ability. A degree is only an indicator of potential ability, which is taken with a grain of salt.

I agree with you. I personally know BSc Computer Science graduates who came out with a First-Class Honours degree and don't know how to write basic code e.g. a FizzBuzz program in any language; not even the language they were taught programming and even FizzBuzz specifically in - Java!

I'm spending as much time as I can writing code outside of my classes and building up a portfolio of my best work even though I'm fairly sure that I'm going to finish with a First.
 
Hey gaf, I'm in a C++ class and I have to create a program that will input a time in 24h notation and output it in 12h notation. My problem is how do you input a time in a HH:MM format, is it as simple as using cin or is there a specific function for using time.

Ztydf91.jpg


When I'm done it should look like this
 

nan0

Member
Hey gaf, I'm in a C++ class and I have to create a program that will input a time in 24h notation and output it in 12h notation. My problem is how do you do you input a time in a HH:MM format, is it as simple as using cin or is there a specific function for using time.

http://i.imgur.com/Ztydf91.jpg

When I'm done it should look like this

I'd use cin, split the string on the ":" char and evaluate the first two digits. Don't forget sanity checks (e.g. invalid times, such as 25:51).

Edit: There are time functions from C (time.h, which also includes that conversion), but it depends what your instructor wants. It's certainly not required for such simple stuff.
 
I'd take the user input as string then tokenize it, apply the transformation from 24-notation to 12 hour notation for the part before the : and print it back.

I am not familiar with C++ it seems to be rather simple with Boost tokenizer at least: http://www.boost.org/doc/libs/1_36_0/libs/tokenizer/index.html

edit: nan0 *shakes fist*
That seems like overkill and they are probably not allowed to use Boost for (what looks like) their introduction to C++ class.
 
I've met lots of people who are good programers and don't have a degree. Of course they have previous experience (self taught) it would be stupid to work with anyone without experience, degree or not.

Everybody has to start somewhere.

I've never met somebody straight out of uni who was useful. Learning to code is completely different from learning to code commercially (although obviously you will need to do one before the other). Being able to write a red black tree is nice, but if anybody did that at a company they would be out of a job very quickly.

However a degree always just shows you are serious about the career, are disciplined enough to get through it and probably have a good ability to learn. Because day one you'll be throwing most of what you know out the window to adopt that particular companies patterns, tools or methodologies.

To be honest, I've never hired somebody without a degree however this is in Australia where there are probably lower barriers to getting one.

Who's going to hire somebody just based on the fact that they have a degree? You interview them and try to get an idea of their ability. A degree is only an indicator of potential ability, which is taken with a grain of salt.

Nobody. But the degree gets you that interview.
 

Nesotenso

Member
anybody recommend any resource for getting started on x86 asm and the instruction set ? should i get a cheap evaluation board or will my amd athlon (ii) processor be enough ?
 

msv

Member
I've never met somebody straight out of uni who was useful. Learning to code is completely different from learning to code commercially (although obviously you will need to do one before the other). Being able to write a red black tree is nice, but if anybody did that at a company they would be out of a job very quickly.
What do you mean with coding commercially though? As in working in agile/scrum/xp or waterfall type teams? Or do you mean working with the specific code bases the companies work with?

Which reminds me of my assignment, is there anyone here that works in/has worked on commercial agile (team) projects that I can shoot some questions? As in how it went, what the company structure/team structure was like, the daily activities and such and your own opinion of it? I'm doing some research for a class, to get a view on the pros and cons of agile in a real business.
 
The invariable truth is that code you wrote yesterday looks worse than code you write today. And tomorrow, that code will make you sick.

When you get that first programming job, your code will suck. Six months later, it will be vastly improved, if you are any good at what you do, you continue to learn, you challenge yourself, etc. And that code will still suck.
 
What do you mean with coding commercially though? As in working in agile/scrum/xp or waterfall type teams? Or do you mean working with the specific code bases the companies work with?

Which reminds me of my assignment, is there anyone here that works in/has worked on commercial agile (team) projects that I can shoot some questions? As in how it went, what the company structure/team structure was like, the daily activities and such and your own opinion of it? I'm doing some research for a class, to get a view on the pros and cons of agile in a real business.

I'm happy to answer questions.

In terms of commercial coding? The reality is it is almost always a/m/d a hierarchy of simple objects, put some display pages together and write some reports. There is no AI or 3d graphics, you'll be using other people's frameworks and data structures in a pattern long since established.

Need to do something complex? You are downloading and integrating somebody elses library. Basically you just need to get good at churning boring shit out fast. It still isn't easy of course, not even close. But it is very different in focus to what you might do yourself or at uni.

Because of this great coders are not necessarily great commercial coders.
 
I'm happy to answer questions.

In terms of commercial coding? The reality is it is almost always a/m/d a hierarchy of simple objects, put some display pages together and write some reports. There is no AI or 3d graphics, you'll be using other people's frameworks and data structures in a pattern long since established.

Need to do something complex? You are downloading and integrating somebody elses library. Basically you just need to get good at churning boring shit out fast. It still isn't easy of course, not even close. But it is very different in focus to what you might do yourself or at uni.

Because of this great coders are not necessarily great commercial coders.

You just blew my mind.
 

qazqaNii

Member
Hello.

Well I am new to this programming world and so on, anyways I am stuck on a problem. I made an project in c++, in visual studio.

And no I have to make an GUI for my project in QT, the thing is.. QT just won't become my friend I can't even make a simple button to "start" a function I have made in visual studio. Does anyone have some examples on how to call for the functions from QT.. (Yes I have included my "handler-class" so to say).

Youtube tutorials did not work. :X
 

squidyj

Member
Hello.

Well I am new to this programming world and so on, anyways I am stuck on a problem. I made an project in c++, in visual studio.

And no I have to make an GUI for my project in QT, the thing is.. QT just won't become my friend I can't even make a simple button to "start" a function I have made in visual studio. Does anyone have some examples on how to call for the functions from QT.. (Yes I have included my "handler-class" so to say).

Youtube tutorials did not work. :X

are you using the designer to make this gui or are you writing it in code?
 

leroidys

Member
University courses have a whole load of empty space in them. You go through things at a pace that's geared towards some of the slower members of the class, and there's plenty of time within term-time for socialising and procrastination. That's based on my experience of seeing other students on CS courses, anyway - I shared a house with several of them. And that's just term time - there's a whole load of holiday in a university year.

If you're one of those people who'd have been running ahead of the crowd on the course, if you're motivated enough by a genuine interest in the subject matter, and if you're smart with it, then of course you can compress it. Into months? I'd say so. 6-9 months if you dedicate yourself to it. Practically, of course, you wouldn't do exactly that - you'd focus on certain areas.

Yes, the pre-requisites would be the same as for a comparable CS course.

I don't think that I could disagree with you more on this. My program is going to take me 3 years and most nights I get about 4 hours of sleep. I spend about 30 hours a week in the lab (outside of classes). Every course is extremely condensed as well. Most cover between 400 and 1200 pages of a textbook in 10 weeks, along with significant programming projects.
 

Slavik81

Member
Hello.

Well I am new to this programming world and so on, anyways I am stuck on a problem. I made an project in c++, in visual studio.

And no I have to make an GUI for my project in QT, the thing is.. QT just won't become my friend I can't even make a simple button to "start" a function I have made in visual studio. Does anyone have some examples on how to call for the functions from QT.. (Yes I have included my "handler-class" so to say).

Youtube tutorials did not work. :X
What problems did you encounter when you tried following the tutorials you've found?

If you post the error messages you're getting, I can certainly give you a hand.
 

upandaway

Member
Yesterday I really freaked out when I finished the pacman! I didn't manage to do animation (everything teleports to the next square when it moves), and the AI is totally randomized (pure laziness there), but at least it has a level editor (whoa)! I used inheritance, multithreading, writing/reading strings from a file, and Swing and Collections and Key Events from the API. Couldn't really find where to use polymorphism though. Anyway I'm super proud of myself.

I've got some questions about unit testing if anyone can help out:

How I went about it was basically "outline classes/methods -> write validation test for one of the easier half of methods -> write code, run test, fix code immediately -> write bad input test (only the most extreme bad inputs) and fix code again -> rinse repeat". Is that.. okay? Can I add anything to this before I finish all of the code? And is there anything else to do after I finish the code that won't fry my brain? (I understood nothing of stress tests for example)

Also, does anyone have any popular idea for what I can try writing next?

Edit: Argh.. and does anyone know a nice JUnit tutorial? The github documentation is, uh, isn't. In existence.
 
Hey, all. Beginner here and I've just finished making my first game in Java (we have to use it).

It's a very simple game and it's buggy and looks terrible. That's not the point though, I have 2 enemies in an array and when the player hits the pre-determined location, the game ends (he dies). I have a shoot function that when the bullet hits the enemy, the enemy is set to invisible but as soon as the player walks over that spot, the game will end as if he didn't kill the enemy.

It's the last little bit I'm stuck on. I know I didn't explain it well, so I've posted my classes on pastebin if some generous member could have a quick glance at it.

en1&2 are enemies BTW.

Frame - http://pastebin.com/4rgh4uWA
Board - http://pastebin.com/uJ9sMKdn
Dude (Player) - http://pastebin.com/nAqZPnL3
Bullet - http://pastebin.com/tJ1uGLiy
Enemy - http://pastebin.com/RHipTbMq
 

Madtown_

Member
Hey, all. Beginner here and I've just finished making my first game in Java (we have to use it).

It's a very simple game and it's buggy and looks terrible. That's not the point though, I have 2 enemies in an array and when the player hits the pre-determined location, the game ends (he dies). I have a shoot function that when the bullet hits the enemy, the enemy is set to invisible but as soon as the player walks over that spot, the game will end as if he didn't kill the enemy.

It's the last little bit I'm stuck on. I know I didn't explain it well, so I've posted my classes on pastebin if some generous member could have a quick glance at it.

en1&2 are enemies BTW.

Frame - http://pastebin.com/4rgh4uWA
Board - http://pastebin.com/uJ9sMKdn
Dude (Player) - http://pastebin.com/nAqZPnL3
Bullet - http://pastebin.com/tJ1uGLiy
Enemy - http://pastebin.com/RHipTbMq

One thing I would recommend is using more descriptive variable names. I had to keep scrolling up to see what d, p, e, etc.. were.

Anyways, when you are checking if the player intersects the enemy rectangle, shouldn't you make sure the enemy is alive as well?
Code:
Rectangle d = p.getBounds();
if ( (d.intersects(r1) && en.isAlive()) || (d.intersects(r2) && en2.isAlive()) ) 
     lost = true;

Let me know if that helps..otherwise I may have misread the problem.
 

jon bones

hot hot hanuman-on-man action
Hey guys, I'm trying to wrap my head around pointers while I work on this doubly linked list. Often times I can't seem to return a value of a node, it seems to return what I think is the memory location instead. Here are some snippets of code to see what I'm doing, maybe you guys can help me:

Code:
class Element {
};

class IntElement : public Element {
public:
  IntElement(int x) { value = x; }

  int get_int() { return value; }
  void set_int(int x) { value = x; }

private:
  int value;
};

Element* get(int i) {
	node = head;
	for (int z = 0; z < i; z++){	
		node = node->next;
	}
	return node->value;
  }
 
  AbstractDeque* qs = new LinkedDeque();

  qs->insert_front(new IntElement (1));
  qs->insert_front(new IntElement (2));

  cout<<"1: "<<qs->get(0)<<endl;
  cout<<"2: "<<qs->get(1)<<endl;

and I get this as my output.

1: 007B53E0
2: 007B5358
Press any key to continue . . .

I'm not sure why I'm seeing those numbers instead of a simple "1" and "2"...

http://overapi.com/ "Programming cheat sheets"

Some look really useful as a quick reference. Others not so much.

ohh this could be helpful, thanks.
 

Slavik81

Member
You never call get_int(). You're printing the value of the Element* returned from get(int). And that is indeed a pointer.

Since you just have an Element*, you'll have to cast back to IntElement* to call get_int.
 

jon bones

hot hot hanuman-on-man action
You never call get_int(). You're printing the value of the Element* returned from get(int). And that is indeed a pointer.

Since you just have an Element*, you'll have to cast back to IntElement* to call get_int.

I had thoughts about that, thanks for clarifying and confirming! Downcasted, and everything works as I want.

Code:
  cout<<"1: "<< static_cast<IntElement*>(qs->get(0))->get_int() <<endl;
  cout<<"2: "<< static_cast<IntElement*>(qs->get(1))->get_int() <<endl;
 
Nobody. But the degree gets you that interview.

Exactly, but the company still wants a purple squirrel at the end of the day. You'd better have a degree, high GPA, 10 years of experience with any number of 5 year old languages / technologies /platforms, and write successful iOS apps in your free time while juggling family/social/personal life and your dwindling sanity.

I've never met somebody straight out of uni who was useful. Learning to code is completely different from learning to code commercially (although obviously you will need to do one before the other). Being able to write a red black tree is nice, but if anybody did that at a company they would be out of a job very quickly.

And you'd better be able to do it off the top of your head regardless.

A CS Curriculum should instill the ability to teach yourself in a short time frame while maintaining a core skill-set and good habits, but interviews are often centered around technical minutia or recalling the fine details of classes you took 5 or 10 years ago. Unfortunately I don't have a steel trap mind, and in any realistic scenario I'm going to have a reference text and google at my finger tips with the answers I need in seconds / minutes.

Buuuut...

DuwZSAJ.png
 
I'm job searching since I'm graduating soon and looking at the job offers here makes me wonder if companies just love ripping people off. giving them slave hours and ridiculously low salaries...

I've asked about this before, but in your country, what's the average starting salary a CS major should ask for? and also, what are the working hours?
 
I'm job searching since I'm graduating soon and looking at the job offers here makes me wonder if companies just love ripping people off. giving them slave hours and ridiculously low salaries...

I've asked about this before, but in your country, what's the average starting salary a CS major should ask for? and also, what are the working hours?

Working hours are poor in IT in general. Unpaid overtime is the rule and not the exception.
 

Jokab

Member
I'm job searching since I'm graduating soon and looking at the job offers here makes me wonder if companies just love ripping people off. giving them slave hours and ridiculously low salaries...

I've asked about this before, but in your country, what's the average starting salary a CS major should ask for? and also, what are the working hours?

Sweden here. The engineering union usually tells students to expect around $52-55k/year out of school. I'm basing this off montly salary which is what we usually measure by in Sweden, so I timed it by 12, might be a bit off. Living in Sweden is expensive though.
 

Yamauchi

Banned
Well, how does 9k (per year) with 10 working hours a day look to you?
Sounds pretty low.

In the US currently the median starting salary for a programmer/developer/software engineer is about $68k. Cost of living is obviously a significant factor. $70k in the Midwest is equivalent to $85k in Seattle and $105k in Silicon Valley.
 

IceCold

Member
I'm jealous of the salaries in the US. Starting salary for developers in Microsoft is like 80k+. Here in Canada (specifically Montreal) it's around 45-55k.
 

Slavik81

Member
I'm jealous of the salaries in the US. Starting salary for developers in Microsoft is like 80k+. Here in Canada (specifically Montreal) it's around 45-55k.
That sounds low. When I graduated 4 years ago, I was seeing 55-60k through much of Canada. I presume it's more like 60-65k now, as salaries for engineers have continued to rise despite the slow economy.

Though keep in mind that Microsoft is not exactly an average tech company, either. I get the impression that their hiring standards are higher than most.
 

IceCold

Member
That sounds low. When I graduated 4 years ago, I was seeing 55-60k through much of Canada. I presume it's more like 60-65k now, as salaries for engineers have continued to rise despite the slow economy.

Though keep in mind that Microsoft is not exactly an average tech company, either. I get the impression that their hiring standards are higher than most.

Maybe 45K is too low but if I look at my friends, 50-55K seems to be the average in starting salaries in Montreal.

True about Microsoft. First you have a phone interview, if you pass they send you to Seattle. They pay for everything too. The hotel, food, transportation, etc. There you'll have a bunch of interviews with different people throughout the day.
 
The average offer for my graduating class in 2011 was $62k. We all scattered across the country. It might be a little higher today, but not by much.
 

Tristam

Member
I agree with you. I personally know BSc Computer Science graduates who came out with a First-Class Honours degree and don't know how to write basic code e.g. a FizzBuzz program in any language; not even the language they were taught programming and even FizzBuzz specifically in - Java!

I'm spending as much time as I can writing code outside of my classes and building up a portfolio of my best work even though I'm fairly sure that I'm going to finish with a First.

I had never heard of the FizzBuzz program, looked it up, and wrote it in Python in about 30 seconds. I'm not a professional coder and I have never taken a college-level CS course. This makes me wonder how on Earth your acquaintances were able to make it through their classes (with a First-Class Honors degree, no less).
 
I'm jealous of every one of these salaries. It is especially annoying since from what I've seen, a few years of experience only get you up to 27k USD approximately.

In other words, having a CS degree won't make you much money here. No wonder IBM, Intel and Oracle are all "settling" here, they can get away with paying us shit salaries.

And yes, living costs such as rental prices are cheaper here, but when it comes to electricity, water, gas, food, etc. their cost is similar to the US prices. Even some things like clothing are cheaper in the US, and of course electronics ($1000 USD launch PS3 price anyone?)
 
Top Bottom