Hacker Timesnew | past | comments | ask | show | jobs | submit | mrob's commentslogin

In this context, "general purpose" means "Turing complete" in the informal sense of handwaving away the requirement for infinite storage space.

What you say changes nothing.

The earlier relay computers were Turing complete.

For ENIAC it also does not make sense to claim that it was Turing complete. Such a claim can be made for a computer controlled by a program memory, where you have a defined instruction set, and the instruction set may be complete or not. If you may rewire arbitrarily the execution units, any computer is Turing complete.

The earlier ABC electronic computer was built for a special purpose, the solution of systems of linear algebraic equations, like ENIAC was built only for a special purpose, the computation of artillery tables.

By rewiring the ABC electronic computer you could have also computed anything, so you can say that it was Turing complete, if rewiring is allowed.

The only difference is that rewiring was simpler in ENIAC, because it had been planned to be easy, so there were special panels where you could alter the connections.

Neither ABC nor ENIAC had enough memory to be truly general-purpose, and by the end of the war it was recognized that this was the main limitation for extending the domain of applications, so the ENIAC team proposed ultrasonic delay lines as the solution for a big memory (inspired by the use of delay lines as an analog memory in radars), while von Neumann proposed the use of a cathode ray tube of the kind used in video cameras (iconoscope; this was implemented first in the Manchester computers).

Because ENIAC was not really designed as general-purpose, its designers originally did not think about high-capacity memories. On the other hand, John Vincent Atanasoff, the main designer of the ABC computer, has written a very insightful document about the requirements for memories in digital computers, years before ENIAC, where he analyzed all the known possibilities and where he invented the concept of DRAM, but implemented with discrete capacitors. Later, the proposal of von Neumann was also to use a DRAM, but to use a cheaper and more compact iconoscope CRT, instead of discrete capacitors.

While the ABC computer was not general-purpose as built, the document written by Atanasoff in 1940, “Computing Machine for the Solution of Large Systems of Linear Algebraic Equations”, demonstrated a much better understanding of the concept of a general-purpose electronic digital computer than the designers of ENIAC would demonstrate before the end of 1944 / beginning of 1945, when they realized that a bigger memory is needed to make a computer suitable for any other applications, i.e. for really making it "general purpose".


The Z3 was only general purpose by accident, and this was only discovered in 1997 (published 1998). [0] It's only of theoretical interest because the technique required is too inefficient for real-world applications.

ENIAC is notable because it was the first intentionally general purpose computer to be built.

[0] https://www.inf.fu-berlin.de/inst/ag-ki/rojas_home/documents...


I do not think that it is right at all to say "intentionally general purpose computer".

ENIAC was built for a special purpose, the computation of artillery tables.

It was a bespoke computer built for a single customer: the United States Army's Ballistic Research Laboratory.

This is why it has been designed as the digital electronic equivalent of the analog mechanical computers that were previously used by the Army and why it does not resemble at all what is now meant by "general-purpose computer".

The computers of Aiken and Zuse were really intentionally general-purpose, their designers did not have in mind any specific computation, which is why they were controlled by a program memory, not by a wiring diagram.

What you claim about Z3 being general purpose by accident does not refer to the intention of its designer, but only to the fact that its instruction set was actually powerful enough by accident, because at that early time it was not understood which kinds of instructions are necessary for completeness.

All the claims made now about ENIAC being general-purpose are retroactive. Only after the war ended and the concept of a digital computer became well understood, the ENIAC was repurposed to also do other tasks than originally planned.

The first truly general-purpose electronic digital computers that were intentionally designed to be so were those designed based on the von Neumann report.

Before the completion of the first of those, there were general-purpose hybrid electronic-electromechanical digital computers, IBM SSEC being the most important of them, which solved a lot of scientific and technical problems, before electronic computers became available.


A counter argument is that Mauchly was actually interesting in using computers for weather modeling and I’m sure that influenced the design of ENIAC. He could only get ENIAC funded if it was valuable to the war effort. I’ve read quite a lot about that machine and I’m not aware of any architectural features that were specific to ballistics calculations. This is unlike the British Colossus, another early computer, which was specifically designed for code breaking and wasn’t general purpose.

As for the objection that it wasn’t stored program, I was interested to learn that it was converted to stored program operation after only two years or so of operation, using the constant table switches as the program store. But the Manchester Baby, which used the same memory for code and data was more significant in the history of stored program machines.

