Maxi Contieri Profile picture
10 Sep 20, 122 tweets, 17 min read
Any problem in computer science can be solved with another level of indirection

-@drdavidawheeler
You can mass-produce hardware; you cannot mass-produce software; you cannot mass-produce the human mind.

-Michio Kaku
I invented the term ‘object oriented’, and C++ was not what I had in mind

-Alan Kay
Whenever I have to think to understand what the code is doing, I ask myself if I can refactor the code to make that understanding more immediately apparent.

-Martin Fowler
Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

-Melvin Conway
Optimism is an occupational hazard of programming: feedback is the treatment.

-Kent Beck
Nothing makes a system more flexible than a suite of tests

-@unclebobmartin
A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment.

-@unclebobmartin
Quality is free, but only to those who are willing to pay heavily for it.

-DeMarco and Lister
There are two ways to write error-free programs; only the third one works.

-Alan J. Perlis
Talk is cheap. Show me the code.
-Linus Torvalds
I gathered many of this in this article

medium.com/dev-genius/sof…
The best performance improvement is the transition from the nonworking state to the working state.

-J. Osterhout
Sun Microsystems had the right people to make #Java into a first-class language, and I believe it was the Sun marketing people who rushed the thing out before it should have gotten out.

-Alan Kay
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.

-Jamie Zawinski
The value of a prototype is in the education it gives you, not in the code itself.

-Alan Cooper
One day my daughter came in, looked over my shoulder at some Perl 4 code, and said, "What is that, swearing?"

-Larry Wall
A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila.

-Mitch Ratcliffe
I can’t be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It’s at that level
-Donald Knuth
Computer science is not about machines, in the same way that astronomy is not about telescopes. There is an essential unity of mathematics and computer science

-Michael R. Fellows
Deleted code is debugged code
-Jeff Sickel
As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications.

-David Parnas
Simple things should be simple, complex things should be possible.

-Alan Kay
OOP languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and extended. The full benefit of this support can only be realized if encapsulation is maximized during the design process.

-@rebeccawb
Every time you write a comment, you should grimace and feel the failure of your ability of expression

-@unclebobmartin
Any code of your own that you haven’t looked at for six or more months might as well have been written by someone else.

-Eagleson’s Law
Simplicity is prerequisite for reliability.

-Edsger W. Dijkstra
As the Tests get more Specific, the Code gets more Generic

-@unclebobmartin
Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little.

-Bertrand Meyer
So much complexity in software comes from trying to make one thing do two things.

-@rjs
Compiled many of them in @hackernoon today's article

hackernoon.com/40-thought-pro…
The key to building a great product is building a great team first. To me, great teams aren’t bound by roles, but they’re driven by moving forward.

Alan Page
Beta testing is a symptom of weak testing practices and poor communication with customers.

-@KentBeck
The ratio of time spent reading (code) versus writing is well over 10 to 1 ... (therefore) making it easy to read makes it easier to write.

-@unclebobmartin
With tests, we can change the behavior of our code quickly and verifiably.

Without them, we really don’t know if our code is getting better or worse.

-@mfeathers
Developers are drawn to complexity like moths to a flame—frequently with the same result.

-@neal4d
The Diagram is Not the Model.
The model is not the diagram. It is an abstraction, a set of concepts and relationships between them.

-@ericevans0
Object thinking focuses our attention on the problem space rather than the solution space.

-@profwest
I’m not a great programmer; I’m just a good programmer with great habits.

-@KentBeck
The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.

-Tom Cargill
The biggest issue on software teams is making sure everyone understands what everyone else is doing.

-@martinfowler
Science is what we understand well enough to explain to a computer. Art is everything else we do.

-Donald Knuth
Types are essentially assertions about a program. And I think it’s valuable to have things be as absolutely simple as possible, including not even saying what the types are.

-@daningalls
I try to think mostly in terms of preconditions, and checking things in the constructor and the beginning of a function.

-@bradfitz
Somebody will say they have a program that’s verified and it’s only verified because it met its specification according to some verifier. But the verifier might have bugs in it. The specifications might have bugs in them

-Donald Knuth
Beware of bugs in the above code; I have only proved it correct, not tried it.

-Donald Knuth
If someone claims to have the perfect programming language, he is either a fool or a salesman or both.

-Bjarne Stroustrup
There is an art to knowing where things should be checked and making sure that the program fails fast if you make a mistake. That kind of choosing is part of the art of simplification.

-Ward Cunningham
The most effective tool available for dealing with complexity is abstraction. Many types of abstraction can be used, but encapsulation is the main form of abstraction by which complexity is managed in OOP

Rebecca Wirfs-Brock
I can’t be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It’s at that level

