Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Re-entering Programming Options

10 views
Skip to first unread message

Tesseract

unread,
May 13, 2012, 12:36:54 AM5/13/12
to
"Prof. Godel Fishbreath" <seanearly...@hotmail.com>
was almost talking to himself on google groups because it is not getting
out to the wide world (AGAIN!) (try eternal-september)

> Well, I was a programmer for a few decades.
> Fortran, assembly, C, Enough C++ to recognize the thought pattern
> when
> I found it in assembly.
> It has been a decade without a programming job, and without
> substantial programming.
> I want to reboot, restart, re-learn.
> Starting with the basic fun of programming, create a game whose
> overall plan was abandoned like a blocked novel the time I tried to
> use it to learn Modula-2, when that was fresh and new.
> And I will learn Python. Some of the books on that language say that
> they will teach good programming. Well, they at least give hints.
> And I am wondering if there are any urls or books that would give me
> an understanding of the modern process of creating a program. Not
> language books, not 'Structured Rapid Prototyping' which IIRC is
> about
> programming methods,
> *but how to parse a problem into a program. *
> My own start was creating programs in Fortran and Basic. So,
> according
> to an authority, I was a ruined ex-virgin from the start. I can
> reboot
> on that. So I am going to re-read a book on programming patterns. It
> was nice the first time, but hard to apply.
> Got any suggestions?
> And is Object Oriented the latest thing? Has nothing replaced it? Is
> it still considered the best thing since whenever?

For Programming Style, it is Structured Programming all the way. The
buzz phrase is "Don't use gotos".Google Edsger Dijkstra and Structured
Programming.
http://en.wikipedia.org/wiki/Edsger_W._Dijkstra

Object Oriented Programming is ubiquitous. Though it didn't start with
C++, it is the reason C++ exists. Java would not exist without it. It is
part of Java Script, which is part of most web pages. It is even part of
Visual Basic: Microsoft has object oriented interfaces to most (all?) of
their products. Of course, it is part of just about every new
programming language.

As for the bigger problem of program design, the buzz words are
Structured Analysis and Design
Object Oriented Analysis and Design
Unified Modelling Language -- UML
Google them. Here is something that I just found:
http://www.slideshare.net/mksaad/structure-vs-object-oriented-analysis-and-design


For project management, the current hot topic is Agile Development.

--
Tesseract

Prof. Godel Fishbreath

unread,
May 13, 2012, 1:32:30 AM5/13/12
to
On May 12, 9:36 pm, Tesseract
> Programming.http://en.wikipedia.org/wiki/Edsger_W._Dijkstra
>
> Object Oriented  Programming is ubiquitous. Though it didn't start with
> C++, it is the reason C++ exists. Java would not exist without it. It is
> part of Java Script, which is part of most web pages. It is even part of
> Visual Basic: Microsoft has object oriented interfaces to most (all?) of
> their products. Of course, it is part of just about every new
> programming language.
>
> As for the bigger problem of program design, the buzz words are
> Structured Analysis and Design
> Object Oriented Analysis and Design
> Unified Modelling Language -- UML
> Google them. Here is something that I just found:http://www.slideshare.net/mksaad/structure-vs-object-oriented-analysi...
>
> For project management, the current hot topic is Agile Development.
>
> --
> Tesseract

Thank you for your reply.
The languages mentioned change, the concepts that are hot really have
not.
I should check into UML.
And thanks for the advice.
Godel

Prof. Godel Fishbreath

unread,
May 13, 2012, 1:34:00 AM5/13/12
to
On May 12, 9:36 pm, Tesseract
<hypertesseractBECAUSE_IT_MUST_BE_H...@verywarm.com> wrote:
> Programming.http://en.wikipedia.org/wiki/Edsger_W._Dijkstra
>
> Object Oriented  Programming is ubiquitous. Though it didn't start with
> C++, it is the reason C++ exists. Java would not exist without it. It is
> part of Java Script, which is part of most web pages. It is even part of
> Visual Basic: Microsoft has object oriented interfaces to most (all?) of
> their products. Of course, it is part of just about every new
> programming language.
>
> As for the bigger problem of program design, the buzz words are
> Structured Analysis and Design
> Object Oriented Analysis and Design
> Unified Modelling Language -- UML
> Google them. Here is something that I just found:http://www.slideshare.net/mksaad/structure-vs-object-oriented-analysi...
>
> For project management, the current hot topic is Agile Development.
>
> --
> Tesseract

That url looks useful. I will check out the books listed.
Again, thanks,
Godel

Prof. Godel Fishbreath

unread,
May 13, 2012, 1:52:43 AM5/13/12
to
On May 12, 9:36 pm, Tesseract
<hypertesseractBECAUSE_IT_MUST_BE_H...@verywarm.com> wrote:
> "Prof. Godel Fishbreath" <seanearly...@hotmail.com>
> was almost talking to himself on google groups because it is not getting
> out to the wide world (AGAIN!) (try eternal-september)
>

> Tesseract

Actually I posted in several locations. The post to Yahoo Answers was
first answered, and answered in a way that tried to answer 'how to get
a job as a restart programmer'. Still it was interesting.

I am interested in getting a job as a restart programmer, but I want
to sneak up on this problem. I want to create a game and release it
for free. This will keep the process fun, which will greatly help me.
It will have something to showcase my work, and it will help me learn
Python.

Now if I could only find the bookmarks to some of those other
locations....
Eternal September you say? I had a connection to that a few OS changes
ago.
(Now that I run Linux, I change my OS in either upgrade or side grade
much more frequently. Some of the
recent upgrades have made me wiggle to find something better. Oddly my
laptop seems to have the perfect Linux OS for me, just have to pass up
any advances since say, last year. Ah well Linux, a great place to
explore user interfaces.)

Tesseract

unread,
May 13, 2012, 2:09:10 AM5/13/12
to
On 12-May-12 9:36 PM, Tesseract wrote:
> "Prof. Godel Fishbreath" <seanearly...@hotmail.com>
> was almost talking to himself on google groups because it is not getting
> out to the wide world (AGAIN!) (try eternal-september)
>

I believe that I talked you through Eternal-September once before. You
should be able to use it with Linux and you can use ThunderBird as a
newsreader client as it is suppose to work fine with Linux. The last
time that I looked, most Linux distros also have other newsreader
clients, so you should have a choice.

As a general observation regarding the current situation, at the moment
it appears that posts made to google groups do not go any farther. Posts
made to other news servers, such as eternal september, do show up on
google groups. It also appears that, for most of today, only you and I
are here. Where is everybody else?


--
Tesseract

Prof. Godel Fishbreath

unread,
May 14, 2012, 12:14:12 AM5/14/12
to
On May 12, 11:09 pm, Tesseract
Oh, I did not know that. OK, yes, someone, likely you talked me
through eternal september.
So the only reason I quit was that GG was easy.
I can re-activate.
Thanks.

Prof. Godel Fishbreath

unread,
May 14, 2012, 12:16:25 AM5/14/12
to

Prof. Godel Fishbreath

unread,
May 14, 2012, 12:33:31 AM5/14/12
to
On May 13, 9:16 pm, "Prof. Godel Fishbreath"
<seanearly...@hotmail.com> wrote:
> Other replies to this:http://hardforum.com/showthread.php?p=1038721267#post1038721267http://groups.google.com/group/alt.callahans/browse_thread/thread/765...http://answers.yahoo.com/question/index;_ylt=AnVZ4P4GKvrJBT9gxIfjhjbs...
> And are you saying that my replies, via GG are not being seen as well
> as my initial posts?
> Godel

Note the course offered for free via hardforum. Fyi, and it has been a
bunch of good answers, the questions well worth posting.
Godel

Tesseract

unread,
May 14, 2012, 1:35:54 AM5/14/12
to
> > Other replies to this:
> http://hardforum.com/showthread.php?p=1038721267#post1038721267
> http://groups.google.com/group/alt.callahans/browse_thread/thread/765...
> http://answers.yahoo.com/question/index;_ylt=AnVZ4P4GKvrJBT9gxIfjhjbs...
> And are you saying that my replies, via GG are not being seen as well
> as my initial posts?
> Godel

I'm not saying anything about that; you'll have to follow that up on
your own.
I did follow the links and and the original questions did show up where
I assume
they were supposed to.

All I know for sure is that posts to Callahan's via google groups do not
show up on other usenet servers. So I am answering you by replying to my
own post after reading your post on google groups.

Thanks for pointing out that course. It look interesting. And some of
the links at the bottom to free resources and quite useful.

--
Tesseract

Barry Gold

unread,
May 14, 2012, 2:52:34 AM5/14/12
to
On 5/12/2012 9:36 PM, Tesseract wrote:
> "Prof. Godel Fishbreath" <seanearly...@hotmail.com>
> was almost talking to himself on google groups because it is not getting
> out to the wide world (AGAIN!) (try eternal-september)
>
>> Well, I was a programmer for a few decades.
>> Fortran, assembly, C, Enough C++ to recognize the thought pattern
>> when
>> I found it in assembly.
>> It has been a decade without a programming job, and without
>> substantial programming.
>> I want to reboot, restart, re-learn.
>> Starting with the basic fun of programming, create a game whose
>> overall plan was abandoned like a blocked novel the time I tried to
>> use it to learn Modula-2, when that was fresh and new.
>> And I will learn Python. Some of the books on that language say that
>> they will teach good programming. Well, they at least give hints.

