One syntax to rule them all...

Too many programming languages!

Lately I’m using:

  • Xojo Apps (macOS / Windows)
  • Xojo WebApps (on macOS)
  • Javascript HTML/CSS
  • FileMaker Pro / Server

And I’ve got some legacy cruft:

  • some bash / CURL scripts
  • some perl and python scripts running on a LAMP server in CGI mode
  • mysql databases on LAMP
  • some Objective C / Swift where it’s necessary

My goal is to simplify so that I have fewer languages/environments to deal with.

Question: would it make sense to take my Perl and Python scripts that run in CGI mode, and just re-do them as Xojo web apps (in CGI mode for linux)
Or, since I already know Javascript, should I just learn how to do Node.js or Node CGI, and dump perl/python for Javascript?

Or, is the most modern solution to invest in learning Containers?

How do you keep the # of programming languages / environments small?

Assembler, MarkIV, SAS, Fortran, Cobol, Pascal, Rexx, TSO, PL/SQL, Xojo, Swift as well as more variations of BASIC than I care to remember… and I’m sure I have used even more that just this list

Pick a tool you like (my preference is Xojo) and limit projects that work with Xojo. OK … easier said than done but being selective about projects is one solution.

If you need to master dozens of tools in your tool box then it is hard to be a master of them all. If you can be selective about the projects then you will only need a few tools. And sometimes you can adapt your project to use the tools you know.

As Dave said he has used lots of tools over a period of time. I have done the same. I am fortunate enough now to be more selective about projects.

Yeah… a VERY LONG period of time… :slight_smile:

• Xojo (macOS and complicated web apps).
• Objective-C for helper apps, understanding how OS APIs work and also testing when I can’t get API to work in Xojo.
• GLSL for GPU based image processing.
• PHP for simple server side mechanics of the few web sites that I manage.
• HTML, CSS & JavaScript for some GUI elements, product help and web site.

haha, i was just thinking about this today…

my current project is using three totally different compilers:-

Display:- MAC, Pi and windows using Xojo (no complaints anywhere with Xojo for this project, it is invaluable)

Controller Hardware:- Microchip MPLABX using xc8 C compiler on an embedded PIC micro controller (C, but is bearable)

Wet Hardware (and it is wet, its a water management device):- Proton Development System (PDS), a really old BASIC archaic compiler that uses a version of BASIC and is a really FLAT language (waiting to convert it to C so can dump it as soon as possible)

For me the very differing requirements of embedded and OS based devices mean its always going to mean at least 2 totally different languages and methods, thankfully, who wants to be bored?

I would be amazed if there is anyone who uses ONLY Xojo in their programming life, or any other programming language exclusively.

the only programming language that i simply do not have any space for in my head is obj-c, it just makes no sense to me at all, but neither does game of thrones or the office, so maybe i am just off kilter with a few things!

I try to use Xojo for absolutely everything as, like Mark, I find it simpler to have less environments to worry about. I either use PHP (with the Laravel framework) for web apps or I’ve recently discovered @Tim Dietrich excellent Aloe Server for Xojo which I prefer over Xojo’s native Web framework.

For small scripts I use Roo, the language I wrote in Xojo.

I recently had to give up VBA. This was a really crappy language with a crappy “IDE”. Variants and “on error resume next” … ahem.

Thanks for all the advice. :slight_smile:

I just did a test of “Can I use Xojo Web App to replace a Perl CGI script on a Linux / Apache server”.

The deployment of a xojo web app on linux in cgi mode includes a ~300 line perl cgi script which connects the xojo app to apache as well as about two dozen other files in the Resources and Libs folder.

Technically it can be done, it certainly doesn’t seem like a good idea when the original Perl script you are replacing is small - you end up replacing a few dozen lines of Perl with several hundred lines of Perl + a bunch of ancillary files.

[quote=403150:@Michael Diehr]Thanks for all the advice. :slight_smile:

I just did a test of “Can I use Xojo Web App to replace a Perl CGI script on a Linux / Apache server”.

The deployment of a xojo web app on linux in cgi mode includes a ~300 line perl cgi script which connects the xojo app to apache as well as about two dozen other files in the Resources and Libs folder.

Technically it can be done, it certainly doesn’t seem like a good idea when the original Perl script you are replacing is small - you end up replacing a few dozen lines of Perl with several hundred lines of Perl + a bunch of ancillary files.[/quote]

Would you care to ellaborate a bit more?

I’ve replaced Perl CGIs with console Xojo apps, not web apps. It depends on what the script does, needs and returns.

Also, while it’s not immediately obvious, you’re not really just replacing the Perl script but all of Perl, since without Perl the script doesn’t really work :smiley: (I know this may be moot, but I frequently see people forgetting that PHP is not just the scripts, but PHP itself, which is not the 100 line PHP file they’re replacing).

[quote=402629:@Mark Carlton]For me the very differing requirements of embedded and OS based devices mean its always going to mean at least 2 totally different languages and methods, thankfully, who wants to be bored?

I would be amazed if there is anyone who uses ONLY Xojo in their programming life, or any other programming language exclusively.

the only programming language that i simply do not have any space for in my head is obj-c, it just makes no sense to me at all, but neither does game of thrones or the office, so maybe i am just off kilter with a few things![/quote]

Why are you me with a different name? :smiley:

This is me as well, 100%. From dozens in the past I’ve been able to reduce it all to a handful, forcing myself to use the best one for each individual tool.

I don’t think it’s possible to decide to focus on just unless you either decide not to do a bunch of stuff or someone comes up with a tool that works for everything (swift attempts to be this, but it fails at the “programming” part of being a programming language, to me, by not having a custom-made IDE like Xojo, which is still one of its major advantages in my eyes).