I'm still very amused by bigotry. I used to be a Mac bigot. Then I realized how much work I could get done in a different environment, and I started to use both OS's to maximize productivity. When I was building a barn with my father, I wound up using both a 28-oz framing hammer and 16-oz claw hammer. I'm not implying that one OS was "bigger" than the other... I just used both effectively. Plus, I loved the "singing" of the framing hammer...
My reaction to this graphic: my goodness that's cute! I printed out a copy and put it on my Linux-bigot buddy's chair.
I don't think it makes the Linux community look lame at all. I think "tux" needs some tatoos... an earring maybe... show some teeth... start dating a biker chick...
They make mention of a "virtual immune system" injected into your blood stream. This is anything but virtual. It may be "synthetic", "ancillary", "supplimentary", or" "replacement" but it is not "virtual".
"Improved-solids potato?" A starchy laxative substitute?
I like how they personify foods, as in this quote: "A huge part of the joy of the villains, Ice Cream and Fudge Sauce, is that they have no intention of improving the quality of our lives; they represent unrepentant decadence." I once at 14 fudge-cicles at a sitting... and then 10 the next evening. Decadence? No. Flatulence? Ahhhh yeah...
Vaccines in bananas = healthier primates. Elevators that move laterally as well as vertically... complete with "candy-hooks" and and Oompa-Loompa attendant.
I'm not digging this "interest tracker"... an application that tracks eye movement to see what your interest is drawn to on the web page you're looking at. My data would read "eyes moved off-screent: interested in co-worker's ass."
A "wristwatch that brings the world to you" does not exactly "put the world at your finger tips." Dick Tracy's Watchphone was killer. Web browsing on your wristwatch is prohibitive. I kind of liked the "Demolition Man" idea of subdermal chip on the back of one's hand used for such things as opening doors, buying things, receiving fines for swearing, etc. I would like to see a watch that monitors blood-sugar and can interface with an insulin/glucose which regulates blood-sugar. The make mention of a heart-rate monitor... how about an adrenaline monitor? As your angst rises, your watch can scream, "Watch out! He's gonna kick your ass!" A libido monitor?
A little out of context fun: "My parents got me this last year," says Tanimoto, showing off her small, silvery accessory. "It's surprising how quickly it has become a necessity;..." What are the Japanese parents teaching their children?
Captain Kirk didn't use phasers to kill enemies? Why the different settings, or is the TNG? "Set your phasers to 'Hemmorhoid'. We don't want to kill anyone, just make their sphincters burn a little."
That brain-electrode thingy rocks. Why not insert electrodes into the speech-core (Boca's area? I forget) and perform speech recognition? Hook it up to that USB speech-to-text device I mentioned somewhere else. You could have to worlds first USB human. We could learn what dogs are saying! YES!
This brain cursor thing rocks. It's talking about the onscreen cursor becoming a part of the test subject. That's absolutely amazing to me. If they could provide him feedback (so booting into Windows caused pain...oh wait, it does...)
Evidently, by the jist of this article, when my watch is screming, "He's going to kick your ass!", I will be imaginging myself kicking some ass, and actually living the fantasty! Rock On!
Believe me, I know I don't add anything to this dicussion, I just like to tell people, "I'm published on the Internet!"
A couple years ago, I thought it might be cool if Microsoft started to develop a window manager for Linux... I thought it'd be cool for Apple to do the same.
I love the idea of the "Windows Migration Kit"...
The author speaks to Windows NT successful banishment of the command-line-interface (CLI). When I got my first GUI, I tried to do as much as I could with it... I soon found how little that was. Apple has always let the field in the Human Factors department (except for their drop-down select boxes... what the hell are they thinking? sorry).
It's my belief that CLI's will not be replaced by anything than a more efficient way to issue complex commands to your computer, such as speech-to-text. Why hasn't anybody developed an USB device that handles speech-to-text and minimizes the processor requirements?
I am very interested to see how easliy the "hardcore" CLI and the "user-friendly" GUI interact in Mac OS X. As far as IRQ conflicts go... is that really fixed by an OS? Perhaps I don't understand such conflicts, but I know that if I have 2 SCSI devices on the same chain with the same ID, "Ain't no program in the world gonna hep me." Will Mac OS X recognize and work with Plug-and-Play devices? Is there such a concept in the Mac PCI arena? (My IIsi has Nubus, baby!)
Are we going to see a DirectX type interface to Mac hardware, further reducing software portability requirements? (Am I an idiot for suggesting this? I've been up all night for a couple weeks... I tend to babble.)
Also, I've heard some things doubting the AltiVec engines ability to scale as processor cycles increase. OS X may run faster on the G4, but what about nextgen AMD/Intels... will Motorola be able to come about? So many questions...
I like the pen idea. I'd probably get asked a lot, "Um... Why does your phone have teeth marks on it?" If it could write as well... what if you could dial/commit to speed-dial a number by writing it on paper? (or in the air, or on your palm-pilot scribble area....)
I'm sorry, but I'm having a difficult time getting over how cool that would be... I could stick my phone behind my ear... make interchangeable roller-ball/stylus/mech-pencil/chalk tips, and expand your usable areas... (chalk for cell-phone clad carpet installers/construction, etc.)
Nobody else may embrace that idea, but I think it's cool...
"...vastly powerful processors, that will render the need for "efficiency" as irrelevant as my 2gb hard drive..." My friend, the need for "efficiency" is, and always will be tantamount to the need for bigger, better, faster. Study a little about queuing theory and you will find that efficiency is far, far more important than massive parallellism. Take, for example, this question: "Which is better, a supermarket checkout clerk who checks out at speed 'n*2' items/minute, or two check out clerks that check out at 'n' items/minute?" Are they equivalent? As far as items/minute, yes. Chances are, the resources required for checkers 2 and 3 are more than required for checker 1. All I'm saying is: "THERE IS NO SUBSTITUTE FOR EFFICIENCY." I program with a guy that says, "You know, this code doesn't need to be efficient because we have a fast processor." Perhaps that's a valid argument for one instance, but ramp up ANY variable, such as ambient traffic or mulitple instances and you have a very real and feasible problem. Sure, you can buy a larger machine. Now you can theoretically process n*2 items. What happens as you start to approach 80% capacity of machine 2? The same thing that happened with machine 1. Now you need a machine 4x as powerful as machine 1 to process not 4n items, but (80% * 2n) * 2, or 3.2n. What would happen if you made the code running on machine 1 more efficient? Could you employ some software engineering ideals to squeeze some more performance out of machine 1? My experience says yes. I refactored my coworker's code and came out with a product that was around 18 times more effiecient than prior code. As far as "learning" goes, no knowledege is without merit. (Except maybe carnal... but that's different) If you have a need to learn it, learn it. If your constantly trying to increase your knowledge base so you can have more to contribute to your fellow man, learn it. I'm sorry for this little off-topic rant, but I have a real problem with an idea of "Innefficieny will be masked by technology." There is one context in which innefficiency is acceptable: prototypes.
Re:It's not too OLD to code, but rather too YOUNG.
on
Too Old To Code?
·
· Score: 1
My young friend, please please find an internship. I'm almost 24, and have been programming professionally for 6 years. I started as an intern, and learned much. I have no doubt that you're a talented programmer, as was I (I thought so, anyway) at 18. I don't know what part of the world you call home, but there must some place you can intern...
I like the idea of programming a text adventure. Research contemporary and classic languages and expose your children to a variety of languages, explaining the features of each as you understand them. It probably wouldn't be a bad idea if they learned different languages at the same time. Allow them to choose their own language.
I started programming when I was 6 on Applesoft BASIC. It appears we have quite a collection of us Wozniakers here! Programming various games in lo- and hi- res, was good experience, but I don't think it was a) the best place to start or, b) the most beneficial.
My father is an educator who was pursing a Master's degree in "Computers in Education" during my gradeschool years. Here's a man who grew up building houses with his father. He passed those material-processing skills to my brother and I. He loved to make things with his hands and see the masterfully finished product. Unfortunately, he never grew to appreciate programming in the same regard.
My point thus far: My father allowed me to learn "over his shoulder" and eventually, he would ask me to help him with his assignments. Those were the days where I learned to be "too stupid to know something could not be done." That, I believe, it one of my greatest assets as a programmer.
The project that taught me the most was my adaptations of the "Choose Your Own Adventure" series. (Bantam?) If nothing else, it'd teach your kids how to type!
After I had done all of the data entry, and my logic was setup, I was ready to enter my second book. It took me 2 days to type in the first one, and a couple hours to describe the program flow. I began to wonder, "How can I make this process easier?" Teach your children how effective Laziness is at motivating...
The first step was obviously, "Trick my sister into typing it for me."
I then spent the next day or two trying to develop a language that would allow me to script any adventure. I took a pencil and marked an ordinal number on every unique section of the CYOA book (I think it was one where you were a little girl in Japan who, on occasion, was possessed by the spirit of an evil martial artist). I then created a file "cooker" that would take the individual files my sister typed in BankStreet Writer (yeah BABY! Them were the days!) and combine them into a random access file with a descriptive indexing header.
I could very quickly type all of the questions and script a logic path with hooks into the indexed data file.
Now I could get my sister to start typing other books. It was cool, my dad was a teacher who could bring home computers in the summer... we had two Apple IIe's... Late night Lode Runner tourneys FREAKIN' ROCK! But I digress...
Anyway, the CYOA "Engine" was trivial to write. The cool thing was (and I didn't realize this at the time) that I had developed a meta-language and a simple database. I modified that engine to display text and graphics. I created a proportional bitmap font. All of these features added caused me to refactor my engine code. As I added more features, additional features became easier to add. I started learn how to "think ahead" and design for extendability.
I believe the phrase "domain language" (DL) is used in The Pragmatic Programmer to describe what I called a "meta-language". The DL allows tight definition of project vocabulary and easy assertion of project goals. If you have not read this book already, please do.
You ask what language you should teach them first? Make them write their own, and write an interpreter for it and ANY established language.
I added more features to my CYOA "Engine":
My sister proved to be a poor typist, and I spent many hours correcting her mistakes. She blamed BankStreet Writer. Yeah, like they could do anything wrong! I added an editor to my engine, allowing instant updates to the page file.
I, too, proved to be a less-than-perfect typist, so I created a spell checker. It was slow at first, and I couldn't figure out how in the hell to suggest replacements. I looked for similarities between words, and created a rudimentary soundexing scheme. Later, I stumbled upon a "government approved" model and implemented it, but that was the next summer.
I got tired of laying out choice-tree's on notebook paper, so I made a gui using my bitmap font that allowed me to edit book flow, and enter a story line at any point... I don't buy games at which I cannot cheat!
I washed dishes for many meals while my sister typed. Good for the hands...
A previous poster recommended "HyperCard"... I loved HyperCard. I wrote a front-end to a mainframe FORTRAN compiler for my brother while he was taking the class at the university. Unfortunately, I wound up doing most of his programs for him, but that was a cool interface!
I have fond but very faint memories of LOGO as well.
I learned more about FORTRAN and was exposed to C my senior year in highschool. I had already done my brother's FORTRAN stuff for him 2 years earlier. C was new to me. Guess what I did first? Ported my CYOA engine.
The first language that I can really say I had complete mastery of was Borland Paradox's ObjectPAL. An object-oriented database scripting language. I wrote several databases, and GUI's for them, and totally fell in love with ObjectPAL. I became very frustrated when I tried to do anything in Access becuase of the perceived inconsistency. I ported my CYOA engine to a Paradox Database.
Then it was time for me to get into HTML. I wrote a script to dump the contents of one of my Paradox databases into and indexed and fully navigable web site. That was fun... but not enough. So I created an HTML version of my CYOA engine's display ability.
My coworker was working with Oracle and the brave new technology called CGI. We were running a little Sun Netra server with 32 MB of RAM and a Sparc 5, I believe. The C libraries he used to interface with Oracle caused his compiled programs to be around 2 MB in size.
His programming style caused him to write a new program for every new task. Every HTML form had it's own program. This was chewing up disk space, processor and development time, so I wrote a scripting language with enough vocabulary to describe the processes he was performing.
My interpretation engine weighed in a 2 MB since it had to incorporate the Oracle libraries, but each "script" was around 1k, and it was fast. Fast enough for me to port me CYOA engine...
I've since developed my own low-overhead database management system and corresponding scripting language that my entire development team uses to create web applications. The engine weighs in around 80k and is currently running on Windows NT, 98, 95, Linux on SPARC, Linux on Intel, Linux on PowerMac, and Linux on a little Cobal Qube. Don't get me wrong, we still use other languages when we come upon a task that can be performed more efficiently with a different tool.
A year ago, I took on a side project where I was tasked with creating a knowledge-base maintenance utility. This company had five other companies bid for the job. Did I undercut the other guys? Oh hell yeah! What I brought to the table was my Choose Your Own Adventure Engine, with it's integrated editor, spell-checker, and basic database. I showed them the web interface before I quoted them a price. They were in awe. They asked, "Who developed this?" I replied, "an 11-year old child."
Perhaps I become too attached to projects. I learned so much from creating and extending that CYOA engine that I can't bear to let it go (even though I gave up all rights when I sold it to the aforementioned company...). I once wrote a report on Spain when I was in fourth grade... I used it in sixth, seventh, eighth, tenth and eleventh grades...
Keep in mind, the first language that a student learns will be the one with which they fall in love. As long as they can tear themselves away from that language and incorporate more tools, that's good. If they can fall in love with a language they create, all the better!
If you stayed with me this long, THANK YOU! Be sure and visit CareerLink.org!
I'd love to play with Mindstorms. I haven't had the fortune to have enough time to do so. That little Mindstorms commercial where the three-wheeled-camera-wielding robot snaps a picture in the shower...priceless... THAT is the motiviation of great programmers (no, not skin-shots) -- having a blast doing what they love. If your kids can fall in love with a language they create, they will actually fall in love with the thought process required to create that language, and THAT is indeed priceless.
Ladies... Gentlemen... We've got anonymity, and cash prizes... I, for one, have yet to see my 15 minutes of fame. I wonder how many times I can nominate myself as a deviant, dissident, depressed individual.
I read a humorous article the other day regarding the music industry's response to Naptser. Their recommended solution, entitled "Project Zaptster", puts countless copies of "Achy Breachy Heart" and other derided "country" tunes under the names of popular songs so when Napsters are seeking pop, they'll actually download "Achy Breaky Heart". By repeatedly not getting what they want, Napsters will eventually go away. While the article was facetios, I found this particular point intriguing.
Perhaps by submitting conflicting and just plain wrong information, we can persevere. At any rate, we could use the money we receive from turning ourselves in to regulate our militias! Maybe even get matching t-shirts? Anyone.... Anyone?
I'm still very amused by bigotry. I used to be a Mac bigot. Then I realized how much work I could get done in a different environment, and I started to use both OS's to maximize productivity. When I was building a barn with my father, I wound up using both a 28-oz framing hammer and 16-oz claw hammer. I'm not implying that one OS was "bigger" than the other... I just used both effectively. Plus, I loved the "singing" of the framing hammer...
My reaction to this graphic: my goodness that's cute! I printed out a copy and put it on my Linux-bigot buddy's chair.
I don't think it makes the Linux community look lame at all. I think "tux" needs some tatoos... an earring maybe... show some teeth... start dating a biker chick...
Talk to you later, -J.D.
or can you?
They make mention of a "virtual immune system" injected into your blood stream. This is anything but virtual. It may be "synthetic", "ancillary", "supplimentary", or" "replacement" but it is not "virtual".
"Improved-solids potato?" A starchy laxative substitute?
I like how they personify foods, as in this quote: "A huge part of the joy of the villains, Ice Cream and Fudge Sauce, is that they have no intention of improving the quality of our lives; they represent unrepentant decadence." I once at 14 fudge-cicles at a sitting... and then 10 the next evening. Decadence? No. Flatulence? Ahhhh yeah...
Vaccines in bananas = healthier primates.
Elevators that move laterally as well as vertically... complete with "candy-hooks" and and Oompa-Loompa attendant.
I'm not digging this "interest tracker"... an application that tracks eye movement to see what your interest is drawn to on the web page you're looking at. My data would read "eyes moved off-screent: interested in co-worker's ass."
A "wristwatch that brings the world to you" does not exactly "put the world at your finger tips." Dick Tracy's Watchphone was killer. Web browsing on your wristwatch is prohibitive. I kind of liked the "Demolition Man" idea of subdermal chip on the back of one's hand used for such things as opening doors, buying things, receiving fines for swearing, etc. I would like to see a watch that monitors blood-sugar and can interface with an insulin/glucose which regulates blood-sugar. The make mention of a heart-rate monitor... how about an adrenaline monitor? As your angst rises, your watch can scream, "Watch out! He's gonna kick your ass!" A libido monitor?
A little out of context fun: "My parents got me this last year," says Tanimoto, showing off her small, silvery accessory. "It's surprising how quickly it has become a necessity;..." What are the Japanese parents teaching their children?
Captain Kirk didn't use phasers to kill enemies? Why the different settings, or is the TNG? "Set your phasers to 'Hemmorhoid'. We don't want to kill anyone, just make their sphincters burn a little."
That brain-electrode thingy rocks. Why not insert electrodes into the speech-core (Boca's area? I forget) and perform speech recognition? Hook it up to that USB speech-to-text device I mentioned somewhere else. You could have to worlds first USB human. We could learn what dogs are saying! YES!
This brain cursor thing rocks. It's talking about the onscreen cursor becoming a part of the test subject. That's absolutely amazing to me. If they could provide him feedback (so booting into Windows caused pain...oh wait, it does...)
Evidently, by the jist of this article, when my watch is screming, "He's going to kick your ass!", I will be imaginging myself kicking some ass, and actually living the fantasty! Rock On!
Believe me, I know I don't add anything to this dicussion, I just like to tell people, "I'm published on the Internet!"
Talk to you later, -J.D.
A couple years ago, I thought it might be cool if Microsoft started to develop a window manager for Linux... I thought it'd be cool for Apple to do the same.
I love the idea of the "Windows Migration Kit"...
The author speaks to Windows NT successful banishment of the command-line-interface (CLI). When I got my first GUI, I tried to do as much as I could with it... I soon found how little that was. Apple has always let the field in the Human Factors department (except for their drop-down select boxes... what the hell are they thinking? sorry).
It's my belief that CLI's will not be replaced by anything than a more efficient way to issue complex commands to your computer, such as speech-to-text. Why hasn't anybody developed an USB device that handles speech-to-text and minimizes the processor requirements?
I am very interested to see how easliy the "hardcore" CLI and the "user-friendly" GUI interact in Mac OS X. As far as IRQ conflicts go... is that really fixed by an OS? Perhaps I don't understand such conflicts, but I know that if I have 2 SCSI devices on the same chain with the same ID, "Ain't no program in the world gonna hep me." Will Mac OS X recognize and work with Plug-and-Play devices? Is there such a concept in the Mac PCI arena? (My IIsi has Nubus, baby!)
Are we going to see a DirectX type interface to Mac hardware, further reducing software portability requirements? (Am I an idiot for suggesting this? I've been up all night for a couple weeks... I tend to babble.)
Also, I've heard some things doubting the AltiVec engines ability to scale as processor cycles increase. OS X may run faster on the G4, but what about nextgen AMD/Intels... will Motorola be able to come about? So many questions...
Talk to you later,
-J.D.
I like the pen idea. I'd probably get asked a lot, "Um... Why does your phone have teeth marks on it?" If it could write as well... what if you could dial/commit to speed-dial a number by writing it on paper? (or in the air, or on your palm-pilot scribble area....)
I'm sorry, but I'm having a difficult time getting over how cool that would be... I could stick my phone behind my ear... make interchangeable roller-ball/stylus/mech-pencil/chalk tips, and expand your usable areas... (chalk for cell-phone clad carpet installers/construction, etc.)
Nobody else may embrace that idea, but I think it's cool...
"...vastly powerful processors, that will render the need for "efficiency" as irrelevant as my 2gb hard drive..." My friend, the need for "efficiency" is, and always will be tantamount to the need for bigger, better, faster. Study a little about queuing theory and you will find that efficiency is far, far more important than massive parallellism. Take, for example, this question: "Which is better, a supermarket checkout clerk who checks out at speed 'n*2' items/minute, or two check out clerks that check out at 'n' items/minute?" Are they equivalent? As far as items/minute, yes. Chances are, the resources required for checkers 2 and 3 are more than required for checker 1. All I'm saying is: "THERE IS NO SUBSTITUTE FOR EFFICIENCY." I program with a guy that says, "You know, this code doesn't need to be efficient because we have a fast processor." Perhaps that's a valid argument for one instance, but ramp up ANY variable, such as ambient traffic or mulitple instances and you have a very real and feasible problem. Sure, you can buy a larger machine. Now you can theoretically process n*2 items. What happens as you start to approach 80% capacity of machine 2? The same thing that happened with machine 1. Now you need a machine 4x as powerful as machine 1 to process not 4n items, but (80% * 2n) * 2, or 3.2n. What would happen if you made the code running on machine 1 more efficient? Could you employ some software engineering ideals to squeeze some more performance out of machine 1? My experience says yes. I refactored my coworker's code and came out with a product that was around 18 times more effiecient than prior code. As far as "learning" goes, no knowledege is without merit. (Except maybe carnal... but that's different) If you have a need to learn it, learn it. If your constantly trying to increase your knowledge base so you can have more to contribute to your fellow man, learn it. I'm sorry for this little off-topic rant, but I have a real problem with an idea of "Innefficieny will be masked by technology." There is one context in which innefficiency is acceptable: prototypes.
My young friend, please please find an internship. I'm almost 24, and have been programming professionally for 6 years. I started as an intern, and learned much. I have no doubt that you're a talented programmer, as was I (I thought so, anyway) at 18. I don't know what part of the world you call home, but there must some place you can intern...
I started programming when I was 6 on Applesoft BASIC. It appears we have quite a collection of us Wozniakers here! Programming various games in lo- and hi- res, was good experience, but I don't think it was a) the best place to start or, b) the most beneficial.
My father is an educator who was pursing a Master's degree in "Computers in Education" during my gradeschool years. Here's a man who grew up building houses with his father. He passed those material-processing skills to my brother and I. He loved to make things with his hands and see the masterfully finished product. Unfortunately, he never grew to appreciate programming in the same regard.
My point thus far: My father allowed me to learn "over his shoulder" and eventually, he would ask me to help him with his assignments. Those were the days where I learned to be "too stupid to know something could not be done." That, I believe, it one of my greatest assets as a programmer.
The project that taught me the most was my adaptations of the "Choose Your Own Adventure" series. (Bantam?) If nothing else, it'd teach your kids how to type!
After I had done all of the data entry, and my logic was setup, I was ready to enter my second book. It took me 2 days to type in the first one, and a couple hours to describe the program flow. I began to wonder, "How can I make this process easier?" Teach your children how effective Laziness is at motivating...
The first step was obviously, "Trick my sister into typing it for me."
I then spent the next day or two trying to develop a language that would allow me to script any adventure. I took a pencil and marked an ordinal number on every unique section of the CYOA book (I think it was one where you were a little girl in Japan who, on occasion, was possessed by the spirit of an evil martial artist). I then created a file "cooker" that would take the individual files my sister typed in BankStreet Writer (yeah BABY! Them were the days!) and combine them into a random access file with a descriptive indexing header.
I could very quickly type all of the questions and script a logic path with hooks into the indexed data file.
Now I could get my sister to start typing other books. It was cool, my dad was a teacher who could bring home computers in the summer... we had two Apple IIe's... Late night Lode Runner tourneys FREAKIN' ROCK! But I digress...
Anyway, the CYOA "Engine" was trivial to write. The cool thing was (and I didn't realize this at the time) that I had developed a meta-language and a simple database. I modified that engine to display text and graphics. I created a proportional bitmap font. All of these features added caused me to refactor my engine code. As I added more features, additional features became easier to add. I started learn how to "think ahead" and design for extendability.
I believe the phrase "domain language" (DL) is used in The Pragmatic Programmer to describe what I called a "meta-language". The DL allows tight definition of project vocabulary and easy assertion of project goals. If you have not read this book already, please do.
You ask what language you should teach them first? Make them write their own, and write an interpreter for it and ANY established language.
I added more features to my CYOA "Engine":
- My sister proved to be a poor typist, and I spent many hours correcting her mistakes. She blamed BankStreet Writer. Yeah, like they could do anything wrong! I added an editor to my engine, allowing instant updates to the page file.
- I, too, proved to be a less-than-perfect typist, so I created a spell checker. It was slow at first, and I couldn't figure out how in the hell to suggest replacements. I looked for similarities between words, and created a rudimentary soundexing scheme. Later, I stumbled upon a "government approved" model and implemented it, but that was the next summer.
- I got tired of laying out choice-tree's on notebook paper, so I made a gui using my bitmap font that allowed me to edit book flow, and enter a story line at any point... I don't buy games at which I cannot cheat!
- I washed dishes for many meals while my sister typed. Good for the hands...
A previous poster recommended "HyperCard"... I loved HyperCard. I wrote a front-end to a mainframe FORTRAN compiler for my brother while he was taking the class at the university. Unfortunately, I wound up doing most of his programs for him, but that was a cool interface!I have fond but very faint memories of LOGO as well.
I learned more about FORTRAN and was exposed to C my senior year in highschool. I had already done my brother's FORTRAN stuff for him 2 years earlier. C was new to me. Guess what I did first? Ported my CYOA engine.
The first language that I can really say I had complete mastery of was Borland Paradox's ObjectPAL. An object-oriented database scripting language. I wrote several databases, and GUI's for them, and totally fell in love with ObjectPAL. I became very frustrated when I tried to do anything in Access becuase of the perceived inconsistency. I ported my CYOA engine to a Paradox Database.
Then it was time for me to get into HTML. I wrote a script to dump the contents of one of my Paradox databases into and indexed and fully navigable web site. That was fun... but not enough. So I created an HTML version of my CYOA engine's display ability.
My coworker was working with Oracle and the brave new technology called CGI. We were running a little Sun Netra server with 32 MB of RAM and a Sparc 5, I believe. The C libraries he used to interface with Oracle caused his compiled programs to be around 2 MB in size.
His programming style caused him to write a new program for every new task. Every HTML form had it's own program. This was chewing up disk space, processor and development time, so I wrote a scripting language with enough vocabulary to describe the processes he was performing.
My interpretation engine weighed in a 2 MB since it had to incorporate the Oracle libraries, but each "script" was around 1k, and it was fast. Fast enough for me to port me CYOA engine...
I've since developed my own low-overhead database management system and corresponding scripting language that my entire development team uses to create web applications. The engine weighs in around 80k and is currently running on Windows NT, 98, 95, Linux on SPARC, Linux on Intel, Linux on PowerMac, and Linux on a little Cobal Qube. Don't get me wrong, we still use other languages when we come upon a task that can be performed more efficiently with a different tool.
A year ago, I took on a side project where I was tasked with creating a knowledge-base maintenance utility. This company had five other companies bid for the job. Did I undercut the other guys? Oh hell yeah! What I brought to the table was my Choose Your Own Adventure Engine, with it's integrated editor, spell-checker, and basic database. I showed them the web interface before I quoted them a price. They were in awe. They asked, "Who developed this?" I replied, "an 11-year old child."
Perhaps I become too attached to projects. I learned so much from creating and extending that CYOA engine that I can't bear to let it go (even though I gave up all rights when I sold it to the aforementioned company...). I once wrote a report on Spain when I was in fourth grade... I used it in sixth, seventh, eighth, tenth and eleventh grades...
Keep in mind, the first language that a student learns will be the one with which they fall in love. As long as they can tear themselves away from that language and incorporate more tools, that's good. If they can fall in love with a language they create, all the better!
If you stayed with me this long, THANK YOU! Be sure and visit CareerLink.org!
I'd love to play with Mindstorms. I haven't had the fortune to have enough time to do so. That little Mindstorms commercial where the three-wheeled-camera-wielding robot snaps a picture in the shower...priceless... THAT is the motiviation of great programmers (no, not skin-shots) -- having a blast doing what they love. If your kids can fall in love with a language they create, they will actually fall in love with the thought process required to create that language, and THAT is indeed priceless.
Talk to you later,
-J.D.
Ladies... Gentlemen... We've got anonymity, and cash prizes... I, for one, have yet to see my 15 minutes of fame. I wonder how many times I can nominate myself as a deviant, dissident, depressed individual.
I read a humorous article the other day regarding the music industry's response to Naptser. Their recommended solution, entitled "Project Zaptster", puts countless copies of "Achy Breachy Heart" and other derided "country" tunes under the names of popular songs so when Napsters are seeking pop, they'll actually download "Achy Breaky Heart". By repeatedly not getting what they want, Napsters will eventually go away. While the article was facetios, I found this particular point intriguing.
Perhaps by submitting conflicting and just plain wrong information, we can persevere. At any rate, we could use the money we receive from turning ourselves in to regulate our militias! Maybe even get matching t-shirts? Anyone.... Anyone?