Do You Remember Bob?
GdoL writes: "Do you remember Bob? Byte's editor starts his monthly column talking about Bob the OS Interface from Microsoft in the middle 1990s. And he didn't forget either Bob the programming language from a former technical editor of Dr. Dobbs Journal, David Betz. This OO language is widely use on 'DVD players and set-top boxes produced by the likes of Toshiba, Samsung, and Motorola.' Do you remember any other language long forgotten that is still used in the real world?"
How about C? I hear some people still use it where VB and JavaScript won't work.
Heh.
If I remember correctly BOB had an "feature" that let you assign a new password if you after three login attempts still hadn't given the correct password.
What about BASIC? It is still alive and well, and although it's not used mainstream anymore many schools still use BASIC and LOGO to teach introduction to programing courses.
While reading the first article, I was struck by something strange:
In the picture of the Bob UI, it shows a little dog who has a caption bubble coming from his mouth. Well, in WinXP if you do a file search (hit F3), you'll see an almost identical dog.
Maybe Microsoft thought that Bob was ahead of its time?
Anyway, it's strange.
-- Dan
I know some colleges still teach Pascal in their "Intro to Programming" classes. I know thats what i learned on.
------
Never underestimate the power of stupid people in large groups.
I must admit I forgot Byte even is existed. Since the paper edition stopped being printed I haven't really bothered checking the on-line edition.
;)
I know this is off-topic, but I have too many karma points and I just need to air my view
Jumpstart the tartan drive.
Tell that to IBM.
As I recall, it failed.
I worked at a nuclear power plant for a while working on the plant monitoring systems. All the PC-based stuff was written for OS/2 using Modula-2. Anybody ever use Modula-2? Anyone ever use it outside of a first year CS class? Turns out it's actually a great language for systems programming, at least with the Object Oriented extensions that the version I used came with. It was actually a lot like Delphi. And much nicer to debug than C++.
___
Cogito cogito, ergo cogito sum.
Yes, I remember Bob. I bought a Gateway in the 1994 - 1995 timeframe and it came with Windows 95 preinstalled and Bob (and a whole bunch of other software) on CD-ROM. I installed Bob just for fun. The next day, I was reinstalling the whole system from scratch and if I rember right, quadruple booting 95, NT 3.51, Linux, and OS/2 Wrap.
First of all. This is seriously OT and Flame bait (this meaning the above comment and my relpy.) Oh well.
Your first point "linux requires a *lot* of maintenance" Yes linux requires time and expertise. You can also go out a pay big bucks for a commerical unix and it will _still_ require lots of time.
Ext2 is generally considered quite stable, but as with any OS. Backup backup backup! Hard drives die, admins do stupid things, people break in. In general shit happens and one of the best ways to prepare for it is to backup. You do have backups of your data don't you? Or were you going to trust your .
You don't want crashes run one of the more mature kernels. 2.2.x is quite stable. And i had a machine that had an uptime of a year and a half on 1.2.13. Crashes and I mean kernel oops not seg faults are fairly rare. I've only seen a few kernel oops (10) but then again I don't run the bleading edge stuff.
Although each distribution of linux has differnet ways of doing things, placing files etc. most of it is very unixish. Its usually understood that Unix is not an OS that you use without some learning. If its too hard then don't use it. As far as linux having broken tools i've found many of the gnu utils to be far superior to their commerical equivilants. Take Solaris tar, awk, make, etc...
"spit out the most childish and unprofessional messages" you mean like your post? Most 14yo I know don't have the skill to write the tools used in linux. Thats not to say they very talented youths don't exist; its just that most younger people using linux don't code for it yet.
Linux probably is not a good choice for a company seeking a reliable unix, but not for the reasons you've given. Solaris is a very mature Unix and quite dependable (excluding solaris x86). If you want a single entity with 24/7 tech support and big bucks behind it then fork out the cash. And for god sakes if you don't like it then don't use it.
Its rumoured that linus is one of the animated characters. I would love to hear him explain why XP just crashed.
http://saveie6.com/
I remember when I was working in a computershop, my colleague installed Bob on the PC of my boss. You can imagine my boss's reaction.. it was actually quite a good joke.
Look at the crap that passes for it on some of these "you must use BrowserXYZ" to view this site" sites.
;)
Chas - The one, the only.
THANK GOD!!!
I remember Bob as being the smart driver that doesn't drink...
In Belgium it is the guy who is a volunteer in a party to drive all others home, while drinking soft drinks....
I don't know if it's still in use, but it sure was odd. DataSaab was a division of Saab, and they had their own hardware and system software.
DIL16 was DataSaab Interpretive Language for their 16-bit minis. Looked like assembler but had no registers, and yes, it was interpreted. Completely bizarre. I used it to work on a teller system at Citibank in the mid 70s.
Any other DIL16 programmers out there?
I'm currently consulting to Merrill Lynch in Jacksonville, FL., and I can say it has been an eye-opener! We transitioned 49 PC-based insurance apps from Springfield, MA., down to Jacksonville this past summer, and you wouldn't believe the mix of languages there. By the way, I'm talking about over 960,000 lines of code in these things. The predominant language was Clipper, versions: Summer '87, 5.0 and 5.01a. There are also a couple of RBase apps, one written in something called ArevDos, a generous smattering of C modules (mainly linked into the Clipper apps for faster calculations), a couple of compiled BASIC apps, some C++, Visual Basic and some PowerBuilder. From what I've been able to find out, the Insurance industry is chocked full of applications written in "obsolete" languages.
;-)
Now for my real question, how do I write this into my resume and make it look good?
No matter where you go... there you are.
The greatest string processing language of all time. Blows away Perl. In SNOBOL4, the space was (is!) an unbelievably powerful pattern-matching operator. A single match could break apart a string and assign variables with pieces of it. A single statement could succeed or fail, and then there were up to to transfers of control at the end, one for success and one for failure.
... the list goes on.
SNOBOL4 was completely flexible on type, (e.g. you could do "5" + 3); had dynamic memory allocation and garbage collection; had the ability to evaluate dynamically generated SNOBOL4
It's probably still in use, and it was bizaare and wonderful. I also have fond memories of two compiler courses taught by RBK Dewar, one of the implementers of the Spitbol implementation of SNOBOL4.
Hmmmmmm...... how about Latin? Not everything has to be computer related...
S.t.e.v.e.
UNIX Gurus in Hell
I tried to lern Lisp using XLISP (despite having an old book on Lisp for reference), but I failed. Somehow, nothing worked as I expected. Probably I didn't know that XLISP was, despite its name, a Scheme dialect.
Instead I learnt FORTH (using the great F-PC system for PCs), and returned to Lisp later when I encountered Emacs 19.
Perhaps not as forgotten as some, but it is included with every Sun and most modern Macs in the form of OpenFirmware.
I used to have a blast messing around with FORTH on my old Kaypro II, Vic 20, Apple II, CoCo, Amiga, etc. A really fun language to hack around in.
PL/M for the 8085 and 80x86 is still being used by Thermo Jarrell Ash in some of their legacy analytical instruments as the language the firmware was written in. What a beast that was...no floating point, no pointers... ugh.
We used ICON to whip up a driver program for the CNC milling machine that the on-site machine shop had in order to aid conversion from their paper tape (!) library.
--jdp Maintainer of VisEmacs
I'm just wondering why people post something like this. Why? Are you scared by Linux that much? Or are you just so bored?
--
Karma 50, and all I got was this lousy T-Shirt.
Okay, so I downloaded the source for Bob and made it (quick and easy on my Win2k box using CygWin tools...) but now what do I do with it? There's a couple samples, but not much else and there's no docs in the bob.zip file and looking up "Bob" on Google is an effort in futility... (Hey, but there's also a "Dylan" programming language.)
Anyone have a link to some syntax? I found this on DDJ but it's only a description of the article, not the article.
-Russ
Me
It was a BASIC derivative wasn't it?
Was looking at the screenies, and I noticed something.
0 001/msbob.gif
Take a look at this one: http://www.byte.com/documents/s=1783/byt20011112s
See the dog in the bottomright corner? The dog actually shows up again in XP, in the Search for Files and Folders dialog.
Thought it was kinda neat.
I still have warm feelings for forth. I remember the first time I got acquainted with forth. It was some 3d framework called graforth.
I was quite impressed with its counter-intuitive reverse-polish-notation syntax:
c a b + = if then
Isn't it much more stylish than writing:
if (a+b==c) {} ?
Give var'ag a spin. Talk about obfuscation. Very much like perl actually. I have a friend who has written some CGI stuff in this for confusion's sake.
Warning X10 pop-up window at GEOCITIES. You know that used to be a cool company.
Comparing it to Windows will be a moot point, since El Dorado is going to have a 40% larger code base than XP.
Bob is a language. Bob is an OS interface. Bob is everything. You would know this if you had joined the Church of the Subgenius.
May Bob be with you.
If intelligent life is too complex to evolve on its own, who designed God?
I for one am having a blast learning Attic Greek - it's certainly long forgotten, but English inherits a good number of it's words from it; so I'd say it's "used"
sic transit gloria mundi
Object-orientation was invented and developed by the two Norwegians Kristen Nygaard and Ole Johan Dahl more than thirty years ago. Their ideas, which today have become a fundamental basis for almost all programming languages and system design techniques, were realized through the programming language Simula.
Forgotten?
Real programmers still use Fortran and Cobol. For someone who reads tons of articles about Java and Haskell and who considers C++ obsolete, may be very surprising that large part of scientific numerical computations is still done in Fortran. Do you remenber the demand for Cobol programmers in 1999 (Y2K)? The critical systems still use Cobol.
This was to be the successor to both COBOL and FORTRAN. I learned it on the Honeywell Multics system in the late 70's, but there was another implementation on IBM systems. In fact, I still have my textbook (Conway et. al.). Is this still in use anywhere, or has it been supplanted by ADA?
I did 12 years of APL ("A Programming Language") I believe it is still used. Only those with slightly twisted thought paterns could master it so it was pushed aside by the IS main stream.
Jim
Although it's an oldie, assembley is still a goodie (imho atleast). I still use assembley in some code that isn't well done by the compiler (gcc) at times to get that extra ms less out of the the app. Only problem is it isnt cross platform/architecture at all.
:P
This is if you regard assembley as a programming language
Just in case anyone is wondering...
It's hard to find any documentation for the Bob language. Having a quick look at some Bob source code, it is a simple OO language without classes, where subclassing is the same as instantiation, much like Self or Cecil. It seems to support only single inheritance, though I gather it's dynamically typed, so there's no need for "interface inheritance".
It's not "purely" object-oriented, since you can define procedures that are not methods of any class. At first glance, there doesn't seem to be any access control: all features of an object are public.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
Used for marketting hype, to curse companies into bankruptness, and to bring false hopes since about 6 years, and still in use in my 5 amigas at home :) Nothing beats a A1200 (unless it's a dell 8100 laptop with AmigaXL on it :) ).
--- Metamoderating abusive downgraders since my 300th post.
Clippy et all are the only refugees left from that experiment.
*shudder*
But, I suppose, you have to give them some credit for trying a different OS interface. Even if it did suck in all ways...
"Enough of this wretched, whining monkey life." -- Marcus Aurelius, _Meditations_, Book 9, 37
That's easy: --responsible for learning propriety legacy systems in preparation for migration onto standards based, open programming languages (or whatever it was you actually had to do)
If questioned about it, tell the truth. Point out that while you came into the job knowing a smattering of standard modern languages, c, c++, java, and yes, basic, you had to quickly learn other languages in order to understand the code in the legacy application in order to port it to newer open languages. Or whatever the hell you did. What ever you do, tell the truth.
This isn't at all uncommon, btw. If something is working and you've built your whole company around it, it is a royal pita to switch. Most companies only switch when the cost/benefit analysis shows it's profitable or when the old crud becomes useless. And if it works, there are only a few reasons to change.
Way back in the late 80's/early 90's, I was coding on the Apple IIgs (when Apple was really Apple)...
Anyway, the Welcome/Tour floppy that came with the system ran an interpreted language that I tried to reverse engineer because it seemed really like a really cool language. I had very limited success, but I did find some indications that the language that was being interpreted was called "Dolphin".
Many years later, I did a little research and I think I've now found what that language is: Dolphin Smalltalk. I'm not sure, and now many years later, people barely remember the IIgs, let alone some obscure scripting language that was never publically released.
So I think "Dolphin Smalltalk" is one to add - but can anyone verify that this is the correct language that was used on this disc?
Yeah, I remember a really crappy obsolete language, called something like 'x86'. To write even the simplest program you had to write about 1000 lines.
You could barely do anything with a single line of code. Whereas in Perl, you can make the coffee and clean your bedroom in one line, with the obsolete 'x86' you had to pretty much write a bible-worth of code.
I reckon they should consign x86 to the scrap-heap and make Intel processors run directly on BASIC instead.
mogorific carpentry experiments
God-awful cartoony graphics, nasty color schemes, awkward metaphors.. I think Microsoft were just way ahead of their time with Bob. Thankfully all the hard work paid off though, and now we have XP.
Yes, MUMPS! A lot of VMS shops still use Digital Standard MUMPS (DSM) and DCL to write up apps. Not a hard language, if you squint it looks a bit like Basic. Only a *lot* more powerful! I just wish I could find a MUMPS interpreter for Linux...
Does anyone still program in PL/I? In the '70s it was IBM's answer to FORTRAN and COBOL on their 360/370 mainframe. I was wondering if it died then or there's some niche out there that is still using it.
True business uses the tools that are "best" suited for the enviroment and use.
.bat and Print-to-File with LPR for final delievery. It works fast and gives very pretty documents.
I am currently on a project that is using Synon, RPG, RPG/ILE, CL, VB, VBS, HTML, XML,
For the that Clipper Code...
http://www.the-oasis.net/
http://www.harbour-project.org/ -- Clipper Compiler
This is a recycled flame. Ignore it, please.
The first version was widely reviled, but the team starting working on a second one. Now it is often true that the third version of a product is the one that catches on -- the first one is rushed out, the second has all the stuff that was supposed to go in the first, then the third can actually respond to user feedback and become useful. But for some reason, Microsoft untypically cancelled Bob 2.0 in mid-development.
Now if you imagine Bob continuing to evolve and eventually adding Internet access (still categorized, simplified, friendlier, etc), then it could have become...AOL. People make fun of AOL also (for similar reasons), but it's a pretty successful company and viewed in many ways as the only tech competitor to Microsoft. Now imagine if Microsoft had short-circuited that with Bob 5.0.
- adam
Are still around, I know a mainframe guy who still does a little PL/1..
COBOL is still around.. let it die as soon as possible.
ADA is still used by the DoD, a telltale sign of a defense contractor
is if they advertise for ADA programmers.
Because MS Bob is a funny joke. It's one of the bigger megaflops I've ever seen from them.
But be warned: One of the seven signs of the Apocolypse is MS Bob appearing on the X-Box!
(Any MS employees reading this - DO NOT make it happen. I will run screaming into the night if it is announced.)
Quite a bit of software on current military aircraft is Jovial.
Try refining your search. "Bob: A Tiny Object-Oriented Language"? DDJ has the article online, but they expect you to pay for it.
Last time I checked there were very few books being published on it and most new developers have never heard of it. However, several large insurance companies still use an app written in it. It appears they all bought the source code and continue to modify it to keep things up to date.
As a tip, if you are ever called out to do a consulting gig and the customer mentions "Visual DOS", run like hell.
BLISS is still used for a great deal of the VMS operating system, although the rumour is that much more of it is being written in C these days. Fans of ESR will note that he is helping out Roar Thronæs the maintainer of ignorance (a BLISS to C translator).
Don't blame Lisp for the failure that was Microsoft Bob!
This would be like blaming general relativity for atomic weapons or Thomas Edison for phone sex and the psychic friends network.
As we all know, Microsoft is absolutely merciless when it comes to tolerating failure. People get bounced out of the company constantly.
So does anyone want to guess what happened to the program manager for Bob?
That's right. Bill Gates married her. Go figure.
The idea of predictive interfaces was interesting, but Bob had the fatal flaw of being way too complicated for the hardware of the day. Some of the technology lives on in Office's Clippy, but Bob itself was a disaster to the point that even the people who pirated it returned it.
-- Josh Turiel
"2. Do not eat iPod Shuffle."
There have been rumors that the print edition may be returning, based on passing comments by certain coumnists in their web journals. But nothing tangible yet
"It is a greater offense to steal men's labor, than their clothes"
Cool! I never thought anyone would be interrested in making a free implementation of the Clipper compiler! I will have to investigate this.
No matter where you go... there you are.
Whatever happened to the MPC standard back in the early 90's ? We never got passed MPC2.
Actually, we aren't going to rewrite these systems, we just had to bring them down and get (and keep) them running. I used to do a great deal of dBase and Clipper development in the 80's, and with my background in BASIC, Visual Basic, C and C++ (not to mention Java, Perl, Pascal, Delphi, ...), I was hired to help ensure a "smooth" transition. Somehow, a three month contract has turned into an eight month contract, and maybe more after that. Don't get me wrong, I have to feed my family somehow. It is just too wierd though, doing the retro-coding thing, because I had just finished a five month contract prior to this, coding in Java for a sports company.
No matter where you go... there you are.
There are some libraries, such as LAPACK, BLAS, LINPACK, EISPACK, etc, that are still widely used. They are well written, complete, and, most important, well debugged.
If you look into Octave source code you will find those FORTRAN libraries there. Since they are public domain, Matlab and other commercial number-crunching software probably use them as well.
They are still coming up with new FORTRAN versions, I believe FORTRAN 2000 is the latest. Someone once said that we don't know which language people will use for numerical analysis in the year 2050, but we know what its name will be: FORTRAN.
OS 9/9000 - developed by Microware of Des Moines, Iowa under contract to Motorola to write an OS that worked the same on Intel and 68000-series chips - ran on 68000 to the 68060 that I recall. More common than Bob, but I've almost always had to explain what it is whenever the subject came up. Had a GUI called G-Windows which was a proprietary and almost totally undocumented version of X-Windows from GESPAC in Switzerland. I worked for a company that wrote a PLC simulator running under OS 9/9000. I believe OS 9/9000 is used in some set-top box these days.
COBOL. No one in their right mind still writes new applications in COBOL anymore.
Is your company running tools written by ma
Do you remember any other language long forgotten that is still used in the real world?
I would submit that 'in use' and 'long forgotten' are mutually exclusive terms. How can something in use be forgotten? 'Generally unkown to the computer community at large' might be a better approach.
A lot of academics still use it, presumably because of it's simple, almost-like-BASIC structure.
I do the vast majority of my work in Perl nowadays, but occassionally I'll have to go back and do something in Fortran because some of the databases we use at our business school are designed to be accessed through Fortran (templates are provided). In fact, I've got to use it today. Fortunately, I'll be done with school soon, so SO LONG FORTRAN!
Sig (appended to the end of comments you post, 120 chars)
Please note, just because your typical 14 year old slashdot warez and linux zealot hasn't heard of it doesn't mean it's "long forgotten". Lots of us still use "long forgotten" langauges because they're still the best tools for the job.
And so what if it doesnt encourage good code writing? Thats not the point of it. If you want 'good code writing' you start learning more serious languages and formally learning computer science.
-
to arbitrary objects in Ruby, too.
Of course, Ruby is also OO.
For those interested in old languages...
"The Retrocomputing Museum is dedicated to programs that induce sensations that hover somewhere between nostalgia and nausea -- the freaks, jokes, and fossils of computing history. Our exhibits include many languages, some machine emulators, and a few games.
Most are living history -- environments that were once important, but are now merely antiques. A few never previously existed except as thought experiments or pranks. Most, we hope, convey the hacker spirit -- and if not that, then at least a hint of what life was like back when programmers were real men and sheep were nervous."
http://www.tuxedo.org/~esr/retro/
Mason, Buildkernel and more: http://www.stearns.org/
RPG and RPG/ile! wow... You must be using an AS/400! Large portions of which are programmed in another set of languages that fit this category: plm*.
A senior engineer once told me "the only reason for a new hire to learn any plm language is so that they can understand what the current code does when they reimplement it in C++ or Modula-2."
...they tried using Prolog. An AI language that is still in use in products like IBM's Tivoli.
Never trust a language where the "hello owrld." wxample is like:
a="hello "
a="world."
print a
Come on people how was that not funny?
It just doesn't go by the same name anymore. As far as I know, "Advanced Pick" was the last release of the Pick operating system, and they then released D3 for Linux and Windows NT. D3 is basically the pick database and development tools running on other operating systems.
Apparently Pick Systems has merged with another company now, because http://www.picksys.com pulls up the web page for "Raining Data", but you can find D3 there as well as a product called "Flash Connect", but of which I know where originally developed by Pick Systems.
APL (A Programming Language) sure is an oddball that just keeps on going (and it's my favorite language ever). It was originally developed as a mathematical notation - and it used every Greek letter plus a whole raft of special symbols (some requiring "double strikes" -- two bytes. IBM used to sell special terminals/keyboards with all those characters. That kind of limited its wide spread adoption.
It was used for early computer graphics terminals (e.g. Techtronics) because of its powerful matrix manipulation tools and by a bunch of Investment banks and Insurance companies (many still use it!) because of its rapid facility at modeling cash flows and complex financial instruments. IBM Still Sells it and there's still an APL culture.
A beginners' guide to Portland, OR?
Even now, its OO syntax is a little more intuitive , if you know smalltalk, than CLisp. Although its OO syntax was always quite different from CLisp.
I remember Bob. The first (and only) time I ever saw "him" was when my friend got a new PC. He didn't know what it was, and neither did I, so we started it up. We laughed so hard we almost ruined the capet. Also, does anyone else think that bob looks like the Disney charicter Marsupalami (the thing with a 12 foot tale)? Sorry that I can't find a picture.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Natural from Software AG seems to fit the description.
"The world looks as if it has been left in the custody of trolls."
Search google for "microsoft bob" and "abandonware"
You can find a copy... I wonder if it runs under Wine (it was for win3.1 after all)
And then there's PostScript. PostScript isn't forgotten, but there aren't a whole lot of programmers who know how to use it. It's a rather unwieldy language with a lot of primatives, but it looks a lot like forth. I preferred it over forth though, as it struck me as being a lot cleaner. If I were going to use a reverse polish notation language, it'd be a stripped down version of PostScript. If anyone wants to learn PostScript, Adobe sells a language reference manual and some tutorials that cover the language very nicely. Ghostscript is all the language interpreter you need. Then you could do cool stuff like make the printer compute and print calendars for you.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Model 204 is a database system that runs only on IBM mainframes or plug compatibles, is blatantly non-relational (yay!), and still is the database of choice if you want fast (sub-second) response to complex queries on 500 million record databases.
Model 204 comes with a "User Language" that is really a general purpose programming language with database and 3270 screen formatting primitives,
a powerful string pattern matcher, and several other features of more advanced languages like perl, all built into the core syntax. It was one of the few programming languages (along with REXX) that made programming IBM mainframes fun.
There are probably a hundred or so Model 204 sites left in the world, but there are no plans to port the 204 database engine or User Language to Linux or FreeBSD, so it is definitely legacy.
--- even the safest course is fraught with peril
Please enter your password:
*******
Password incorrect.
Please enter password:
*******
Password incorrect.
Please enter Password:
*******
It seems that you have forgotten your password, would you like to choose a new one?
Hasta luego,
Ex
that Bob's my uncle!
I know probably some of you have heard of Ada, but I wonder if any of you have heard of the old language JOVIAL? It kind of reminds me of BASIC a little bit, a very old language that is surprisingly still kicking today. Both are languages used mostly in the aerospace industry for embedded real-time systems. A lot of the old JOVIAL is slowly being ported to Ada or C, but interestingly enough every once in a while I still hear of a new project being developed in it.
Whee! Gimme money!
One of my favorite quotes is from Steve Ciarcia, who wrote the long-running Circuit Cellar column in Byte (long since evolved into Circuit Cellar Ink Magazine). Steve preferred to do most of his work in hardware, and viewed software as a necessary evil upon occaison. Steve said this in one column, and it's now immortalized: "My favorite programming language is solder."
Do I remember bob?
Do I remember waterworld!
It's really a shame that they never finished v2.0. Really its only problem now is that it doesn't like Windows 9x.
Another neat thing is that when Bob started going down the tubes, Microsoft sent us the add-on programs for it (the Microsoft Bob Plus Pack and Great Greetings) for free.
Bob actually had an email client, but it could only use their proprietary service (offered by MCI), which is of course long gone. You got an address of whatever@bob.com.
I have a book that they made called "At Home with Bob" all about the stuff you could do with Bob...
I should really go reinstall it; I still have the disks around here someplace...long live Bob!
Omnes arx vestrum sunt adiuncta nobis.
I suspect that the IBM mainframe group still has important parts of MVS and perhaps VM/CMS written in PL/I, and you could land a job in Poughkeepsie programming in PL/I if you like.
However, my own take was that in the long term PL/I was a disaster, the manual was more like the encyclopaedia Brittanica (perhaps bound in 1 book), with some very confusing and lengthy series of special case rules. While it may be true that PL/I had some good features, that is just the law of averages, since if you have enough features some of them are bound to be good :-).
In fact 3 languages have this sort of distincction, PL/I (worst because of the large number of special cases, just look at the rules for type conversions, it is far from straigthforward to determine what the implicit type conversions are), Ada (too many features), and C++ (too many features AND overloading) all seem to be designed with this philosophy, ``If you can't control your car, add another steering wheel.'' Thus the compilers become hard to implement and even harder to use (Just look at the time until standards compliant compilers could be released after standardization to get a sense of the level of complexity involved.)
Here is a link to a TechTV video of BOB running on Win2k
OK, first I have to admit that I was one of the developers for Bob. Don't hold it against me, it has been a long time since I worked for Microsoft. Most of the other Bob developers have long since left as well.
Bob, was one of the very, very few truly creative product attempts for the general market Microsoft has ever made. The first version was deeply flawed, but it also had some very good ideas. Microsoft is not very comfortable with the messiness of creativity and so like a foreign microbe Bob got expelled before these problems could be fixed. Version 2 got cancelled just a week before going into general beta.
The product started out as skunk works, and if it had stayed like that, we might have done a better job. However, I think the biggest curse was that mid-project our Product Unit Manager (PUM) became Melinda French, soon to become Melissa Gates. Melinda never had much direct say in the product, but she was obviously very well connected. We then got showered with money and developers and it went to our heads. It has become a very good object lesson to me on the dangers of over-engineering.
What I find distressing, though is that the good ideas that were in Bob are ignored, and no other product seems to be picking them up.
Here are some of the key ideas:
* Menus are not necessarily the best UI. Think about it; they are passive, they quite often show lots of options that are in appropriate, and the commands are stuffed in all sorts of weird places. Even experienced users have trouble finding some of the options.
* A shockingly high percentage of people are still scared of computers. If you are truly going to create consumer software you have to address this somehow.
* UI is a conversation. GUI's are built on the realization that we are very visual creatures. But what about tapping into our sociability? We are very social creatures. There is a body of evidence that shows that people interact in a social way with their computer (really!). That is where the characters come in -- in extensive usability tests we found a real benefit to them. They helped allay the fear factor and they served as a useful UI metaphor -- UI as a conversation. By the way, the characters were always completely optional -- there was a very easy way to turn them off completely.
*Task basked UI. Most programs are general purpose programs that do quite a number of things. The only problem is that the vast majority of people only use a small fraction of the features. One solution is to take the code for word processing and present it as a family of specialized tasks. So you would end up with a letter writer, a report writer, an e-mail writer, a list maker, etc.
I wrote Bob's Letter Writer. This may sound like a weird specialization, but since we knew that people using this particular program were just writing letters, we could do a great job of making mail merge easy, and also doing neat graphic effects (ala Publisher) that would appeal to someone writing a letter to a friend.
* Files are a low level concept. I mean really -- why should the common user have to care about such a geeky thing as a file? They just want to get their document. They could care less about whatever low level construct the developers have come up with to store this information, and really they shouldn't have to. It is weird that we still do not have an object oriented OS. My biggest disappointment with Linux is that it has done very little to push forward truly new ideas (I'm still rooting for it though).
On a technical side, the reason why Bob performed so poorly was because we tried to create the very first OLE component system that worked just as well for C++ as for Visual Basic. VB was not yet up to the challenge, and yet most of the apps were done in VB. We also used every Microsoft technology (the Jet database engine, the Quill word processing engine, VBA, etc.) and yet machines of that time only had 4 megabytes of memory! We required way too much memory for the time -- probably around 12 MB. The graphics looked bad because we had such a tight memory budget that we did not use any bitmaps at all. Everything was done with meta files (vector objects). On top of that we had to write to Windows 3.1 -- 16 bit programming.
And I credit Bob for making them feel comfortable with the computer. My son began playing with the computer at five thanks to Bob. He still occasionally asks if the Bob CD is still around. The problem with most of us is that we see things through OUR eyes as opposed to seeing through the eyes of a child. Yes, Bob was rondly trashed in reviews....and all the reviewers were ADULTS!! It shows how truly clueless so many of us can be...software designed for children being trashed by adults.
State Farm teaches all their interns JCL. I'm not sure what they use it for.
Mi klopodas varbi por Esperanto.
You can see Bob alive on Windows today as a DesktopX theme (www.desktopx.net).
= ht tp://www.wincustomize.com/library/accounts/Frogboy /dx/bobxp.jpg
;)
Theme is on Wincustomize:
http://www.wincustomize.com/preview2.asp?source
It's Just for fun. Nobody in their right mind would run this as their UI. Just like no one in their right mind would use Bob before.
Do you really expect people who have never seen a computer program in their life to suddenly start programming good code in C++? I don't think so. BASIC certainly has it's place...Hell, it's what I learned on.
Slashdot, the site where everything's made up and the points don't matter
absolutely, positively should be replaced with something which interprets python.
second choice: make's language. ok for small systems but too damn unwieldy for cross language, multi-generational, unmaintainable sytems...
We learnt Turing in 1st Year Com Sci, it was very similar to Pascal. No-one I've spoken to outside of that course has ever heard of it ...
Not here they don't. Most of the University of Oxford runs on Windows, and I log onto NT servers daily.
And Windows networking is a real system. You may not like it, you may prefer other systems - it sounds like you automatically disparage anything you don't use yourself - but it has sufficient features and sufficient security for most purposes. Er... when fully patched and up to date, of course. ^_^
Remember Tiger...the video software that MS was touting round about the same time as BOB?
Scheme, I hate to tell you, is not exciting. And until the world switches to lisp, when students move on to more imperative programming they're going to be confused (or vice versa if coming to scheme from imperative). If you dont make it interesting for the beginners, they're not going to want to continue onto the more 'serious' side of it.
-
Good, these are all the languages that I need to learn to make my millions during Y3K!
_______________________________
"I'm not Conceited...I'm just a realist..."
I had to read this book for a graduate Mass Comm class two years ago, and it is without a doubt the most awful excuse for experimental science that I have ever seen. Unfortunately for the authors, I had taken a class in research methods before I encountered their book (they should consider doing the same).
It's shoddy science, through and through. They ignore intervening variables, operate every experiment without controls, provide no accounting for intercoder reliability, the samples are always too small to be statistically significant (only one had more than 30 participants, many had less than ten), and comprised of forced participants (Reeves' and Nass's freshmen psych students at Stanford, to be precise. Even without a grade on the line, that's a bad sample). Usually, they rely on reported rather than observed behavior, and the only operating hypothesis ever examined is their goofy "equation" (you want me to spoil the beginning of the book for you? Here is The Media Equation: Media Equals Real Life. That's it. Word for word).
As if that wasn't enough, they make constant generalizations of their results (which with forced, nonrandom sampling is the first thing thrown out the window). They grandstand on every turn -- everything supports the Media Equation, and there is nothing it doesn't affect. You should always be suspicious when "scientists" do thirty experiments and always find their hypothesis supported exactly how they predicted. It's usually bunk, and in this case, it's a pantload. In one instance, they even admit to writing the hypothesis AFTER the experiment was performed. They make repeated references to other "research" in this area, but if you read through the bibliogrpahy, they are merely citing *themselves* from previous experiments. Many of these experiments, if you were interested, have still not been accepted for publication, many years after they were done. Most are not even available at the authors own Web sites. If it weren't for the fact that The Media Equation was published by Reeves & Nass's employer, I doubt whether they could've goten it published at all.
It's bad science, and it's only an afterthought: they plainly thought up their "equation" first, and then set out to prove it. That's the Scientific Method in reverse, people.
Let me give you one quick example in reference to the poster above: in the larger/smaller pictures experiment mentioned above, they show participants photographs of people's faces, some in close up and others standing 10 yards away. And the "test" is showing the subject another photo of the same people, and seeing which person the recognize most often. Guess what: it's the person who's face they saw in close-up. Surprised? You shouldn't be. No thinking adult would be; you see the face close up so you see more detail, and see it better. Plain and simple. But that's not the conclusion Reeves and Nass come up with; they decide instead that this turn of events means that you are having a psychological reaction to the face, and the biger face makes you happier because it seems more like a person. So if you think it's a person, you will remember it better.
That's the media equation, you see? The more person-like an electronic communication is, the better it works. The only time this has been tried under real-world circumstances, of course, is their grand experiment: Microsoft Bob. Funny how well that went over, huh.
Man, I hate that book.
Nate
PS - you might try the following link to Amazon, I submitted the review under "n8willis": here.
PPS - if anybody cares, I'll follow up what I say by emailing them the paper I had to write about this ridiculously bad book; it goes into more detail. Or perhaps I'll submit it as a /. book review. I meant to at the time, but it was just way too long....
-- Watch the REAL Jon Katz.
It made programming *fun*. I took examples out of books and tried to change them around...make them a different color, sound different..whatever. That required adding things, taking some out, changing others. After awhile, I knew how to make my own programs from scratch.
With C and its arcane conventions its hardly easy for the complete beginner. Heck, there were times with basic id get really frustrated.
-
Nate,
Fascinating points! I never really read the book with a critical eye towards their methodology. What you're saying would certainly explain why Bob and Clippit are so universally reviled, despite the book's "predictions".
I'd love to see that paper if you get a chance to e-mail it to me.
I seem to recall that OS9 was being used in many post-offices as an embedded OS on some of their equipment. Dunno if it's true today, but it was always a decent operating system, lean and fast.
The funny thing that I see while reading the comments is the blasting of Clippy and the Dog for being cute. This group of people actually love and enjoy these little ai characters and build them for themselves. I see them in many different channels on IRC. The most notable one is purl. So, would it make you all feel better if Clippy reacted to ! commands and wasn't so cute? The functionality that these "bots" provide is not the greatest, but they are useful and are needed. Otherwise, purl wouldn't exist.
Oh, and how could one forget the greatest "bot" of them all? The computer from Star Trek. "Computer, where is Worf?"
You want these bots, You need these bots. If you don't like the manner in which I provide these bots, then why don't you sit at a keyboard and write one yourself?
This is not the sig you are looking for...
And before PL/1 there was Algol60. I remember reading algorithms from ACM that were all Algol60 or psuedo-code. I actually wrote some code in both PL/1 and Algol60 on the big iron I had accounts on in college.
:-)
Also, I took a simulation class where we used GPSS-V (General Purpose Simulation System, Ver 5 ??). Enterpreted language, at least on IBM 370s running VM/CMS. Had to have a "special account" since my simulation was of nuclear events. It sucked 100% of available CPU cycles for hours. Our sysadmin made me agree to not do test runs except at the wee hours on weekends...
For a product that failed to make an inpact on the market, Bob has a supprisingly large number of entries in Microsoft's Technet. Despite Bob being gone, its annoyances and bugs soldier on through Windows 95, Windows 98, Windows 2000, Office and ultimately, Windows XP.
Firstly the sound themes are already present in BOB. So is the annoybot that ultimately becomes clippit. Then there are the sound schemes. And cab files. But there are prehaps a lot of technical features that ultimately appeared in Win95, the P!us pack, and later.
When you want to annoy the hell out of some MSCE or Microserf, you tell them that Windows NT is Microsoft Bob on top of a bloated WinOS2 shell running on top of 16-bit OS/2 1.3
This explains the extensive entries for both MS OS/2 [in both Technet and WinNT/2K help], and Bob. It's a handy place to hide surplus bugs. :)
OS/2 - because choice is a terrible thing to waste.
...that I haven't seen mentioned here that I studied in college: Algol and RPG.
Algol (Algorithmic Language) was a structured language (compared to, say, COBOL and FORTRAN) that was probably ahead of its time.
RPG was a report generation language taught alongside COBOL, although not really related to it.
Anyone still use that language with the little drawing turtle?
I think it was called LOGO... I did it in early highschool days
-BigNerdBoy
You can (or could) write viruses in it too.
Best Slashdot Co
Unfortunately, I never did figure out how to open a network socket in PostScript. It would have been a really cool hack...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
What the fuck are you talking about? Hey dumass start using the language like the rest of us, we sort of agreed on it ok?
I think the first post was smarter because it wasn't critical.
Bob! Slack! Frop! Kill me! The Anti-Bob!
"Fuck 'em if they can't take a joke." -J.R. "Bob" Dobbs
all programming languages for timing multiple projector slide shows. I'd warrant there are people still using these, though, I don't know any
Considering IBM gave RPG away on AS/400 on many versions of that OS, it was the bread and butter of many, many businesses; many of which still use it. It was butt-ugly, but it got the job done. I remember getting back to Cobol after RPG and being relieved about it.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
You are disrespecting a very large portion of the business world. I will agree that there's not much pleasure to be had in using (most) COBOL environments. However, COBOL fills a niche that, until very recently, nothing else out there could fill. What's that niche? Specifically, it's the niche of very high volume processing systems that must be flexible and undergo change on a regular basis (in other words, must be maintainable).
/. culture.
It's not a given that COBOL is a scalable language. However, the best implementations of COBOL have always been the ones that reside on highly scalable architectures, i.e. mainframes (usually IBM's). It's also been true that the best language on those scalable architectures for business problems has almost always been COBOL. Therefore, businesses with very high volume needs have used COBOL. It's not difficult to understand.
Now, I'm sure IBM looked at public perception and said something like "Hey, everyone seems to despise COBOL. Maybe we should do something to get a new language in the works so we don't lose our shirts." And then was born their support for Java. I think you should expect to see Java take over tasks that COBOL would previously have been used.
Also, I think you're absolutely right. Mostly non-IT related companies probably are using COBOL. But who really pays the bills anyway? You think IT companies pay the bills? Really?! Despite our over-inflated self-opinion, IT will always be a derivative industry. Just like accountants, HR folks, etc. we will only ever have jobs where other industries already exist. IT has no value in a vacuum.
My last point is this: Every programming language out there that actually gets used, gets used by a community. Every community has a culture. And every programming language serves that culture. Don't think this is true? Try using VB in a Unix shop. The culture clash will be immediately apparent.
So, people still do program in COBOL; because it works and because that's how they and their peers think. End of story. It would be stupid to deny the reality of that. But those people aren't necessarily stupid for being the product of their local culture. Just like we're not stupid for being (at least in part) the product of the
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Microsoft claims that they have been really innovative, but most of their technical stuff has been "inspired" or invented by someone else, from DOS to Windows, etc.
However BOB is different. BOB WAS innovative. This shows one important lesson folks: as much as MS talks about "innovation," innovation is completely meaningless. When a problem arises we can resolve it, but every product does not need to be technically innovative.
LedgerSMB: Open source Accounting/ERP
Because MS Bob is a funny joke. It's one of the bigger megaflops I've ever seen from them.
Wait a minute. Wasn't apple advertizing the G4 as a Gigaflop system? I thought the more megaflops the better. Maybe you mean Microflop. (for those that don't know, a flop is a measure of processing power, the more, the better)
LedgerSMB: Open source Accounting/ERP
According to the XLISP home page, the Bob source code was last updated today (oh, ok, maybe in response to the /. article). But at least the author is out there and paying attention...
does anyone know where there are screenshots etc or any other information about MSBob?
Always interesting to see more UI's even the failed ones. Especially the failed ones.
'Welcome to Rivendell, Mr. Anderson...'
It's bad science, and it's only an afterthought: they plainly thought up their "equation" first, and then set out to prove it. That's the Scientific Method in reverse, people.
No it's not. It's called applying a statistical test to a hypothesis. Of course, you can never prove things with statistics, only disprove them.
But, I agree with you that the other points (forced subjects, no control, etc) you make are very valid.
Digital Interactive Business Orientated Language.
:)
Fortran syntax with BCD arithmetic, ran on PDP-8 and RT-11....
Many moons ago in a previous incarnation I worked as an IT recruitment consultant (for which I will surely pay in the next life) and had to find a DIBOL programmer for a contract. I scored major brownie points when a new contractor registered with us the same day and had DIBOL experience!
It was the first and only time I've ever heard of it
This child of the 60's is the language used in the Unisys proprietary MCP (Master Control Program) operating system. Many enterprise applications (including those where are I work) are also written in Algol, or one it's many Unisys derivatives (DCALGOL, DMALGOL, or NEWP, the dialect that used in the current version of the MCP). Anyone else out there still using it?
> the general market Microsoft has ever made.
yes, many people forget that. It shouldn't be that hard to remember all three innovations from microsoft:
1) 8 bit BASIC. Yes, the language existed, but actually implementing it for those silly little hobbiest toys as a commercial product was innovative.
2) The usable word processor footnote in 1984 (Word 1.0, Mac). Yes, we *could* make footnotes in wordstar, but it was a PITA. I'm told that Word Perfect came out with a footnote the same year, but it would be anothe rcouple ofyears before WP was in wide use (WS still reigned. Right up until that WS 2000 fiasco . .
3) Bob. Oddly, I've actually met two students who have seen in--both times in response to asking if anyone had ever heard of it. One not only remembered its existence, but actually thought it was cool, and had spent a lot of time at it.
And why doesn't it surprise me that most of the people from MS's last round of innovation are gone??? I still occsasionally use what I think are the final two decent products to leave MS: Word 5.1a, and Excel 4.0 (both mac).
Hawk, who really isn't anti-ms, but a) just hasn't seen anything worth owning from them in close to 10 years now, and b)has the usual free-market economists' distaste for monopolies which mess with his precious markets.
It may be forgotten among the unix/microsoft crowd (micro to midrange arena) it is still pretty front and center in the midrange to mainframe arena.
It's still being actively developed; it has modularization features; it's moving toward a free-form syntax; it handles text munching, formatting and record based processing very well.
1. We think A probably implies B.
2. Let's devise an experiment to try and show this.
Admittedly, that sounds more vague than I thought it would.... The difference is that they try to devise the experiment in order to get the results they want to see, rather than devising the experiment to be neutral and then testing the hypothesis. Or, to engage in some wishful thinking, more than one hypothesis.
Besides, they use the language of statistics, but they clearly have no understanding of it (disclaimer: I am still bitter at having had six hours of statistics in college from a old Analysis professor who made us do proofs on everything). Example: they give a survey, asking respondants to check "always/sometimes/rarely/never" as their response. Then they do means and standard deviations to report their results. That's absolutely meaningless. First of all, the numbers you get are completely dependant on how you map those qualitative, non-numerical values to numbers, and secondly, nominal, categorical data like that has no correct mapping because it's nominal, and not numerical.
It doesn't matter how you encode it, saying you've taken the average of NBC, CBS, and FOX or the standard deviation of Red, Green, and Orange is meaningless. You can assign values and weights to them and then do your calculations on those, but it's totally arbitrary.
Nate
PS - also, before someone else mentions it, yes always/sometimes/rarely/never has order to it; that is called ordinal data. But it's not continuous, and order in a set does not imply oh, what's the word... interval? You can say that the person who checked sometimes ranks ahead of the person who checked rarely, but not by how much. Not even for a single response, much less for the data set as a whole.
-- Watch the REAL Jon Katz.
ALGOL60, and later, ALGOL68, were seminal languages in computer science. Think of them as the grandparents of C, PASCAL, and most other block-structured 3GLs.
Several variants of ALGOL60 are still in use on UNISYS(Burroughs) mainframes as the systems and database programming languages. These systems, going back to the B5500 in the 1960's, had and have no assembler. The entire OS, database system, transaction processing monitor, etc etc are all written in ALGOL variants. The underlying hardware is stack-based, and runs these languages natively and very efficiently. The hardware and language were designed together. The infrastructure includes dynamic one-way and multi-way linking of libraries, run-time procedure selection (which the OS uses to install interrupt handlers, etc for whichever version of the hardware it is running on), preemptive multithreading and multitasking, multiple processor support, and hardware memory bounds checking (buffer overruns are impossible). There are PC-sized and now laptop-hosted versions of the hardware.
Nice stuff to use. Too bad they couldn't market Jesus on a stick.
If bogomips is bogus millions of instructions/sec. then the bogus billions of instructions/sec would be bogobop, bogotip would be trillions. (bogoquip and bogopip would be even larger ;)
This was my very first language. At the tender age of 8 I was coding Text based adventure games and eventually graduating to 4 count them 4 color graphics, a blue/white/black/orange extravaganza of sci-fi geekdom. Also, it was a M1cr05of+ product. I've since grown distrustful of any language that requires an interpreter to run, making me violate copyright law to distribute my own work in usable form. . .
You are not the customer.
7/8 years ago I worked as a DB adm/system adm with an amazing operating system from IBM , VM. You could run other OS from IBM over VM, or VM under VM. it really had some amazing things. It was much better than the other OS from IBM for mainframes. But I never heard anything about VM (yes, VM is Virtual Machine).
IBM ran it all over the world as theirs web servers, some years ago. Do anyone knows if it's still out there?
------I can please only one person per day. Today is not your day. Tomorrow isn't looking good either.------
[shudder] I remember Clipper. The first code I was paid to write was in Clipper '87. All I can say is that it was an improvement over vanilla DBase III.
Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
I think you need to quit the compulsive masturbating and get motivated LegendLength. Your mother keeps telling everyone in hearing distance all about your 40 minute showers and the numerous "incidents", so we'd all appreciate it if you just laid off the Jergens for a while.
The "second edition" to this was renamed to Design of Everyday Things. Evidently, he didn't like the P.O.E.T. acronym.
Great book. Get it. 1 7 4 2 8
There's a web server written in postScript someplace on the net. It uses inetd for the fact you can't make a socket in PostScript.
The urban legend was that Billy boy proposed to Melinda in a program. A series of puzzles, and when she answered the last one, it showed a proposal. True?
Very much used. OS/390 is the current name of the venerable MVS (Multiple Virtual Systems) which is typically run under a VM shell so that multiple MVS systems can be run. That way you can have a regression instance, a development instance, a staging instance and a production instance all on the same hardware platform.
Then of course there's VMWare's port of VM onto the x86 platform. Currently the best way to run Linux and Windoze on the same platform at the same time.
To hear the gods laugh tell them your plans.
So many people have mentioned the Dog that I wonder if MS will start to develop recurrent animation characters like Disney?
If I recall correctly, there were several software eductainment products using Disney and Sesame Street characters and they didn't stink as badly as Bob. Maybe the quality of the character is the difference.
But it takes creative genius to invent a likable character. Techie types probably won't succeed.
I have a friend who is still developing commercial packages in Prolog. The darned thing had windows, graphics, full dialog boxes, etc and runs reasonably fast. I think it is a modern prolog compiler with windows lib support. But I have to agree, the syntax of Prolog just doesn't lend itself to programmers trained in procedural languages.
If I recall correctly, Prolog is non-procedural (declarative). So the sequence of the program does not necessarily execute in the sequence written! That's too wierd for me.
Since you specified exactly how many digits (decimal or binary) a variable would have, there was a complex set of rules needed to convert one type to another to avoid loss of precision. However, since programmers tended to only use a few hardware-dependent variable sizes, there wasn't a lot of conversion issues. Generally, I tended to add integers to integers, and add real numbers to real numbers. The complex rules type conversion rules were well enough thought out that they produced the right results when I did mixed-mode arithmetic. There are some issues with the implicit types of constants, but I never encountered any problems.
Actually, according to the preface, it was the publisher that was squeamish about it. He still thought it was clever, but conceded that maybe it was too clever by half, so allowed them to change the title...
DO NOT LEAVE IT IS NOT REAL
Choosing a Programming Language
Which language shall I use...?
The proliferation of modern programming languages that seem to have stolen countless features from each other sometimes makes it difficult to remember which language you're using.This guide is offered as a public service to help programmers in such dilemmas.
C: You shoot yourself in the foot.
Assembler: You crash the OS and overwrite the root disk.The system administrator arrives and shoots you in the foot.After a moment of contemplation, the administrator shoots himself in the foot and then hops around the room rabidly shooting at everyone in sight.
APL: You hear a gunshot, and there's a hole in your foot, but you don't remember enough linear algebra to understand what the intervening processes were.
C++: You accidentally create a dozen instances of yourself and shoot them all in the foot.Providing emergency medical care is impossible since you can't tell which are bitwise copies and which are just pointing at others and saying, "That's me, over there."
Microsoft C++ with Windows SDK: You write about 100 lines of code to print "Hello, world!" in a dialogue box, only to have a UAE pop up when you click on OK.This shuts down the program manager, leaving you nothing but a screensaver.You then fly to Seattle and shoot Bill Gates in the foot.
Ada: If you are dumb enough to actually use this language, the United States Department of Defense will kidnap you, stand you up in front of a firing squad, and tell the soldiers, "Shoot at his feet."
Modula-2: After realising that you can't actually accomplish anything in the language, you shoot yourself in the head.
Pascal: Same as Modula-2, except the bullets are the wrong type and won't pass through the barrel.The gun explodes.
sh,csh,etc.: You can't remember the syntax for anything, so you spend five hours reading manual pages before giving up.You then shoot the computer and switch to C.
Smalltalk: You spend so much time playing with the graphics and windowing system that your boss shoots you in the foot, takes away your workstation, and makes you develop in COBOL on a character terminal.
FORTRAN: You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue anyway because you have no exception-processing ability.
ALGOL: You shoot yourself in the foot with a musket.The musket is aesthetically fascinating, and the wound baffles the adolescent medic in the emergency room.
COBOL: USEing a COLT45 HANDGUN, AIM gun at LEG.FOOT, THEN place ARM.HAND.FINGER on HANDGUN.TRIGGER, and SQUEEZE.THEN return HANDGUN to HOLSTER.Check whether shoelace needs to be retied.
BASIC: Shoot self in foot with water pistol.On big systems, continue until entire lower body is waterlogged.
SNOBOL: You grab your foot with your hand, then rewrite your hand to be a bullet.The act of shooting the original foot then changes your hand/bullet into yet another foot (a left foot).
LISP: You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...
SCHEME: You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...but none of the other appendages are aware of this happening.
FORTH: You push the words GUN and FOOT onto the stack, followed by the word SHOOT.Almost instantly they are all replaced by the word HOLE.Unfortunately you have no idea what this word actually means.
Prolog: You tell your program you want to be shot in the foot. The program figures out how to do it, but the syntax doesn't allow it to explain.
Logo: You tell a turtle to draw a picture of a foot and a gun, then shoot the turtle.
SQL: You select all instances of feet from the database, lock them (to prevent anyone else trying to shoot any of them at the same time), order them by size and handedness, identify your own, shoot it, and then release the lock so that others may shoot themselves in their own feet again.
Perl: !($foot =-/left/)
Java: You attempt to shoot yourself in the foot using a bullet that will work in any gun in the world. But you discover that the "Microsoft Gun" is actually a bow and arrow.
Visual Basic: You'll shoot yourself in the foot, but you'll have so much fun doing it that you won't care.
Delphi: Drop a gun and a foot onto a new form.Set the gun's target property to Foot1.Click on the OnTriggerPull handler and enter "Bang;".Press F9 and a hole appears.
C++ Builder: As above except you need to enter "Bang();"
VHDL: You design a device to shoot you in the foot.You try to simulate it but find that the bullet passes from the gun to the floor in 0 seconds meaning that it didn't pass through your foot at all.You think for a while and then realise that the simulator doesn't understand about time by default!You spend a while explaining time to the simulator and eventually it simulates the bullet coming out of the gun, crossing the space between the gun and your foot, hitting your foot (exactly in the middle) and passing out of the other side before stopping in the floor.The bullet hole looks very realistic.You can even wind the simulation backwards and forwards, checking from every angle to see that it correctly shoots you in the foot every time.You build the device and try it out.It shoots you in the hand!
English: You put your foot in your mouth, then bite it off.