Icon View Thread

The following is the text of the current message along with any replies.
Messages 51 to 60 of 63 total
Thread New language features
Tue, Jun 26 2018 3:57 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

<< May I answer? I will do my best to be clear, honest and not insulting. However I really didn't want to insult anybody here. Perhaps my English is bad or it's due to cultural differences, or both.
>>

Of course you can answer.  Just keep it technical and try to minimize the sarcasm.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Jun 26 2018 4:08 PMPermanent Link
 Cancelled Message Cancelled
Tue, Jun 26 2018 5:01 PMPermanent Link

ooptimum

Tim Young [Elevate Software] wrote:

> Yes, if you're writing a ton of code, something that *isn't* necessary in most cases with EWB.  EWB is (currently) for writing *client* applications, so 80% of that will involve UI design and handling and other non-heavy-coding activities.  This in particular is why I have spent so much time on the UI/components at the expense of the code editor and other traditional IDE functions.

No, I do not like to write tons of code. Really. As I wrote here in other thread, I'm working on a new project, it's a SPA site with mORMot backend, and while surfing the Internet I came across a reference to EWB somewhere, and I thought: "This is Pascal, and I love Pascal, it's about the web applications and just what I need." But then questions began to appear one after another, how to do this or that, despite the fact that I know Object Pascal very well, quite good in javascript and web technologies in general.

Then I started asking questions on the forum. And you answered me among others, and it was excellent. But I can not ask just everything, I do not want you to get the impression that it's you who make my app for me. And the editor did not help me much. I really do missing a code autocompletion so that I can quickly see what methods and properties there are in a particular class.

I did not understand what the purpose of the yellow line indicator is. I could not think of anything better than it is necessary in order to see blank lines after the final end in the file. In Delphi it is an indicator of changed lines. So in Lazarus too. It seems to me it does not work that way in EWB. So I just turned it off by changing its color to background's gray.

The editor does not support bookmarks. Not that they were very necessary to me, but here on the forum someone already wrote that he needs them. I read forum a lot to find answers to my newbie questions.

<< Is that why it doesn't serialize variants? >>

> Your point ?  Or are you just trying to score points again ?  I keep trying to honestly answer your questions, but it's really hard to tell if you're actually curious or trolling me.

No, I am not trolling you. Let me explain. Do you remember the story why did I begin to rewrite the typescript library for working with mORMot? I cited a piece of the resulting code as an example today. There is a function to send data. It takes this data as a variant parameter. I don't remember exactly, IMO I used SerializeXML function and it was giving me empty string instead of serialized data. Frankly, I thought it's by design.

As for these closures, you probably saw that in that library everything is built on them and it was a real pain for me to rewrite it all on pure pascal.

The irony is that mORMot has an official client library written on smart pascal, that's how I know that lambdas are supported there. I understand this language, but I did not write a single line of code on it and I am not connected with this project, if you suspect me of it.
Tue, Jun 26 2018 5:30 PMPermanent Link

ooptimum

You say that I like to write code. However, I do not even know how to get the usual list (ul/li in html) in EWB without programming. And even involving programming I do not know how to do this. It took me almost the whole day to do what takes literally a second in a HTML editor, and I did not succeed. Shame on me.


Tim Young [Elevate Software] wrote:

> Of course it offends me - I wrote it and you're implying that it is unusable for its core purpose of existence.  
DBISAM has been used for many, many applications and is still used to this day in many corporations around the world, and they *all* store critical data in it.

I believe you, but still I stand on my point. I don't say your products are bad. I simply doubt that they are of aviation grade. I would not trust people's lives or big money to them. If I see independent reports from trustworthy sources that they are of that grade, I'll apologize. As simple as that. Don't take it as a personal insult.


<< I myself did not expect this discussion to turn into what it turned into. >>

> Neither did I, yet here we are.

I am really sorry for that.

> when you stray into making random, insulting remarks about our company and products, you're not really "just asking questions" anymore, are you ?

I have nothing against you or your company. I just do not accept comments like big companies are bad simply because they are big and can afford it. It's my fault that it was looked as I am insulting you or your company. I am sorry for that.
Tue, Jun 26 2018 5:48 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

<< No, I do not like to write tons of code. Really. As I wrote here in other thread, I'm working on a new project, it's a SPA site with mORMot backend, and while surfing the Internet I came across a reference to EWB somewhere, and I thought: "This is Pascal, and I love Pascal, it's about the web applications and just what I need." But then questions began to appear one after another, how to do this or that, despite the fact that I know
Object Pascal very well, quite good in javascript and web technologies in general. >>

You're not alone here, and this is where most developers start to have issues.  EWB is not like other web application development environments and has its own unique way of doing things that is more akin to desktop development than web development.

<< Then I started asking questions on the forum. And you answered me among others, and it was excellent. But I can not ask just everything, I do not want you to get the impression that it's you who make my app for me. And the editor did not help me much. I really do missing a code autocompletion so that I can quickly see what methods and properties there are in a particular class. >>

