Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

03 May 2012

Python For Lisp Programmers - "Interesting"

This page seems like a good reference for those interested in Python and/or Lisp. Here is a quote (the first paragraph) from the page:

'This is a brief introduction to Python for Lisp programmers. (Although it wasn't my intent, Python programmers have told me this page has helped them learn Lisp.) Basically, Python can be seen as a dialect of Lisp with "traditional" syntax (what Lisp people call "infix" or "m-lisp" syntax). One message on comp.lang.python said "I never understood why LISP was a good idea until I started playing with python." Python supports all of Lisp's essential features except macros, and you don't miss macros all that much because it does have eval, and operator overloading, and regular expression parsing, so some--but not all--of the use cases for macros are covered.'
Python For Lisp Programmers

30 October 2011

Unequally Yoked - Reminder

An individual's personality affects his ability to perform particular job assignments: One of the bullets was ..... The best programmer was put in charge of a team of beginners. Not having the patience to tutor his people, he changed their code in the middle of the night! Although his designs were wonderful, his team neither enjoyed working with him nor learned much about programming.

Page 45 in Agile Software Development - Alistair Cockburn

Motivational Quote On Permission

Once again, I find myself pointing to the keyboard and saying get back to work and do your job the way you know you need to. Stop letting them make you compromise so much. Prove to them why you are so valuable and stop marching according to their defined instruction. Be the expert at how to do your job and manage your craft!

By Kevin Schlabach

Version Control By Example - Cool

Appreciation of good and pedagogical examples is one of my Learning Languages. A while back I came upon this website that offers a free book on version control. Everything from VCS (SVN) to DCS like Git and Mercurial is touched on in this document.

I have a quick link to Version Control By Example when I want to share Version Control or to learn something new. I even keep a pdf version on my laptop. Have a look and see if it is useful to you.

31 December 2009

"Programming: Principles and Practice Using C++"

"Programming is learned by writing programs."
-from the Preface page xxv of Stroustrup's new book on programming using C++.

Programming: Principles and Practices Using C++
by Bjarne Strousrup.

So far the first impression of the book, built from browsing and skimming, is that one could learn the essentials of programming and software construction while using the C++ languages. The book is based on a first year course that Stroustrup taught at Texas A&M University. It appears a lot of work and thought has gone into the course and book.

This is not a typical text book as Stroustrup says, "No. This is not a traditional Computer Science 101 course. It is a book about how to construct working software. ...... It is about programming (or more generally about how to develop software), and as such it goes into more detail about fewer topics than many traditional courses."

I look forward to studying several of the book topics that I have never really used or fully looked at while developing software. As a text book about programming then this may be an excellent book about programming and learning C++ at the same time. We will see how it goes as I work through the book.


02 July 2009

Where It All Began

My father was a computer programmer from the early 1960's until the early 1990's when he retired while in his early fifties. His journey began by learning to wire boards for an accountant after he got out of college in 1962. This skill landed him a job teaching high school data processing (or programming.) Then a year later he landed a job with General Telephone (GTE) as a beginning programmer and did that until retirement. His only programming classes were several weeks of training in the Dallas-Fort Worth area then the rest was on the job training.

Interestingly enough the replacement teacher, when Dad left the high school, ended up still being the programming teacher at the high school by the time that my sister and myself got there in the late 1970's and both of us took that class.

Other than what little (punch cards and COBOL) my Dad tried to show me about programming up until high school, this class was the first time I had a programming class. We learned BASIC on a Radio Shack TRS-80 (aka Trash-80), RPG, COBOL, and FORTRAN from a terminal connected to a state computer. I forget whether I was a sophomore or a junior when I started the class (either in 1979 or 1980.) We started off learning BASIC and then moved onto other languages of our choice from the list above. I only tried RPG and COBOL. Luckily I did not have to learn FORTRAN for a few more years and luckily stopped using it in around 1997. Interestingly, COBOL was a much more a Literate-like language which Knuth has promoted.

Our instructor made us use this form (on the left) to write out our algorithm. At the time on the TRS-80 you could type in your code and get it running. Then you either printed it out on a narrow ribbon paper or if you had a cassette tape you could save it to cassette. Then you had to type NEW to delete it from the TRS-80 and you were ready to type in another program. I would print the working code out on the ribbon paper and tape or glue it to the work sheet as seen to the left. This is the first BASIC code I wrote.



Here is a example of the ribbon print out. This was just about the longest program we wrote during the class. Most of the program exercises were simple and small. All very sequential in nature.









Looking through my notebook from this class I found an interesting exercise. It appears that the instructor wanted us to write a program to plot a sine curve and to calculate the area under the curve. What I find so interesting is the fact that at the time I had no idea what a sine function was or even the concept of the area under a curve. A few others in the class may have had a clue but not myself. Somehow I got through this class doing somethings I did not learn for another four or five years while I was in college trying to catch up to start taking some physics classes. I did not take trigonometry or calculus until several years (~1985) into college.


If you look closely enough you can see that I defined Pi as TT instead of PI. That was how naive I was in math....really.


Also note the TRS-80 is an interesting story in itself.

Now nearly thirty years later I am still at it but doing it for physics but this was where it all began.