i prefer pi


Dr. Salih Yurttas (CPSC)

Posted in words, school by caleb on May 1st, 2003

CPSC 332: Programming Language Design; Spring 2003

04/29/2003

  • “Dropouts can write classes or use them. Dropouts cannot write interfaces and abstract classes.”
  • “This is like having a kid without inheriting any genes from the parents. You can say ‘My father was a gamlber, I want to start a clean start.’”
  • “When you go to Italy, right away you learn how to say ‘Bon giorno!’ Just to know how to say ‘Hello World’ in many languages is not to say that you are multi-lingual.”

    Some parting words of wisdom from one of the best CPSC profs I’ve ever had

04/21/2003

  • “These are in real C++ books for you and me, not in ‘1 Hour for Idiots’ books.”

    About try-catch statements, I think

  • “Now let’s read this. Can you read this? Sure you can!”

04/16/2003

  • On the day of the test:

    “I have new faces in class, so listen up…”

  • “I see every face and I know every name, so I know when you miss my class. Do not skip my class. It is the worst thing you can do.”
  • “Do not think that we are learning C++. We are not. I have said this from day one.”
  • “What is good about exceptions? It doesn’t mess up your code. It doesn’t get bushy with ‘if… cout…’ statements.”

04/11/2003

  • “Since day one — ‘day one’ means what in programming languages? 1950’s when FORTRAN was existing. Since day one…”
  • “Cut-and-paste, print in reverse order — you should not do these things and think that you are smarter than the others. You are not.”

04/09/2003

  • “If you send me an e-mail in the middle of the night on the weekend saying ‘My code will not compile’ or ‘My code will not link,’ I will conclude one of two things. First is that you were sleepy and couldn’t think clearly, which is unfortunate. Second is that you were not present in class at this time.”
  • “It looks good in theory, but in practice, when you start to do it you will mumble-jumble it up.”

04/07/2003

  • “In the beginning, C++ was fighting with, was in conflict with the C world. [The C world] was pointing and laughing and saying ‘Look how long it is taking to do the object-orientedness!’”
  • “What is this? Pure nonsense! Cut-and-paste! The whole world is happy with cut-and-paste. Instead, we will be intelligent in our programming”

    Regarding some poor programming style

04/02/2003

  • “You remember I have said ‘Life is never pure’”

    About quirks in operator overloading

  • “Are you looking? You ought to. Here comes the learning.”
  • “When you go to the grocery store — Albertson’s, Krogers — you don’t ask for fruit, you ask for apples and oranges, pears, peaches, watermelons, whatever”

    Introducing inheritance and polymorphism

  • “How do I know this? Since six months old I have started identifying fruits by their taste, their texture, saying ‘This one is apple, this one is orange.’”

03/28/2003

  • “Whenever you are in trouble, just remember this simple rule: ‘Destructors are unnecessary if data members are primitive non-aggregates.’”

03/26/2003

  • “This function is a mutator. A good, old-fashioned mutator”

03/24/2003

  • “This addition can only happen in a temporary [variable]. Later, we will abuse this concept.”
  • “We want to get the same functionality out of this. But it is not a free lunch; we have to specify it ourselves”
  • “Why doesn’t this work? Because it was thought up in the seventies. We didn’t have C++. Stroustrup was still in Europe”

03/19/2003

  • “Sorry for this. You will have something to tell your grandkids that it was taking 15 minutes to warm up the machine”
  • “You must remember that you are all Java programmers by default”

03/07/2003

  • “If you don’t do these things, you will hit your head on the screen several times and you will waste a lot of time in front of your machine.”
  • “Now comes the learning”
  • “Now we are in college. We are gonna change things up a bit.”

