Development machine recommendations...

  • Thread starter Thread starter craig
  • Start date Start date
C

craig

This is a little off topic, but I thought it couldn't hurt to ask...

I am about to purchase a new development laptop computer. Before I do, I
thought I might ask the C# development community if there are any
recommendations for a good Visual Studio development machine. Is there any
machine or brand out there that has come to be preferred within the
development community???

Thanks!
 
craig said:
This is a little off topic, but I thought it couldn't hurt to ask...

I am about to purchase a new development laptop computer. Before I do, I
thought I might ask the C# development community if there are any
recommendations for a good Visual Studio development machine. Is there any
machine or brand out there that has come to be preferred within the
development community???

I'd never recommend a laptop for development, the harddisks in a laptop
are simply too slow. And harddiskspeed is what matters most after ram.

So first, grab the fastest harddisk solution you can find, and second
grab that solution with as much ram you can find. To get that on a
laptop will be very hard. So I'd recommend to you a workstation with
RAID 0 striped scsi harddisks on a 66mhz pci bus together with at least
1GB of ram.

Frans

--
 
From my experience (depending on what you are developing) you will want to
concentrate on items which increase you machine speed. Seems like most
developers always have loads of applications running (IDE, email ...).

I would recommend just a few items:
at least 1 Gig of RAM (Which makes everything run faster)
Any HyperThreaded CPU (Because all future machines will be multi-core, and
you need to get used to programming for it)

DanB
 
Dan Baker said:
From my experience (depending on what you are developing) you will want to
concentrate on items which increase you machine speed. Seems like most
developers always have loads of applications running (IDE, email ...).

I would recommend just a few items:
at least 1 Gig of RAM (Which makes everything run faster)
Any HyperThreaded CPU (Because all future machines will be multi-core, and you
need to get used to programming for it)

DanB

I have a different point of view, I like to develop on a poor machine. It's all
to easy to write poor code that runs fine because you've got a super fast
machine with lots of memory. If you write something that runs well on a poor
machine you've propbably got it right and it can only get better if the users
have top quality work stations and/or high quality servers.

Stirring it up :)
 
[Snip]
I have a different point of view, I like to develop on a poor machine.
It's all to easy to write poor code that runs fine because you've got a
super fast machine with lots of memory. If you write something that runs
well on a poor machine you've propbably got it right and it can only get
better if the users have top quality work stations and/or high quality
servers.

Stirring it up :)

But if my machine slows my productivity down by 10%, then I'm wasting my
clients money. I always prefer having a UAT machine available from the start
which is representative of the lower end of the target machine
specifications. Then I can code at my happy high speed, and the testing
quickly shows performance problems. Oh yeah, goes without saying that you
test all your stuff on the UAT machine, often.
 
I agree: Develop on the best you can get, using the best practice coding, if
the target machine is below average, they should upgrade it.

--
OHM ( Terry Burns )

http://TrainingOn.net








Sean Hederman said:
[Snip]
I have a different point of view, I like to develop on a poor machine.
It's all to easy to write poor code that runs fine because you've got a
super fast machine with lots of memory. If you write something that runs
well on a poor machine you've propbably got it right and it can only get
better if the users have top quality work stations and/or high quality
servers.

Stirring it up :)

But if my machine slows my productivity down by 10%, then I'm wasting my
clients money. I always prefer having a UAT machine available from the
start which is representative of the lower end of the target machine
specifications. Then I can code at my happy high speed, and the testing
quickly shows performance problems. Oh yeah, goes without saying that you
test all your stuff on the UAT machine, often.
 
Or you could run a Virtual PC image within your good machine and hobble it
by only allocating 128MB RAM.. also set resolution within that VPC to be
640x480 or something sick like that



OHM ( Terry Burns ) said:
I agree: Develop on the best you can get, using the best practice coding,
if the target machine is below average, they should upgrade it.

--
OHM ( Terry Burns )

http://TrainingOn.net








Sean Hederman said:
[Snip]
I have a different point of view, I like to develop on a poor machine.
It's all to easy to write poor code that runs fine because you've got a
super fast machine with lots of memory. If you write something that runs
well on a poor machine you've propbably got it right and it can only get
better if the users have top quality work stations and/or high quality
servers.

Stirring it up :)

But if my machine slows my productivity down by 10%, then I'm wasting my
clients money. I always prefer having a UAT machine available from the
start which is representative of the lower end of the target machine
specifications. Then I can code at my happy high speed, and the testing
quickly shows performance problems. Oh yeah, goes without saying that you
test all your stuff on the UAT machine, often.
 
As another posted stated, get the fastest CPU (hyperthreading), the fastest
disk, and at least 1 GIG of RAM.
Aside from that, notebook prices are so low now you can get this from many
reliable discounters for $1000 US or less.
Peter
 
JiangZemin said:
Or you could run a Virtual PC image within your good machine and hobble it
by only allocating 128MB RAM.. also set resolution within that VPC to be
640x480 or something sick like that

True, but this won't give you an idea of running on a slower processor, all
you'll get is massive paging. Wouldn't it be nice if VPC had an option to
"virtualise" the CPU speed (obviously to some factor below your current
CPU).
OHM ( Terry Burns ) said:
I agree: Develop on the best you can get, using the best practice coding,
if the target machine is below average, they should upgrade it.

--
OHM ( Terry Burns )

http://TrainingOn.net








Sean Hederman said:
[Snip]
I have a different point of view, I like to develop on a poor machine.
It's all to easy to write poor code that runs fine because you've got a
super fast machine with lots of memory. If you write something that
runs well on a poor machine you've propbably got it right and it can
only get better if the users have top quality work stations and/or high
quality servers.

Stirring it up :)

But if my machine slows my productivity down by 10%, then I'm wasting my
clients money. I always prefer having a UAT machine available from the
start which is representative of the lower end of the target machine
specifications. Then I can code at my happy high speed, and the testing
quickly shows performance problems. Oh yeah, goes without saying that
you test all your stuff on the UAT machine, often.

--

Joe (MVP)

https://mvp.support.microsoft.com/profile=8AA9D5F5-E1C2-44C7-BCE8-8741D22D17A5
 
Harware is no longer a barrier to software development really unless your
application specifics require something pretty incredible to be able to run
it. Im sure Microsoft simply codes in the most efficient way ( most of the
time ) and lets you pay a few hundred dollars for the latest HW upgrade.

All you do is tell the target audience what the minimum spec is. If they
want the software enough to run it they will make sure their hardware can
support it.

--
OHM ( Terry Burns )

http://TrainingOn.net




Sean Hederman said:
JiangZemin said:
Or you could run a Virtual PC image within your good machine and hobble
it by only allocating 128MB RAM.. also set resolution within that VPC
to be 640x480 or something sick like that

True, but this won't give you an idea of running on a slower processor,
all you'll get is massive paging. Wouldn't it be nice if VPC had an option
to "virtualise" the CPU speed (obviously to some factor below your current
CPU).
OHM ( Terry Burns ) said:
I agree: Develop on the best you can get, using the best practice coding,
if the target machine is below average, they should upgrade it.

--
OHM ( Terry Burns )

http://TrainingOn.net








[Snip]
I have a different point of view, I like to develop on a poor machine.
It's all to easy to write poor code that runs fine because you've got
a super fast machine with lots of memory. If you write something that
runs well on a poor machine you've propbably got it right and it can
only get better if the users have top quality work stations and/or
high quality servers.

Stirring it up :)

But if my machine slows my productivity down by 10%, then I'm wasting
my clients money. I always prefer having a UAT machine available from
the start which is representative of the lower end of the target
machine specifications. Then I can code at my happy high speed, and the
testing quickly shows performance problems. Oh yeah, goes without
saying that you test all your stuff on the UAT machine, often.

