LC vs Flutter

Want to talk about something that isn't covered by another category?

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

richardmac
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 211
Joined: Sun Oct 24, 2010 12:13 am

Re: LC vs Flutter

Post by richardmac » Thu Sep 30, 2021 1:14 pm

stam,
It has EVERYTHING to do with the conversation. Google Reader was the number one way for people to read RSS feeds, until one day Google killed it. Dead. Gone. All of its users were pissed but Google did not care. So one might dedicate a ton of time to mastering Flutter and then some Google Exec decides it's not helping the bottom line and they cancel it. They might not even have a reason to kill it. At work I unfortunately have to deal with Google from time to time and they're horrible to work with.

stam
Posts: 2679
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Thu Sep 30, 2021 2:52 pm

Yeh the only points you missed here are that it’s OpenSource and supported by a massive, active community.

Now if recent history has taught us anything it’s that a company driven openSource endeavour can be pulled overnight.

However, this is where the “massive community” enters into it. Even if google decides to pull the plug LiveCode-style, there is no doubt Flutter would continue - this is not something LiveCode has had access to.

stam
Posts: 2679
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Thu Sep 30, 2021 3:00 pm

Also with that logic one should only use free opensource tools not maintained or promoted by any one company, as any company can change their mind at any time and smaller companies can go under quite easily. I don’t trust google. But do I trust MS or Apple? Or LiveCode for that matter?

So with that logic I guess we should all stop using LiveCode ;)

jiml
Posts: 336
Joined: Sat Dec 09, 2006 1:27 am
Location: Los Angeles

Re: LC vs Flutter

Post by jiml » Thu Sep 30, 2021 3:59 pm

stam wrote:
in my mind, HC was losing the game as the world wide web came in 1994 onwards and there was no real insight at the time what this would mean for computing and for HC in particular.
So ironic considering that Berners-Lee and Caillau, inventors of WWW, were inspired in no small part by HyperCard.

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9823
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: LC vs Flutter

Post by FourthWorld » Fri Oct 01, 2021 9:00 pm

richardmac wrote:
Thu Sep 30, 2021 1:14 pm
stam,
It has EVERYTHING to do with the conversation. Google Reader was the number one way for people to read RSS feeds, until one day Google killed it. Dead. Gone. All of its users were pissed but Google did not care. So one might dedicate a ton of time to mastering Flutter and then some Google Exec decides it's not helping the bottom line and they cancel it. They might not even have a reason to kill it. At work I unfortunately have to deal with Google from time to time and they're horrible to work with.
I see, rather the opposite of what I was describing. Thanks for the clarification.

Yes, Google drops products. And Asymetrix dropped Toolbook. And Sybase dropped Gain Momentum. And Allegiant dropped SuperCard. And Oracle dropped Media Objects. And Apple dropped HyperCard.

Many companies drop many products, for many different reasons.

There's no way to completely eliminate that risk, with any toolkit from any company.

Open source can help by ensuring availability of the code base even if the original funding party loses interest in it. In Flutter's case, it seems to have enough of a following among people who possess the skills to maintain it that I would feel reasonably confident about using it if it was something I was interested in.

Right now I'm doing most new server work in Node.js, which is among the strongest open source projects around, and having garnered tremendous support from all corners I don't see it going away sooner than anything else.

But since the risk is always present, as all other xTalks and many others have shown us, what works for me may not work for you. Each of us needs to do our own risk assessments to make our own choices of where we invest the next thousand hours of our time.

Sometimes that's LiveCode. Sometimes it's something else. Look at the project requirements at hand, look at the full range of options available, choose the best tool for your needs.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

Bernard
Posts: 351
Joined: Sat Apr 08, 2006 10:14 pm
Location: London, England

Re: LC vs Flutter

Post by Bernard » Sat Oct 02, 2021 1:27 pm

stam wrote:
Thu Sep 30, 2021 3:00 pm
Also with that logic one should only use free opensource tools not maintained or promoted by any one company, as any company can change their mind at any time and smaller companies can go under quite easily. I don’t trust google. But do I trust MS or Apple? Or LiveCode for that matter?

