[clue] Budding SW Engineers

Stephen Queen svqueen at gmail.com
Mon May 7 15:51:35 MDT 2012


On 5/7/12, Charles W Downing <chuckdowning at earthlink.net> wrote:
>
>
> On 05/07/2012 02:46 PM, Lorin Ricker wrote:
>> -1 on C -- er, I agree with Dennis.  C is *not* the best place to start,
>> and subsequent exposure to it, tho' a good idea, should be based on a
>> solid "how to do it right" groundwork in a language that doesn't sport
>> C's warts.  In the good-ol'-days, we used Pascal for that purpose (and
>> did hundreds of thousands of lines of code in Pascal for
>> industrial-strength applications) -- today, I'd still recommend Pascal
>> as a great intro language, just because it emphasizes so many of the
>> basics and right conceptual habits.
>>
>> Ruby's also a great place to start -- as long as you don't get lost in
>> the weeds of Object Oriented (OO) during the intro phases.  I'll be
>> trying to convey a good sense of this during our forthcoming "Intro to
>> Ruby" class, tentatively set for mid-June (and we'll be announcing the
>> set date clearly here and elsewhere, so stay tooned!).
>>
>> I "grew up" in coding in assembler, and it really does help to know what
>> a compiler or dynamic interpreter of<insert your favorite language
>> here>  boils your high-level programming statements into so the CPU/HW
>> can actually execute your algorithm/program.  My very first professional
>> application was for a real-time fire alarm monitoring system, done in
>> 1024 bytes (yes, kids: that's 1Kb) of ROM and 512 bytes of scratch-pad
>> memory, all on a Motorola 6800 (yup, just two zeros).  Now *that's*
>> "tight code."  Used to walk to school barefoot, backwards and uphill
>> both directions, when I was a kid, too! ;-)
>
> Yeah, you must have lived where there was no snow.
>
>>
>> Fortunately (maybe not so much), memory's a lot less precious/expensive
>> now-a-days, so that same fire alarm monitor would likely be written in
>> Forth, or even in Pascal, C or Ruby, with a lot more assumed overhead,
>> acres of disk and RAM, and enormously more powerful (faster) CPUs to
>> compensate for it all.
>>
>> I've written code productively in at least 20+ languages -- to a first
>> approximation, "all programming languages are alike", and it never seems
>> a big deal to pick up another one.  However, starting with a "right"
>> language can really help a novice coder to get many of the basics right,
>> and the "wrong" one can make comprehension of the correct principles
>> much harder.  As the Knight said to Indiana Jones when he picked up the
>> Carpenter's Cup: "You've chosen wisely, my son."
>>
>> best regards,
>>     — Lorin
>>
>> On 05/07/2012 01:03 PM, dennisjperkins at comcast.net wrote:
>>> I don't know if C is a good first language. In addition to learning
>>> basic programming principles, you must also deal with pointers, work
>>> around C's not having strings as a basic type, etc. And you also need to
>>> compile, which is one more thing to do. Focus on the basics first, then
>>> expand your knowledge.
>>>
>>> I do think C is a good second language. But then, I think software
>>> engineers should also learn assembly language, not because they will
>>> ever use it, but because it exposes them to where hardware and software
>>> meet at the most basic level.
>>>
>>> ------------------------------------------------------------------------
>>> *From: *"M Paul Webb"<hsechmvt at yahoo.com>
>>> *To: *"CLUE's mailing list"<clue at cluedenver.org>
>>> *Sent: *Monday, May 7, 2012 12:45:45 PM
>>> *Subject: *Re: [clue] Budding SW Engineers
>>>
>>> I've always heard that it is best to begin with some form of C. You
>>> don't think so? I don't know program language, but the basics do not
>>> look difficult. However, what I'm wondering is -- if I invest some time
>>> to learn a language, then what can I do with it? If there were something
>>> fun or practical, I might look at some books.
>>>
>>> ------------------------------------------------------------------------
>>> *From:* Raymond DeRoo<rderoo at deroo.net>
>>> **To:** CLUE's mailing list<clue at cluedenver.org>
>>> *Cc:* Max G. Allen<mgallen at thegeek.nu>; David T. Willson
>>> <dtwillson at thegeek.nu>
>>> *Sent:* Monday, May 7, 2012 12:10 PM
>>> *Subject:* Re: [clue] Budding SW Engineers
>>>
>>> David:
>>>
>>>      I can'tcount the number of times I've been asked, "What is the best
>>>      programming language? Which one should I learn first?"
>>>
>>>      Learn them all, but start with Python, because it's easy, fun, and
>>>      highly capable out-of-the box.
>>>
>>>
>>> And one of few where indentation matters. :)
>>>
>>>      Next, if you want to get further away from the OS, go Java. If you
>>>      want to get closer to the OS, go bash.
>>>
>>>
>>> I think Java or C, bash isn't a programming language and is further from
>>> the OS than Java. ( even taking into account the JVM )
>>>
>>>      And enough JavaScript and perl to get by on.
>>>
>>>
>>> I would have to say the JavaScript is an absolute must unless that have
>>> no desire to write Internet related code. So many technologies today are
>>> making use of javascript ( node.js, mongodb, html5, etc ) that anyone
>>> not learning JavaScript today is doing themselves a huge disservice.
>>>
>>> Cheers,
>>> Raymond
>>>
>>> _______________________________________________
>>> clue mailing list: clue at cluedenver.org<mailto:clue at cluedenver.org>
>>> For information, account preferences, or to unsubscribe see:
>>> http://cluedenver.org/mailman/listinfo/clue
>>>
>>>
>>> _______________________________________________
>>> clue mailing list: clue at cluedenver.org
>>> For information, account preferences, or to unsubscribe see:
>>> http://cluedenver.org/mailman/listinfo/clue
>> _______________________________________________
>> clue mailing list: clue at cluedenver.org
>> For information, account preferences, or to unsubscribe see:
>> http://cluedenver.org/mailman/listinfo/clue
>>
>
> --
> Chuck Downing
> Highlands Ranch, Colorado USA
>
> _______________________________________________
> clue mailing list: clue at cluedenver.org
> For information, account preferences, or to unsubscribe see:
> http://cluedenver.org/mailman/listinfo/clue
>


More information about the clue mailing list