“We flew down weekly to meet with IBM, but they thought the way to measure software was the amount of code we wrote, when really the better the software, the fewer lines of code.” WayLinesLearningAmountCodeProgrammingSoftwareFewerFlewIbm Author:Bill Gates
“I learnt the verbs of will, and had my secret; The code of night tapped on my tongue; What had been one was many sounding minded.” NightLanguageSecretKnowledgeLearningTongueCodeVerbs Book:The Poems of Dylan Thomas Source: The Poems of Dylan Thomas
“I do not accept any absolute formulas for living. No preconceived code can see ahead to everything that can happen in a man's life. As we live, we grow and our beliefs change. They must change. So I think we should live with this constant discovery. We should be open to this adventure in heightened awareness of living. We should stake our whole existence on our willingness to explore and experience.” ThinkingMenShouldWholeHappensBeliefGrowsExistenceAcceptingKnowledgeLearningAwarenessAdventureDiscoveryAbsolutesManagementConstantCodeWillingnessFormulasStakes Author:Martin Buber
“Ugly programs are like ugly suspension bridges: they're much more liable to collapse than pretty ones, because the way humans (especially engineer-humans) perceive beauty is intimately related to our ability to process and understand complexity. A language that makes it hard to write elegant code makes it hard to write good code.” WayWritingHumansHardLanguageProcessAbilityLearningProgramSimplicityUglyCodeBridgesPerceiveRelatedComplexityProgrammingCollapseEngineersElegantLiableSuspension Author:Eric S. Raymond
“Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.” IfsThinkingLearningPiecesProgressProgramTrainCodeProgramming Author:Edsger Dijkstra
“If we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent."” IfsShouldWishLinesLearningComputerRegardCodeProgrammingComputer Programming Author:Edsger Dijkstra
“The important point is that the cost of adding a feature isn't just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. Sure, any given feature list can be implemented, given enough coding time. But in addition to coming out late, you will usually wind up with a codebase that is so fragile that new ideas that should be dead-simple wind up taking longer and longer to work into the tangled existing web. The trick is to pick the features that don't fight each other.” ShouldImportantIdeasEnoughFightingGivenSimpleLearningWindCostLatePicksObstaclesListsTricksCodeFeaturesProgrammingFragileComing OutNew IdeasExpansionComputer ProgrammingTangled Author:John Carmack
“One purpose of CRC cards [a design tool] is to fail early, to fail often, and to fail inexpensively. It is a lot cheaper to tear up a bunch of cards that it would be to reorganize a large amount of source code.” Would BePurposeLearningFailingDesignTearsSourceAmountToolsBunchCardsCodeProgrammingCheaperComputer ProgrammingProgramming LanguagesComputer Language Author:Cay S. Horstmann
“Another effective [debugging] technique is to explain your code to someone else. This will often cause you to explain the bug to yourself. Sometimes it takes no more than a few sentences, followed by an embarrassed "Never mind, I see what's wrong. Sorry to bother you." This works remarkably well; you can even use non-programmers as listeners. One university computer center kept a teddy bear near the help desk. Students with mysterious bugs were required to explain them to the bear before they could speak to a human counselor.” MindHumansWellsSometimesHelpingUseSpeakCausesLearningStudentsBearsComputerSorryUniversitySentencesTechniqueMysteriousCodeBotherProgrammingDesksListenersEmbarrassedBugsProgrammersTeddyCounselorTeddy BearDebugging Author:Brian Kernighan
“Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.” ShouldImportantRunningLearningIncreaseSpeedFasterCodeProgrammingComputer ProgrammingProgramming LanguagesComputer Language Author:Richard E. Pattis
“The structure of a software system provides the ecology in which code is born, matures, and dies. A well-designed habitat allows for the successful evolution of all the components needed in a software system.” WellsDiesBornLearningSuccessfulEvolutionNeededStructureCodeProgrammingSoftwareEcologyComponentsComputer ProgrammingProgramming LanguagesComputer LanguageHabitat Author:Richard E. Pattis
“Don't you hate code that's not properly indented? Making it [indenting] part of the syntax guarantees that all code is properly indented.” HateLearningCodeProgrammingGuaranteesGuarantees ThatSyntax Author:Guido van Rossum
“In engineering, as in other creative arts, we must learn to do analysis to support our efforts in synthesis. One cannot build a beautiful and functional bridge without a knowledge of steel and dirt, and a considerable mathematical technique for using this knowledge to compute the properties of structures. Similarly, one cannot build a beautiful computer system without a deep understanding of how to "previsualize" the process generated by the code one writes.” WritingArtBeautifulProcessUnderstandingEffortSupportCreativeLearningComputerStructurePropertyTechniqueMathematicalCodeBridgesAnalysisProgrammingEngineeringDirtSteelCreative ArtSynthesisDeep UnderstandingComputer Systems Author:Gerald Jay Sussman