On the general question of “first computer”, I think the answer is whatever machine you want it to be if you heap enough conditional adjectives on it.


> Mauchly was actually interesting in using computers for weather modeling and I’m sure that influenced the design of ENIAC

True. Mauchly was a physics professor interested in meterology, and he knew that predicting the weather and calculating an artillery shell's flight are mathematically the same type of problem, which was important to get funding. In the fifties, Eniac was even used to calculate weather forecasts (see https://ams.confex.com/ams/2020Annual/webprogram/Manuscript/...). So these were just two related special problems, and it would be a stretch to interpret this as an intention to build a general-purpose computer. The latter had to wait until the sixties.


> The Z3 was only general purpose by accident ... ENIAC [..] was the first intentionally general purpose computer

That's a pretty academic take. Neither Eckert, nor Mauchly, nor Zuse knew about Alan Turing’s 1936 paper when they designed their machines. The classification of ENIAC (and the Z3) as a "universal Turing machine" is entirely a retroactive reinterpretation by later computer scientists. John von Neumann knew the paper and was aware of its significance, but he only turned up in the ENIAC project when the design was complete. At this time, Eckert and Mauchly were already well aware of ENIAC's biggest flaw (the massive effort to reprogram the machine, and in fact they came up with the stored-program concept which von Neumann later formalized). ENIAC’s funding and primary justification were for the very specific purpose of calculating artillery firing tables for the military. The machine was built for this purpose, which included the feature which retroactively led to the mentioned classification.


Still feels like history written by the victors (of WW2 and computing, eventually) in this case. If you want to be mathematically precise, it's been proven to be Turing-complete. If you want to use common sense (IMO better), it was one of the most significant leaps in automated computation and simply didn't need to do more for its intended applications. For conditional branches to make sense, you also need a fast temporary storage array (since it would be awfully slow running directly off tape like a Turing machine), and to realize that all that effort makes sense, you first need to play with a computer for a while and discover the new possibilities.

>It starts by calling all people who listen to anything other than classical music “illiterate”!

It does not. The only reference to literacy is the following:

"The use of the word “song” for instrumental music — that is, music that is not sung and hence is not a song — is borderline illiterate."

That is entirely reasonable and correct.


Crowd-sourced metrics at:

https://dr.loudness-war.info/

2026 releases have varied dynamic range but the majority is still low. Loudness war mastering sounds better on phone speakers and in cars. Even though streaming services normalize loudness, you need quiet listening environments and good headphones/speakers to properly appreciate a high dynamic range recording.


The classical classification system is equivalent to the classification of cover versions in popular music. Of course, most audio software handles cover versions poorly too, but it's not like it's a completely unknown problem.

Radio DJ isn't the same as club DJ.

>the author exposes themselves as a filthy casual anyway by focusing on the work itself, as if Spotify were looking up a score

Isn't it the job of a DJ to pick a good recording? Petzold's test seems reasonable to me. As a classical listener, if I want a specific recording I'll just play that recording. The main function of the DJ is music discovery. Perhaps they know of good recordings I haven't already heard.


When was the last time you heard of a DJ doing classical?

I haven't listened to radio for over a decade, but back when I did I listened to BBC Radio 3, where the DJ played classical. "DJ" does not necessarily mean somebody beatmixing dance music in a club. Spotify's "AI DJ" is obviously meant to simulate a radio DJ.

Yes it is. "Classical" without further context means any part of the tradition of Western art music with written score. Classical-era classical music is a subset of classical as a whole.

Well, Charles would just say that you are one of the ones that dgaf

The sound of vinyl is a subset of the sound of CD. If you take a high quality recording of a vinyl record playback and write it to CD, it will sound identical.

Okay, sure. But if I prefer the subset of CD sound that is the same as vinyl, and my favorite band comes out with a new album... I just buy vinyl, right?

Or are you suggesting that I buy the record, a blank CD, and all of the high quality recording playback equipment I need to write it to that CD?


I'm convinced that at least 90% of "analog sound" can be simulated by taking the ideal block diagram and replacing every link with a parametric EQ->waveshaper->parametric EQ chain. Configuring those added components correctly is left as an exercise for the reader.

Jim Lill's video on guitar amp tone is an interesting demonstration. Hear how close he gets to the original with an even simpler combination of EQ and distortion:

https://www.youtube.com/watch?v=wcBEOcPtlYk


Probably. We can calculate or at least measure and reproduce the effect of every analogue component, and simulate exactly what the circuit does. But we don't do that.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: