The sharing of ideas allows us to stand on one another’s shoulders instead of on one another’s feet Jim Warren.

Slides:



Advertisements
Similar presentations
Inference without the Engine!. What is EZ-Xpert 3.0? EZ-Xpert is a Rapid Application Development (RAD) environment for creating fast and accurate rule-based.
Advertisements

Code Tuning Strategies and Techniques CS524 – Software Engineering Azusa Pacific University Dr. Sheldon X. Liang Mike Rickman.
By Wild King. Generally speaking, a rainbow table is a lookup table which is used to recover the plain-text password that derives from a hashing or cryptographic.
Chapter 1 An Overview of Computers and Programming Languages.
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
Practice Quiz Question
Obedience vs. Willfulness
You could spend years and years figuring out how to take three steps at once. Or you could simply take one step, and then the next, and then the next.
Advanced Compilers CSE 231 Instructor: Sorin Lerner.
27-Jun-15 Profiling code, Timing Methods. Optimization Optimization is the process of making a program as fast (or as small) as possible Here’s what the.
30-Jun-15 Profiling. Optimization Optimization is the process of making a program as fast (or as small) as possible Here’s what the experts say about.
COMPUTER PROGRAMMING. Introduction to C++ History Merges notions from Smalltalk and notions from C The class concept was borrowed from Simular67 Developed.
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering.
Computer Programming I Hour 1-Getting Started. Word of Day —Chinese proverb A journey of a thousand miles is started by taking the first step. —Aristophanes.
Lecture 22 Miscellaneous Topics 4 + Memory Allocation.
Introduction By: Dr. Javad Razjouyan. Programming Languages.
Java Language and SW Dev’t
Gary MarsdenSlide 1University of Cape Town Principles of programming language design Gary Marsden Semester 2 – 2001.
Computer Programming I An Introduction to the art and science of programming with C++
C++ Panel Discussion Summary Jim Kowalkowski. Participants Amber Boehnlein Jim Kowalkowski Leo Michelotti Marc Paterno Liz Sexton-Kennedy Bjarne Stroustrup.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Computer Science 313 – Advanced Programming Topics.
Week 14 - Wednesday.  What did we talk about last time?  More C++  new  delete  Differences for structs  OOP.
Compile Time Abstraction Techniques for the D Programming Language Benjamin Shropshire.
Chapter 5 Files and Exceptions I. "The Practice of Computing Using Python", Punch & Enbody, Copyright © 2013 Pearson Education, Inc. What is a file? A.
CPS Inheritance and the Yahtzee program l In version of Yahtzee given previously, scorecard.h held information about every score-card entry, e.g.,
Algorithms CS280 – 10/20/05. Announcement  Part 1 of project 2 due.  Read chapters 10, 7 for this unit  Tuesday we will also be in the classroom We.
1 Performance Issues CIS*2450 Advanced Programming Concepts.
1 Languages and Compilers (SProg og Oversættere) Bent Thomsen Department of Computer Science Aalborg University With acknowledgement to Norm Hutchinson.
Recap Introduction to Inheritance Inheritance in C++ IS-A Relationship Polymorphism in Inheritance Classes in Inheritance Visibility Rules Constructor.
CSC 212 – Data Structures Lecture 15: Big-Oh Notation.
Galileo Galilei ( ) "You must read the book of Nature... In other words, observe and do experiments. This is against the medieval idea of scholasticism--that.
Optimization. How to Optimize Code Conventional Wisdom: 1.Don't do it 2.(For experts only) Don't do it yet.
Week 13 - Friday.  What did we talk about last time?  Server communications on a socket  Function pointers.
July 10, 2016ISA's, Compilers, and Assembly1 CS232 roadmap In the first 3 quarters of the class, we have covered 1.Understanding the relationship between.
Confucian Philosophy in Software Design. The Analects Written during the Spring and Autumn Period through the Warring States Period (ca. 479 BCE
AP CSP: The Need for Programming Languages and Algorithms
Simple Machines.
Brooksisms And Other Nuggets of Programming Wisdom
Compilation and Debugging
Compilation and Debugging
Lessons for A new Life Compiled by Vivian.
Human Resources The Quality Employee.
C++ Classes & Object Oriented Programming
Simple Machines.
Simple Machines.
Human Resources The Quality Employee.
Which slows more? Java or C++?
Binary Search Back in the days when phone numbers weren’t stored in cell phones, you might have actually had to look them up in a phonebook. How did you.
Human Resources The Quality Employee.
Lesson Objectives Aims You should be able to:
Theory of Computation Turing Machines.
More Object-Oriented Programming
Polymorphism Polymorphism
Polymorphism Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2nd edition, by Kernighan.
Topic 1: Problem Solving
Human Resources The Quality Employee.
Second Grade Sight Words
CSE 373 Data Structures and Algorithms
GUI Design 24-Feb-19.
Human Resources The Quality Employee.
Introduction to Computer Science I.
Complexity Based on slides by Ethan Apter
Human Resources The Quality Employee.
Optimization.
EE 155 / Comp 122 Parallel Computing
1.3.7 High- and low-level languages and their translators
C++ Polymorphism Reference and pointer implicit type casting
Static Binding Static binding chooses the function in the class of the base class pointer, ignoring any versions in the class of the object actually.
Presentation transcript:

The sharing of ideas allows us to stand on one another’s shoulders instead of on one another’s feet Jim Warren

There are only two kinds of programming languages: those people always bitch about and those nobody uses Bjarne Stroustrup

Rules of Optimization Rule 1: Don’t do it. Rule 2 (for experts only): Don’t do it yet. M.A. Jackson

If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? Tom Cargill

Only optimize where it matters Mike Abrash

If your project doesn’t work, look for the part that you didn’t think was important Arthur Bloch

When your hammer is C++, everything begins to look like a thumb Steve Halflich

Any performance problem can be solved by removing a level of indirection Mike Haertel

The best is the enemy of the good Voltaire

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live Martin Golding

Premature optimization is the root of all evil C.A.R. Hoare

On the other hand, we cannot ignore efficiency Jon Bentley

C++ is an atrocity, the bletcherous scab of the computing world, responsible for... more mysterious failures than any other computer language in the history of the planet earth Eric Lee Green

Efficiency must be kept in mind throughout the design and implementation effort Bjarne Stroustrup

The key to performance is elegance, not battalions of special cases Jon Bentley

If C++ has taught me one thing, it’s this: just because the system is consistent doesn’t mean it’s not the work of Satan Andrew Plotkin

Simplicity is the soul of efficiency Austin Freeman

There are only two things wrong with C++: the initial concept and the implementation Bertrand Meyer

Never put off until runtime what can be done at compile time A. Glew

The speed of a non-working program is irrelevant Stephen Heller

Code should run as fast as necessary, but no faster; something important is always traded away to increase speed Richard Pattis

Fancy algorithms are slow when N is small, and N is usually small Rob Pike

Of course the code works. It just compiled, didn’t it? helixcode123, on slashdot

When in doubt, use brute force Butler Lampson

I saw ‘cout’ being shifted “Hello world” times to the left and stopped right there Steve Gonedes