YOu need to learn two things *in parallel*.

The first is a language. Take your pick of Java, Ruby, or Python. If I
were starting now, I'd probably choose Ruby (and learn Rails as soon as
I had the basics of Ruby down).

The second is object-oriented programming. Start with the Wikipedia
article, then follow the link "What is OOP"
Also read the OOP COncepts link, even though it talks about Java. Java
is what C++ should have been -- a pure, OO language, where C++ still has
pointers and leaves you thinking about memory allocation. In Java, you
don't think about that at all. Objects come into being when you "new"
them, and stick around until they are no longer needed. Then they get
garbage collected.

One reason I prefer Java to (e.g.) Python is that it uses dynamic typing
(figures out what type something is at the moment it is used). For
serious programming I prefer a strongly typed language like C, C++, or Java.

But languages with run-time types (like PHP, Ruby, Python) are easier to
learn, so there's something to be said for those. And having to start a
Java Virtual Machine every time you want to run a Java program
introduces a noticeable delay. Compare the time to run a Java applet in
your browser with the same algorithm written in ECMA-script (aka JScript
aka JavaScript).

Btw, most of the jobs I see advertised want LAMP: Linux/Apache/MySQL/PHP.

Now, while you're learning to use your chosen language effectively, you
also need to learn the _real_ parts of OO. Not just what an object is
and how to create and use one, but additional stuff that makes up the
heart of OOD & OOP. SO read the Wikipedia article on Software Design
Patterns and also the one on anti-patterns. And again, try following
some of the links from the "External Links" section.

If you want to be an effective OO programmer, you need to be fluent in
at least the following patterns:
Creational:
Factory
Abstract Factory
Factory Method
Singleton/Multiton

Structural:
Adapter
Bridge
Decorator
Facade
Flyweight
Proxy

Behavorial:
Command
Iterator
Strategy

If you are going to do operating system type work or anything else that
requires parallelism, you also need the concurrency patterns Balking,
Lock, Monitor Object, Scheduler. For web programming (the vast majority
of what I do), none of that matters, and the biggest thing is the
creational patterns and DAO (Data Access Object).

You can probably learn PHP from the online manual. To learn Java, I
would strongly recommend a book. I favor Dietel and Dietel, Java: How to
Program. Or the "tiger book" (has a tiger on the cover) titled simply
Java, from Oreilly.com

Since about 1990, whenever I've wanted to learn a language, i've found
the O'Reilly book with the name of the language as its title the best
thing around. I keep their PHP and Cascading Style Sheets books on a
shelf within arms reach of my keyboard. If I were still doing serious
Java work, I'd keep my Java books there too.

Also, when working with Java, keep a bookmark to the Sun Java references
in your browser:
http://docs.oracle.com/javase/6/docs/api/overview-summary.html
and
http://docs.oracle.com/javaee/1.4/api/overview-summary.html

I have the online PHP manual directly right on my bookmarks bar:
http://www.php.net/manual/en/index.php

But I don't recommend PHP if you are just learning OOP, because as I
said it's too easy to fall into old habits.

But note: nowadays I do most of my programming in PHP. PHP is easy to
learn. The disadvantage is that it doesn't enforce OO on you... it's
very easy to fall into bad habits -- using functions instead of objects,
passing function names as parameters instead of passing an object that
has the desired function as a method, etc. So even if you choose PHP,
you should learn OO in parallel.

Will Dockery

unread,
May 14, 2012, 5:46:56 AM5/14/12
to
On May 13, 2:09 am, Tesseract
This is what brough me here, it seems that Google Groups are
definitely disconnected from posting *to* the rest of Usenet, but
posts from Usenet are appearing here.

I wondered if this was a concious change made by Google Groups...
eventually to phase Usenet out of their groups?

--
Music & poetry from Will Dockery & Friends:
http://www.reverbnation.com/willdockery

Tesseract

unread,
May 14, 2012, 10:29:33 AM5/14/12
to
On 12-May-12 11:09 PM, Tesseract wrote:
Will Dockery wrote in google groups

