21 ms·
Ask HN: Companies using Racket?
Hello everyone,
I'm looking for companies that are currently hiring Racket developers or did so in the past.
I created https://www.racketjobs.com, because I was myself interested in workplaces that use Racketlang commercially, but couldn't find any. After sharing the site on /r/Racket and a couple of other sites I got a bit more than 100 people to sign up for the newsletter.
If anyone knows a company, using Racket, or a place on the web where I can find open Racket positions, I'd be happy to hear from you. Of course I did my Google searches before.
- hayden592 8y agoI enjoyed using it in college during my programming language theory course. However, I thought it was meant to be more of an academic/teaching language. Why should a company use it over Haskell or Clojure?
- dorfsmay 8y ago> Why should a company use it over Clojure? Not wanting to support the JVM ecosystem.
- nickpsecurity 8y agoI'll add wanting to avoid any legal risk from its owner, who is very sue happy. They also got that copywritable, API ruling in one battle. I just stay away from anything Oracle owns. Using open standards future-proofs against this a lot.
- mruts 8y agoI think racket would be a good choice for internal company tools. It’s batteries included philosophy allows you to create very complex apps with minimal effort. Racket is significantly more expressive than clojure in many different ways (nice gui tools, very sophisticated macro system, good IDE) I wouldn’t want to use racket for applications that would have thousands or millions of concurrent users. For programming in the large, clojure wins by a long shot.
- dorfsmay 8y ago> I wouldn’t want to use racket for applications that would have thousands or millions of concurrent users. For programming in the large, clojure wins by a long shot. Can you explain why? Because it's been used more in big prod envs? Or for reason intrinsic to the languages themselves? If the latter, which ones?
- xfer 8y agosimply because of battle-tested jvm.
- dorfsmay 8y agoThe JVM? What about the battle-tested Linux kernel? If you compile your racket apps to a native binary, you can run it directly on the Linux kernel, and benefit from 25 years of use in production! People deploy Golang and Rustlang apps everyday in prod using that approach it seems to work well for them. Note, both languages are younger than Racket.
- mruts 8y agoCompiled Racket programs are nowhere near the speed of Rust or Go. Racket's GC is objectively much much worse than the JVM. Of course you can serve millions of users with Racket, like HN. But the JVM today is much better choice. The JVM's GC is world-class and the number of man-hours put in it is probably many orders of magnitudes more than that of Racket's. https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/racket-java.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
- dorfsmay 8y agoSo execution speed, fair enough. FWIW, I've been staying away from Clojure because of the JVM. A lot of us are wearing the scars of the JVM battles!
- hjek 8y agoYou can write Haskell in the Racket environment[0]. Racket has a lot of well-designed and well-documented libraries that are a joy to work with. In his Racket manifesto Mathias Felleisen (author of The Little Schemer) describes how Racket is supposed to be useful for programmers at any level. I'm currently working on a web app using the Datalog[1] back end. I guess that's very similar to Clojure's Datomic or core.logic, and I'm not sure which is "best", but Racket is certainly good. [0]: https://lexi-lambda.github.io/blog/2017/05/27/realizing-hackett-a-metaprogrammable-haskell/ https://lexi-lambda.github.io/blog/2017/05/27/realizing-hack... [1]: https://docs.racket-lang.org/datalog/interop.html https://docs.racket-lang.org/datalog/interop.html
- ObscureScience 8y agoNaughty Dog (game dev) have used it to some extent. This has been up on HN more than once. They have even done a presentation on RacketCon 2013. https://news.ycombinator.com/item?id=12203694 https://news.ycombinator.com/item?id=12203694
- ctas 8y agoThank you. I already watched the presentation, but couldn't find any open job positions in regards to Racket. I'll try to contact them directly and will see if I have some luck.
- 3rdAccount 8y agoI think they may have stopped that after being bought by Sony? I don't think it is still around.
- tyscorp 8y agoI think they still use it for scripting in their games. For things like AI, etc.
- CodeArtisan 8y agoThey are using an in-house variant of Scheme known as DC. There are a few pages about it in Game Engine Architecture, a book written by an engineer at Naughty Dog. https://www.gameenginebook.com/ https://www.gameenginebook.com/ DC is compiled to bytecode then interpreted. DC compiler is written in Racket.
- mruts 8y agoA long time ago, I was using racket at the largest hospital in Massachusetts analyzing DNA sequences of MS patients. I used racket to create a GUI that allowed non-technical biologists to create custom bioinformatics pipelines. I found Racket to be great and highly productive. If you are looking to use racket at work I would recommend you look into working as a software engineer for academia. If you are the only engineer around, you get to use any language that you want.
- Waterluvian 8y agoTo just offer a possible contrary perspective: nobody else is around to tell you you're using the wrong tool for the job. There's many fine options for each domain and yeah, you get the choice of them if there's no established languages. But be careful not to go off the deep end on using your favourite langauge for everything. On small teams it becomes increasingly important to endeavour to objectively scrutinize your own choices as best as possible.
- mruts 8y agoI agree with you, though being a lone developer sometimes allows you to be more flexible in the tools you use. At the hospital I used Racket, Haskell, C, and R. Because my programs didn't need to talk to each other, I was free to write each utility in what best suited the job. On a team I think there's a lot of pressure to just use what everyone else is using, which can lead to sub-optimal results.
- nestorD 8y agoHaving discovered the TCL programming language because of a single person using it in a bioinformatic lab I can second the recommendation.
- swiley 8y agoTCL/TK is probably one of the most underrated GUI frameworks out there.
- jolmg 8y agoI once tried it; well, Expect specifically, which is really an executable wrapper of TCL with a library loaded. I ended up ditching it and using ruby's "expect" library. I remember having issues with scope. Expect functions you call would manipulate the scope of the caller. So when I wrapped some code in a function and called that in its place, things wouldn't work, because state wouldn't be handled in the same scope anymore. That means I wouldn't be able to abstract anything. No reusable units of code. I'd have to keep expect's calls all in the same scope. TCL and Expect seem pretty cool in concept, but Expect's implementation seems awful.
- Cyph0n 8y agoTcl/Expect are both heavily used at Cisco for router and switch automation. But recently, we've been shifting to Python for testing and automation, which I think is a step in the right direction (e.g., pyATS[1]). [1]: https://developer.cisco.com/site/pyats/ https://developer.cisco.com/site/pyats/
- agumonkey 8y agoI used tkinter python bindings, very fun. Zero mental burden. Also tk was used as Digital Domain (James Cameron FX company) Nuke compositing software. Sooo.. I guess it's fine.
- liftbigweights 8y agoTCL/Tk is used heavily in finance/wall street.
- dorfsmay 8y agoGreat initiative. I often wonder why Racket isn't used more in the industry, especially when you see much more niche languages being used... One note about your site: You are subscribing people to a mailing list without sending a confirmation email?
- ctas 8y agoThank you. I like the idea that Racket tackles each domain specific problem with its own language. I'd also be happy to see it used more often in the industry, especially since there's a growing ecosystem of libraries, tutorials, and other resources that ease the start into Racket. Regarding the subscription: I'm using Mailchimp. A confirmation mail should've been sent out, if you subscribed. I will look into it. Thanks for pointing that out.
- hamandcheese 8y agoI think by definition Racket not being used in industry makes it more niche than those "much more niche languages being used"
- chongli 8y agoRacket is too powerful to be used by big corporations. The last thing a company wants is to have their rockstar programmer leave behind a terse, arcane, impenetrable walnut of an application. Languages like Java make it much easier to treat your programmers as interchangeable parts.
- squirrelicus 8y agoThis is true issue irrespective of the company's bigness.
- WalterGR 8y agoRacket is too powerful to be used by big corporations. The last thing a company wants... Ah yes, The Slashdot Cynicism. Guaranteed to get a +5 Insightful. What is your experience with Racket? Or failing that, Scheme? Or, failing that, Lisps in general?
- acbart 8y agoI just finished teaching Racket for 2/3 of the semester. I have never had a group of students hate their introductory programming experience the way that they did with Racket. 0/10 will never teach Racket again the rest of my life, no matter how much I enjoy functional programming.
- tephra 8y agoI would love to have some elaboration. Why did they hate racket?
- nicolashahn 8y agoPlease say more - what was so hateable about it?
- jasim 8y agoWhy didn't they like it?
- Zuider 8y agoGenuinely curious as to why this was so. Did these students have prior programming experience? Was their reaction due to a particular fault of Racket or would they have disliked any language to which they were not accustomed? Perhaps their reaction was to the idea of functional programming which would have provided a distressing challenge to intuitions developed through object-oriented or imperative programming? What textbook did you use?
- mrweasel 8y agoI would suspect that at least part of it is the same reason that I disliked having Pascal as taught as doing my programming introduction course: It's not a main stream language and it's sufficiently different that you cannot directly apply what you're taught in most commercial settings. The languages they will be using in the future, or expect to be using in the future are C-style object oriented languages like C# or Java (depending on where in the world you live). It's not that languages like Racket, Rust, Haskell or even something like Prolog and other languages aren't interesting or useful, in many cases they're a better fit for your problems. It's just that without the background in the C-style and object oriented languages it's pretty hard to appreciate the more "niche" language and the problems they solve.
- jahs 8y agoI have a work available at the moment, but a bit quirky as we're using our own novel Racket-influenced scheme dialect for business workflow, coupled with Python. Happy to chat.
- pflanze 8y agoWe are working on a product written in Scheme. It's mostly just me currently. Not (currently) using Racket, but a set of libraries[1] on Gambit-C, as well as an interpreter written in C++[2]. We might take someone on board a few months from now (London/UK). [1] https://github.com/pflanze/chj-schemelib https://github.com/pflanze/chj-schemelib [2] https://news.ycombinator.com/item?id=18045890 https://news.ycombinator.com/item?id=18045890
- spacesuitman2 8y agoWhat about Racket's ability for arbitrary languages via #lang, not just macros? Are there any plans for this? It's really nice to be able to do #lang c and just write C that is FFI'd into racket so you can avoid using an external toolchain to compile.
- pflanze 8y agoI don't really have a use for this. Gambit-C allows to include C files or also strings of C code from a Scheme module and builds it as one. I haven't used Racket's FFI though, perhaps the real benefit is from parsing the C code to auto-generate bindings? Generally I'd like to reduce the use of C code in case I want to re-target the code to run in a different, not C based, environment. chj-schemelib will need work for general consumption, let me know if you want to use it. (If you're talking about the interpreter in C++, it's the other way around, write FFI declarations within C++ to allow Scheme access to C++.)
- fgheorghe 8y agoAnother programming language?
- hambos22 8y agoRacket exists since 1995
- spacesuitman2 8y agoRacket is unlike many other programming languages, firstly it's a lisp. Secondly, it features a builtin language framework that allows you to seamlessly interop different languages through racket. Once you learn racket you realize that most other languages are just macros in racket, or a #lang in racket, and that their unique implementations are mostly quite wasteful, as they make interop hard.
- pmatos 8y agoWe, at Linki Tools [0], use Racket for our main product: S10 [1]. Not hiring at the moment but most likely will in the near future. I always hire remote (contracting up to now) and by the time I have to hire remote for racket I don't think I will have any problems finding a fine dev. If you're in the Frankfurt area, I will be presenting at the first After Work Racket [2] on Thursday, the 8th. Come join us. [0] https://linki.tools https://linki.tools [1] https://linki.tools/s10 https://linki.tools/s10 [2] https://www.meetup.com/After-Work-Racket/events/253939676/ https://www.meetup.com/After-Work-Racket/events/253939676/
- thibran 8y agoHi, I found your meetup and would really like to join - too bad that the company I work for is holding a conference at this day (www.talentthinking.de). So I may join for Episode 2.
- jolmg 8y agoI was surprised to see that you charge $100 for a 60-day post. Is that typical of job posting sites?
- ctas 8y agoIt's actually cheap compared to other job boards, which usually charge 250+ for 30-60 days, giving you access to a pool of highly relevant developers. Not trying to say, that it couldn't be free of course.