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).
Ruby with Rails was a decent language that pushed a good model and
automagical conveniences for Web developer productivity, and they seemed
to have a good community (e.g., when I was shopping around for my new
research platform language, and I don't think I'd even heard of Ruby at
that time, one of the nice Ruby people happened to hear about my quest,
and emailed me, suggesting Ruby).
We talked about Perl growth spikes here recently.
Python started out as some guy on Usenet with a reusable extension
language (Tcl was another, and some RnRS implementations were another)
-- all 3 of them had interesting innovations and merits. (Tcl got
popular because of Tk GUIs, and then it has some moments in the sun for
earlier database-backed Web servers (as opposed to manually-edited HTML)
while a lot more readable than Perl, and was pushed commercially by
Philip Greenspun, before Sun hired Tcl creator Ousterhout, and Tcl
disappeared, in favor of Java and then LiveScript/JS.)
PHP was in the early Web gold rush, when template-ish approaches were
attractive alternative to CGI scripts that started as Perl (or, less
likely, other imperative language) code that spat out HTML strings. You
could also do HTML templates various other ways, including in Perl, but
the Web was so new, and the tools so not figured out, and everyone was
racing to do neat stuff (or to get VC funding, then Herman Miller office
furniture and launch party, and then IPO), that there was a lot of
random going on, and we aren't in that kind of environment anymore.
Well, unless you were pitching a "blockchain" startup during the BTC:USD
run-up a year ago -- it didn't much matter what tools you grabbed, so
long as you told the VCs you were doing "blockchain" (you didn't even
have to madlibs pitch "Our startup is like _Uber_, for _cats_! (Can you
handle the sheer force of our raw innovation, unleashed!)").
C++ had the funding and promotional/endorsement backing of the people
who brought us C and Unix, and (again) there was a lot less stuff, and a
lot fewer programmers. The people using C were some of the most
technically-skilled programmers: OS-level systems programmers (who also
used assembler), Unix workstation technical application/research
programmers, PC shrinkwrap software developers, and EEs doing software
bits of embedded systems. (The corporate MIS programmers were a
separate group -- they mostly did database forms and reports and
business logic, and there seemed to be subgroups for different
platforms. Much of the MIS seemed to be analogous to today's Web
programmers, and I'm not sure how MIS platform adoption decisions were
made in various kinds of organizations then.)
Anyway, besides the Bell Labs / AT&T backing, I recall one thing that
helped push C++ was the people doing GUI and hearing about OO (with
references to Smalltalk), at a time when people were just reasoning
low-level code and ad hoc formalisms, or using pre-OO analysis and
design methods (structured SA and SD, ERDs, etc.), and it was really
easy to sell generalization/polymorphism to those people. Plus AT&T was
saying C++ would help with mission-critical and performance-critical
large and complex systems, and you had workstation developers like
Mentor Graphics endorsing it. Also, again, the amount of stuff and the
number of programmers was a lot smaller then; one anecdote: by the time
there was a Usenix C++ conference, it was small enough that, while
Stroustrup was talking during a Q&A in the hotel conference room (maybe
around the scale of current RacketCon), some toddler goes running up the
aisle from the back of the room, saying something like "daddy!", and
everyone laughs.
Early Rust had some really thoughtful and language careful design, and
it tackled one of the hardest challenges of working in C, which is
allocation management (which not enough C programmers take seriously
enough). Now they have the funding investment and high-profile
endorsement (sound familiar?) of Mozilla and a few other
credibility-lending companies, and might be driven now in part by
pragmatic needs of projects. (Early Racket pragmatics also seemed
driven by pragmatic needs, like getting DrScheme to work, and
cross-platform.) Rust has also attracted a ton of volunteer effort,
including a large number of high-quality and innovative reusable
packages. (Innovative, not unlike you'd see from Lisp-family people,
because their platform gives them an advantage, and because the
programmer is likely to be high-skilled. Racket was doing some of this
early on, but the numbers of such contributions didn't ramp up as
quickly as they did for Rust.) I missed part of history of how Rust
evolved, while I was focused on Racket and paying bills, so maybe
someone can fill in the gaps here of how they bootstrapped popularity,
and what Racket can learn from that.
(BTW, it's good to see Racket's secret research lab doing more work on
DSLs and other things. We can't rest on our laurels, and other
languages are improving their DSL support, though they have syntax
handicaps and are starting way later than us, Bell Labs and older Lisps
excepted.)
Why I suggested focusing outreach on Hacker News (and maybe I've talked
about it more recently on "racket-money" than "racket-users") was... I
want to see more people making a living working with/on Racket (outside
of professorships, and grad student slave stipends), and I think that
means a lot more companies using it for substantial projects, and I
suspect the best bet is startups who can choose their tools (and are
funded as gambles), and I suspect the best bet for that is getting HN
startup success stories like: "we got to launch and ___ funding round,
with Racket, because DSLs, and Racket is the best for that". Then other
HN people will see a success 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.
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.
--
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.