--

Joe (MVP)

https://mvp.support.microsoft.com/profile=8AA9D5F5-E1C2-44C7-BCE8-8741D22D17A5
 
OHM ( Terry Burns ) said:
Harware is no longer a barrier to software development really unless your
application specifics require something pretty incredible to be able to
run it. Im sure Microsoft simply codes in the most efficient way ( most
of the time ) and lets you pay a few hundred dollars for the latest HW
upgrade.

All you do is tell the target audience what the minimum spec is. If they
want the software enough to run it they will make sure their hardware can
support it.

Not always feasible, but generally you're right. However, given that a dev
machine is generally a lot more powerful than the target machine, it is
always a good idea to do some performance testing on the minimum target
specs. In some cases you can do some profiling and a little bit of
optimization, in other cases you can do "user optimisations".
--
OHM ( Terry Burns )

http://TrainingOn.net




Sean Hederman said:
JiangZemin said:
Or you could run a Virtual PC image within your good machine and hobble
it by only allocating 128MB RAM.. also set resolution within that VPC
to be 640x480 or something sick like that

True, but this won't give you an idea of running on a slower processor,
all you'll get is massive paging. Wouldn't it be nice if VPC had an
option to "virtualise" the CPU speed (obviously to some factor below your
current CPU).
I agree: Develop on the best you can get, using the best practice
coding, if the target machine is below average, they should upgrade it.

--
OHM ( Terry Burns )

http://TrainingOn.net








[Snip]
I have a different point of view, I like to develop on a poor
machine. It's all to easy to write poor code that runs fine because
you've got a super fast machine with lots of memory. If you write
something that runs well on a poor machine you've propbably got it
right and it can only get better if the users have top quality work
stations and/or high quality servers.

Stirring it up :)

But if my machine slows my productivity down by 10%, then I'm wasting
my clients money. I always prefer having a UAT machine available from
the start which is representative of the lower end of the target
machine specifications. Then I can code at my happy high speed, and
the testing quickly shows performance problems. Oh yeah, goes without
saying that you test all your stuff on the UAT machine, often.

--

Joe (MVP)

https://mvp.support.microsoft.com/profile=8AA9D5F5-E1C2-44C7-BCE8-8741D22D17A5
 
Yes, I agree with you, there would be no point in developing a product which
could not run in 95% on your target sales group. Best to aim for moderate
performance on your quoted entry spec.

--
OHM ( Terry Burns )

http://TrainingOn.net



Sean Hederman said:
OHM ( Terry Burns ) said:
Harware is no longer a barrier to software development really unless your
application specifics require something pretty incredible to be able to
run it. Im sure Microsoft simply codes in the most efficient way ( most
of the time ) and lets you pay a few hundred dollars for the latest HW
upgrade.

All you do is tell the target audience what the minimum spec is. If they
want the software enough to run it they will make sure their hardware can
support it.

Not always feasible, but generally you're right. However, given that a dev
machine is generally a lot more powerful than the target machine, it is
always a good idea to do some performance testing on the minimum target
specs. In some cases you can do some profiling and a little bit of
optimization, in other cases you can do "user optimisations".
--
OHM ( Terry Burns )

http://TrainingOn.net




Sean Hederman said:
Or you could run a Virtual PC image within your good machine and hobble
it by only allocating 128MB RAM.. also set resolution within that VPC
to be 640x480 or something sick like that

True, but this won't give you an idea of running on a slower processor,
all you'll get is massive paging. Wouldn't it be nice if VPC had an
option to "virtualise" the CPU speed (obviously to some factor below
your current CPU).

I agree: Develop on the best you can get, using the best practice
coding, if the target machine is below average, they should upgrade it.

--
OHM ( Terry Burns )

http://TrainingOn.net








