Subj : Re: Four Programming Questions To : comp.programming From : Stephen J Rush Date : Sun Jul 24 2005 05:29 am On Thu, 14 Jul 2005 01:47:46 -0700, gswork wrote: > Gerry Quinn wrote: >> In article <1121181554.878999.143020@z14g2000cwz.googlegroups.com>, >> jimmaureenrogers@worldnet.att.net says... >> > Gerry Quinn wrote: >> > > In article , ballensr@adelphia.net >> > > says... >> >> > > > Question one: Which language (basic, C++, java, etc) is easiest for >> > > > learning computer programming? >> > > >> > > Probably a traditional Basic. >> > >> > Basic is certainly easy to learn. It also supports and somewhat >> > encourages bad programming practices. Modularity is very difficult >> > in traditional Basic. Compound data types, other than arrays, >> > are not allowed in traditional Basic. The dreaded "goto" is almost >> > required in traditional Basic. >> >> When I say 'traditional' I don't mean 'archaic'. I mean Basics dating >> from the mid '80s onward, which took a lot of concepts from C. Such >> Basics have types (similar to C structs), C-like loop structures that >> make goto redundant, and C-like functions. Really, they are quite >> similar to C without pointers. > > I think of it more as an easy going pascal! Anyway, you are quite > right. the basic syntax of BASIC has lent itself well to structured, > even OO, programming. I've seen some very well put together source for > VB & QB for instance, but also very bad. > >> "10 GOTO 10" is a strawman that doesn't apply any more. > > but some folks did have fun in early 80's computer shops with it! Yes, QuickBasic and its descendants are much more like Pascal than C. I once worked through Jack Crenshaw's "Lets Build a Compiler!" tutorial in QuickBasic 4.5, translating his Pascal code as I went along. Note that he didn't use pointers, variant records or nested procedure definitions. I haven't used a GOTO in years except to abort a program if there is a fatal error at the bottom of a pile of nested loops. BTW, QuickBasic and its subset QBasic don't require line numbers, but 10 GOTO 10 lives on in the form of DO : LOOP. Most of the people who run down BASIC haven't looked at any of the post-Microsoft versions, many of which are used to maintain their own compilers. PowerBasic, XBasic and FreeBasic even have pointer variables, in case you want to build a linked structure (or have as much fun as a C++ programmer, chasing obscure and deadly bugs). For scientific programming, if that means heavy-duty number crunching, it's probably hard to beat FORTRAN. Those libraries have gone through a *lot* of polishing. .