03/05/2003

  • “Why do we not do it like this? Because every time we do, some smart guy, some intelligent guy, some wise-guy will say ‘I hate this. I can do it better’ and he will not use it anyway”

    (about configuring ‘operator<<' too specifically)

03/03/2003

  • “Now what we will do is, of course, complicate things”
  • “When you are making a clone, you cannot just say ‘I just want the hair’ or ‘the eyes’… you must copy the whole thing”

02/28/2003

  • “When you give choice to the people, they abuse it.”
  • “Be careful… twins and clones are two different things”

02/26/2003

  • “If you learn multiple inheritance, then you will understand why Java got rid of this”
  • “You will never do the signature, prototyping, initialization and the implementation in the actual class. Do you hear how loud I am yelling? There will be no excuse. If you do them all together, then you will end up with this silly implementation.”
  • “Believe it or not, you will not be the boss from day one. Work hard, and you will be boss. Then you can make the orders and go around and see how your employees are messing up the projects”

02/21/2003

  • “Be careful when I say it will not compile; the readers, the students misunderstand me. They say ‘The semicolon is missing’ or ‘The brace is not matching.’ These things are irrelevant”

    (regarding “fix this code” problems on his tests)

  • “What will this code return? It says there. It is crying! Vector of int”
  • “If you have been reading my webpage, my assumptions, the test questions will be peanuts”

02/19/2003

  • “Now we will do experiments with you to see what your problems are”
  • “It will compile, but during run-time it will do that magical thing — bus-error, segmentation or core dump”
  • “You will say to me ‘Dr. Yurttas, I have finished my homework — it is compiling but still it is core dumping. I am sure it will work though’. No. If you are getting core dumps, you have not finished your homework. I say that you have not even started”
  • “…and we will run this and it will core dump.”

    *core dumps*

    “Now… you see that it made a file ‘core’. Delete it right away. The size now is twelve-thousand characters, but it might be million, ten million next time. But first I will show you. Does anyone speak Turkish?”

    *silence*

    “Anyone but me speak the Turkish language? No? This file is in Turkish.”

    *opens core dump file, full of random hexadecimal characters, class laughs*

    “Do not laugh! Fifty years ago the whole world was learning Turkish. But it is insane, inhumane. So we wrote debuggers”

  • “That is why I say ‘Don’t be curious’. You know what happens when you are Curious George”

    Huh?

02/17/2003

  • “C, C++ are dangerous. Why? They leak a lot”

02/14/2003

  • “In one part of the world, one-plus billion people live and they name themselves 40 characters long. Right next to that part there is another billion and they name themselves 3 characters long. I have never understood this… perhaps it is action/reactionary views. I don’t know. But that is why we use dynamically-sized strings”
  • “When you name your variables, don’t be smart, don’t be clever. Write it out the long way and use the underscore”
  • “So why did C provide this torture to us for 30 years? Because C was meant to be used as a systems programming language”

    (in reference to pointers)

  • “Don’t say you don’t need. You need!”
  • “You will get confused. You will go to your kindergarten and say ‘You did not teach me right. You said they were equal both ways. Now my college professor is saying another thing’”

    (in reference to rhs/lhs equality)

02/12/2003

  • “We don’t call this ‘two-dimensional array’ anymore. If you are calling it that, you are living in the 1950’s”
  • “Long, long ago I was saying ‘never use arrays’. I am still saying this. I am still by my word. Why then, you ask, are you teaching them? First is because people are never learning the new things”
  • “If you are using semicolon after braces any time other than with struct, you do not know what you are doing. Every time you add a semicolon you are adding work to your compiler. Do not say ‘I have been doing it, I have never been warned’. I am warning you now. Do not do it.”
  • “When I say ‘always by reference’, I am misleading you. I am lying to you. But you will not understand why until we get to object-oriented programming”
  • “Stroustrup had introduced a new kind of magic where struct is passed a different way”
  • “Now let’s read this. Can you read this? Sure you can”
  • “Now we will introduce a new type, and we will call it the most dangerous type ever. We will never use it. It has a purpose, but it is not for everyday users. If you are seven or eight and your brother is trying to use it, tell him ‘No!’ ”

    (in reference to the ‘union’ type in C++)

02/07/2003

  • “Whatever you are asking about datatypes is, believe it or not, answered in the 1950’s”
  • “So what is a reference? It is a sticker, a name, a label. There is no object underneath”
  • “This is why I do not understand that every year they are writing this junk: ‘return a; return b;’ Once you return it is gone. You cannot go back to it and try to return again”

02/05/2003

  • “Instead, in C, C++, when we want reference, we use the magical ampersand”
  • “You will say ‘It must be magic’. But there is no magic in programming. Only logic”
  • “You cannot say ‘I am intelligent’ or ‘I am sober’ or ‘I will not hire anyone who would do this thing’. C++ cannot rely on your good citizenship to get this done”

02/03/2003

  • “I will ask you ‘Why was it done like this?’. Again and again the same excuse ‘performs better’, but it performs better only this one time. Instead, you should make it work for all times and worry about streamlining when it is time to sell”
  • “I remember last year Stroustrup was in here presenting, trying to convince us to use templates. The best mind in the world working for 20 years still in 2002 trying to convince the world to use templates. And still people are not using them. But you will use them because I will teach you, and you will understand and see that it is good”
  • “Me and many other great minds agree on this point…”

01/31/2003

  • “Do you remember elementary school? They gave you simple blocks and it was your choice whether to imagine a house or a bridge or a play area with them. They did not give you complex Legos. Later, when you were older, they did, and you could do the same thing with them. This is Plug-and-Play”
  • “The words that I use in my everyday speaking are how many? 1000. Shakespeare, he used 40,000. Just like in languages. You can program with only 5 idioms, but if you know all of the language… if you really know the language, you can write programs more fluidly and more expressively”
  • “Don’t overdo the braces. They are monsters”
  • “I am sure that some of you have already done it this way in the last homework. You will not believe how explosive I will be when I see them. You will think I am the rudest person in the world”

01/29/2003

  • “We do not record your age. Why? It is dynamic. You come in here 13 and you leave here 32″
  • “I have always said I speak C, C++, Java better than English”
  • “When you close your eyes, right away you can tell ‘this guy is not a Texan, this guy is not native born’. Why? Because I have an accent”
  • “Computer scientists, all day long are hitting Tab, Tab, Tab. They are tab-dancing”
  • “I have never understood that spacebar is this long [————] and tab is this small [–] and everyone is always reaching for tab rather than putting their thumbs on the spacebar”

01/27/2003

  • “You must come to my office to have your homework graded. I will scream and shout. But do not worry… I am not mad”
  • “You cannot make globals in Ada. Why not? Because they understand that they are monsters”
  • “Believe it or not, I am calling this ‘the program that does nothing’ “
  • “You will not come to my office hours and say ‘Look! I find this book at Barnes & Noble and they are doing it this way’ or ‘Look! I find Stroustup’s book and he does it this way’. Instead, we will do it my way”
  • “Students are always coming back to the computer science department and talking about what it is that they are doing now. Unfortunately, in the last 20 years they are only remembering me”

01/24/2003

  • “If you do not do it this way, it will give you headache, pain, torture, whatever…”
  • “You should learn this so that when I will say these things you will not look at me like I am from Mars or I am a Martian or I am appearing suddenly in this space”
  • “I recommend that they teach this in different course; they say that they are not even understanding me.”
  • “To practice, neh, to do three examples is not to say that you know them well. It is only show-and-tell.”
  • “vector to STL is like 18th-century French history to the whole library”
  • “Arrays are obsolete. 1950’s technology. If you are still programming in Java, C#, C++, whatever and you are still using array, your mind is from 1950’s”
  • “What is homogeneous? It is all the same type– int, char, string, camera… they are all the same”
  • “What is the difference?”

    *writes ‘int a[3]‘ and ‘vector a‘ on the board. Points to ‘int a[3]‘*

    “This is inhumane”

  • “What does standard mean? When I write [the integration] symbol you do not wonder ‘Does that stand for Salih Yurttas?’. No! Why not? Because it is a standard”

01/22/2003

  • “I must have huge personality as you are seeing how long it is taking to set up my personal settings”
  • “As it is written, it assumes that you will be good citizen to this program”
  • “Now supposing you are skipping my lecture and you are needing to learn ‘make’. One way is to go to your Yahoo or your Google and say ‘make’ and you’ll get what? Three-hundred million pages on make. So you will then say ‘make compile’ or ‘make compile Unix’ and you will throw out two-hundred million but you still have one-hundred million results. Or you will go to Barnes and Noble and ask the responsible person and they will search on their computer and point you to O’Reilly books or ‘7 days, 24 hours book for Idiots’. No! It is all here online as you will see in manual pages”
  • “If you put any character after your backslash here, ‘make’ will reject it and you will cry”
  • “If you do not type it this way, you will cry…”

    *snaps fingers*

    “…and you will call me lots of names, and I hear these things.”

01/17/2003

  • “After the command whether you put one space or billion spaces, it is your torture to yourself”
  • “The C.S. department… they just cannot make up names”

    (regarding the naming of the CompSci servers)

  • “In Turkish we say what? If you want to show your left ear, use your left hand”

    (referring to writing code in the most straightforward manner possible)

01/15/2003

  • “You will not go look up C++ tutorial on the internet. You will not go to Barnes & Noble and get ‘21 Days / 7 Hours’ book or ‘Dummies’ book. You will not go to Stroustrup’s office and ask him how he is putting pointers into C++. I will teach you how to program! I will teach you C++”
  • “This is my website. You see here it is very plain. That is because it is teaching tool. On this site you will not be finding what dogs I have or that I like ‘Star Wars’ or that I like to kick soccer ball when I was 20.”
  • “You do not need to document code. If I say nothing else, you will go to your friend after class and ask him if you are hearing right, so I say it again: No documentation. It is a fetish”
Tags: , ,

Dr. Michael Hand (PHIL)

Posted in words, school by caleb on May 1st, 2003

PHIL 240H: Introduction to Logic; Spring 2002

  • ” ‘only if’ is no more a special form of ‘if’ than ‘cattle’ is a special form of ‘cat’ ”

    (regarding the translation from natural languages to formal logics)

Tags: , , ,