Think Earlier You Lot Code

I conduct maintain been reading Flash boys past times Michael Lewis. It is a fascinating mass nigh Wall Street in addition to high-frequency traders. I volition write a review nigh the mass later on but I can't refrain from an overview comment. Apart from the greediness, malice, in addition to sneakiness of Wall Street people, to a greater extent than or less other affair that stood out nigh them was the pervasive cluelessness in addition to ineptness. It turns out nobody knew what they were doing, including the people that are supposed to live on regulating things, fifty-fifty sometimes the people that are gaming the system. This brought to my hear Steve Jobs' quote from his 1994 interview: "Everything inwards this world... was created past times people no smarter than you."

Anyways, today I volition speak nigh something completely dissimilar inwards the mass that caught my eye. It is nigh thinking before coding.

On Page 132 of the book:
Russians had a reputation for existence the best programmers on Wall Street, in addition to Serge thought he knew why: They had been forced to acquire to programme computers without the luxury of endless estimator time. Many years later, when he had enough of estimator time, Serge even thus wrote out novel programs on newspaper before typing them into the machine. "In Russia, fourth dimension on the estimator was measured inwards minutes," he said. "When yous write a program, yous are given a tiny fourth dimension slot to acquire inwards work. Consequently nosotros learned to write the code inwards ways that minimized the total of debugging. And thus yous had to intend nigh it a lot before yous committed it to paper.... The ready availability of estimator fourth dimension creates this fashion of working where yous only conduct maintain an thought in addition to type it in addition to peradventure erase it 10 times. Good Russian programmers, they tend to conduct maintain had that 1 sense at to a greater extent than or less fourth dimension inwards the past--the sense of express access to estimator time."

Of course, Dijkstra was a large proponent of thinking before programming. Here inwards EWD 1284, he compares European CS vs American CS. He didn't conduct maintain overnice things to tell nigh the keyboard-happy American CS.
The major differences betwixt European in addition to American CS are that American CS is to a greater extent than machine-oriented, less mathematical, to a greater extent than closely linked to application areas, to a greater extent than quantitative in addition to to a greater extent than willing to absorb industrial products inwards its curriculum. For most of these differences in that location are perfect historical explanations, many of which reverberate the full general cultural differences betwixt the ii continents, but for CS nosotros conduct maintain also to accept into draw of piece of work organization human relationship the particular circumstance that due to the post-war situation, American CS emerged a decade earlier, for event at the fourth dimension when design, production, maintenance in addition to reliability of the hardware were even thus causes for major concern. The names of the early on professional person societies are inwards this honour revealing: the “Association for Computing Machinery” in addition to the “British Computer Society”. And thus are the names of the scientific champaign of written report in addition to the academic departments: inwards the US, CS is brusque for Computer Science, inwards Europe it is brusque for Computing Science.
The other circumstance responsible for a transatlantic departure inwards how CS evolved I consider a truthful accident of history, viz. that for to a greater extent than or less argue IBM was real ho-hum inwards getting interested inwards Europe every bit a potential marketplace for its computers, in addition to past times the fourth dimension it targeted Europe, this was no longer virgin territory. Consequently, IBM became inwards Europe never every bit predominant every bit it has been inwards Northern America. 

Here inwards EWD1165, Dijkstra shares an anecdote nigh thinking before coding in addition to uses that every bit an chance to accept a shot at "software engineering". Man, Dijkstra had the best rants.
A recent CS graduate got her get-go job, started inwards earnest on a Mon forenoon in addition to was given her get-go programming assignment. She took pencil in addition to newspaper in addition to started to analyse the problem, thereby horrifying her managing director 1.5 hours later on because “she was non programming yet”. She told him she had been taught to intend first. Grudgingly the managing director gave her thinking permission for ii days, alert her that on Midweek she would conduct maintain to operate at her keyboard “like the others”! I am non making this up. And also the programming managing director has institute the euphemism alongside which to lend an air of respectability to what he does: “software engineering”.

