Computer hardware is the collection of physical elements that comprise a computer system.

learn more… | top users | synonyms

288
votes
39answers
53k views

Why don't all companies buy developers the best hardware?

I must be missing something. The cost of employing a programmer in my area is $50 to $100 an hour. A top end machine is only $3,000, so the cost of buying a truly great computer every three years ...
59
votes
12answers
19k views

How Do Computers Work? [closed]

This is almost embarrassing ask...I have a degree in Computer Science (and a second one in progress). I've worked as a full-time .NET Developer for nearly five years. I generally seem competent at ...
51
votes
25answers
23k views

Thoughts on Development using Virtual Machines [closed]

I'll be working as a development lead for a startup and I've suggested that we use VMs for development. I'm not talking about each developer having a desktop with VMs for testing/development, I mean ...
51
votes
6answers
27k views

What is the history of why bytes are eight bits?

What where the historical forces at work, the tradeoffs to make, in deciding to use groups of eight bits as the fundamental unit ? There were machines, once upon a time, using other word sizes, ...
42
votes
15answers
10k views

How have languages influenced CPU design? [closed]

We are often told that the hardware doesn't care what language a program is written in as it only sees the compiled binary code, however this is not the whole truth. For example, consider the humble ...
40
votes
9answers
3k views

Looking for meaningful, strong argument in favor of antivirus software on development machines [closed]

When forming opinions, it is a good practice to follow scholastic tradition - think as hard as you can against the opinion you hold and try to find counter-arguments. However, no matter how hard I ...
40
votes
4answers
5k views

Is there a good reason to run 32-bit software instead of 64-bit on 64-bit machines?

Is there any good reason to supply a 32-bit version along with a 64-bit version of any software targeted at modern desktop machines, running modern 64-bit operating systems on 64-bit hardware? It ...
38
votes
19answers
4k views

Would you purchase hardware with your own money to use at work to do your job better? [closed]

At work, I was given a reasonably-spec'ed machine (dual quad 2GHz, 4GB RAM, 160GB 7200RPM drive, Win7), but it was lacking in a few places (HDD / RAM). The IT staff was OK with me replacing hardware ...
30
votes
1answer
932 views

Performance of single-assignment ADT oriented code on modern CPUs

Working in immutable data with single assignments has the obvious effect of requiring more memory, one would presume, because you're constantly creating new values (though compilers under the covers ...
28
votes
4answers
2k views

How to efficiently troubleshoot or test new code when hardware setup to reproduce bugs is difficult or impossible to obtain?

I work at a mid-sized company (150ish employees, ~10 size engineering team), and most of my projects involve interfacing with lab equipment (oscilloscopes, optical spectrum analyzers, etc) for the ...
26
votes
6answers
2k views

Is it the job of a developer to suggest IT requirements?

I am the only developer working on a web application which is nearing to its end. Now we are looking into making it Live in maybe a couple of months time. This is a web application for a non IT ...
23
votes
8answers
2k views

Is it necessary to understand what's happening at the hardware level to be a good programmer?

I'm a self-taught programmer, just in case this question is answered in CS 101. I've learned and used lots of languages, mostly for my own personal use, but occasionally for professional stuff. It ...
19
votes
3answers
4k views

How do people define the minimum hardware requirements for software?

How do people define the minimum hardware requirements for software? For example: how can a software development company tell the customer that they will need 8 GB of RAM to run the program properly?
16
votes
5answers
931 views

How to test software that burns CDs without wasting CDs?

I want to write an application that can be used to burn CDs (music). I know I should test it with real CDs anyway, but I don't want to do this every time I make a small change. But I do want to know ...
16
votes
2answers
12k views

Why are there separate L1 caches for data and instructions?

Just went over some slides and noticed that the L1 cache (at least on Intel CPUs) distinguishes between data and instruction cache, I would like to know why this is..
15
votes
4answers
1k views

Can increased usage of higher and higher programming languages lead to a deficit of programmers with computer architecture knowledge?

Quote from Wikipedia of the article "High-level programming language": A high-level programming language is a programming language with strong abstraction from the details of the computer. In ...
13
votes
4answers
788 views

