lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


It was thus said that the Great Enrico Colombini once stated:
> 
> Also, with the couple of Lua-based open-source applications I published 
> I found out that most Windows users have trouble even setting a path and 
> writing things correctly on a command line. So, the easiest, the better.

  I was about to rant about this mindset---the constant drive to make
computers "easier" and "more intuitive" to use to the point where they
become useless for their intended jobs.  I mean, a *car* is conceptually
eaiser to use than a computer and we still train people to drive.  Hell,
when rotary phones first came out people had to be trained in their use, but
we forgot that kids learned how to use them by watching their parents (so
yes, even kids needed "training" to use a phone).

  But then I recalled one system at work that *no one* wants to deal with. 
The interface, a command line interface, is *so* arcane it makes the Unix
command line seem friendlier.  Everybody at the company is kind of hoping it
just fades away (and it is.  Slowly.  Perhaps in another twenty years) so we
don't have to deal with it.

  I then remembered programming in BASIC as a kid, where I would have to
deal with code that looked like:

	0 'CODE TAKEN FROM THE RAINBOW M
	AGAZINE, VOL. IV, NO. 1 (AUGUST
	1984), PAGE 78-'SOPWITH COCO' FL
	IES AGAIN!
	1700 X=30+SIN(JB)*28:Y=160-COS(J
	B)*28:CIRCLE(FA,FB),1,0:CIRCLE(X
	,Y),1,1:FA=X:FB=Y:RETURN
	1710 IF D7=10 AND N(S)=0 THEN RE
	TURN ELSE LINE(30,160)-(SX,SY),P
	RESET:DRAW"C0;BM83,170;XA$(D7);B
	M-10,0;XA$(D6);BM-7,0;XA$(D5);C1
	;XA$(10);BM+7,0;XA$(10);BM+10,0;
	XA$(10);":LINE(128,40)-(IX,IY),P
	RESET:CIRCLE(162,92+GX),1,0,.1:D
	7=10:D6=10:D5=10
	1712 IF AZ<AL THEN AZ=0
	1730 SCREEN1,0:RETURN
	1740 F=INT(RB(S)*.5729):G=INT(RB
	(S)*5.729)-(10*F):I=INT(RB(S)*57
	.29)-(100*F)-(10*G):DRAW"C0;BM66
	,151;XA$(FS);BM+7,0;XA$(GS);BM+7
	,0;XA$(IS);C1;XA$(I);BM-7,0;XA$(
	G);BM-7,0;XA$(F);":FS=F:GS=G:IS=
	I:JB=RB(S):GOTO 1700

(the limits of 32K RAM and a 32 column screen).  I even went on (again, as
a kid) to learn assembly langauge (for multiple machines even!).

  But in all of this, it comes down to self-interest.  Making things easier
is nice, certainly.  But until a person has *a reason* to care, they won't. 
I had a reason to learn BASIC (my computer was useless without programs) and
assembly (I read that assembly language programmers got paid more, and
programs written in it were was faster than those in BASIC) and I put up
with ... let's say "less than optimum" interfaces (32 x 16 text screen is
quite limited).

  Then there's the whole herd mentality I see in programming.  Heaven forbid
you use some obscure tech as it limits your career (but on the flip side,
you now have to compete with a bazillion other programmers who use the same
tech---it cuts both ways).  I haven't found it limiting personally (I used
assembly for way too long, then C.  My preferred computers were often the
less popular machines, or in the case of college, way too expensive) and I
feel I'm way more productive in Lua than the other members on my team (who
still use C and C++).  But too many people want to move with the herd as
it's the "safer" choice.

  What does this mean for Lua?  I don't know.  The trends I do see is that
the more opinionated a tool set is (Go---there's only one way to format the
code; Python---there's only one way to to things) the more popular (because
programmers don't have to think.  The more batteries are available, the less
code that has to be written, the less a programmer has to think, the better. 
The more popular a language is, the less chance of being fired over using
it, the better (no one ever got fired for buying IBM, or Microsoft).

  So alternatively, a language has to be useful, but not require thinking
and very popular.  Kind of explains JavaScript in a way ... 

  -spc (Thining of bowing out of the whole batteries thang for Lua---it's
	just not worth the effort because of laziness on the part of
	everybody else ... )