I'll add that my current favorite editor is CudaText, written in Object Pascal. (And I too am a fan of Double Commander.)
---JRG On Sunday, June 15th, 2025 at 9:19 AM, J C Nash <profjcn...@gmail.com> wrote: > > > Pascal is still used, though sometimes under slightly different names. An > actively maintained > piece of software I use extensively is Double Commander. This is built using > Free Pascal, which > will (at last try) run my 1989 "Compact Numerical Methods" codes. If you use > optim(), you are > using my "BFGS" (I call it Variable Metric), CG and Nelder-Mead. Brian Ripley > asked me in 1995 > if he could p2c these for R. > > But generally, "old" codes can be difficult to run. I've found quite ancient > Fortran can be > run fairly easily on Linux as long as there's not too much input-output. That > seems to be > a big obstacle as storage / streaming have changed over the years. > > John Nash > > > On 2025-06-15 01:18, avi.e.gr...@gmail.com wrote: > > > Richard, > > > > You remind me of my excursions over the years into many languages, > > including some that may be extinct. Is PASCAL used anywhere, for example? I > > wrote lots of code in it once. Others that I know are around have morphed > > as in variations of LISP. I was amused to hear from a friend that he is > > playing with PROLOG as it is useful in a limited domain. Will COBOL be > > around to cause anxiety in year 3K? > > > > I looked up F, just for fun, and was amused at the overload as there are > > very different languages with names like F# and F*. I used Fortran in the > > seventies and even taught it in the very early eighties but have never had > > any reason to use it since except indirectly as other languages like R or > > Python may quietly attach Fortran-based libraries. > > > > Yet, it does indeed persist in newer iterations. I have not even considered > > looking at my old C programs to see if I could compile them as I was an > > early switcher to C++ and have tried other C variants. I stopped using PERL > > long before it made major changes except indirectly by invoking the > > PERL-compatible versions/extensions to regular expressions available in > > other languages. > > > > Back on topic, I hear the frustration about how complex a language (and > > especially extensions) in R have become and part of the cost is that people > > are trying to do more and more within it. R was not necessarily intended to > > be a general purpose programming language or a scripting language or a > > fully-object-oriented-language and so on. Some here will correct me, but it > > began as a statistical language of sorts including a major focus on vectors > > and matrices albeit in some ways the data.frame features and newer versions > > have somewhat come to dominate as well as graphics. > > > > Obviously, part of the problem is the fact that open-source software with > > lots of volunteers can keep expanding without much control. The people > > maintaining the core language try to keep it somewhat small and nimble. > > But, I could imagine someone taking that base and adding lots of stuff > > (such as the entire tidyverse and more) so the new base would be very large > > and you did not need to use the install.package/library functions as much. > > Such a bloated language version might work better for people writing > > production code where they want more stability and control over changes. > > Ideally each new update would include serious testing of all internal > > modules and how they work together. As mentioned, some changes like adding > > a built-in pipe result in people who like pipes and do not even use the > > tidyverse, not having to include some package just to get one of the older > > external pipes. > > > > What I was talking about is that a new language might realize the > > usefulness of some such features and make them not just a part of the core > > language but have it seamlessly be seen as part of the command structure. > > As a contrast, Python has a sort of variant of piping in terms of being > > able to connect a series of function calls together using member functions > > of objects as in object.method1(something).method2(something), … > > > > But the above works best if you know that each function call will always > > return an object of the right type or subtype so that further methods > > invoked are available. The R pipe method is in some sense better as all it > > does is pass the previous result, of any class, as the first, or specified > > argument to the next function. A new language based on R, might have most > > things be more fully fledged objects as in S7 or something newer, and allow > > both kinds of pipelining. > > > > One advantage (and disadvantage) of starting anew is that compatibility > > with old code can be dropped. As, again, one example, lots of current R > > functions were never designed to take the appropriate argument as a first > > argument and perhaps had it as a second one or even an optional named > > argument. A new system might be designed from the ground up to have more > > function argument list done such that the first argument is the obvious one > > used in pipelining, or perhaps a new hack where when you declare a > > function, you can specify which argument is to be the default one replaced > > when used in a pipe situation. Or, it might supply two or more versions of > > the function that are almost identical except that they take arguments in a > > different order. > > > > If done right, a new language might not catch on easily with the existing > > user base but might become used more by new projects. > > > > I have to speculate on a side issue regarding AI. Instead of training a > > general-purpose AI using internet resources such as stack-overflow posts > > where people ask how to do something or why something is not working, a new > > language might be trained by having documentation written that includes > > many how-to parameterized scenarios it could learn from for many common and > > expected uses. A well designed and tight language with (initially) fewer > > complications, might work better. It may start with say ONE kind of > > data.frame that includes many of the features you currently get from > > tibbles and data.tables as options. > > > > And, of course, I am a fan of making a language that can incorporate other > > languages as needed to do focused tasks well done by others and integrate > > it. Way back in my UNIX days, I often wrote fairly complex applications > > largely written as shell scripts that called on various programs like the > > UNIX utilities such as grep and sed and AWK as well as PERL and others and > > over time, features were added to versions like ksh that allowed lots to be > > done internally within the shell script that speed up many things. The UNIX > > pipelines helped make fairly complex things seem almost routine to write > > this way. A new language, perhaps somewhat based on R, might do well if it > > did not do everything but allowed co-processes to be invoked as needed. I > > have written such programs in RSTUDIO and other places that allow > > integration of sorts between Python and R to work on the same data in > > memory and do some translating back and forth. R itself, spends some time > > translating R data structures to ones some version of C can expect and then > > call a fast C routine to do some work and then translate the results back. > > > > Sorry for the length of my thoughts. I will stop here. > > > > From: Richard O'Keefe rao...@gmail.com > > Sent: Saturday, June 14, 2025 7:15 PM > > To: avi.e.gr...@gmail.com > > Cc: Small Investor small.inves...@aol.com; r-help@r-project.org > > Subject: Re: [R] Some general comments > > > > Avi Gross asked “i often wonder what would happen if someone took a > > language that was decades old…”. Welcome to F. F is basically modern > > Fortran without the cruftier old bits. > > > > I note that I have some software written in the 1980s in C which no modern > > C compiler will accept (not my code, although I maintained it for a while) > > and I stopped using C++ because of version to version breakage. PERL 6 was > > so very different from PERL 5 that they stopped pretending it was PERL. > > > > The fundamenal problem is that the rest of the world doesn’t stay put. “The > > last Windows” will be replaced in October by windows 11 and Windows 12 > > (which may but probably won’t fix some of the worse issues with 11) is on > > the horizon. R was born when nobody would have dreamed of trying to run it > > on a phone. We used to use 8 bit character sets, the unicode rescued us > > from the 4-byte character set threatened by ISO, offering us a 2-byte > > practical alternative (see Java) and then Iso 10646 and Unicode merged and > > we ended up with 21-bit characters, the defined subset of which is > > constantly growing, and features are introduced, deprecated, and > > resurrected. 32-bit machines are superseded by 64-bit machines, and then we > > find credit-card size 32-bit machines we’d like to use. Suddenly we have > > “AI” everywhere, writing clean highly plausible and dangerously wrong code. > > How long before someone starts asking for voice driven AI support in R. (I > > wish I was joking.). And don’t get me started on the current Xorg issue. > > > > I do share the OP’s concerns; I just don’t see any other system doing > > substantially better, especially open source ones. > > > > One thing that I would find helpful is that when a function is dropped from > > core R, the documentation page should explain how to convert uses of the > > defunct function to the newer form, or at least point to such > > documentation. This doesn’t always happen. > > > > As for splitting into different library/universe “dialects”, the only way > > to avoid that is to stop people using the language. Ever looked at > > Jacascript? One language I occasionally use has at least three incompatible > > unit testing frameworks. > > > > On Sat, 14 Jun 2025 at 9:25 AM, <avi.e.gr...@gmail.com > > mailto:avi.e.gr...@gmail.com > wrote: > > I would add to what Jeff replied. Many and perhaps most or even all > > languages that have room for evolution, including Python, can end up getting > > more and more complex with multiple ways to do things but it generally is > > possible to write many useful programs in the core language. > > > > I often wonder what would happen if someone took a language that was decades > > old, and examined a recent version and used the results to create a new > > streamlined language in which many choices are simply removed and some newer > > ones are used instead. Consider the endless number of ways you can now do > > formatted printing in python including various versions of strings. In R, > > some of the ideas have been made available in the glue package in the > > tidyverse which many people do not know about and others use instead of much > > of what is available in basic R. > > > > I think having choices is great for programmers but as noted, makes it > > harder when hiring people to see if they fit. But, IMNSHO, any programmer > > you hire that is not able to rapidly get on board and read manual pages or > > sections of books showing how to use features, may not be the best hire. I > > know I have been hired in situations where my experience was of different > > operating systems, programming languages and editors/environments and > > switching was not hard because I had a flexible background. Over years, we > > kept shifting and I kept up while some others who knew ONE THING were often > > struggling. > > > > The reality is that R was written so long ago that it would rapidly have > > been less and less attractive to some programmers if it stood still. Some of > > the concerns mentioned are reasonable and some have solutions such as taking > > a snapshot of what versions of things you allow to be used that form a > > stable environment and then not updating anything. A new machine would > > download just the copies needed, as long as the version remained archived. > > > > But is R as bad as Python which split in ways that made many 2.x programs > > incompatible with 3.x and yet some people continue to use the old version, > > which is a bit souped up to emulate, rather than changing the code to be > > compatible? Nobody forces you to use dplyr and frankly, it has similar > > issues as the tidyverse once built has been changed often enough so my older > > programs often tell me functionality has been, or will soon be, made > > obsolete and the newer stuff may be much more powerful and yet a pain to use > > for simple things as they allow ever more abstractions. > > > > I will say that it may happen to R too and a new language named P may be > > offered alongside R that will become more difficult within a year. > > > > But had this happened, R would not have things like a built-in pipe that > > some find useful or even essential. > > > > -----Original Message----- > > From: R-help <r-help-boun...@r-project.org > > mailto:r-help-boun...@r-project.org > On Behalf Of Small Investor via > > R-help > > Sent: Friday, June 13, 2025 7:50 AM > > To: r-help@r-project.org mailto:r-help@r-project.org > > Subject: [R] Some general comments > > > > Dear R community, > > I have been using R for over 15 years. I want to raise an issue which has > > been haunting me for some time now: It feels as if R is falling apart. I try > > to justify this feeling by providing three discussion points: > > 1. Version compatibility issues seem to be on the rise. Very often, you get > > the message that package x was built on R version y (and thus, won't work in > > your version of R). When you update to the latest version of R, you realize > > that not all packages are available for that version. It seems that for each > > version, only a (non-predictable) subset of packages is available. > > 2. The overhead of installing new packages seems to be on the rise. It seems > > that the packages depend on more and more other packages. The more packages > > you have in the 'foundations' of package x, the more likely it is that one > > of these causes an error and the whole stack fails. Installing used to be > > easy back in the day: You got a 20 lines' output. Now you get endless > > prints. I may be mistaken but some packages seem to require admin rights on > > your computer which you don't often have on your work PC. > > 3. R seems to be developing into different dialects. You have dplyr and > > tidyr, some people prefer data frames, some prefer tibbles. Some people use > > pipes, some use traditional syntax. Some prefer object-oriented programs, > > some prefer procedural scripts. If you put in a job announcement that > > somebody has to know R, it doesn't mean the same thing for different people. > > If you compare the use experience of R in 2025 to that of Matlab, the > > difference is striking: Matlab is concise and clear, R is more and more > > about endless prints. Of course, Matlab is a commerical product, but R used > > to be the same way. I don't know if many other people feel the same way, but > > I think I am shifting away from R. > > yours best,a data analyst dude > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailto:R-help@r-project.org mailing list -- To > > UNSUBSCRIBE and more, see > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > > https://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > > > ______________________________________________ > > R-help@r-project.org mailto:R-help@r-project.org mailing list -- To > > UNSUBSCRIBE and more, see > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > > https://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > > https://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide https://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide https://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.