Thanks for the info, Brian.

I'm getting the impression that Scheme/Racket Web production serving is sorta in same place it has been for the last couple decades: such that a really good and prolific developer can make a system work well in production, iff they can put in a lot of work beyond off-the-shelf components.

When deciding whether to to go Scheme/Racket, we consider the pros -- e.g., the linguistic power of Scheme, the ability to attract talent due to using a fringe language that people like or want to learn -- and weigh them against the greater amount of bespoke work, the necessity to then have non-commodity developers who are up to doing that well, and the greater risks/unknowns that might not be solved by throwing a larger AWS bill at a problem.[1]

For the server project I'll develop this week, it doesn't actually take advantage of Scheme, and the project also won't function as a good pilot project for scalability, so I'll probably just use Python&Flask this time.  I'll keep Scheme/Racket in mind for this, as a known-quantity backup plan, but probably Scheme/Racket will have to wait until later this year for a better opportunity to shine.

There is a GUI frontend project coming up that might be a better opportunity for Racket to be useful in production.  It would be 2nd generation replacement of a deployed specialized appliance frontend, which currently is done in JS in Chrome (no, not the horrifying touchscreen Web browser spaceship consoles we heard about the other day :), and some special hardware device interfacing.  I've prototyped replacing it with with Python Kivy,[2] but I happen to know that Racket's GUI library would be easier to use for this purpose, and result in more-solid UI operation.

After that, the next opportunity is probably 2nd generation of the entire server infrastructure, and we'll have to see what our needs and resources are like at that time.  We'll probably have that 2nd-gen work in mind if/when we do more engineering hiring later, and, in any case, I'd like to be able to hire the kinds of developers who are up to the challenges of doing bespoke work that works.[3]


[1] Though I think the risks/unknowns of a less-popular stack aren't what many developers are thinking when they flock to the most popular tools of the moment because a FAANG does it.  What tools&practices work for a FAANG, with massive infrastructure, massive staffing, and the practice of routinely shutting down large numbers of projects (and making many multi-billion dollar acquisitions of competitors, when the FAANG still fails to outperform upstart competitors with their project)... aren't necessarily the tools&practices a startup should use, with their handful of people who have to wear many hats, and actually have individual contributors understand the entire system, in order to make it work well enough and to troubleshoot problems rapidly, despite very limited resources.

[2] As I was evaluating GUI toolkits, there's ongoing bitrotting/abandonware of the desktop GUI space, as development flocked to adtech/VC-driven Web sites and smartphone apps, and people started favoring embedded massive browser engines (which have pros and cons).  And it looks to be self-perpetuating, because the non-Web GUI toolkits get less attention.  Kivy was one of the few current non-abandoned toolkits.  Racket's cross-platform GUI toolkit remains supported for solid Win95-era desktop GUIs, and is currently looking better than Python and JS-framework-in-WebKit options, for the particular kind of (non-consumer) touchscreen appliance console we'll need to do. (For slick consumer-facing UIs, I'm currently going through the rapid mood swings experience of the SwiftUI DSL and related iOS stack. :)

[3] And I've long believed that using one of the less-popular but beloved platforms -- like Scheme/Racket, Common Lisp, Haskell, OCaml, Erlang, or Rust -- is a great way to find and attract some of the best developers.  FAANGs can say to some of those developers, "we'll pay you more money, and everyone else who aspires to make FAANG money will be impressed when they see us on your resume", but the toolset you get to use can be one of the significant selling points of a competing value proposition.

--
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/0d79e2bc-536c-a6da-5c15-3d84790864cc%40neilvandyke.org.

Reply via email to