[clue] Budding SW Engineers

Charles W Downing chuckdowning at earthlink.net
Mon May 7 15:43:28 MDT 2012



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



More information about the clue mailing list