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

Tim Watts tim at cliftonfarm.org
Mon Sep 20 00:06:15 EDT 2010


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).

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.

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.

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."

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]
> 
> 
> --------------------------
> (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
> 
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo

________
The best time to plant a fruit tree was twenty years ago. The second
best time is today.
-- Unknown




More information about the Ale mailing list