Xojo in 2017: A Review [Part 1: The Language]

I’ve had Xojo on the mind lately as I work on and complete several projects spanning desktop, web, console, and iOS. At nearly 2000 words I dive into part 1 of my new 2017 review series of Xojo: the language. Later parts will include topics on the framework, targets, the IDE, add-ons, the community and more.

If you have 15-20 minutes for a lengthy part 1 check it out: http://www.dev.1701software.com/blog/xojo-in-2017-part1


Interesting, but it read more like a wish list than a review. I thought you were relatively new to Xojo until I read the end and saw you have been using it for years :slight_smile:

I’m assuming some readers will just be starting out with Xojo so may not be familiar with it. Bob Keeney does a great job of reviewing all the new aspects of a new release but I wanted to cover Xojo The Product for a new entrant.

Part 1 is just the language features that exist and those I think need to be enhanced. No need to reproduce what is available in the user guide. What they won’t tell you is the areas where it is painful.

The next part will focus on the framework and targets. I’ve written a bunch of open source code in this area (GlueKit) due to limitations in the new framework, etc.

I agree for the most parts of this view. I’ve subscribed and look forward to the next part.

Hm…well, I don’t disagree with your article, but I do disagree on your audience. I think most people looking at Xojo for the first time will get lost in your post fairly quickly because it dives off into the weeds on things that Xojo doesn’t have rather than the strengths of the language.

In a multi-part series I might have started out with a more, ‘here’s what Xojo does really well’ approach from a language standpoint. Mention in the last paragraph that in the next post you’ll talk about what you wished it did differently. Heck, you could probably spend an entire post on Generics, Threads and Event Handlers each.

Not my post so take my thoughts with a grain of salt. I’m glad someone else is blogging about Xojo besides me. Looking forward to seeing more posts!

I agree with most of part 1 but as Bob already wrote, you will loose 50% of your target readers halfway through.
You should indeed first focus on the ‘plus’ and only then take a grasp at the ‘minus’. To mention both is very good and important but to keep readers interested, you definitely need to start with something positive :slight_smile:

One nice suggestion:

please, wait 'till Xojo 2017r1 is released, so your title will be accurate.

As is, this looks like a TV doc I watched recently: its title was “The pyramid mysteries” (mysteries = 2017).

PS: even if there can be incomplete stuff in Xojo 2017r1.

I love your idea.

It already is accurate as his title might be stated as “The state of Xojo in the year 2017”

Oh ! Niiiiice !

English is such a lousy and beautiful language at the same time :slight_smile:

Including 60% of French words…

and so many other languages
greek (psychology and several others that start with psy…)
latin (physics)
hindi (pajamas0
urdu (khaki)
and many many more

English isn’t proud - it will steal words from every other language

Norman got it right. I am reviewing Xojo as it is today in 2017 and not necessarily a particular release.

Thanks for the feedback both positive and negative.

I have been on numerous consulting projects. Some starting from nothing and others where the previous developer crashed and burned. I’ve even migrated a project or two that we crashed and burned to others. It happens for a number of different reasons.

Every single time I get the following questions:

  • Why Xojo?
  • Is Xojo good?
  • Can I find more developers who use it?
  • Is Xojo the reason my last developer failed us?
  • Will my in-house development team take Xojo seriously?

It’s a complicated series of questions to answer. Xojo is fairly niche and goes against the grain of modern computer languages/platforms being proprietary and closed source. Granted its older than most newer languages so maybe they go against the grain haha but times have changed.

If I did not like and appreciate Xojo I simply would not use it. I do not want to waste cycles talking about what Xojo does good because frankly you can read the feature list on xojo.com yourself. Most reasonable people will assume that the product works as advertised. When you are just starting out most of your errors will be your own. I will however point out in future parts the things it does great because those are worth mentioning and keep me coming back for more.

However once you have worked on projects for every target of sufficient size and complexity, solo and on a team, you start to identify the things that really hold you back. Things that are painful and already solved in other environments.

My goal here is to speak to the business leader, the person who knows enough about software to know its challenging and has risks, that Xojo can be useful and productive. However it is not without its caveats. My audience is not seasoned Xojo developers or new Xojo developers although they are bound to find it and hence I invited you all to read it. My audience are those that employ us the developers and why they should choose Xojo. I want to help convince their existing team to embrace it. I want to help them identify what risks and struggles they may encounter and to demonstrate that there is light at the end of the tunnel.

Finally I wanted a venue to illustrate my own thoughts of how Xojo could be better. I desperately want it to be better because I have so much more software to build and I get pissed dealing with tedious constraints that could be solved. I don’t want to use another environment but sometimes I have no other choice.

Nice review. Thanks for taking the time to write it. I’ve started several posts and abandoned them because doing what you just did is hard work. Kudos to you.

I agree with you that it would be nice to be able to put classes into a Module. I have found that the feature of being able to drag an entire folder into the project as external items mitigates the pain. I tend to think of folders in the IDE as modules of a sort, and not just a convenient way to organize the project.

It’s encouraging to watch how Xojo evolves. I wouldn’t be surprised to see some of your “wish list” get implemented in the future.