I've done a completely "off my lawn" thing over the past few weeks.
Playing Mahjong solitaire on Ubuntu is one of my vices, but I don't like
the way the supplied program works in many ways.   At least twice I've
downloaded the source for gnome-mahjongg and looked at it until my eyes
started bleeding and gave up.  It's a gnome application and, furthermore,
it's a gnome-game application, its source code is not its source code, it's
source code is a specialization of a framework that's a specialization of a
framework.

I've written my own version of mahjong in Tcl, Tk, and Snit.  The entire
source, including the svg for the tile set (which I stole from
gnome-mahjongg and rewrote), comes to 3382 lines of code as of right now.
Tcl is the other scripting language that isn't Perl and isn't Python and
isn't Ruby.  Tk is the user interface toolkit written for Tcl to prove that
there could be a one line "hello world" progam for X windows, which
subsequently has become available on Windows, Mac, Android, Perl, Python,
and Ruby.  Snit is a pure Tcl object extension for Tcl, that also allows
you to extend Tk widgets.

It's not really a fair comparison, since I left out all the layouts and
tile sets that I don't use, and I haven't even implemented everything I
planned to do, and I didn't even plan to implement it all, and everything
doesn't work right, either.  None the less, I can play Mahjongg solitaire
with my 3382 line Tcl/Tk/Snit script, and the source tree for
gnome-majongg-3.20.0 is 19.5 Mbytes and 576 files or directories.

http://github.com/recri/mahjong, I think it may be a better program if I
purposely leave some bugs in it,

-- rec --

On Mon, May 9, 2016 at 6:37 PM, Marcus Daniels <[email protected]> wrote:

> "So, I'm glad it's all peek&poke these days.  It means we're builing
> shoulders on which later generations stand.  The opposite situation would
> be _sad_, say if everyone had to learn quantum mechanics just to add
> numbers together ... or if everyone had to know how to surface mount with a
> hot plate in order to post to Facebook ... well, OK, that might be a good
> thing, actually ... but you get my point."
>
> One can learn to program in, say, Python without understanding a given
> machine instruction set.    One can even learn a subset, and have a correct
> understanding of some of its syntax and semantics and little or no
> understanding of other parts.   That doesn't mean that learning the rest is
> pointless, or that learning a machine language couldn't give a Python
> programmer deeper and useful insight into why some constructs are slow and
> others are fast.   Or that learning about digital circuit design couldn't
> give insight into what makes a machine instruction set energy efficient.
> Or that learning quantum mechanics couldn't give some insight into what
> makes circuits work the way they do.   All these tools can be useful and
> the connections between them are some of the most interesting and useful
> things to know.   This trend toward "industry relevant" knowledge is just
> to say the graph should be chopped up into consumable sound bites without
> regard to their coherence or utility for learning
>   other things.
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com
>
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
to unsubscribe http://redfish.com/mailman/listinfo/friam_redfish.com

Reply via email to