On Wed, Dec 26, 2018 at 09:51:17AM -0500, Neil Van Dyke wrote:
> Stephen De Gabrielle wrote on 12/26/18 7:40 AM:
> >How did other languages grow their audience? e.g. Ruby-on-Rails,
> >Perl, Python, PHP, C++, Rust ?
> 
> All of those had merits, were right place and at right time, and
> (except Rust) really spread when there was *a lot* less noise and
> sheer mass of stuff.  Also, some of those had very long ramps to
> their ultimate popularity (which could give some hope to
> Racketeers).
[...]
> Why I suggested focusing outreach on Hacker News (and maybe I've
> talked about it more recently on "racket-money" than "racket-users")

What follows are just my thoughts, not a critique of Racket (I am
unwilling to criticize without suggesting how to improve things and it
always irritates me when someone just says "you wrong" and never
explains, so I am not saying "you wrong", ok?). More like, summary of
my position with regard to R* and some loose thoughts about improving
its adoption. Very subjective. And, being short on time, as usually, I
may write here about something already mentioned in this thread, so if
yes sorry for that.

I guess the kind of people on HN (and https://lobste.rs/ , another
place I regurarly attend) take their time and do a research by
themselves. Evangelism would do nothing to them (judging by myself, at
least), but interesting story tagged as "Show", a project using
Racket, that is another thing. But it is "the story, a project, what
is it" first, and only then "written in Racket".

Another places I frequent are various types of aggegators under the
name "Planet":

http://planet.emacsen.org/
http://www.planeterlang.com/
http://planet.haskell.org/
http://ocaml.org/community/planet/

and last but not least,

http://scheme.dk/planet/
http://planet.lisp.org/

Where does Racket belong? I understand Racket community no longer
considers themselves as part of Scheme landscape, but I am unable to
say where I get this impression from. If I am wrong, then the first
thing for anybody willing to contribute to R* success would be to make
their blog being displayed on Scheme Planet (IMHO). If I am right (R*
not Scheme), then this is a pity. I will cope just fine, but consider
the fate of Lush, a very interesting Lisp dialect. A very capable, if
I can judge without really trying it. And their latest-latest news is
from 2009:

http://lush.sourceforge.net/

Right now I am willing to write some scripts, with intention to run
them both on Linux and OpenBSD. A kind of stuff that is normally
written in Perl. But to be frank, two months ago I tried again writing
some smaller utility in Perl and ended up writing said util in gawk. I
know I am not stupid, but I have to avoid Perl. So the plan is to
write those utils in Gauche, because it seems to have what I need and
can take R5RS (for a while).

This means I will have to have source at my hand, just install *BSD,
compile Gauche, install my scripts, ready to go, before any network is
up I mean.

Does Racket match such a use case? I can compile it from sources
(actually, living on a very dated Debian I have no other way to stay
current, so I not only can but actually do) but I wonder if it will
compile in a very limited, rugged environment - no network connection,
just what was there in base install (with C compiler, of course). I
might try one day, but it seems Gauche has less dependency on outside
packages than R*.

See, while I appreciate Racket a lot there is no actual case where I
myself would want to rely on it (also, Lush). Like, I write a program
and hope it will keep working for the next few years without much work
(other than bug fixing). Thus, language stability is important to
me. Or backwards compatibility. Or at least knowing I can switch to
alternative implementation, should I ever feel such necessity.

As far as I can see it, Racket contributes to fragmentation of Scheme
scene (which is already a "everybody tends for oneself" kind,
AFAICT). There is no clear message if there is way to run in R* a code
developed with other Schemes or vice versa and a very minimalistic
effort to portability in a form of slib library is not going to work
in R*, am I right?

