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.

Reply via email to