Guru Lounge>
Holy Diver
Are those u/loaded somewhere Hacker ?
The Lone Hacker
No, but I suppose I can upload them into the file area... ;)
The Lone Hacker
Well, I uploded them as files JOKES.TXT, JOKES1.TXT, and JOKES2.TXT.
Happy downloading and laughing........
JayDee
I think I'll upload WFW3.11...
The Wanderer
Hey, gurus!!
Can anyone tell me a good platform
to learn how to program?
I've taught myself just a tad, but it's pretty limiting:
copy con BEEP
ctrl G
end
yay, what a program.
:)
JayDee
try the 80860 family of RISCs
MicroWay is a good source of hardware and software
Holy Diver
If your gonna learn, learn something useful. Try PERL.
The Lone Hacker
Wanderer: The "basic" MS-DOS driven system contains GWBASIC.EXE (DOS 4 and below) or QBASIC.EXE (DOS 5 and on) for your "programming pleasure".
If you haven't guessed: they're BASIC programming aids (as in the language called "BASIC"). BASIC is probably the BEST platform to learn on before you move on to C, Pascal, Assembler, etc. In fact, there are so many books on "Learning BASIC" that anyone can "learn the 'basics'" (no pun intended) - go to your library in the "Computer Languages" section and check out the books on programming in BASIC.
I started out with BASIC myself, then learned assembler for the 8080/85, 6502, Z80, and 80x86/88 processors. I'm considering learning C, for the heck of it, sometime in the future.
StraitJacket
I would suggesst C for starting.. to learn the easierst way, get a good package with an IDE (Integrated development enviroment).
Turbo C is a good starter. (about $75 or so if you look around) The online help is good.
There are a lot of good books out there. I learned off of "Teach Yourself C" took about 2 weeks, your results may vary.
Eventually you will want to get rid of the IDE, but it is a good way to start.
BASIC tends to handycap you.. there are too many shortcuts availible, and you will have to relearn everything when you go to another language.
The Lone Hacker
Strait': you're not entirely accurate in your "assessment" of BASIC. The newer packages (QuickBASIC, Turbo BASIC, etc.) allow for some QUITE STRUCTURED programming and such. Yes, many things are "easier" in BASIC than C (print control for one), but once you learn the "basics", ESPECIALLY if you've never programmed before, it's easier to "port" those skills to other languages.
Besides, you have to remember what the "B" in BASIC stands for in the first place: BEGINNERS', as in....
<B>eginners'
<A>ll-purpose
<S>ymbolic
<I>nstruction
<C>ode
BASIC was, is, and always will be the "language of chice" for "primary teaching" of computer programming and computing skills. :)
StraitJacket
I am not saying that BASIC is bad... just allows too many shortcuts. The days of linear only programming in BASIC are more or less over. you can now use functions, a long call since I started programming.
Yet still... there is the fact that you don't HAVE to do many things that are required for the 'advanced' languages. programmers can take shortcuts. If you are willing to accept NONE of those shortcuts, (Especially never using the GOTO statement) you can learn well with BASIC.
GOTO is one of the sloppiest functions (IMHO)in basic or C) it is required usage for assembler. (Ie. jmp jne jeq asnd the like).
Why don't you try rewriting that menu program of yours in C. (It can be done, I did it, remember) I will never do it again. I would rather write it from scratch next time.
Actually the 'language of choice' in college and university level is 'ADA' for advanced learning.. which tells you how accurate a 'languace of choice' is an indication of how useful it is in the outside world.
now knowing C and C++, I would never write anything in basic. perhaps assembler/machine (Machine just because I wouldn't need a compiler.) If it is too short for compiling. (like 'hello there' programs.) I script them (batch files).
Basic is not worth the trouble for me. I haven't even looked at a basic program in 2.5 years. (when I ported the menu program.)
C is easy to learn. and more practical in the outside world.
Shadowknight
Hmmm. What about learning in Pascal? =P
Visual Basic is fun to play with, but I dunno if you'd want to start out learning to program in it.
It's been my impression that these days the language of choice for teaching programming was Pascal. The way I hear almost everyone I know learning C is just picking it up on their own.
Lab Rat
Lone Hacker> You left out the mach bit, but I'll forgive you.
and now for the other half of that textfile:
THE PROGRAMMER'S QUICK GUIDE TO THE LANGUAGES
The proliferation of modern programming languages (all of which seem to
have stolen countless features from one another) sometimes makes it
difficult to remember what language you're currently using. This handy
reference is offered as a public service to help programmers who find
themselves in such a dilemma.
[======================================================================]
==>TASK: <Shoot yourself in the foot.>
-----------------------------------------------------------------------
>C: You shoot yourself in the foot.
-----------------------------------------------------------------------
>C++: You accidentally create a dozen instances of yourself and shoot
them all in the foot. Providing emergency medical assistance 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."
-----------------------------------------------------------------------
>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 with the attempts to shoot yourself anyways
because you have no exception-handling capability.
-----------------------------------------------------------------------
>Pascal: The compiler won't let you shoot yourself in the foot.
-----------------------------------------------------------------------
>Ada: After correctly packing your foot, you attempt to concurrently load
the gun, pull the trigger, scream, and shoot yourself in the foot. When
you try, however, you discover you can't because your foot is of the wrong
type.
-----------------------------------------------------------------------
>COBOL: Using a COLT 45 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 re-tied.
-----------------------------------------------------------------------
>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 the gun with which you shoot yourself
in the appendage which holds the gun with which you shoot yourself in
the appendage which holds...
-----------------------------------------------------------------------
>FORTH: Foot in yourself shoot.
-----------------------------------------------------------------------
>Prolog: You tell your program that you want to be shot in the foot. The
program figures out how to do it, but the syntax doesn't permit it to
explain it to you.
-----------------------------------------------------------------------
>BASIC: Shoot yourself in the foot with a water pistol. On large systems,
continue until entire lower body is waterlogged.
-----------------------------------------------------------------------
>Visual Basic: You'll really only _appear_ to have shot yourself in the
foot, but you'll have had so much fun doing it that you won't care.
-----------------------------------------------------------------------
>HyperTalk: Put the first bullet of gun into foot left of leg of you.
Answer the result.
-----------------------------------------------------------------------
>Motif: You spend days writing a UIL description of your foot, the bullet,
its trajectory, and the intricate scrollwork on the ivory handles of the
gun. When you finally get around to pulling the trigger, the gun jams.
-----------------------------------------------------------------------
>APL: You shoot yourself in the foot, then spend all day figuring out how
to do it in fewer characters.
-----------------------------------------------------------------------
>SNOBOL: If you succeed, shoot yourself in the left foot. If you fail,
shoot yourself in the right foot.
-----------------------------------------------------------------------
>Unix:
% ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm:.o no such file or directory
% ls
%
-----------------------------------------------------------------------
>Concurrent Euclid: You shoot yourself in somebody else's foot.
-----------------------------------------------------------------------
>370 JCL: You send your foot down to MIS and include a 400-page document
explaining exactly how you want it to be shot. Three years later, your
foot comes back deep-fried.
-----------------------------------------------------------------------
>Paradox: Not only can you shoot yourself in the foot, your users can, too.
-----------------------------------------------------------------------
>Access: You try to point the gun at your foot, but it shoots holes in all
your Borland distribution diskettes instead.
Holy Diver
Please, no more pitifully slow stuff written in VB. Learn to program in UNIX (PERL) if you want to make some money.
Spyder J.
Re the current BASIC vs. Everything Else debate:
A friend of mine (an old one from way back) who developed all of the most recent BASICS for Microsoft (in other words, he's a Senior Programmer from the days when Gates actually *ran* the day-to-day operations) told me that they have been trying to make BASIC the most practical of easy-to-learn and easy-to-translate-into-other-languages languages on the market. The actual programming itself (believe it or not) is done (last I knew) in C.
Also, a former fellow student at B.C.C. (who is a professional C instructor at, among other places, Microsoft University on a private consultant basis) told me that the most recent popular/wide-spread BASICs from MS (i.e., QBasic and QuickBasic) are the tightest compiling programming languages on the market. If you want your programs to compile into tiny little packges, ththese are definitely for you.
(Personally, after having spent YEARS programming in GWBasic and QBasic, I found it *much* easier to learn the other structured languages.)
The Lone Hacker
Pascal is an excellent tool for learning "structured programming" concepts, as well as being a "stepping stone" to C programming.
For teaching "elementary" programming concepts, BASIC still can't be beat.
Yes, programs written in BASIC tend to be "sloppy", but you have to remember that BASIC is a direct descendant of FORTRAN, which is one of the most POWERFUL languages around inregards to number handling as well as sheer precision (can C give you 128 decimal digit precision?).
Then there's assembler for the "exacting" programmer (and the insomniac!)...
Strait: I remember your C version of the menu I gave you - not a bad effort, but some of the translation "left a lot to be desired"... ;)
There was an article in one of the PC mags a couple of years ago comparing languages vs. code size for a one-line program: print "Hello there!" (or something similar). The winner was ASSEMBLER with 500-ish bytes, second place was C with 10K, 3rd place was PASCAL with 20-25K, and last place was compiled BASICs with 30-45K (QuickBASIC was the LARGEST, PowerBASIC the smallest!). This gives one an idea on the "excess baggage" compilers tack on to their work.
SStrait: As I stated earlier, I'm considering learning C in the future. UNtil then, BASIC is my "language of choice" for generating my little utilities. For a project, try converting that menu you converted from BASIC into assembler and see what you get? <smirk!>
One "sage" programmer once told me this: "The best language is what works best for you."
Holy Diver
Anyone looking for Tech Support work ? My company is hirin'. Email to rjohnson@spry.com
The Wanderer
I'm glad I've taken so long to get back!
C, C++, Pascal, Assembly...Yow!
I've already started on Qbasic.
I'll hope it doesn't handicap me, like some of you said...
until then...
The Lone Hacker
Lab: I can get 128-digit precision in FORTRAN with a simple "FORMAT (D130.128)" statement for a corresponding WRITE statement. The last time I did this was in college (15 years ago) on a Prime mini with 5 terminals (4 user, 1 supervisor), 128K words RAM, and a single H/P 12940-class drive (10 meg removable cartridge). Used it to calculate (on a whim) 200 factorial (or was it 300 factorial?). Only took the machine about 2 minutes to get there from 1! with 3 other users on-line!
And yes, it calculated and printed EVERY NON-ZERO DECIMAL DIGIT!
These days, I don't need or want such outrageous precision.... ;)
StraitJacket
Well... I left all the functionality in your menu prog... Assembeler... thet would be interesting.... not worth the trouble for me though... (I use scripts for most functions anyway.
StraitJacket
You are right though.. the best language is the one you know and use well... I have seen programmers do wonderful things with basic.
I gave up basic years ago...
I thought this was for suggestions for learning a language.
The Lone Hacker
Strait: the "suggestions" are here, you just have to look for them... ;)
Lab Rat
Lone Hacker > you speak of FORTRAN with 128 digit precision.
welcome to C++ where if you need that kind of insane stuff just write a class and tack some functions on it.
wouldn't be too hard.
The Lone Hacker
Couns': don't discount BASIC as a "viable" language! There are a number of EXCELLENT BASIC Compilers (i.e QuickBASIC, TurboBASIC) around that can let a user turn out PHENOMENAL programming projects!
Fer example: I wrote (re-wrote, actually) a BBS program, converting it from GWBASIC into QuickBASIC. It was a fun learning exercise as well as giving me a useful "product" (I used that program to run a BBS a few years ago).
Counselor
I think the language one chooses to learn depends on what one intends to do with it. BASIC, being an interpretive language, is easy to debug and play around with which makes it a good learning tool. But, it is also slow. It definitely is not practical to use for developing large projects. C is probably the most widely used these days and is very powerful. If you want to learn a "real" language, C is probably the best choice. There is not much reason to learn PASCAL, in my opinion.
Wanderer, I certainly don't think you need to worry about being "damaged" by learning BASIC. It may, in fact, be all you ever need. :)
The Lone Hacker
Wanderer: QBasic is a "stripped" QuickBASIC. It operates, for the most part, like QuickBASIC BUT YOU CAN'T COMPILE ANY OF YOUR PROGRAMS! Essentially, QBasic REPLACES the old GW-BASIC interpreter.
JayDee
it is
The Wanderer
And where does Qbasic come into all of this? Or is Qbasic QuickBasic?
The Wanderer
Ah-ha! Thank you.
Now...If I checked out some books of QuickBasic, could I interpret it to Qbasic in order to teach myself some programming? Are they close enough together?
The Lone Hacker
They're IDENTICAL in programming. Again, the one thing you CAN'T do with QBasic is COMPILE your work into stand-alone programs.
Otherwise, what you do on one you can do on the other... ;)
The Wanderer
I understand now!
Whew.
Thank you.
Spyder J.
Gotta problem (courtesy work) I could use some help with.
Had a disk go bad in the FAT tables (yes, I'm talking DOS, for those who are only monolingual in Mac!). It's the only place the disk went bad, but it's preventing *ANY* access to *ANY* files on the disk! (That's even using Norton Utilities and the DOS 6.20 version of diagnostics!)
Is there ***ANY WAY*** to recover the files from this disk?!?
The Lone Hacker
Spy-guy: this is the ABSOLUTE, last-ditch recovery technique - run that abominable DOS utility called RECOVER.
I say "abominable" because if RECOVER is able to "salvage" anything, and you had a directory structure on the disk, RECOVER will DESTROY SUCH STRUCTURE and deposit everything it can find in the root directory (up to the maximum # of entries it can handle) in files with the extension .REC. The "file" sizes will be in multiples of cluster size and you'll have to MANUALLY "decipher" and "piece-together" those files into something (anything?) useful.
If you don't want that hassle, check the date of your latest backup (assuming hard drive) and RE-FORMAT/REBUILD THE DISK.
I speak from unfortunate experience in dealing with RECOVER. My advice to all DOS users (whatever the make/version): DELETE "RECOVER.EXE" FROM YOUR DOS DIRECTORY SO IT CAN NEVER BE ACTIVATED AND TOTALLY SCREW-UP YOUR DISKS/DRIVES!!!
I wish you the best of luck, Spy-guy!
MontyL
Spyder> What portion of Norton Utilities, and what version? I haven't yet had the misfortune to have a floppy go bad on me that I couldn't replace the contents easily, but I'm under the impression that, should it occur, the DISKFIX program in PCTools V9.0 that I have will be able to manage the task. Norton V8.0 is just as capable. SpinRite would be worth a try, too.
FuzzyWuzzy
Spyder J. > Get a copy of PC Tools version 9. It has a really good disk recovery and repair section. I have used it a few times to recover stuff from bad disks.
JayDee
what kind of data is on the disk?
text is the easiest to recover, forget executables...they usually end up
un-executable, wordprocessing files and spreadsheats are iffy, at best...
Vinyl Forever
Don't Dos discs contain 2 fats? A "fixer program should be able to use the redundant one to repair it. i.e. Pctools
The Lone Hacker
From what Spy-guy said earlier: BOTH FAT tables got trashed; probably due to a power glitch or some similar misfortune.
My wife had a floppy where both FAT's got trashed. My Norton Disk Doctor (ver. 5) did the best it could but couldn't fully recover the data on the disk. Ended-up re-formatting that floppy (good thing it didn't have "critical" data on it and she had a "recent backup" of that disk).
MontyL
You got it, Vinyl. The recovery tools usually compare the two copies, and use them to (most of the time) get to the data.
Spyder J.
Thanks for the info, all. (BTW: disk was a 5-1/4" floppy.) Will try each and/or all of the offered solutions (finances providing), and will let ya know what happened. (Part of finances question: this was a disk at WORK, not HOME, so I've gotta watch how much o' the green stuff I spend.)
Guru Lounge> _