In fact, Dijkstra takes things further, in addition to advocates fifty-fifty forgoing the pen in addition to the newspaper when thinking:
What is the shortest agency to go from Rotterdam to Groningen, inwards general: from given urban pith to given city. It is the algorithm for the shortest path, which I designed inwards nigh xx minutes. One forenoon I was shopping inwards Amsterdam alongside my immature fiancée, in addition to tired, nosotros sat downwards on the café terrace to potable a loving cup of java in addition to I was only thinking nigh whether I could practise this, in addition to I in addition to thus designed the algorithm for the shortest path. As I said, it was a twenty-minute invention. In fact, it was published inwards ’59, 3 years late. The publication is even thus readable, it is, inwards fact, quite nice. One of the reasons that it is thus overnice was that I designed it without pencil in addition to paper. I learned later on that 1 of the advantages of designing without pencil in addition to newspaper is that yous are almost forced to avoid all avoidable complexities. Eventually that algorithm became, to my bang-up amazement, 1 of the cornerstones of my fame.
Dijkstra (2001), inwards an interview alongside Philip L. Frana. (OH 330; Communications of the ACM 53(8):41–47)"

In several of his EWDs, Dijkstra mentioned how he favored solving problems without pen in addition to newspaper in addition to only past times thinking hard, in addition to how he has the entire article sketched inwards his hear before he sits to write it downwards inwards 1 go. Here is an instance where he mentions the Mozart versus Beethoven approach to composing. Obviously Dijkstra was on the Mozart camp.
There are real dissimilar programming styles. I tend to run across them every bit Mozart versus Beethoven. When Mozart started to write, the composition was finished. He wrote the manuscript in addition to it was 'aus einem Guss' (from 1 cast). In beautiful handwriting, too. Beethoven was a doubter in addition to a struggler who started writing before he finished the composition in addition to and thus glued corrections onto the page. In 1 house he did this nine times. When they peeled them, the terminal version proved identical to the get-go one.
Dijkstra (2001) Source: Denken als discipline, a programme from Dutch populace TV broadcaster VPRO from Apr 10th, 2001 nigh Dijkstra"

For the record, in addition to non that yous care, I am on squad Beethoven. Being perfectionist in addition to taking an "I volition acquire it right inwards 1 shot" approach to thinking/designing makes me freeze. Separating concerns past times dividing my thinking betwixt a creative fashion in addition to criticizing fashion plant much meliorate for me. (I talked nigh that inwards here, here, in addition to here.)

Maybe my thinking is sloppy in addition to I involve crutches. But it is possible to combat that writing/prototyping is a tool--not a crutch-- for thinking, in addition to that tools are invaluable capability multipliers. And on the mightiness of writing every bit a tool, I volition halt alongside these quotes:
Writing is nature's agency of letting yous know how sloppy your thinking is. -- Guindon. 
If yous intend without writing, yous entirely intend you're thinking. -- Leslie Lamport 
Without writing, yous are reduced to a finite automaton.
With writing yous conduct maintain the extraordinary mightiness of a Turing machine. -- Manuel Blum

MAD questions

1) Hmm, a handicap that becomes an advantage. I intend that was the entire topic of the "David in addition to Goliath" mass past times Gladwell. Of course, that mass got a largely negative critical response. But that doesn't hateful it cannot live on a useful model sometimes.

Are in that location scientifically proven studies of a seeming handicap becoming an advantage? What are to a greater extent than or less examples?

2) Yeah, nigh that whole Mozart versus Beethoven fashion thing... Am I mistaken? Should I live on to a greater extent than open-minded nigh the Mozart mode? What is doable past times the Mozart fashion that would live on impossible to practise alongside the Beethoven mode?

3) Well, this is non a question. This is self reflection. Way to go Murat! You started alongside Flash Boys, jumped to Steve Jobs's 1994 interview, in addition to finished alongside comparison Mozart in addition to Beethoven mode. A bang-up display of "discipline inwards thought" indeed.

0 Response to "Think Earlier You Lot Code"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel