REAL-WORLD COMPUTER PROGRAMMING FOR KIDS of ALL AGES
STEP 53: MORE LETTERS FROM OUR INTERNATIONAL READERS (EXTENDING ACROSS ALL BOUNDARIES OF TIME AND SPACE)
Let’s jump right into it – we have received several more fascinating missives from homo sapians (and other types of sapians) from across time & space:
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^
Hello, Mr. Shannon. I am writing you from a farm where I am learning how to cook and sew and suchlike things. Being kept very busy with all of that, I would be so pleased if you would tell me how much time I would need in order to also learn computer programming. Is it something that I would have to give my full attention to, ignoring all else, in order to make a success of it?
Rebecca Rowena Randall
Sunnybrook Farm
Riverboro, Maine
Thanks for your question, triple-R. Cooking is good, because who doesn’t like to eat? Sewing is good, because who but “Friends of a Textile-free Lifestyle” do not enjoy donning spiffy togs? But if you want to learn to program, I encourage you to devote a little of your spare time to it. It doesn’t have to dominate your time or your life. If you are motivated to learn how to code, simply keeping up with these Newsletters (3-5 per week), and experimenting on the side with personal projects will gradually bring you to your goal. Who knows – maybe someday you will write an app for robots to create dresses that you have designed? Or perhaps red checkered jackets with lobster-shaped lapels!
Feel free to ask specific questions about challenges you encounter along your learning path here, too. Remember, kids, folks, the email to use is idiolectable@gmail.com
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
I don’t mean to come off as too acidic in my criticism, but I take umbrage at your calling mistakes in programs “bugs!” It seems to me that using this phraseology is an insensitive pejorative aimed at denigrating those “little people” (I’m referring to Formicidae and suchlike sentient creaturess). Can’t you use something else to describe mistakes or problems in code?
Hank Pym
Omaha, Nebraska
Thanks for your question, Mr. Pym, and your concern for those who cannot speak up for themselves (ants, bees, wasps, and such). I can assure you that I have nothing against ants, as long as they stay on their farm or in the dirt outside, and I love bees for their pollinating prowess and the honey and wax they provide. I’m not so sure about wasps. But that’s beside the point. I will endeavor in future to substitute some other word for “bugs,” perhaps “boo-boo” or “mistake” or “anomaly.”
Note to readers: If you see another question from Mr. Pym in the future, it would be advisable to grab your dictionary (or open a tab in your browser at dictionary.com). There I found out that “umbrage” has nothing to do with umbrellas at all, and “Formicidae” is a fancy term for ants and related insects.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Sooner or later, my family is going to up and move to California. I am worried about my sister Ruthie and my brother Winfield. I hear there are a lot of people in California who really struggle to make a living. I don’t want my sister and brother to end up poor like we are when they grow up. By the way, Ruthie is 12, and Winfield is 10. I think learning computer programming would be good for them. Do you think they are too young to start learning it?
Rosasharn Judd
Sallisaw, Oklahoma
Hi, Rosasharn! It’s good to hear you are thinking about your siblings’ future. To answer your question: in a word, No. Ten or Twelve is not too young to learn about computer programming. Actually, I think 10 or even younger is an excellent time to begin learning the concepts and principles behind programming. Also, the logical thinking it will train them to use may help them in many other areas of life, too – even if they don’t end up choosing to become computer programmers. I hope you enjoy California when you get here!
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Say, mister, I had to ask my question at the bottom of the page because my dad said your email address was idiot lecturer@geemail.com, but when I sent my question there, I got an error message. Then I found out it was really idiolectable@gmail.com. I think you should let people know that!
Opie Taylor
Mayberry, North Carolina
Thanks for your efforts to reach out, Opie, and I’m glad you were able to figure out the real email address. I admit the email address is a little odd. “Idiolectable” stems from the word “idiolect,” which is a word that refers to each of us having our own way of talking.
How you speak is your “idiolect.” For example, even among English speakers, we can break it down into dialects, say the American dialect of English. Then even within America, there are regional dialects (southern, northeastern, western, etc.). Further still, there are dialects and acccents in certain cities or even neighborhoods. Your own family, or those in your household have, as you may have noticed, their own idiosyncracies of speech. And finally, you yourself say certain things, or commonly use certain words or pronounce them in a particular way, which is unique to you – that is your “idiolect.”
Programmers, too, have their own “idiolect” when writing in C#, or Java, or whichever computer language they use. They must strictly adhere to the rules of the language, it’s true (otherwise their program won’t compile), but how they approach the challenges – which parts of the language they are partial to and just how they use those parts – differs from coder to coder.
Anyway, please write us again with your original question!
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
I aim to become a teacher some day. Although I am personally most interested in the more traditional subjects (such as the so-called “three Rs” of Reading, wRiting, and aRithmetic), I do realize that learning something about programming is a good, if not almost necessary, thing for today’s scholars. As an introductory subject that I can learn myself and that would capture the interest of my scholars, what would you suggest?
Laura Ingalls
Mankato, Minnesota
Ms. Ingalls, your timing is impeccable! We are about to embark (beginning with the next Step) on Web Technology, and I believe the first section of that, in particular, is something that will be interesting, if not fascinating, to your “scholars” (we usually call them “students” nowadays, by the way) and is not overly technical. And with the tools available today to make this aspect of things an immediately interactive experience (with instant results), I believe both you and your pupils will enjoy this next part of the Journey.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Do the chickens have large talons? Asking for a friend. Just joking. I’m wondering if you can explain the difference between “adding” and “concatenating.” Concatenating has nothing to do with cats (felines), does it?
Alex the Gray Parrot
Brandeis University, Waltham, Massachusetts
Nice to hear from you, Alex! No worries, I can be dogmatic in assuring you that concatenation has nothing whatsoever to do with felines. I’d be glad to explain the difference between addition and concatenation. Although related, in a way, they are certainly distinct operations. Maybe some examples would help (“crash” means “That does not compute” which means “That won’t compile”):
Objects on which to Operate Added Concatenated
2+2 4 22
2+Two crash 2Two
I know that you are no birdbrain, Alex, and that should shed light on this question you had. It should be noted, too, that the data types involved differ. To add items, they need to be numbers (ints, doubles, etc.); to concatenate, they need to be strings. So a more realistic/precise table of the differences is:
Objects on which to Operate Added Concatenated
2+2 4 crash
“2” + “2” crash 22
2+Two crash crash
“2” + “ Two” crash 2 Two
2 + “Two” crash crash
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Gee, mister! You’ve shown all sorts of pictures of other animals, but you’ve never shown any Castors. I would like to see some building a dam, or chopping down trees, or something, and stuff.
Theodore Cleaver
Mayfield, Illinois
Thanks, Theodore. It’s true we haven’t shown any beavers busy at their customary occupations. We will keep it in mind for a future Newsletter. Keep your eyes as peeled as the bark on an Alder tree when your furry friends are fixing to fell them.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Warum ist alles auf Englisch? Ich will eine Computersprache auf Deutsch endlich sehen!
Heidi Spyri
Maienfeld, Switzerland
For those who can’t read German, Heidi is asking about why everything is in English, and yodels that she wants a computer language that is in German. It’s true, Frau Spyri, that C# and most computer languages are in Englisch (using keywords such as “if,” “else,” “continue,” “break,” “while,” “using,” “procedure,” “void,” etc.) but you can write your own variable names and such -- including comments, of course -- in German (or any other language you prefer). It is really just a handful of English words you will need to learn. I’m sure a clever girl like yourself can manage it without too much difficulty.
If your objection to “alles auf Englisch” is more due to national pride, you might be happy to know that the Pascal programming language was invented by Niklaus Wirth, a fellow Swiss person. Pascal was the language behind Delphi, and the architect of the Delphi language went on to create C#. So, you see, C# has Swiss roots, in a way!
Nebenbei bemerkt, I have relatives on my mother’s side (Kollenborn) who were apparently originally from Romanshorn, in der Schweiz, am Bodensee.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
My father works in the aerospace industry. I want to get into the programming side of things there. Which language would it be best for me to learn?
Richard “Chip” Douglas
Los Angeles, California
Historically speaking, the C programming language is big in suchlike industries (aerospace and other scientific areas). And, for better or worse, a lot of programming work involves maintaining existing systems: adding features to and fixing bugs anomalies in existing software, in other words old software, much of which was probably written in C.
However, of the languages we have used so far and will use in the near future here in this Newsletter, I can also recommend C# and Java.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
I want to dedicate my life to helping out with Civil Rights issues. Is programming something that would be of benefit for someone with those goals to learn?
Jean Louise “Scout” Finch
Monroeville, Alabama
Definitely, Jean Louise! Just as your brother Jem can do much to help people with his legal endeavors, you also – assuming you choose to learn computer programming – can provide needed support and assistance in that way. Every organization or firm of any size today uses, or can use (and probably should use) custom-designed apps to further their ends. It is preferable, too, that these are done in-house, so that the knowledge about the program and how it works is there. And when you work on something you truly care about (above and beyond a paycheck), it shows in the quality of the product.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Can software be used to solve old crimes (“cold cases”)?
Peter Parker
Queens, New York
Yes, of course. For example, the DNA which is now being examined to match those with that DNA to those who committed crimes in the past (sometimes many decades in the past) is made possible by the use of technology. And remember: there is no statute of limitations on murder. I’m sorry for your loss, and I hope you find the perpetrator of your uncle Ben’s murder.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Click squeak whistle creak squeak whistle creak click whistle creak click squeak creak click squeak whistle
Flipper
Florida Keys, Florida
I could not find a dolphin-to-English translation tool on “google translate”, but I will assume you’re asking about waterproof keyboards. Here’s one you might like:
Your pointy proboscis might work out just fine with that. I have tried the same approach, but with only partial success. You will probably fare better.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Deer Idiolectable, I haven’t thought up a question yet, I just want you to know that I’m learning a lot from your Newsletter and look forward to building a mobile app, so that I can show it to Flag.
Jody Baxter
Cross Creek, Florida
Jody, I think you spelled “dear” wrong. Thanks for getting the name of our company correct, though. Next up on our Journey is Web technology (HTML, CSS, JavaScript, along with C# and Visual Studio), but after that we will get into Mobile apps. Thanks for reading! Say “hi” to Flag, whoever he or she or it is...
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
It is not my intention to come across as confrontational, but why is it that people of color seem to be under-represented among programmers?
T’Challa
Wakanda, Africa
Thanks for your question, T. I’m glad you asked it. However, I don’t have an answer myself. In fact, I’ve often wondered about that myself. What I can say is that I hope, by means of this Newsletter, which is available to all, the programming community can become more diverse – which also involves including more girls and women!
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
Hey, Daddy-O! I don’t really want to work for someone else. I’m not sure anybody would hire me, anyway. Why would someone who feels as I do want to spend all the time and effort to learn programming?
Gregory W. Miller
New York City
It’s kind of hard to answer that without knowing why you feel that people would be averse to hiring you. But as for not wanting to work for someone else, there are other ways to carve out an exciting new career in programming other than “working for someone else.” As an example, you can create a web site that will be popular with people, or you could create a mobile app that a lot download. Those are both high-risk, possible high-reward scenarios. That is to say, you won’t die if they are not popular (will you?), and you probably won’t make as much money as the Angry Birds creator did, at any rate, but both ventures are high risk in the sense that your chance of making absolutely nothing is fairly high, and both are potentially high-reward because of the insane popularity of some sites and mobile apps. An upside (for you, anyway, Gregory) is that you do get to “call the shots” yourself (build whatever it is you want to build) and, if you want to, work by yourself.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
I just wanted you to know that when I was traveling through an Aborigine community the other day, I noticed that one of them had a copy of your book in their Tucker bag. You’re bad! You’re nationwide!
Matilda Walzer
Ooolooboolong, Australia
I think you mean I’m worldwide, but whatever. Now my question to you is, which book? Although both of us (Blackbird Crow Raven and myself) have written several books apiece, I am tempted to assume you mean the first compilation of this Newsletter, Real-World Computer Programming for Kids of All Ages: Vol. 1: Windows Forms Apps (Using C# and Visual Studio)
By the time you read this, though, the next volume in the series will be available, namely “Real-World Computer Programming for Kids of All Ages, Vol. 2: Database Design and Coding Using MySQL, C#, and Visual Studio.” So you’ve got me curious as to which book it was that you saw in the Aborigine’s Tucker bag.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
All down but nine—set ‘em up on the other alley, pard. You see, you've ruther got the bulge on me. Don’t put up another chip till I look at my hand. I reckon you’ve stumped me again, pard. Could you write about it over once more, and put it simpler?
Scotty Briggs
Virginia City, Nevada
Mister Briggs, I’m afraid I fail to catch your meaning. Just what is it that you are confused about? If you could be more specific with your next question, I will do my best to answer it. Please do us the favor of letting us hear from you again, but next time with a little more clarity about what it is exactly that you are experiencing difficulty understanding.
~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~^~~
That’s all, folks! We will publish another set of questions at the end of the next major Leg in our Journey, on Web Technology. Remember that you can send in a Question at any time. See the Ground-rattling communique about that just below.
Earth-shakingly Important Notice: If you have a basic programming question (suitable to an audience of “Kids”), send it to idiolectable@gmail.com, specifying whether you would like your name and location used if it is printed in a future “Step” of this newsletter. If you are a subscriber to the newsletter, you can also leave a question at the bottom of this Step, in the “Comments” section.
If you do not want to give your real name, a nickname is acceptable (the first “Letter to the Editor” of mine that was printed appeared in Rolling Stone magazine, back in the early 1970s, and I signed it “Sylvester” for some reason which I no longer remember).
Finally, it’s always interesting to see where people are from, so please provide your City or Town and the State it’s in, too (or Province, or whatever the region where you live is called).
To listen to this Step, the audio of it can be found here: