|My Favorite Languages|
Hello, you have reached the Rosetta Code user page for Larry Hignight. It was in sixth grade, while learning to program in BASIC and Logo, that I caught a pretty serious case of the computing bug and convinced my parents that I needed a personal computer. Sometime in 1998, I became interested in the Linux operating system and began frequenting the IRC channel of Loki Games, whose primary business was porting Windows games to the Linux platform. This led to my working as a beta tester on the Linux port of Descent 3 and writing a Linux StepByStep guide for installing SMPEG - The SDL MPEG Player Library on Caldera Open Linux.
I began working as a software developer in 2004 and have completed a number of projects in industry and academia: California State University Fullerton (~1 year), Boeing (~5 years), USC (research - 1.5 years while working at Boeing) and Embry-Riddle Aeronautical University (5 months). While at Boeing, I worked on teams responsible for a number of satellite programs, including DirecTV, XM Radio, Wide-Band Gap Filler (WGS), Global Positioning System (GPS), New Skies (NSS), and SSP (Boeing's internal name for the Future Imagery Architecture satellite system).Project Euler problems. Unfortunately, Project Euler doesn't support a public profile page, just a profile image, which I've included here (Note: The image will sometimes not appear due to bandwidth or permission issues -- I need to work on it). I also have LinkedIn and Facebook accounts.
Why Rosetta Code
I have always found well defined programming tasks to be an extremely beneficial learning tool for developers: whether it be learning a new language, a programming technique, a language paradigm, or simply a new type of problem. Not only does RC provide interesting tasks, but the diversity of the tasks, developers and programming languages is quite outstanding. This is especially true for developers interested in expanding their knowledge beyond mainstream programming languages. After all, you're not likely to benefit from a paradigm or language which you haven't been exposed to at some point. In that regard, most of the tasks that I've implemented on RC involve programming languages and paradigms that I haven't used extensively at work.
The table below contains links to the tasks and code that I've contributed to Rosetta Code along with additional information in the notes.
|Casting out nines||Common Lisp||First contributor||
|Compound data type||Common Lisp||First contributor||
|Function composition||Common Lisp||Added the compose macro||
|Guess the number||Common Lisp||First contributor||
|Guess the number/With feedback||Common Lisp||First contributor||
|Haversine formula||Common Lisp||First contributor||
|Higher-order functions||Common Lisp||Added the CL library examples||
|Kaprekar numbers||Common Lisp||Added a 2nd implementation||Reasons for the addition:
|Pancake sort||Common Lisp||First contributor||
|S-Expressions||Common Lisp||Replaced the original implementation||I consider this to be my best contribution:
My Favorite Computer Science Quotes
Thankfully, the field of computer science is full of amusing, quotable personalities. Below are some of my favorites... Enjoy.
My Favorite Quotes by Edsger Dijkstra
- The required techniques of effective reasoning are pretty formal, but as long as programming is done by people that don't master them, the software crisis will remain with us and will be considered an incurable disease. And you know what incurable diseases do: they invite the quacks and charlatans in, who in this case take the form of Software Engineering gurus.
- How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but a crucial matter that decides between success and failure?
- LISP has been jokingly described as "the most intelligent way to misuse a computer". I think that description a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.
My Favorite Quotes by Alan Kay
- Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
- Actually I made up the term "object-oriented", and I can tell you I did not have C++ in mind.
- OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.
- I don't know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras.
My Favorite Quotes by Larry Wall
- By policy, LISP has never really catered to mere mortals. And, of course, mere mortals have never really forgiven LISP for not catering to them.
- The camel has evolved to be relatively self-sufficient. (On the other hand, the camel has not evolved to smell good. Neither has Perl.)
- A Perl script is "correct" if it gets the job done before your boss fires you.
Some Additional Quotes That I Find Amusing
- Beware of bugs in the above code; I have only proved it correct, not tried it.
- Donald Knuth
- Fifty years of programming language research, and we end up with C++?
- Richard O'Keefe
- I have a pretty major problem with a language where one of the most common variables has the name $_
- Brian Hook
- Some people, when confronted with a problem, think "I know, I'll use sed." Now they have two problems.
- Jamie Zawinski
- C is quirky, flawed, and an enormous success.
- Dennis Ritchie
- Haskell is faster than C++, more concise than Perl, more regular than Python, more flexible than Ruby, more typeful than C#, more robust than Java, and has absolutely nothing in common with PHP.
- Audrey Tang
- If I were chained to a bench and 'perl' was the only thing that could open the lock, I'd probably cut my hand off.
- Gerald Penn
- The Largest Disservice to LISP is most frequently done whenever a LISP advocate opens his/her mouth. LISP advocates have been, in my limited and biased experience, some of the most arrogant and condescending bastards in the world. (…) I have heard more than one LISP advocate state such subjective comments as, "LISP is the most powerful and elegant programming language in the world" and expect such comments to be taken as objective truth. I have never heard a Java, C++, C, Perl, or Python advocate make the same claim about their own language of choice.
- Comment on Slashdot
- Response: "To be fair, the Java, C++, C, Perl or Python advocate wouldn't have much of a case..."