Common Lispers have a dated language (and boy sometimes it shows) but
at least they work together (or make good impression). And look at
their planet (mentioned above). I would be happy to write my utils in
CLISP - nice, small, conforming CL, but there is a small complication
in form of requiring certain library in just exact version matching
the exact version of CLISP and this certainly can be mitigated but I
have not so much time to tinker with other people's code. And another
"small problem" was that last time I tried writing such system util in
CL, certain file names were "transparent" for CL (because they looked
like regular expression) and I could not find way to open them (hint
from the web did not work, time ran out). So I will tinker with Scheme
and see how I fare. Yes it is time consuming, and yes, I would rather
learn R7RS than try again and fail again to use Perl. And yes, I might
become trapped with Gauche, and unable to switch to alternative, but I
may be able to compile it from src for long enough to devise way out
of it. If nothing else, I had a look into src and chances are I might
maintain a working version for a short while, just for myself, and by
myself. I do not see such chance with Racket. Another nice choice for
my goals might have been Chicken, but again, not sure if I have a
chance to maintain, probably not.

(Yes, I am abitextremalistic when it comes to choosing prog lang for
myself and I consider scenarios involving all real maintainers driven
over by selfdriving lorries and github+gitlab busted by idiot CEOs -
if I am good in such case, I should be good with world ruled by
Windows11 too).

Another niche for which I would like to consider R* is mobile apps
(i.e. for smartphone). But, is it possible to do such thing, actually?
>From what I have read, Free Pascal Compiler has tools for this and
more, so chances are that for my first Android app (the one which is
for learning it) I would turn my attention there. If nothing else,
having to use different language for each platform is unacceptable (or
else I would have to write same app twice or more, in Java and in
Swing and in something, too).

So, to sum up, Racket is interesting, well written, has an excellent
docs and stuff but is not convincing. At least for me. I cannot say if
there is one clear use case. I mean, in real life. In theory, one can
write anything in it. In practice, however, what has been written
actually?

[...]
> story, a couple might be inspired to think about DSLs for their own
> startup idea, and then somehow this becomes RACKET EXPONENTIAL
> EXPLOSION.  Or at least more people making a living working with/on
> Racket.

For this, Racket has to be more interoperable. Can it replace Java?
Can it work with Java libraries? I guess no. Not now, at least. Not a
big problem, but might be nice to have.

It can replace Perl, possibly. And is probably faster than Perl. It
should try to cater to people using Python and Ruby. Python has an
excellent "batteries included" motto. There is plenty of nice programs
one can write with just standard set of Python. And their packages
reside in nice hierarchy (os, sys, tk - one can have a pointer as to
where to look for function returning directory contents).

Placing itself as a new, better glue language? Is that a position for
Racket? Something which can talk to and make use of existing Python,
Perl, Ruby code? Open up a spreadsheet, read data, feed it to Python
library, write back results. This kind of stuff would be a seller,
IMHO. Thanks to ongoing changes to various languages I used to rub
myself with, I am unwilling to write new code in them but I would
really appreciate having a way to use this Python3 code in a future,
when Python5 will make "3" obsolete and incompatible.

> BTW, maybe jobs using Racket will also encourage a lot more quality
> contributions of packages, when there's the additional motivation of
> open source "auditioning" for jobs, in addition to the current
> community participation, platform promotion, and love of craft.

Forget it. I think this is standing a problem on its head. I think
jobs will come if R* provides a way to solve the kind of problems that
go with jobs. From my point of view, it is either utilities/system
programming and/or stuff like reading and manipulating data in files,
databases and spreadsheets (this one being most important, because
people are using them for everything, poorly and it will probably
start showing up and become obvious to everybody as source of nasty
problems). And showing some controls for mouse.

Or, if that is present already, then spreading the news via blogs and
planets.

Well, enough for today.

-- 
Regards,
Tomasz Rola

--
** A C programmer asked whether computer had Buddha's nature.      **
** As the answer, master did "rm -rif" on the programmer's home    **
** directory. And then the C programmer became enlightened...      **
**                                                                 **
** Tomasz Rola          mailto:tomasz_r...@bigfoot.com             **

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to