[Snip]
I have a different point of view, I like to develop on a poor
machine. It's all to easy to write poor code that runs fine because
you've got a super fast machine with lots of memory. If you write
something that runs well on a poor machine you've propbably got it
right and it can only get better if the users have top quality work
stations and/or high quality servers.

Stirring it up :)

But if my machine slows my productivity down by 10%, then I'm wasting
my clients money. I always prefer having a UAT machine available from
the start which is representative of the lower end of the target
machine specifications. Then I can code at my happy high speed, and
the testing quickly shows performance problems. Oh yeah, goes without
saying that you test all your stuff on the UAT machine, often.

--

Joe (MVP)

https://mvp.support.microsoft.com/profile=8AA9D5F5-E1C2-44C7-BCE8-8741D22D17A5
 
Frans Bouma said:
I'd never recommend a laptop for development, the harddisks in a laptop
are simply too slow. And harddiskspeed is what matters most after ram.

While laptop hard disks are indeed slow, developing on a laptop doesn't
have to be particularly painful. You need to put more memory into the
machine so that Windows can use a lot as cache, but I have no problems
developing on my laptop (1GB memory, 3GHz P4 processor, 1600x1200
screen, the last being *very* important to devlopment, IME).

If I didn't have a laptop, I'd get a lot less personal development done
at home, because I'd have to do it in a particular room, rather than
wherever I happen to want to do it. I've written quite a lot of code in
bed when ill :)

If you only want to develop in one place, a desktop would be a better
solution, but don't write off the possibility of using a laptop. I
spend most of my development time writing or designing code, and very
little of that time requires a fast disk - it's only when either
starting up VS.NET or doing a build of a really big solution that the
disk speed becomes a significant factor.
 
What are the pros/cons of going with a laptop that has a fast, 3 GHz, P4
processor with HT technology for development vs., say, a 1.5 GHz Centrino?
Wouldn't a laptop with the P4 run very hot and have a very short battery
life? Would a Centrino really slow down development that much?

I agree completely about the screen resolution. The new widescreen formats
are perfect for writing code with Visual Studio. It would be great to have
the Server Explorer open on the left side of the screen, and the Solution
Explorer open on the right side of the screen, yet still not have to scroll
horizontally to see an entire line of code.
 
craig said:
What are the pros/cons of going with a laptop that has a fast, 3 GHz, P4
processor with HT technology for development vs., say, a 1.5 GHz Centrino?
Wouldn't a laptop with the P4 run very hot and have a very short battery
life? Would a Centrino really slow down development that much?

I wouldn't know, not having used a Centrino. I almost always use my
laptop on power, but it's okay for a few hours of development.
I agree completely about the screen resolution. The new widescreen formats
are perfect for writing code with Visual Studio. It would be great to have
the Server Explorer open on the left side of the screen, and the Solution
Explorer open on the right side of the screen, yet still not have to scroll
horizontally to see an entire line of code.

Unfortunately I don't have a widescreen laptop, but with a high
resolution it doesn't matter too much :)
 
Jon Skeet said:
I wouldn't know, not having used a Centrino. I almost always use my
laptop on power, but it's okay for a few hours of development.


Unfortunately I don't have a widescreen laptop, but with a high
resolution it doesn't matter too much :)


Also....have you notice the screen coating that most new widescreen laptops
seem to have? It creates alot of glare. I am not sure what the benefit is.
 
I agree completely about the screen resolution. The new widescreen formats
are perfect for writing code with Visual Studio. It would be great to have
the Server Explorer open on the left side of the screen, and the Solution
Explorer open on the right side of the screen, yet still not have to scroll
horizontally to see an entire line of code.


I'd go further and say that (assuming you are using a desktop machine) a
dual monitor configuration is the way to go. Particularly if you have any
paint methods to debug, having the IDE on one screen and the debuggee on the
other is a godsend. I run two displays at 1280x1024, and still wish I had
more room.
 
Back
Top