[ale] Hello World - in C# - in Mono - in Ubuntu is done

Ron Frazier atllinuxenthinfo at c3energy.com
Mon Sep 20 10:19:23 EDT 2010


Tim,

Gulp! Ouch!  OK, you make some very good points about this big chunk of 
cheese.  My goal is to have a basic but usable understanding of a 
commercially desirable modern language within 6 mo - 1 yr and be employable 
at a salary of $50 K or so.  I've been close to that level before in 
maintenance and troubleshooting or teaching.  I think it's doable.  I'm 
sure the rest will take longer!

See other comments in line below.

Ron

At 9/20/2010 12:06 AM -0400, Tim Watts wrote:
>Ron, I hope you're not expecting to be an expert in all of those areas
>in a year's time. Maybe I'm just a slug but if it were me I'd give
>myself 3-5 years. That's a big chunk o' cheese. If you're coming from a
>strong procedural programming background, just making object orientation
>click can take a while -- maybe 3 or 4 projects before the light really
>goes on (all those simple Shape/Circle/Square examples aren't much help
>once you're facing a real world design problem).

You mean there's anything else besides procedural !!!  Just kidding.  It's 
the modern syntax that really puts me off.  They don't even use the word 
function any more.  That's a method, right?  I'm not at all convinced that 
the new way to design software is the best.  Actually, I was starting to 
incorporate object principles in my Clipper code before I left that 
project.  I would embed local variables in the functions to hold status and 
state information, and then include parameter options so I could query and 
return them, sort of like an object.  I even built a global variable 
repository, in ram, where I could store things I wanted to retain after a 
local function would have gone out of scope and ended.  But, I never in a 
million years would have imagined syntax constructs like what I see in 
these new books and languages.  By the way, a GUI is when you put 15 
options (in colored text) on the screen and tell the user to press the key 
for the one he wants, right?  (Does that make me an old fart?  I'm only 45.)

>Once you (re)gain your basic programming bearings, I'd also like to
>suggest getting involved with a good quality open source project that
>interests you. Get on their mailing list. Look at their bug list and
>submit some patches with unit tests. It can provide you with good brain
>exposure. Plus it's good for the project, good for open source and good
>for your resume.

I think that's a really good idea.  Working on real world projects 
definitely helps.  One thing that infuriates me about the books, is that 
it's like trying to learn poetry by reading a dictionary.  Most of them 
never have you do any example programs which actually do anything.  Two 
refreshing exceptions are the "Head First" series from Oreilly, and the 
books published by Deitel and Deitel.

>My sense is that you don't just want to be a programmer. A programmer
>takes a specification and implements it in code. Whereas a software
>engineer may handle everything from articulating a problem to designing
>a solution to evaluating implementation techniques. In truth, all
>programmers are, to varying degrees, software engineers. But it's easy
>to get caught up in the details of learning "good implementation"
>without ever stepping back to learn the elements of "good design". Both
>are necessary. So along that line you might want to read a book or two
>by Martin Fowler.

You're right.  I've always said I don't want to design the nut on the panel 
of the space shuttle.  I want to design the shuttle.  I'd like to have one 
foot in the software engineering side and one in the programming side.  I 
don't want to get into managing people however - too unpredictable.  8-)

I'm looking up Martin Fowler on Amazon as we speak, er type, whatever.  I 
hear that "Code Complete" and "Beautiful Code" are good too.  So much to 
learn, so little time!

>Finally, this bit of wisdom has helped me numerous times along the way:
>"When your only tool is a hammer, all problems look like nails."

Very true.

>Best of luck.
>
>On Sun, 2010-09-19 at 21:00 -0400, Ron Frazier wrote:
> > Wolf,
> >
> > Thanks.  I also thought the discussion was interesting.  Although I've had
> > lots of programming training in school and past careers, the mountain of
> > knowledge required has been steadily growing.  Here's what I've discovered
> > that I need to learn in addition to the basics of the language, that I've
> > never learned before:
> >
> > - Object Orientation
> > - GUI
> > - Multi Threading / Multi Processing
> > - Web Site Programming
> > - SQL
> > - Encryption / Security
> > - Exceptions
> > - Debugging - I've done some before, but every language and development
> > environment is different.
> > - Performance Profiling
> > - Unit Testing
> > - Design Patterns
> > - Algorithms - Before, I just made up my own, except for things like
> > standard bubble sort, etc.
> > - Packaging / Distribution
> >
> > I think the task of becoming a programmer is 10 X harder than when I've
> > done it in the past.  It's actually very intimidating.  I just have to 
> jump
> > in and start.  Once I get a decent handle on one language, I hope to learn
> > others.  I may call you privately about how to get this done.  You're the
> > only one I know who's teaching this stuff.
> >
> > Ron
> >
> > At 9/18/2010 06:25 PM -0400, Wolf wrote:
> > >Ron
> > >I am glad you are on this list.  The question of "to C# or not to C#" has
> > >been a very interesting one with quite a number of dimensions to it.
> > >
> > >If I had an opinion, I would say, "Learn C#, because that is what you 
> want
> > >to learn.  Learn Python for how quickly you can prototype stuff in it.  I
> > >agree that C is a useful language, especially for embedded systems, and
> > >for its cross-platform-by-design aspects.  After you have a handle on
> > >programming generally and can see the underlying basis for stuff, look
> > >into cobol.  I know a person who had zero programming experience and a
> > >semester of cobol who got $30K part-time job fixing Y2K stuff.  You are
> > >better off in the smaller pool of higher-paying job reqs than in a larger
> > >pool of lower-paying jobs."  This is also why I suggest my students
> > >(mostly) specialize in the Unix/Linux side of things.  Windows system
> > >engineers are more commonly available, and I think that pushes the 
> price down.
> > >
> > >-Wolf
> >
> > [snipped]
> >
>
>________
>The best time to plant a fruit tree was twenty years ago. The second
>best time is today.
>-- Unknown


--------------------------
(PS - If you email me and don't get a quick response, you might want to 
call on the phone.  I get about 300 emails per day from alternate energy 
mailing lists and such.  I don't always see new messages very quickly.)

Ron Frazier

770-205-9422 (O)   Leave a message.
linuxdude AT c3energy.com



More information about the Ale mailing list