Donald Knuth
Writing a class without its contract would be similar to producing an engineering component (electrical circuit, VLSI (Very Large Scale Integration) chip, bridge, engine...) without a spec. No professional engineer would even consider the idea.

-Bertrand Meyer
I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

-Tony Hoare
Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.

- Bertrand Meyer
Programming is not about typing, it's about thinking.

- Rich Hickey
If you have to spend effort looking at a fragment of code and figuring out what it’s doing, then you should extract it into a function and name the function after the what.

-@martinfowler
Architecture is the tension between coupling and cohesion.

-Neal Ford
Programming can be fun, so can cryptography; however they should not be combined.

-Kreitzberg & Shneiderman.
The purpose of computing is insight, not numbers.

-Richard Hamming
The pesticide paradox. Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffective.

-Boris Beizer
You cannot teach beginners top-down programming, because they don't know which end is up.

-Tony Hoare
We comfort ourselves with the belief that if the customers had just been happy with what they said they needed, the design would have been fine. It’s the customer’s fault for changing the requirements on us.

-@unclebobmartin
There is nothing so useless as doing efficiently that which should not be done at all.

-Peter Drucker
There’s nothing more permanent than a temporary hack

-Kyle Simpson
The value of a prototype is in the education it gives you, not in the code itself.

-Alan Cooper
Thinking about my experience of modifying
code, I see that I spend much more time reading the existing code than I do writing new code. If I want to make my code cheap, therefore, I should make it easy to read.

-Kent Beck
“It is not the language that makes programs appear simple. It is the programmer that make the language appear simple!”

-@unclebobmartin
You will fall to ruin because you believe that exceptions to the rule make new rules.

-Pierce Brown
Programs are meant to be read by humans and only incidentally for computers to execute.

-Donald Knuth
It is not the language that makes programs appear simple. It is the programmer that make the language appear simple.

-@unclebobmartin
The Scrum idea of a separated Scrum Master is good for Scrum, but not appropriate for most projects. Good development requires not just talkers but doers.

-Bertrand Meyer
The trick is to fix the problem you have, rather than the problem you want.

-@bramcohen
Discovering the unexpected is more important than confirming the known.

- George E. P. Box
Writing software as if we are the only person that ever has to comprehend it is one of the biggest mistakes and false assumptions that can be made.

-Karolina Szczur

#100DaysOfCode
The role of a trainer or consultant is to empower the customer, not to make himself indispensable

-Bertrand Meyer
Developer testing is an important step towards accountability. It gives developers a way to demonstrate the quality of the software they produce.

-Kent Beck
A programming language is low level when its programs require attention to the irrelevant.

-Alan Perlis
Walking on water and developing software from a specification are easy if both are frozen.

-Edward V Berard
If you say “I told you so”, you are the one who has failed. Because you knew, but did not manage to stop the train wreck.

-@unclebobmartin
Thinking is not the ability to manipulate language; it's the ability to manipulate concepts.

-Leslie Lamport
A good programmer is someone who always looks both ways before crossing a one-way street.

-Doug Linder
In programming, the hard part isn't solving problems, but deciding what problems to solve.

-Paul Graham
The best smells are something that's easy to spot and most of time lead you to really interesting problems. Data classes (classes with all data and no behavior) are good examples of this. You look at them and ask yourself what behavior should be in this class.

@martinfowler
One man's crappy software is another man's full time job.

-Jessica Gaston
Good software, like wine, takes time.

-@spolsky
A good programmer looks both ways before crossing a one-way street
Behavior is the most important thing about software. It is what users depend on. Users like it when we add behavior (provided it is what they really wanted), but if we change or remove behavior they depend on (introduce bugs), they stop trusting us.

@mfeathers
Make it correct, make it clear, make it concise, make it fast. In that order.

Wes Dyer
Computer scientists have so far worked on developing powerful programming languages that make it possible to solve the technical problems of computation. Little effort has gone toward devising the languages of interaction

-Don Norman
When someone says, "I want a programming language in which I need only say what I want done," give him a lollipop

-Alan Perlis
It's not at all important to get it right the first time. It's vitally important to get it right the last time.

-Andrew Hunt and David Thomas
The cleaner and nicer the program, the faster it's going to run. And if it doesn't, it'll be easy to make it fast.

-Joshua Bloch
Programmers are as emotional and irrational as normal people.

-Douglas Crockford
When debugging, novices insert corrective code; experts remove defective code.

-Richard Pattis
Complexity kills.  It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.”

-Ray Ozzie
We have to stop optimizing for programmers and start optimizing for users.

-Jeff Atwood
Prolific developers don’t always write a lot of code, instead they solve a lot of problems. The two things are not the same.

- J. Chambers
Software and cathedrals are much the same – first we build them, then we pray.

- Sam Redwine
A cache with a bad policy is another name for a memory leak.

