The thing I find interesting from what I’m hearing here, is that pro’s from an Xojo background, while they see significant advantages for other tools, still find they have a non trivial learning curve to master them…
Which just confirms to me the feeling I had that switching is not a realistic option for me now as a “citizen developer” … If I was 20+ years younger now, it would be another story.
Its hard to make analogies - say like switching from being plumber to a carpenter
It exactly analogous to learning French or Spanish when you’ve only ever used English
With code you know roughly what it is you want to accomplish and now its learning HOW to say that in the new language
At first you stick to the sentence constructs you know from English
Even though grammatically they might be awkward
Then as you get better you learn the correct grammar and syntax and start to sound more like a native speaker
Programming languages are exactly that
And its been shown that as you get older it IS, in general, indeed harder & harder to learn new languages
I just spent a month looking at Delphi.
I used to use it a lot 20 years ago.
I gave up in disgust so as not to ruin my Xmas
Delphi, like Xojo, changed so much that the web is full of obsolete and obscure examples which just don’t run.
It’s bad at memory handling, excruciatingly slow in parsing XML, very expensive, and ridiculously regimental in they way they licence.
And oh my goodness… don’t try to seek help from the community if your variable names aren’t PascalCase - the quasi-religious pomposity is unbelieveable.
I won’t deny ‘it might be me’ , but yeah… there isn’t a quickneasy side step.
Exactly this. I learned most of Go in a month but it’s been the 12+ months after that to figure out the ‘engineering’ side of it. That includes many code reviews and learning what the experienced Go developers want in code.
Example: Go coders despise If then else blocks and will go out of their way to avoid them. I reviewed some code yesterday where the developer put in a comment on an if then else block saying to the effect, “I don’t see a better way of doing this.” And we all thought it was a good comment and agreed that there was no better way.
use a switch or set the default value and then use just a straight if-then for the alternative.
if a == 1 {
// do X
} else if a == 2 {
// do Y
} else {
// do Z
}
Could be
switch a {
case 1:
//do X
case 2:
//do Y
default:
//do z
}
The other case would be:
var b int
if a == 1{
b = 4
} else {
b = 10
}
would turn into:
b:= 4 // initialize to default value
if a != 1 {
b = 10
}
Generally, I find the Go way to be more readable and consistent with the language. Heck, it’s changed the way I do some Xojo coding too as it’s easier to read there too.
Yeah, long “If then else” blocks can be hard to read and look at. Many years ago I used Inferno OS and it’s programming language Limbo. It seems Go took a lot of it’s design from Limbo and evolved.
I even found a picture of my ancient Client/Server Chess game written in Limbo…
You can do it. Certainly, it is a challenge for a senior citizen developer. But hey - it keeps your brain busy. And when pieces start falling into place it is extremely rewarding.
Karen… I am about to turn 68 years old… In around 2019, I started my journey away from Xojo, and landed on Swift. I found while there was a learning curve, it was very shallow, and while different, it was easy to transition…
Now I will admit there are some major differences between us.
I have been an IT professional for 40+ years
I have learned dozens of languages in my career
But the point is, it can be done, espeically with the support the the people here
That is a long turn Karen. Really until 70? Wow. I hope that I can retire at 61. 70 is really long. I want to have a bit time after working for the life after.
SwithUI seems to like 'em more than actual if statements, especially when you try to use animation.
Also surprising is the similarity between Swift, C and Go. I’ve even found it easier to code javascript since switching to Swift full time.
Going back to debugging for a moment, Xojo’s debugger is pale compared to Xcode’s. I’m very happy with it, and I’m somewhat surprised because Xojo knows what Xcode’s debugger is like, yet don’t improve theirs.
Believing you can’t do something, is what is holding you back. Take your time, read something like 100 days of Swift, where you spend 1 hour a day and starting right at the bottom.
Do you know how many times a day I write Xojo in Xcode? Zero… As Bob says, I’m still getting to grips with Swiftisms and man I love closures. I regularly reach out on social media and ask strangers to critique my code, I’ve gotten some very useful responses.
I 100% believe that you can do this, if you want to Karen. Just remember, your brain is mutable It was declared as ‘var’ and not ‘let’ (or ‘const’ in Xojo terms).