Whether you want to uncover the secrets of the universe, or you just want to pursue a career in the 21st century, basic computer programming is an essential skill to learn
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Technology and computers are very much at the core of our economy going forward. To be prepared for the demands of the 21st century-and to take advantage of its opportunities-it is essential that more of our students today learn basic computer programming skills, no matter what field of work they want to pursue.
If our designs are failing due to the constant rain of changing requirements, it is our designs that are at fault. We must somehow find a way to make our designs resilient to such changes and protect them from rotting.
In the beginning we must simplify the subject, thus unavoidably falsifying it, and later we must sophisticate away the falsely simple beginning.
The only way for errors to occur in a program is by being put there by the author. No other mechanisms are known. Programs can't acquire bugs by sitting around with other buggy programs. Right practice aims at preventing insertion of errors and, failing that, removing them before testing or any other running of the program.
Computer science is to biology what calculus is to physics. It's the natural mathematical technique that best maps the character of the subject.
A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it.
You have to honor failure, because failure is just the negative space around success.
A programming language is like a natural, human language in that it favors certain methaphors, images, and ways of thinking.
A class, in Java, is where we teach objects how to behave.
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
When the words are fuzzy, the programmers reflexively retreat to the most precise method of articulation available: source code. Although there is nothing more precise than code, there is also nothing more permanent or resistant to change. So the situation frequently crops up where nomenclature confusion drives programmers to begin coding prematurely, and that code becomes the de facto design, regardless of its appropriateness or correctness.
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
Shall I tell you the secret of the true scholar? It is this: every man I meet is my master in some point, and in that I learn of him.
Awaken people's curiosity. It is enough to open minds, do not overload them. Put there just a spark.
Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.
Who dares to teach must never cease to learn.
The best way to prepare [to be a programmer] is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating systems.
They have computers, and they may have other weapons of mass destruction.
The only people who have anything to fear from free software are those whose products are worth even less.
You cannot teach beginners top-down programming, because they don't know which end is up.
The discipline of programming is most like sorcery. Both use precise language to instruct inanimate objects to do our bidding. Small mistakes in programs or spells can lead to completely unforseen behavior: e.g., see the story, "The Sorcerer's Apprentice". Neither study is easy: "...her [Galinda's] early appetite for sorcery had waned once she'd heard what a grind it was to learn spells and, worse, to understand them." from the book "Wicked" by G. Maguire.
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.
What I can't create I don't understand
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: