[Afer the fact I notice this has become a rather wordy 
message, mainly due to my difficulties to express myself 
clearly in plain English; please ignore at at will.]


On Tue, 14 Jun 2016 14:14:15 -0400, Steve Litt wrote:

> You and I have a difference of beliefs concerning learning. You believe
> in foundation-first learning, and I believe in just-in-time learning.
> Either works, in the hands of the right practitioner. 

I'm not sure we're actually _that_ different. I had (and still 
have) to do a lot of just-in-time learning. However, and that 
to me is *extremely* important, I feel the need to not only 
quickly learn *how* to do something to get the job done, but 
to actually understand *what* I am doing, and what the possible 
repercussions are of doing it one way or the other. The reason 
behind that need being nothing less than the urge to feel 
confident enough that I did everything in my power to avoid 
major damage being caused by my code when released in the wild. 
(No, it's not that I ever wrote code for avionics or medical 
appliances, not do I intend to, but I'm always concerned about 
some person getting physically hurt by my code failing.)

If I'd be content with just scraping by with gathering just 
enough knowledge to somehow make the darn thing appear to work 
at first glance, kick it out the door and job done, I would 
never have written a single line of quality code in my life. 
Just to be clear, and truth be told: I've certainly produced 
my good share of b6t code over the years. But there are pieces 
that I am proud of, because not only can I reproducibly proof 
/that/ it works, but also rationalize /how/ and /why/ it works. 

What I am trying to say (and it's surprisingly difficult for me 
to explain it in English), is that unless you're overly pedantic 
you'll only ever produce bush-league code. And even *if* you 
are overly pedantic, there are still enough errors lingering 
in your code, because to err is human.  But, to be pedantic 
about something, you'd have to know why that something is what 
it is, and how it came to be what it is. If e.g. compiler 
writers or kernel developers weren't as pedantic as they are, 
we won't even have a foundation to build an operating system on.

> All these approaches, whether in code or in learning, are useful in some
> situations. You have decades of C, and perhaps knew C would be your
> major career, so you had time to learn the foundations. 

I was young. I had the time. I needed the money. My career was 
supposed to be that of a chemical engineer. Go figure! ;-)

> On the other
> hand, I was always a hired gun writing the software the client wanted
> in the language he wanted, so I had to learn quick. Also, I have a
> feeling that your memory is both broader and longer lasting than mine.
> There are only so many fundamentals I can remember.

I guess I was always eager to learn not only how things are, 
but also why they are the way they are. My memory has never 
been the best, but I've probably penetrated my simple brain 
with enough information that inevitably some pieces had to 
stick. Or at least some vague knowledge of where to retrieve 
those pieces from, should I ever forget. Even nowadays, while 
programming, I always have a terminal window with some manpage 
open, and a hardcopy of the C standard is always in my arms 
reach.[1]  As I said, I'm sure we're not that different. It's 
just that I'm very insecure, at the brink of being paranoid, 
when it comes to hand over some piece of code, and take 
responsibility for it. Hence the "worked for me yesterday for 
at least five minutes and half a reboot" attitude just won't 
cut it for me. 

Remember Weinberg's Second Law?
 | If builders built buildings the way programmers wrote 
 | programs, then the first woodpecker that came along 
 | would destroy civilization.  

My goal has always been to defeat Weinberg's Second Law to the 
extent possible. To reach that goal I have to have learned the 
basics, no matter if I did it in advance, or do it on the fly 
while already in stuff up to my elbows. The point being: You 
cannot replace basic knowledge, as there is no silver bullet. 
That's BTW something the ancient Greeks knew as well. (That last 
remark is actually intended to be a tongue-in-cheek sideswipe at 
Hendrik's argument from another post in this thread. ;-)

> It feels like Edward's trolling because his actions are completely
> counter to your beliefs, but in my opinion it's just a different in
> beliefs.

No, to me it felt like he's trolling because he at times appears 
to just ignore whatever amount of information is thrown in his
direction, without having the actual expertise necessary to 
assess the potential value of said information. I now understand 
he's not actually trolling, but apparently simply content with 
writing bad code. Not sure if that's any better WRT the end 
product, but at any rate it at worst qualifies as ignorance, 
probably just forgivable lack of focus, but at least in no way 
as malice, fortunately. 

> This is a pretty cool group, and I think discussions like this one make
> us sharper every day.

[SARCASM]
I have the uneasy feeling I got a bit blunter the past 15 minutes. 
[/SARCASM]

[1] Heck, I even have a dictionary page open right now as I write 
    this post, as my English has always been wonky, and it's been a 
    long day. And no, I feel not in the least embarrassed by that 
    fact, because I know it will improve the quality of the product.
    And, at the end of the day, that is what matters.

Regards
Urban
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to