-@ricomariani
Successful software always gets changed.

-Fred Brooks
When in doubt, use brute force.

-Ken Thompson
Pasting code from the internet into production code is like chewing gum found in the street

-Mike Johnson
Error handling is important, but if it obscures logic, it’s wrong.

-@unclebobmartin
The purpose of software engineering is to control complexity, not to create it. ⠀

-Pamela Zave
Indeed, the woes of Software Engineering are not due to lack of tools, or proper management, but largely due to lack of sufficient technical competence.

-Niklaus Wirth
It is very hard to predict, especially the future.

-Niels Bohr
This will surprise some of your readers, but my primary interest is not with computer security. I am primarily interested in writing software that works as intended.

-Wietse Venema
Pay attention to zeros. If there is a zero, someone will divide by it.

-Cem Kaner
Computers are good at following instructions, but not at reading your mind.

-Donald Knuth
"In a purely functional program, the value of a [constant] never changes, and yet, it changes all the time! A paradox!"

-@spolsky
Write shy code — modules that don't reveal anything unnecessary to other modules and that don't rely on other modules' implementations

-Dave Thomas
Never spend 6 minutes doing something by hand when you can spend 6 hours failing to automate it.

-@zhuowei
Final source code is the real software design.

-Jack Reeves
Truth can only be found in one place: the code.

-@unclebobmartin
If you lie to the compiler, it will get its revenge.

-Henry Spencer
The amateur software engineer is always in search of magic.

-Grady Booch
Programming is not a zero-sum game. Teaching something to a fellow programmer doesn’t take it away from you.

-John Carmack
The cheapest, fastest and most reliable components of a computer system are those that aren’t there.

- Gordon Bell
No matter how slow you are writing clean code, you will always be slower if you make a mess.

-@unclebobmartin
Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday's code.

-Dan Salomon
The code you write makes you a programmer. The code you delete makes you a good one. The code you don't have to write makes you a great one.

-Mario Fusco

#100DaysOfCode
Regardless of your plans, production is the ultimate testing environment.

-J T Wall

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Maxi Contieri

Maxi Contieri Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @mcsee1

31 Dec 20
My *personal* recommendations on who to follow on 2021!

A Thread 🧵 on great content and great people on Twitter.
Happy new year to all of you!

(A-Z) 1/Many
@AlejandroPiad (Alejandro Piad Morffis)

Alejandro writes interesting content on software development and machine learning.
He teaches Computer Science and his content is great.
I love interacting with him.
@allenholub (Allen Holub)

Allen is a DDD passionate. His opinions are very strong and accurate.
I enjoy his development tips AND management and agile humor a lot.
I liked very much his courses on LinkedIn.
Read 29 tweets
4 Oct 20
Another 🧵 on #productivitytip and #LifeHacks

As usual one each day.

Disclaimer: Opinions are my own. I don't have the truth revealed.

I learn a lot with your replies so please contribute and discuss !
#productivitytip 1: Remove notifications

1 - Check your phone after a couple of hours.
2 - Keep an eye on the app with the most notifications
3 - Block them
4 - Don't fear #FOMO. Deal with it
5 - Repeat once a day.

Watch #TheSocialDilemma
#productivitytip 2: Slice your time

1 - Use blocks of time without interruptions (timeboxing).
2 - My favorite is @PomodoroTech.
3 - if you come across new tasks just write them down.
4 - Don't multitask.
5 - You cannot switch until time is up.
6 - 25 minutes it's a good slice.
Read 11 tweets
29 Aug 20
Sometimes an idea fits in 280 characters

a 🧵 on Great #SoftwareEngineering great #quotes

One each day.
For each desired change, make the change easy (warning: this may be hard), then make the easy change

-@KentBeck
There are only two hard things in Computer Science: cache invalidation and naming things.

-Phil Karlton
Read 46 tweets
24 Aug 20
Knowing the problems is the first step to solving them.

A thread on #CodeSmells 🧵⬇️📅
#CodeSmell 01: Your objects are a bunch of public attributes

Problem: en.wikipedia.org/wiki/Anemic_do…

Solutions:
1) Find Responsibilities.
2) Protect your attributes.
3) Hide implementations
4) Delegate
#CodeSmell 02: Code has lots of comments

Problem: Comments are coupled to implementation

Solutions:
1) Refactor methods
2) Rename methods to more declarative unes
3) break methods
4) If a comment describe what a method does. Just name the method with this description
Read 49 tweets
9 Aug 20
I’m creating a thread on #softwaredesing. One tip per day.
Until no advices are left or I reach thread limit. Whatever happens in the first time.
Tip 01: Do not subclassify concrete classes.
Tip 02: Variable names should indicate role. Never type
Read 67 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!