Post AWeD2v1Vk8fYUDAPei by daviwil@fosstodon.org
(DIR) More posts by daviwil@fosstodon.org
(DIR) Post #AWe4AiThN4rwJ4zk1I by louis@emacs.ch
2023-06-13T10:05:04Z
0 likes, 0 repeats
It always amazes me how feature complete #Racket is. It hasits own IDE and Emacs modesCross platform GUI toolkitDatabase driversJSON/XML serializationHTTP server/clientsa Package manager/repoa centralized and standardized documentation repositorythe best language and learning materials for any existing Lisp.Build exe's on every platformYou can start with Racket and be productive within a few days.Yet, Racketeers always talk about how easy it is to create their own language with Racket, which is a total niche application and mostly irrelevant for any practical usage. And scares of any business programmer who is just curious if Racket is of any value for them.Any thoughts?
(DIR) Post #AWe79XjA9iyaXNMOX2 by bigfishrunning@hachyderm.io
2023-06-13T10:38:32Z
0 likes, 0 repeats
@louis In my experience, "business programmers" are absolutely terrified to try anything new. Most professional programmers are perfectly content with whatever subset of JavaScript or C++ they already know. Hobbyists will always push language design and use forward.
(DIR) Post #AWe9yGCRHcZyqwMj1U by offset___cyan@emacs.ch
2023-06-13T11:10:07Z
0 likes, 0 repeats
@louis Your thoughts are mine. Racket can do basically anything, I saw Lua 5.1 implemented in Racket - but I never see applications written in it and I don't see any Racket programmers tell me that I should do so
(DIR) Post #AWeCCIGwZdCFFAIAC0 by galdor@emacs.ch
2023-06-13T11:34:59Z
0 likes, 0 repeats
@louis Quickly (and completely subjectively):- Excellent documentation, lots of batteries included.- It's a weird mix of Scheme and a lot of other concepts (can be perceived as good or bad, it's up to you).- Pretty much entirely an academic project. No way to discuss this without being rude so I won't.- The announce of Rhombus and how it's supposed to replace the default syntax because "it would be better for newcomers" pretty much killed my interest in the whole project.
(DIR) Post #AWeCcIhbb6LU6fADYG by aziz@functional.cafe
2023-06-13T11:39:45Z
0 likes, 0 repeats
@louis Very well summarized it to a considerable extent. That should be of interest to #programming that wants to fight boredom.> how easy it is to create their own language with Racket, which is a total niche application.Indeed. Tho, I hope Racketeers do work more on partial evaluation, and custom gc.
(DIR) Post #AWeD2v1Vk8fYUDAPei by daviwil@fosstodon.org
2023-06-13T11:44:34Z
0 likes, 0 repeats
@galdor @louis agreed on all counts
(DIR) Post #AWeE3ROvSoRyrFvqHA by louis@emacs.ch
2023-06-13T11:55:49Z
0 likes, 0 repeats
@galdor @daviwil I also agree with you on this. IMHO #Rhombus syntax looks like a bad mix of Python and Elixier. If Rhombus will become reality - and it seems there is no clear process on this decision, it will pretty much be decided by Felleisen and his crew - Racket will be a toy for a few academics.But I hear you saying "it already is".Interesting: everything in my list exists in Common Lisp too (except GUI), just scattered around to be self-discovered in a painful process for beginners.Imagine a CL distro with all these batteries included and a new standard in documentation, it would be unstoppable. I'll elaborate on the documentation part in a separate post.
(DIR) Post #AWeEm8J3IvEQfTUmKe by defanor@emacs.ch
2023-06-13T12:03:57Z
0 likes, 0 repeats
@louis I think I am among those programmers scared off by that application, and maybe by the coupling with an IDE. I only briefly looked into Racket, more than a decade ago, and heard of it occasionally, usually in contexts like people experimenting with type systems. It looked to me like a good language to play with recreationally, but I did not get an impression of it aiming to be a general-purpose language. Even though I do use Haskell as the primary language at work, briefly tried Chicken Scheme in production, and spent plenty of time with less popular languages and PLT as a hobby -- that is, I guess I am relatively adventurous when it comes to programming languages.Now went to check on Racket again, at first looked into logging libraries. Found the PLTSYSLOG log receiver, but nothing in sight for systemd journal. No curl bindings in sight, either. The presence of database drivers, JSON and XML serialization, and so on are important, but they are not exactly rare for a language, while missing a less common library when you need it and there is a deadline can be unfortunate. And apparently no Racket libraries in Debian repositories.Typing for a lisp language is another thing I was excited about at some point, but then agreed with it being more awkward than useful. While without typing it is scarier to run software in production.Seems like a neat language still, and I imagine it must be nice and fun for people who manage to use it as a general-purpose language.
(DIR) Post #AWeFxGKZuQTYhB51Bg by EMacAdie@emacs.ch
2023-06-13T12:17:08Z
0 likes, 0 repeats
@louis @galdor @daviwil WRT Rhombus: It seems like this happens in Lisp a lot. Someone tries to get rid of parens, and they wind up making Python. If I wanted to do Python, I would do Python.I am not a Lisp expert, but s-expressions are not that hard once you learn them. People want the capabilities that s-expressions give them without dealing with s-expressions. And we see the same pattern repeat.
(DIR) Post #AWeLr42LIxwqYMyhXM by mzan@qoto.org
2023-06-13T13:23:13Z
0 likes, 0 repeats
@louis Common Lisp can coexist and compete with C/C++, and Clojure with Java. Racket has a lot of features but it lacks a clear positioning from the point of view of marketing. The Language-Oriented-Paradigm is a good aspect, but it is not yet associated to some precise "marketing advantage". There is no yet some killer framework, using Racket. It is difficult to think to a precise usage scenario "owned" by Racket.Also in the academic world, Racket is seen probably as a "toy", respect Haskell, Idris and other PL. So, it has not their same charisma, despite it has a very good and interesting type system.
(DIR) Post #AWeYcjf5YqCWi9bCrI by thees@emacs.ch
2023-06-13T15:46:20Z
0 likes, 0 repeats
@louis racket is pretty fun to play around with, I consider it a candidate for implementing domain-specific languages in; as I sometimes (once every few years) end up writing these to (mostly) simplify querying and working with specific datasources for end users. I use common lisp and guile scheme much more than racket though, but am always amazed how batteries-included racket is (Dr. Racket as an IDE is IMHO a cool learning environment for programming beginners and super well made for that specific purpose).
(DIR) Post #AWfAQo5h43DJENmZSy by rml@functional.cafe
2023-06-13T22:49:55Z
0 likes, 0 repeats
@louis I think racket, especially now that its on chez, might be the most powerful programming language in existence. And its incredibly user friendly. I was using Racket, and typed racket in particular, when I first started getting into lisp. I cant really complain about anything. If you need it, its usually already there in racket.But despite feeling quite confident with racket, I still wasn't able to really grok plain old r6rs+ scheme. Diving into scheme proper has helped me to grow much more than I was growing with racket. At times i miss typed racket, but overall I've come to think #scheme is the best #lang in racket
(DIR) Post #AWhupn9GgnqHkuE4MC by PaniczGodek@functional.cafe
2023-06-14T05:32:28Z
0 likes, 0 repeats
@joeld @ramin_hal9001 @rml @louis FWIW I did use Racket to develop an internal tool for a project that I was leading technically, and it worked like a charm (there's a RacketCon talk from many years ago explaining that Racket was also used for internal tooling at Naughty Dog while developing "The Last of Us"; also, I think their designers used it for scripting)Honestly, I couldn't see any reasonable alternative. At my previous company, I saw C# being used in that role, but it had its own issues. Also, I once did a similar project in Python's "Enaml" framework, which was fun to develop, but hell when it came to deployment.I was also trying to push Racket to develop a new internal tool at my company, but the technical lead said that the syntax looked too unfamiliar to him and made him scared, so we're now using golang for that purpose
(DIR) Post #AWhupo3HKYe4YcQney by datalinkdroid@mastodon.sdf.org
2023-06-15T04:18:09Z
0 likes, 0 repeats
@PaniczGodek It's funny how there is a perception around that thinks languages are all the same, just choose your preferred syntax, and you're good. Denizens of the corporate world.@joeld @ramin_hal9001 @rml @louis
(DIR) Post #AWhupoomTwduvwejhY by ramin_hal9001@emacs.ch
2023-06-15T05:23:13Z
0 likes, 1 repeats
@datalinkdroid @PaniczGodek @joeld @rml @louis > "It's funny how there is a perception around that thinks languages are all the same, just choose your preferred syntax, and you're good. Denizens of the corporate world."There was an old Dilbert comic strip I read, Dilbert's company was charged with building a power plant. The boss told him to go to the customers and ask their requirements. At the meeting, the customers clearly stated that they wanted unlimited free energy that produced no pollution.It is kind of like that with software products as well. The requirements are always:Go to market in less than 1 minuteThe code should be super simple so that even interns can easily maintain it.It should be easy to add new features in under 1 minute.It should be always free of bugs.It should have 100% up-time.It's like, I can give you any one of those things man, and whichever one you chose, that decides which language we use. Of course, they can never choose just one.I wish I could tell them, "look, if you cannot choose, then the correct language is probably Haskell, Scala, OCaml, F#, or Rust, because these languages will let you develop quickly, and will be more free of bugs than anything made in any other language. But then all I get is, "nobody uses those languages, these are not de-facto industry standards." So I always end up using Python, because that is what everyone else is using.