Isn't functional paradigm too divergent with underlying hardware to be generally efficient?

Inspired by a question from SO: http://stackoverflow.com/questions/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell It can be a long debate about FP's numerous advantages and disadvantages, but ...
12
votes
7answers
3k views

What reasons might a programmer have for wanting hyperthreading turned off?

My company just bought new computers to replace old 2GB Windows XP machines. Someone on my team noticed that they came with hyperthreading disabled, and told everyone to reboot and turn it on. Is ...
11
votes
1answer
237 views

What are the absolute, minimal requirement for containing SE Asian charsets for an embedded system project?

I work for a company that has begun integrating embedded computer systems into our products that we manufacture. We have a pretty wide range of products and they are distributed across the globe. ...
11
votes
4answers
894 views

Does hybrid hard drive improve programming experience? [closed]

I'm tired of how luggish my developments PC is. It's Core2 Duo, 2GB RAM, Seagate ST3500320AS HDD - not the top model, but quite a decent one. Typically I open several copies of Visual Studio 2008, ...
9
votes
3answers
1k views

Why don't computers come with specialized hardware such as sorting networks?

Instead of programming the way we do, why don't we make specifications of common tasks such as "sorting", and then let the environment compile it to make best use of it's hardware? This way, we could ...
9
votes
6answers
295 views

Can lack of “bit parity” between web server and DB server impact performance?

