| PLEX86 | ||
Greatest Software Ever Written 4249Well, I didn't expect you to. Greatest Software Ever Written 4250 Good" academic programs? The ACM's curriculum guidelines * do recommend teaching more than one language: We believe that undergraduate computer science programs must teach students how to use... You said the key word: average. We have all bit a silver bullet: computers (basically). Paul Graham is a also a big proponent and I lean with him on this. Here are notes I took from Graham's book: You want chap. 12 and on. Greatest Software Ever Written 4254 i have numerous examples similar to that now ... earliest record that i have to hartmann and cms pipes is in 87 ... 6-7 years after the posted rex example. earliest customer reference is end of 88... Hackers & Painters: Big Ideas from the Computer Age --Paul Graham 1. Why Nerds Are Unpopular Their minds are not on the game. 2. Hackers and Painters Hackers are makers, like painters or architects or writers. 3. What You Can't Say How to think heretical thoughts and what to do with them. 4. Good Bad Atbreastude Like Americans, hackers win by breaking the rules. 5. The Other Road Ahead Web-based software offes the biggest opportunity since the arrival of the microcomputer. 6. How to Make Wealth The best way to get rich is to make wealth. And startups are the best way to do that. 7. Mind the Gap Could "unequal income distribution" be less of a problem than we think? 8. A Plan for Spam Till recently most expert thought spam filtering wouldn't work. This proposal changed their minds. 9. Taste for Makers How do you make great things? 10. Programming Languages Explained What a programming language is and why they are a hot topic now. 11. The Hundred-Year Language How will we program in a hundred years? Why no start now? 12. Beating the Averages For web-based applications you can use whatever language you want. So can your compebreastors. 13. Revenge of the Nerds In technology, "industry best practice" is a recipe for losing. 14. The Dream Language A good programming language is the one that lets hackers have their way with it. 15. Design and Research Research has to be original. Design has to be good. 1. Why Nerds Are Unpopular Their minds are not on the game. The word I most misunderstood was "tact." ... I vowed that I would never be tactful; they were never going to shut me up. ... 2. Hackers and Painters Hackers are makers, like painters or architects or writers. Programs should be written for people to read, and only incidentally for machines to execute. Abelson and Sussman Structure and Interpretation of Computer Programs 3. What You Can't Say How to think heretical thoughts and what to do with them. Always be questioning. 4. Good Bad Atbreastude Like Americans, hackers win by breaking the rules. 5. The Other Road Ahead Web-based software offers the biggest opportunity since the arrival of the microcomputer. 6. How to Make Wealth The best way to get rich is to make wealth. And startups are the best way to do that. 7. Mind the Gap Could "unequal income distribution" be less of a problem than we think? The Daddy Model of Wealth Stealing It The Lever of Technology An Alternative to an Axiom 8. A Plan for Spam Till recently most experts thought spam filtering wouldn't work. This proposal changed their minds. 9. Taste for Makers How do you make great things? Good design is simple. Something seems to come over people when they try to be creative. Beginning writers adopt a pompous tone that doesn't sound anything like the way they speak. Designers trying to be artistic resort to swooshes and curlicues. Painters discover they are expressionists. It's all evasion. Good design is timeless. Good design solves the right problem. Good design suggestive. Good design is often slightly funny. Good design is hard. Good design looks easy. Good design uses symmetry. 2 types: repebreastion and recursion (subelements) Good design resembles nature. Good design is redesign. Good design is hard. Good design can copy. Good design is often strange. Good design happens in chunks. Good design is often daring. 10. Programming Languages Explained What a programming language is and why they are a hot topic now. Machine Language High-Level Language Open Source Language Wars Abstractness Seat Belts or Handcuffs? OO Renaissance recognizes that libs can be more important than the core language 11. The Hundred-Year Language How will we program in a hundred years? Why no start now? 12. Beating the Averages For web-based applications you can use whatever language you want. So can your compebreastors. Eric Raymond's 5 learning languages (how to become a hacker) : Python Java C (Unix) Perl (sa and CGI) Lisp. Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot. --ER ... Would anyone serious argue that Cobol is equivalent in power to say, Python? ... The more IT flavor, the less dangerous the compebreastion was. The safest kind wanted Oracle experience. 13. Revenge of the Nerds In technology, "industry best practice" is a recipe for losing. What Made Lisp Different 1. Conditionals. 2. A function type. 3. Recursion. 4. Dynamic typing. 5. Garbage collection. 6. Programs composed of expressions. 7. A symbol type. 8. A notation for code using trees of symbols and constants. 9. The whole language there all the time. Problems: mixed languges, fewer libraries, trouble hiring. If you can't hire ten Lisp hackers, then your company is probably based in the wrong city for developing software. Erann Gat: what "industry best practice" actually gets you isn't the best, but merely the average. Appdx.: Common lisp Ruby Perl 5 Smalltalk Javascript Python Java 14. The Dream Language A good programming language is the one that lets hackers have their way with it. The Mechanics of Popularity legacy, hype, libs, envs. External Factors scripting, imple, book, examples, Succinctness lazy users, less extraneous, abstract, avoid English It's a mistake to try to baby the user with long-winded expressions meant to resemble English. Cobol a dead end is notorious for this flaw. A hacker would consider being asked to write add x to y giving z instead of z = x + y as something between an insult to his intelligence and a sin against God. Hackability clean & dirty, second guess, Throwaway Programs turn out in an hr. Libraries profiler, social, Efficiency Time organic growth vs. big bang Redesign faith & skepticism committees The Dream Language 15. Design and Research Research has to be original. Design has to be good. In software: Always have working code. To get good design you have to get close, and stay close, to you users. You have to calibrate your ideas on actual users constantly. One of the reasons Jane Austen's novels are so good is that she read them out loud to her family. That's why she never sinks into self-indulgently arty descriptions of landscapes, or pretentious philosophizing. (The philosophy's there, but it's woven into the story instead of being pasted onto it like a label). If you open an average "literary" novel and imagine reading it out loud to your friends as something you'd written, you'll feel too keenly what an imposition that kind of thing is upon the read. In the software world, this idea is known as Worse is Better. Actually, there are several ideas mixed together in the concept of Worse is Better, which is why people are still arguing about whether worse is actually better or not. But one of the main ideas in that mix is that if you're building something new, you should get a prototype in front of users as soon as possible. The alternative approach might be called the Hail Mary strategy. Instead of getting a prototype out quickly and gradually refining it, you try to create the complete, finished product in one long touchdown pbutt. Countless startups destroyed themselves this way during the Internet Bubble. I've never heard of a case where it worked. What people outside the software world may not realize is that Worse is Better is found in throughtout the arts. In drawing, for example, the idea was found first in the Renaissance. Now almost every teacher will tell you that the right way to get an accurate drawing is not to work your way slowly around the contour of an object, because errors will accumulate and you'll find at the end that the lines don't meet. Instead you should draw a few quick lines in roughly the right place, and then gradually refine this initial sketch. In most fields, prototypes have traditionally been made out of different materials. Morale is the key to design. -- Greatest Software Ever Written 4255 snip Well, they have to figure that out at some point, if they're going to be successful...
|
||||
Greatest Software Ever Written 4250 Alt Folklore Computers from Newsgroups The #1 Usenet Provider on the Internet
|
||||