So with that logic I guess we should all stop using LiveCode ;)
What makes you think FOSS tools survive? As I mentioned some months ago, Apple went from charging $50,000 per license for ObjC WebObjects, down to $500 a license for Java WebObjects, down to FOSS, down to discontinuing it. https://www.businessinsider.com/apple-o ... cts-2016-5

A similar situation happened with Zope/Python. Metacard existed when WO and Zope were the bees knees.

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9823
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: LC vs Flutter

Post by FourthWorld » Sat Oct 02, 2021 5:36 pm

Respectfully, I don't think it's practical to attempt to assess the potential viability of a project based solely on its license type.

There are countless examples of both thriving and failure among proprietary and open source protects alike.

Maybe the better way to assess the potential viability of a given project is to look at the project.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

stam
Posts: 2679
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Sun Oct 03, 2021 1:48 pm

Bernard wrote:
Sat Oct 02, 2021 1:27 pm
What makes you think FOSS tools survive? As I mentioned some months ago, Apple went from charging $50,000 per license for ObjC WebObjects, down to $500 a license for Java WebObjects, down to FOSS, down to discontinuing it. https://www.businessinsider.com/apple-o ... cts-2016-5

A similar situation happened with Zope/Python. Metacard existed when WO and Zope were the bees knees.
Bernard.

As should have been abundantly clear in my post, openSource in itself IS NOT a guarantee for survival.
But when there is a massive and skilled community behind it, as is the case with flutter, chances of demise are lessened to the extent that for intents and purposes that is a guarantee.

To bring things back into context and away from your past experience with WebObjects, the original question was whether “Google” could be trusted to maintain flutter because a user was “burned” when they dropped their RSS reader. Arguably not the biggest trauma in one’s life but whatever.

The response from me was no one should trust Google but Flutter looks like it’s here to stay as it’s a huge platform that has gained life of its own independently of Google, so the chance of this diapering as very low indeed (and CERTAINLY lower than the chance of LiveCode disappearing).

So please do elaborate what your problem with my response actually is.

Bernard
Posts: 351
Joined: Sat Apr 08, 2006 10:14 pm
Location: London, England

Re: LC vs Flutter

Post by Bernard » Mon Oct 04, 2021 11:24 am

Google's Wave developer community was probably far bigger than the paying userbase for Livecode. Google shelved Wave after a couple of years, dumping it on Apache. Years later, Apache discontinued it. So size of company, number of developers, FOSS - none are guarantees that a technology will survive.
Initially released only to developers, a preview release of Google Wave was extended to 100,000 users in September 2009, each allowed to invite additional users. Google accepted most requests submitted starting 29 November 2009, soon after the September extended release of the technical preview. On 19 May 2010, it was released to the general public.[6]

On 4 August 2010, Google announced the suspension of stand-alone Wave development and the intent of maintaining the web site at least for the remainder of the year,[7] and on 22 November 2011, announced that existing Waves would become read-only in January 2012 and all Waves would be deleted in April 2012.[8] Development was handed over to the Apache Software Foundation which started to develop a server-based product called Wave in a Box.[9][10][11] Apache Wave never reached a full release and was discontinued on 15 January 2018.[12]
https://en.wikipedia.org/wiki/Google_Wave

Go ahead and use Flutter, it might be around in 20 years. I use whatever language suits my reasoning of where it fits technologically, I don't worry about "will it be around in 20 years". I use Tcl where LC isn't suitable. Where I have to use Java, I use Java. Where I need Python, I use it. Where I need to use SQL and Javascript, I use them. I look on niche technologies as providing an advantage. If they didn't provide an advantage I'd use something that did, even if it was mainstream. To my surprise, sometimes even LC is best (simplest and fastest) when it comes to something where I tried more famous/obvious solutions first (e.g. a command line tool to transform a complex JSON structure). I spent a week of frustration and disappointment learning/using other technologies for this JSON issue because I have never used LC as a command line tool and assumed they'd be better at doing this because they were mainstream. Something that took 10 minutes to knock up in LC was the best solution. There's a lesson I need to learn there ("trust the source, Neo").

