Re: How do *you* use arrays?
From: Bryan Reich [MSFT] (brreich_at_online.microsoft.com)
Date: 02/20/04
- Next message: Gene: "Access & .Net and linked tables"
- Previous message: anonymous_at_discussions.microsoft.com: "Re: Chcek if Form Field Exists"
- In reply to: david epsom dot com dot au: "Re: How do *you* use arrays?"
- Next in thread: Paul Overway: "Re: How do *you* use arrays?"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 20 Feb 2004 11:31:43 -0800
I too am quite conservative David, but it seems my conservitism manifests
itself differently than yours. I want to know how something really works so
that I can appreciate the costs and benefits of the abstractions that are
provided for me so I can make the best decision for my solution from this
information. If a developer doesn't know the underlying details of the
system or abstraction he is using, he can't possibly make good decisions as
to what abstraction truly fits his needs.
The fact is, as you mentioned, all computing is based on arrays at some
level. So how can you be as effective a programmer not knowing about them as
opposed to knowing about them? I'm not arguing about teaching methodologies
here, I am all for using generalizations, specific examples, visual
learning, auditory learning, etc to get the point accross to all different
kinds of people. But what I simply can't embrace is the leaving out of the
material entirely.
-- Bryan "david epsom dot com dot au" <david@epsomdotcomdotau> wrote in message news:40353338$0$27649$61ce578d@news.syd.swiftdsl.com.au... > I am a professional developer, and I was a professional teacher > teaching electronics. Both as a teacher and as a developer I > try to be aware of different ways of handling ideas. I am also, > for my sins, deeply conservative, and was never very good at > those 'thinking outside the box' exercises. In compensation, > I've always been good at knowing more about the different ways > of handling the same problem: I think a good conservative knows > the solution domain and is not wedded to a small part of it. > > I would ALWAYS consider leaving things out of an introductory > course, and I would ALWAYS consider alternatives to the > pervasive explanations and nomenclature, and I would ALWAYS > consider the use of both generalisations and specific examples. > > I personally visualise memory as a picture, so linguistic > representations don't help me with the underlying concept > of memory layout. And if you've ever had a colleague who > thought in kinetic terms (eg dance) you will understand > that you have to offer a range of different representations > when teaching, and you shouldn't consider any representation > as 'fundamental' when you are designing a course of > instruction. > > Designing a course of instruction is similar to designing a > program in this way: you can choose different fundamental > design elements, and after you have chosen them they force > the direction of the rest of the development, but the devil > is in the details, and sometimes it is a good idea to spend > some time considering what affect your fundamental design > choices are going to have on the ultimate outcome... > > > (david) > > PS Regarding strings: in a von Neumann architecture, everything > is a string (including arrays), modern hardware implements > that on row/column memory, translated by the chipset to grouped > random access, virtualised by the operating system as linear > address, virtualised by the programming language as types, > virtualised by the program as representational objects. At > what level is the 'array' syntax and keyword fundamental? > > > "Bryan Reich [MSFT]" <brreich@online.microsoft.com> wrote in message > news:OYZVeFo9DHA.2472@TK2MSFTNGP10.phx.gbl... > > Am I the only professional developer cringing at the thought of leaving > out > > the fundamental concept of arrays in a GENERALIZED and BASIC programming > > course? It is fairly accurate to say that arrays don't have to be used > much > > in a scripting environment like VBA, but the concept of an array is so > > pervasive throughout programming, both in practice and in understanding > the > > underlying concepts of memory layout and such, that I would NEVER suggest > > leaving it out of an introductory course. Besides, what if they have to > turn > > around and program in C# or *gasp* C or C++ and all of a sudden have to, > at > > the very least, deal with the command line argument array in main? If your > > goal is to prepare these students for possible future programming in > > undertermined languages in undetermined applications, I would strongly > > advise not brushing off array concepts. I mean, look at strings! They are > > really arrays and the string access symantics are often the same at least > > conceptually if not actually, particularly when used in commercial > > applications where performance becomes an issue. > > Anyway, I'm sure I'm coming from a different world with the kind of coding > I > > do, but trust me that the code I wade through every day here at work uses > > arrays in one form or another handily. :) > > -- > > Bryan Reich > > Microsoft Office > > -- > > This posting is provided "AS IS" with no warranties, and confers no > rights. > > Use of any included script samples are subject to the terms specified at > > http://www.microsoft.com/info/cpyright.htm > > > > > > "Albert D. Kallal" <pleasenonosspammkallal@msn.com> wrote in message > > news:hxMYb.550856$X%5.86011@pd7tw2no... > > > Here is some code from ms-access that I used for analyzing and playing > > black > > > jack: > > > > > > Type OneHand > > > FirstCard As Integer > > > SecondCard As Integer > > > AceCount As Integer > > > BlackJack As Integer > > > bet As Integer > > > HandTotal As Integer > > > TotalBet As Single > > > End Type > > > > > > Public Players(7) As OneHand ' the 7 players > > > Public Dealer As OneHand ' the dealer > > > Dim SplitsHands(14) As OneHand > > > Dim SplitPtr As Integer > > > Dim BlankHand As OneHand ' used to "zero" a hand > > > > > > Dim Deck(208) As Integer ' our 4 decks > > > > > > You can see how usefull The above arrays are. > > > > > > With the above, the code to deal out cards is: > > > > > > 'Give One card to the 7 spots, and setup the player bet > > > > > > For Spotptr = 1 To 7 > > > Players(Spotptr) = BlankHand 'zero his info & set bet > > > Players(Spotptr).FirstCard = NextCard(Players(Spotptr)) > > > Players(Spotptr).bet = BlankHand.bet > > > AmountBet = AmountBet + BlankHand.bet ' running total of amounts > bet > > > Next Spotptr > > > > > > > > > -- > > > Albert D. Kallal (MVP) > > > Edmonton, Alberta Canada > > > pleasenonoSpamKallal@msn.com > > > http://www.attcanada.net/~kallal.msn > > > > > > > > > > > >
- Next message: Gene: "Access & .Net and linked tables"
- Previous message: anonymous_at_discussions.microsoft.com: "Re: Chcek if Form Field Exists"
- In reply to: david epsom dot com dot au: "Re: How do *you* use arrays?"
- Next in thread: Paul Overway: "Re: How do *you* use arrays?"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|