> This is what brough me here, it seems that Google Groups are
> definitely disconnected from posting *to* the rest of Usenet, but
> posts from Usenet are appearing here.
> I wondered if this was a concious change made by Google Groups...
> eventually to phase Usenet out of their groups?

Since I can't see you on other news servers, I'll have to reply to my
own post.

Based on previous experiences with google, I doubt that they are
deliberately doing anything to cause the problem. If they are aware of
the problem, they are working to fix it. But, because of their superior
customer service model, they are not telling anybody anything. Their
system has improved so much from the last time that I looked that I
could not even find a way to tell them that their groups function is
broken. Anybody that is in a position to recommend cloud services --
paid or free -- should remember this exquisite customer service
experience when making any recommendations.

--
Tesseract

Prof. Godel Fishbreath

unread,
May 14, 2012, 4:42:16 PM5/14/12
to
Wow!
Thanks Barry!
I will track that wiki and other info down.
I may be shifting, I have signed up for an on line Ruby On Rails
course, recommended by some of the other places where I posted this.
Again, thanks,
Godel

Barry Gold

unread,
May 14, 2012, 8:02:09 PM5/14/12
to
On 5/12/2012 9:36 PM, Tesseract wrote:
> Object Oriented Programming is ubiquitous. Though it didn't start with
> C++, it is the reason C++ exists. Java would not exist without it. It is
> part of Java Script, which is part of most web pages.

OOP is *not* part of JavaScript. YOu can _do_ OOP in Javascript, but
it's a pain. YOu first have to create a template, then create a
function object for each method and assign it to a data member of the
template. Then you create "objects" using the templates.

You can do OOP in Javascript. But you can also do OOP in Perl, C,
Fortran, and Assembly Language. It's just a question of how much the
language helps you.

Javascript helps you a little bit less than Perl. (In Perl, once you
"bless" an object, other stuff can't see its data members. Not true in
JScript). A lot less than languages like C++, Java, PHP, Python, or
Ruby, which provide:
inheritance
encapsulation
polymorphism without having to write code that explicitly tests the
type of the parameter (except PHP, which has only dynamic polymorphism)


Tesseract

unread,
May 14, 2012, 11:47:59 PM5/14/12
to
When I said that JavaScript used OOP, I was think about the fact that it
uses an object model of the browser and web page to manipulate them, not
so much about defining new classes.

--
Tesseract

Barry Gold

unread,
May 15, 2012, 12:29:47 AM5/15/12
to
On 5/14/2012 8:47 PM, Tesseract wrote:
> When I said that JavaScript used OOP, I was think about the fact that it
> uses an object model of the browser and web page to manipulate them, not
> so much about defining new classes.

Okay. The DOM (Document Object Model). I'll buy that.

Prof. Godel Fishbreath

unread,
May 16, 2012, 12:01:38 AM5/16/12
to
I have started to re-read that patterns book. But I will have to fall
back to re-reading an OOD with UML book first, too much rust on my
practice.
And put off finishing Lee's book for a while.
Godel

Barry Gold

unread,
May 16, 2012, 2:05:51 AM5/16/12
to
You don't need UML to do OOP (or even OOD), but I'll agree that UML is
useful if you're looking for a senior software-engineering position --
one that involves designing new programs or things, rather than just
doing maintenance on existing programs or implementing somebody else's
design.

Prof. Godel Fishbreath

unread,
May 17, 2012, 12:07:20 AM5/17/12
to
Cinabar,
Sorry, this post is the one to cheer LISP, and say that many languages
are converging on LISP.
http://www.paulgraham.com/icad.html
It was at the bottom of one of the recommended articles.
I am reading them when I have the computer.
Godel

Prof. Godel Fishbreath

unread,
May 16, 2012, 11:53:12 PM5/16/12
to
It was the first OOP book that I brought to work. I am skipping the
middle UML chapters for now.


And this article seems to say that I should learn LISP anyway:
http://www.flownet.com/gat/jpl-lisp.html

Well, I may someday. Those productivity numbers are impressive.

Right now I want to get back into the fun part of programming. And
there is so much to learn. Which is also fun.

For jobs, well any programming position beats the alternatives. But I
may have to bet a better job to survive the studies needed to get back
into programming.

For a bit of encouragement, I recall a few engineers at Boeing Wichita
around 1980 who were contractors even past their retirement age. They
had to be contract, no one would hire them at that age, fearing that
they would hire and retire in the fastest cycle that they could
manage.

Prof. Godel Fishbreath

unread,
May 20, 2012, 2:42:13 PM5/20/12
to
Barry,
I have copied and stored your advice.
It was that good.
Thanks again.
Godel

0 new messages