After seeing what's happened with OS/2 (IBM), Tcl (Sun Microsystems), Lotus Notes (IBM), Objective C (Apple), Smalltalk (IBM), Wave (Google), I know that there's no guarantees. All of those technologies were riding high at some point in the last 30 years. LC is here today, has been around for 20+ years and fills a niche no other language fills for me. If Flutter suits you better than LC, you should use it.

Bernard
Posts: 351
Joined: Sat Apr 08, 2006 10:14 pm
Location: London, England

Re: LC vs Flutter

Post by Bernard » Mon Oct 04, 2021 1:55 pm

I thought I'd go and look at an extended tutorial on Flutter. https://www.tutorialspoint.com/flutter/ ... torial.pdf

This piece of code creates a dialog button, sets the title and the text of the dialog button and (I think) closes the dialog when the button is pressed.

Code: Select all

// user defined function 
void _showDialog(BuildContext context) { 
// flutter defined function 
showDialog( 
  context: context, 
  builder: (BuildContext context) { 
    // return object of type Dialog
    return AlertDialog( 
      title: new Text("Message"), 
      content: new Text("Hello World"), 
      actions: <Widget>[ 
        new FlatButton( 
          child: new Text("Close"), 
          onPressed: () { 
            Navigator.of(context).pop(); 
          }, 
        ), 
      ], 
    ); 
  }, 
); 
} 
So we have 4 different bracket types being used "{ [ ( >" (and getting one wrong would probably cause an error), and we've got ", . : ;" all being meaningful. I doubt that indentation level is a form of bondage and discipline (as in Python). I suspect that entire function could be a one line body, and it's only made in any way intelligible by the use of comments, returns and indentation.

Is this then a valid funtion definition in Flutter (I removed the returns, indentation and comments)?

Code: Select all