You are perfectly welcome to ask as many questions as you want.  Either myself or someone else from the community will answer ASAP and, if you're in a time crunch, just email me directly at support@elevatesoft.com  You can also email me if you have a question that you don't want to discuss on the support forums.  For example, concerns about the company, etc. Wink

As for the editor issues: yes, I am completely aware of the deficiencies in the editor and will be addressing those as soon as EWB 3 is out.  My primary goal up until now has been to make sure that the *infrastructure* is in place that allows customers to quickly and easily get web applications created and deployed, and, unfortunately, that has led me down a path that I didn't originally intend to take: increasing the ease of use on the *server* side of the equation.  Originally, in the initial release of EWB 1, I didn't plan on addressing the server side of things at all, but quickly realized that this is one of the hardest parts of any web application for most developers because there's so much "glue" code and software that has to sit between the web application and the server application, and they're often in a different language, etc.  EWB 3 allows you to manage all aspects of the web server directly from the IDE, including deploying server-side applications and native web server modules.  It also transparently handles most, if not all, major security concerns for most applications: users, roles, privileges, session management and expiration, authentication, TLS and certificate usage, etc.

<< No, I am not trolling you. Let me explain. Do you remember the story why did I begin to rewrite the typescript library for working with mORMot? I cited a piece of the resulting code as an example today. There is a function to send data. It takes this data as a variant parameter. >>

The serialization in EWB is a different thing, and is more akin to the form serialization in Delphi.  IOW, EWB automatically handles serializing any published properties of any class that descends from TPersistent (nested object and array properties you have to handle on your own in your class).  You can see it in action here:

http://www.elevatesoft.com:8081/persistence/persistence.html

So, typically you don't use variants in EWB, although there is some limited support for them in the compiler.

Also, the basis for the serialization is the RTTI that the compiler emits for all classes.  It allows EWB to do all sorts of things like create components using their class name, lookup/assign properties by name, etc.  The key here is that this is all still under the guidance of the compiler, and so you are still getting the type safety, etc.

<< I don't remember exactly, IMO I used SerializeXML function and it was giving me empty string instead of serialized data. Frankly, I thought it's by design. >>

If you remember what it is that you're attempting to do, I can help you further.  The TServerRequest class has this method:

https://www.elevatesoft.com/manual?action=viewmethod&id=ewb2&comp=TServerRequest&method=ParseXML

that allows you to construct a TDocument instance (DOM) from a response and then you can re-serialize the document to a string using the SerializeXML function.

<< As for these closures, you probably saw that in that library everything is built on them and it was a real pain for me to rewrite it all on pure pascal. >>

Yes, but that's my whole point: you shouldn't need to use closures for this and that 80-90% of what they're doing can be already be handled by the TServerRequest component.

You can see how I did something similar with DataSnap here:

https://www.youtube.com/watch?v=IHScbudPUDk

There's a link to the code used in the video in the description below the video.

<< The irony is that mORMot has an official client library written on smart pascal, that's how I know that lambdas are supported there. I understand this language, but I did not write a single line of code on it and I am not connected with this project, if you suspect me of it. >>

Not at all, not at all.

Most of these other development projects primarily just ignore EWB and act like it doesn't exist, so we just keep on doing our own thing, slowly but surely. Smile

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Jun 26 2018 6:00 PMPermanent Link

ooptimum

As for my claims to the language, I'd like to have, for example, interval types, sets, and a lot of what we have in Delphi. But I understand it's not Delphi and can live with this. I have already encountered many small mistakes or discrepancies with Delphi, but I promptly found solutions to problems.

Most of all, I was struck by the fact that when I started to translate the typescript code to pascal and just took the whole code into my file and commented it out as usual (Ctrl+/), the project was not compiling due to errors inside comments. Errors inside slash comments have been preventing building of the project! It's first time ever I saw this.

Also, the editor does not work well with locales other than English. There is a lot of small problems. I don't count them. Of course, they can be tolerated. But this is not quite what you expect from a commercial product. Sorry for saying that, but it's true.
Tue, Jun 26 2018 6:10 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

<< You say that I like to write code. >>

No, I didn't say that.  I said that you don't *need* to write as much code using EWB.  It's the whole reason for the product being like Delphi - RAD.

<< However, I do not even know how to get the usual list (ul/li in html) in EWB without programming. And even involving programming I do not know how to do this. It took me almost the whole day to do what takes literally a second in a HTML editor, and I did not succeed. Shame on me. >>

EWB is not for writing document-oriented web sites, rather it is for writing single-page web applications.  There is no concept of an HTML list in EWB because such a thing is not something that you would normally use in an application.  However, there *is* this control:

https://www.elevatesoft.com/manual?action=viewcomp&id=ewb2&comp=THTMLLabel

Just pop your HTML into that control, and lay it out using the layout properties (Layout.*) in any manner that you wish.