I had a meeting with a software vendor today about their recommended infrastructure for deploying a particular application. The application needs two servers: an app server for server web pages (.NET,...
9
votes
5answers
2k views

Mobile Development- Obtaining development hardware - best practices?

I'm looking to get into smartphone development, but there a quite a few options out there for platforms right now. (iOS/Android/WebOS/Bada/Symbian/MeeGo/WindowsMobile/JavaME) I'd like to have ...
8
votes
4answers
6k views

Increase Performance of VS 2010 by using a SSD [closed]

After searching on the internet for performance improvements when using Visual Studio 2010 with a solid state hard drive, I heard a lot of different opinions. A lot of people said that there isn't ...
7
votes
11answers
5k views

How much storage space do developers really need on work systems?

Not Counting the OS And the requirements to run the Development software. The storage space required. Strictly speaking from work perspective(company setup and not freelancers).A individual ...
7
votes
3answers
648 views

What is the difference between a stock-hardware and a micro-coded machine in “A Critique of Common Lisp”?

I was reading this article: A Critique of Common Lisp and finding it hard to make out the precise definition of "stock-hardware machine" and its difference with "micro-coded" machines. I tried to ...
7
votes
2answers
192 views

How exactly does a program talk to a device driver?

So I'm confused on how exactly we as the programmers talk to devices on the computer. Now I'm not talking the big ideas. I know that there are device drivers that sit atop the hardware so that ...
7
votes
3answers
1k views

Do you need Hardware skills to be a Robotic Programmer?

I want to know: Do you need hardware skills to be a robotic programmer?
7
votes
1answer
325 views

Why fewer IRQLs in 64-bit, even though an APIC has more interrupt lines?

As x86 computers shifted from 32-bit to 64-bit, they also shifted from using 8259-style Programmable Interrupt Controllers with 8 interrupt lines. (Or two multiplexed PICs for a total of 15 interrupt ...
6
votes
7answers
4k views

What parts of my computer should I upgrade first to speed up development? [closed]

I use Eclipse, and the two most noticeable slowdowns caused by my computer are waiting for compiling and waiting for intellisense. I already have a fast SSD drive and 3GB of ram. I'm guessing that ...
6
votes
3answers
679 views

What is the gain from 64-bit architecture?

I played with 8-bit machines (C64), I used 16-bit machines (Win 3.1), I enjoyed flat 32-bit address space (Linux). Every time as a user (which was also means being a developer for fun or profit) I ...
6
votes
2answers
3k views

How long is a typical modern microprocessor pipeline?

I learnt some about pipelining but those were 4-stage and 5-stage and I think that modern pipelining typical is much longer and more complicated in practice. How long are typical pipelines and how ...
6
votes
1answer
2k views

Understanding the levels of computing

Sorry, for my confused question. I'm looking for some pointers. Up to now I have been working mostly with Java and Python on the application layer and I have only a vague understanding of operating ...
6
votes
6answers
564 views

Building software frontend for hardware that does not yet exist

Our task is to build a software frontend to control a hardware device that does not yet exist. We should start development about half a year before the first prototype is available, the project is ...
6
votes
1answer
258 views

Hardware that accelerates pointer dereferencing?

Most modern languages make a heavy use of pointers / references: a typical OOP language uses VMT lookups, a typical functional language builds key data structures out of pointers, etc. Even typical C ...
5
votes
4answers
587 views

What are the reasons for great performance differences running the same program?

I wrote a Python program that has to perform some expensive spatial searches while holding lots of data in memory. I tried to improve the performance, that is tried different approaches (see my ...
5
votes
4answers
752 views

How can a programmer keep up with the hardware world? [closed]

I think that it's safe for me to assume that many, if not most, programmers are quite enthusiastic about computers, and even electronics in general. Now, I realize that a programmer should first and ...
5
votes
4answers
411 views

Avoiding hangs when calling a native API

Background We have a piece of programmable hardware here at work that we integrate into almost all of our systems. This piece of hardware came with a native Windows DLL (for which we do not have the ...
5
votes
1answer
126 views

Hardware key removal on a test system

One of my company's applications still requires a hardware key to run, but we're currently in the process of removing that requirement and replacing it with an online check. The issue we are having ...
5
votes
2answers
492 views

Why isn't exponentiation hardware-implemented?

Why is there no exponentiation operation in hardware, even though many languages have builtin operators for it? Is it because even hardware implementations would need to use the same algorithm as ...
5
votes
1answer
282 views

Designing interfaces to hardware

I am writing a library in C++ that is used by customers to interface with hardware. There are many different devices that I need to support. For the sake of simplicity, assume I have 2 Widgets, ...
5
votes
1answer
841 views

Commercial product using a GPL OS

we are planning to create a commercial product. The product consists of some MCUs and a small computer (we are developing on a Raspberry Pi at the moment). The computer needs an operating system as ...
5
votes
0answers
761 views

Slow developer machines - approach with vmware good? [duplicate]

we are using slow developer notebooks. They come equipped with vista and 2 gb rams, which slows down everything. Someone decided a good resolution would be to use vmware clients instead of faster pc ...
4
votes
1answer
173 views

Why there is no ISO hardware query interface?

I'm currently reading a book, chapter about I/O, and one question came to my mind. Basically, when you program in C/C++, you have an amazing opportunity to optimize for hardware behavior. Using ...
4
votes
1answer
421 views

Generate analog signal from Windows 7 [closed]

I want to output an analog signal from my Windows 7 computer. The wave will be a combination of about 5 frequencies, with a maximum of 28 MHz. It won't be a problem to generate the wave data with C++, ...
3
votes
6answers
1k views

What are memory addresses? [closed]

I have more or less 0 knowledge in low-level topics, so forgive my possible ignorance. I know that in languages such as C, pointers hold 'memory addresses', i.e. strings (or binary data?) written in ...
3
votes
3answers
2k views

What is the absolute minimum set of instructions required to build a Turing complete processor

I have a general idea of how the processor handles instructions but spend my time working in mostly high level languages. Maybe somebody who works closer to the iron can provide some valuable insight. ...
3
votes
3answers
568 views

Why (most?) retro computer emulators are single threaded?

All real computer hardware works in parallel. So why most emulators of retro systems (like NES) are single threaded (or I'm not right?)? You have main loop and you counting CPU cycles and after ...
3
votes
5answers
208 views

How can Jeff Dean's “latency numbers every programmer should know” be accurate in the context of varying hardware implementations?

I'm referring this chart of latency numbers, attributed to Jeff Dean at Google. The thing I don't understand is, do these numbers not vary from one set of hardware to the next? How can these be ...
3
votes
3answers
172 views

When should I decline to make a requested change?

I work on the software side of a company that provides custom hardware with software running on top of it. Often times the hardware is not engineered well. In those cases, I am often asked first to ...