void _showDialog(BuildContext context) {
  showDialog( context: context, builder: (BuildContext context) {  return AlertDialog( title: new Text("Message"),  content: new Text("Hello World"), actions: <Widget>[  new FlatButton( child: new Text("Close"), onPressed: () { Navigator.of(context).pop();  },  ), ], );  }, 
 );  
}
Incidentally, I have a friend who has taught post-graduate degree students at a top university for decades. He tells me that never a year goes by when he doesn't have to teach remedial grammar with these students, because many of them don't know how to use even an apostrophe correctly (and they're going into a profession where a misused apostrophe or a missing bracket could equal financial ruin). Upon completing his course many of them have a starting salary in excess of £100,000. I'm pretty sure that the vast majority of them could learn to use LC but few could learn to use Flutter.

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 9358
Joined: Fri Feb 19, 2010 10:17 am
Location: Bulgaria

Re: LC vs Flutter

Post by richmond62 » Mon Oct 04, 2021 4:30 pm

All those brackets/braces/parentheses/whatever at the end give me a case of the
screaming doodahs and tell me while LiveCode is far better.

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9823
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: LC vs Flutter

Post by FourthWorld » Mon Oct 04, 2021 5:45 pm

Thanks for the example, Bernard. That middle block is something I've been wanting in LC ever since I played with R: named params.

I can never remember the order of all the args for "export snapshot", or the specific sugar in between them we use instead of commas, but if I could name those args like we do chart elements in R, that would be awesome.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9823
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: LC vs Flutter

Post by FourthWorld » Mon Oct 04, 2021 6:14 pm

Sometimes other languages have useful ideas too. I'm pretty stoked about the new JavaScript syntax for array literals coming in LC V10:

Code: Select all

put [ 1, 2, 3 ] into tVar2
put [ { "a": "b" }, tVar2 ] into tVar3
https://livecode.com/livecode-10-sneak-peek/
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

stam
Posts: 2679
Joined: Sun Jun 04, 2006 9:39 pm
Location: London, UK

Re: LC vs Flutter

Post by stam » Mon Oct 04, 2021 6:34 pm

I'll preface this by saying i post as Devil's Advocate - merely to point out that there are options (which i am exploring slowly, but haven't yet jumped ship - like everyone else here i enjoy using LiveCode but am now considering other options even though i've found LiveCode to be an extremely pleasant and productive environment).
Bernard wrote:
Mon Oct 04, 2021 11:24 am
Google's Wave developer community was probably far bigger than the paying userbase for Livecode. Google shelved Wave after a couple of years, dumping it on Apache. Years later, Apache discontinued it. So size of company, number of developers, FOSS - none are guarantees that a technology will survive.
Your description of Google Wave does not quite stack up to the wikipedia entry on this (en.wikipedia.org/wiki/Google_Wave).

According to the wiki, Google Wave was announced by Google in 2009 and was adopted by Apache in 2010. It was never a comparable product as it was a framework for collaborative editing online - arguably a much more niche product that a general programming environment and i have to take your comment that it had more users than LC at face value, although I'll point out that according to Wikipedia, Google discontinued development due to lack of interest: It was never a successful product. And i get the distinct impression there were not many tears shed on it's demise.

Flutter on the other hand has been going from strength to strength. It's been available for over 4 years; as of one a year ago, more than 2 million devs used this. See the article here: https://medium.com/flutterdevs/the-grow ... baee809dff which includes other interesting statistics about it's usage.
And yes, not all people will stick with flutter all the time, but the statistics from Google are that 500,000 developers use Flutter monthly.

In 2021, flutter is the most widely used cross-platform mobile IDE (source: https://www.statista.com/statistics/869 ... ing-hours/) and desktop targets are now out of alpha.

Bernard wrote:
Mon Oct 04, 2021 1:55 pm
I thought I'd go and look at an extended tutorial on Flutter. https://www.tutorialspoint.com/flutter/ ... torial.pdf
<snip>
Incidentally, I have a friend who has taught post-graduate degree students at a top university for decades. He tells me that never a year goes by when he doesn't have to teach remedial grammar with these students, because many of them don't know how to use even an apostrophe correctly (and they're going into a profession where a misused apostrophe or a missing bracket could equal financial ruin). Upon completing his course many of them have a starting salary in excess of £100,000. I'm pretty sure that the vast majority of them could learn to use LC but few could learn to use Flutter.
All languages come with their own peculiarities. The various bracket types are not really a problem and IDEs manage the brackets quite well; in fact by putting a comma after each ending bracket the IDEs will automatically include a closing comment so you know which bracket closes what.

There is no easy way to go from LiveCode to Flutter; but i'll point out (for others that may be less familiar, i know you know this well) that many, many languages use { } for blocks of code, [ ] for lists and ( ) for parameters and it it really isn't that much of a leap for users of these languages to use Flutter.

To reverse your argument and i guarantee that coders from other environments look at LiveCode and think the same; it does not sit well for example not using the '=' sign as an assignment operator and the structure of the code looks confusing to non-livecoders.

People who have been using liveCode for a while 'get it' and yes it's very nice and straightforward - and I fully agree with this.
But for users coming from other languages the verbosity is difficult to get to grips with and there are many inconsistencies that are born out of the organic way the language has evolved, very much mimicking a spoken language, which is very different from everything else out there.

As a side note:
I am quite curious as to what profession you are referring to, that has a starting salary in excess of £100,000 but which an errant apostrophe could spell ruin (presumably £100,000 doesn't buy you staff to check your spelling for you). Most medical consultants in the UK will earn less than that after 10-20 years training to reach consultant level (depending on specialty).
I'm genuinely curious as to what profession i should have taken in life... maybe i should have taken that remedial grammar class in medical school ;)
Last edited by stam on Mon Oct 04, 2021 6:57 pm, edited 4 times in total.

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 9358
Joined: Fri Feb 19, 2010 10:17 am
Location: Bulgaria

Re: LC vs Flutter

Post by richmond62 » Mon Oct 04, 2021 6:47 pm

Well, as my younger son, who is both a UK citizen and a US citizen, and has worked in both states, says, "British salaries are crap."

Post Reply

Return to “Off-Topic”