In case you're wondering why we limit HTML to certain controls/areas of the application: this is because accepting and incorporating HTML data from the server side can be very complicated in terms of security and open your application up to some serious injection attacks if you're not careful.  So, for most controls that have text, EWB simply uses straight text DOM nodes that are immune to such attacks.

<< I believe you, but still I stand on my point. I don't say your products are bad. I simply doubt that they are of aviation grade. I would not trust people's lives or big money to them. If I see independent reports from trustworthy sources that they are of that grade, I'll apologize. As simple as that. Don't take it as a personal insult. >>

You're missing the point.  It's an insult because you're putting up a strawman (aviation-grade) that we never claimed to adhere to, and then saying that the product doesn't live up to this standard.  Furthermore, you're cherry-picking one bug that recently came up and trying to characterize the product using that one defect (a defect that doesn't affect most typical queries due to the nature of how the constants have to be specified in the query conditions).

Nobody purchases DBISAM or ElevateDB because they're using it on airliners, they purchase it because they need a solid, reliable embedded database that can be distributed to thousands of machines without requiring a huge amount of configuration or possibly encountering installation issues/conflicts.

Which isn't to say that it *isn't* being used in critical applications that handle money: 90% of the applications out there that use DBISAM probably handle some form of money.  We take our products very seriously here, and we do not skimp on testing.

<< I have nothing against you or your company. I just do not accept comments like big companies are bad simply because they are big and can afford it. >>

Yes, but I didn't say that, and the person that did, did so in a manner that was respectful.

<< It's my fault that it was looked as I am insulting you or your company. I am sorry for that. >>

Apology accepted, and I apologize for you having to endure such a support forum thread so early on in your experience with our company.  Now let's just move on and make sure that we can help you produce the application that you need to produce as quickly as possible. Smile

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Jun 26 2018 6:18 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

<< As for my claims to the language, I'd like to have, for example, interval types, sets, and a lot of what we have in Delphi. But I understand it's not Delphi and can live with this. I have already encountered many small mistakes or discrepancies with Delphi, but I promptly found solutions to problems. >>

There are underlying limitations in JS itself that prevent using certain language constructs without resorting to some seriously hacky workarounds, so I try to keep the EWB implementation as pure as possible so that you can still debug the JS in the browser and understand what is going on.  For example, record types are problematic because JS has no concept of such records that can be passed by value, so one has to either force them all to be passed by reference, possibly causing confusion/bugs when someone tries to port Delphi code, or leave out that feature.

<< Most of all, I was struck by the fact that when I started to translate the typescript code to pascal and just took the whole code into my file and commented it out as usual (Ctrl+/), the project was not compiling due to errors inside comments. Errors inside slash comments have been preventing building of the project! It's first time ever I saw this. >>

Please post an example of this.  I'm not aware of any such issues other than this one:

https://www.elevatesoft.com/incident?action=viewaddr&category=ewb&release=2.06&incident=4633

<< Also, the editor does not work well with locales other than English. There is a lot of small problems. I don't count them. Of course, they can be tolerated. But this is not quite what you expect from a commercial product. Sorry for saying that, but it's true. >>

Again, I need specifics in order to fix such issues: what exact problems are you seeing ?

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Jun 26 2018 6:53 PMPermanent Link

ooptimum

Tim Young [Elevate Software] wrote:

> EWB is not for writing document-oriented web sites, rather it is for writing single-page web applications.

Actually I write single-page web applications in a document-oriented manner on Angular framework. It's usual way of building SPAs there. That is why we both suspected I'm trying to use EWB in a wrong way.

> You're missing the point.  It's an insult because you're putting up a strawman (aviation-grade) that we never claimed to adhere to, and then saying that the product doesn't live up to this standard.

It's definitely due to cultural differencies. I really didn't mean anything bad. It's only me and my own expectation of what a trustworty (again only for me) DBMS should be. I guess I'm too categorical when it comes to such things. I didn't mean you're claiming adherance to some standards. It did not even occur to me.

> Nobody purchases DBISAM or ElevateDB because they're using it on airliners, they purchase it because they need a solid, reliable embedded database that can be distributed to thousands of machines without requiring a huge amount of configuration or possibly encountering installation issues/conflicts.

May I explain why, in my opinion, you are losing in the competition on this field? It's just my personal thoughts and opinion and not a try to insult you again. Of course, it's not necessary if you don't want it.

>  Now let's just move on and make sure that we can help you produce the application that you need to produce as quickly as possible. Smile

Well said. Thank you. Let's move on.
Tue, Jun 26 2018 7:04 PMPermanent Link

ooptimum

> I need specifics in order to fix such issues: what exact problems are you seeing ?

From now on I will report all the problems I encounter. It's a 4 a.m. here and I can't recall everything for sure.
« Previous PagePage 6 of 7Next Page »
Jump to Page:  1 2 3 4 5 6 7
Image