However, I could be missing something here in terms of licensing: can anyone stipulate how the various FOSS licenses could help with this situation ?
936 karma · joined October 23, 2010
However, I could be missing something here in terms of licensing: can anyone stipulate how the various FOSS licenses could help with this situation ?
https://www.elevatesoft.com/products?category=ewb&type=web
Pros:
- Uses a statically-typed language (Object Pascal), compiled to JS, code compression is a simple build option, and the compiler is very fast:
https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...
- Layout management is universal (not various, competing forms of layout) and easy to use:
https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...
- You can create your own non-visual components and controls and install them into the IDE or share them with others:
https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...
(the source code to the entire runtime and component library is included with the product)
- The look and feel of every control in an EWB application can be customized:
https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...
- Uses icon fonts for icons (you can also use raster images, if you want), so applications look crisp on any device:
https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...
- You can use any existing external JS code by coding an external interface to the external JS code (FFI), so even external JS code references will be type-checked by the compiler:
https://www.elevatesoft.com/manual?action=viewtopic&id=ewb2&...
Cons:
- The code editor is rudimentary and requires some more polish (code-completion, etc.)
- Debugging isn't supported via the IDE, yet
- There are still a few missing controls like a treeview and charts, but you can interface with JS products like HighCharts without issue
- The compiler still needs some work in the areas of interfaces, generics, and set support
We have a new Elevate Web Builder 3 coming out soon that has a new IDE and web/application server with built-in TLS, authentication, session management, role-based access control, database API, remote application deployment, and event logging. You can, effectively, manage and monitor any EWB 3 web server remotely from within the new IDE:
https://www.elevatesoft.com/ewb3ide_screenshot.png
Initially EWB 3's web server will be available for Windows only, but we will be offering a Linux/Mac daemon version in early 2019.
The ultimate goal for the product is to provide a single-language solution to both front-end and back-end applications with one-click application deployment and deployment of server instances.
(Sorry for the "advertisement" - I just see this sentiment come up a lot here, and I think it's important for people to know that that there are companies working on solutions)
Here is, perhaps, a better version of what I'm trying to say:
https://www.ftc.gov/system/files/documents/public_comments/2...
Edit: the section re: 230 is towards the end.
Frontline just covered some of this with respect to FB, also.
https://en.wikipedia.org/wiki/Section_230_of_the_Communicati...
I suspect that forcing those that host 3rd party content/discussion to actually moderate and control the discussion will keep the size of such online communities smaller, which is good. Or, they will simply need increase revenue so that they can properly moderate them. Either way, the toxic nature of a lot of the internet goes away pretty quickly, and companies will be forced to clean up their act.
IMO, you either produce something or you don't. Someone may be able to interject themselves into your transactions with your customers, but, ultimately, the power lies with the producer (they can just stop producing).
The way that I look at it is this: if you're going to do an SPA, then do it like you're writing a desktop client application: all content is manipulated on the client, the only requests to the back-end are for data (JSON/XML), and the client typically will maintain quite a bit of state. Complex applications that are ports of desktop applications and sit behind authentication dialogs are ideal candidates for SPAs. Here's an example case study of such an application from our company web site:
https://www.elevatesoft.com/articles?action=view&category=ew...
The one exception to this would possibly be something like an online manual/help browser application, in which you might be able to make an exception and have the content driven by an SPA, thus allowing for more control over advanced content navigation via a tree view or vertical menu.
In general, though, if you find yourself needing to do a lot of history/page management, then that is a good indication that you might be trying to shoehorn a traditional, page-oriented architecture into an SPA.
Because without it we all pay much higher prices than we normally would, and we get sub-par quality/innovation. Unless you're somehow intimating that proprietary software can be completely eliminated, but I don't think that's the case. I don't think that such views are grounded in reality.
"And how are they building these free software moats that stop other people?"
I think this has been demonstrated pretty clearly over the last 10-15 years: they use open source to direct the industry in ways that are beneficial to them, regardless of whether they are good for everyone else. And, it is often the case that there are serious issues for anyone that would want to compete against them in a specific area of software because they're now competing against "free". It forces companies to diversify into areas where they have little expertise, just to be able to compete. So, instead of a company being a developer tools company, they're now something else that also happens to give away developer tools. In the end, it favors large corporations over smaller enterprises in an industry that has traditionally been one with very low startup costs and lots of opportunity.
However, I think I agree with others that ads, in general, do not quite live up to the "abuse" term. But, for kids the term may very well fit and is one of the reasons why there was so much effort put into restricting these kinds of advertising in the past. Unfortunately, though, it seems like we've just thrown our hands up in the air and given up...
Disclaimer: my company sells a web development product that creates SPAs that work like desktop applications.
Back in the 90s, if you wanted to run Novell, UNIX, or Linux instead of WinNT Server, there was nobody stopping you and there were a lot of options. The same with Office suites: there were actual competitors to MS Office through most of the 90s. There is much less competition in many areas of commercial software today, and one of the primary reasons is that open source software has become a vehicle that large software companies use to drive competitors out of markets and solidify their positions in complementary markets. Yes, consumers benefit in the short term, but it allows these companies to build moats that make it very hard, or impossible, for future startup competitors to overcome. We all want to point our fingers at Oracle, MS, IBM, and say that they are the issue, but when every major player in the industry does the same thing, it starts to become more and more obvious that the problem may not be with the individual companies involved.
Also, public roads are a bad metaphor for software: there isn't a market for public roads, and software can always be innovated upon (as an aside, it drives me nuts when people declare something "solved", especially when the reason for doing so is ideological or political).
Re: your definition of "internal": I suspected that this was what you meant. I also disagree with this particular version of "correctness". If the developer intended that a particular function accept an integer, then accepting anything else is essentially a bug, and the fact that it works at all is down to pure coincidence.
As for writing tests in OP: you write tests in the same manner that you do with Java, C++, C#, etc.
Frankly, I don't even know what to do with such a statement. What is your definition of "internal" ?
I just did a very large re-factor of a codebase a few days ago where I changed a lot of event handler (method) types in a codebase of around 200K lines of code (Object Pascal). This means that the method signature of every single event handler could have been wrong in some way if I made a mistake, and it would have introduced a pretty egregious, non-internal bug in every case. How would you test such a massive change without replicating every single thing that a static type system and compiler already do for you ?
"There is still value in a function declaring that its argument is of type User (and not defensively checking it) even if it is theoretically possible, in the presence of a bug, though unlikely, that the argument is not really a User."
I'm trying to think of a statically-typed language that would allow such a thing, and I can't, so I assume that you're referring to TypeScript here where you have a world where things are "partially-typed" ?
"Productivity" cannot be re-defined so that those that do the actual labor are removed from the equation. If a company or firm produces more revenue, than it's a simple value judgement as to how that revenue is distributed, and, right now, those at the top of company management and investors are the only people making that decision. Organizations like unions simply change how that decision is made by re-balancing the power involved with the decision. You may want to keep all of the revenue gains from your automation to yourself and your investors, but you may not be able to if it means that most of your workforce walks off the job. Likewise, you can automate your entire operations with robots and computers, but good luck trying to sell whatever it is you're producing when everyone is (effectively) unemployed.
I think this deserves a "man on the street" survey to see which income most people would prefer...
For example, despite what anyone thinks about what Trump says (I think he's an idiot and a clown), he does occasionally say something that isn't complete BS (please don't make me try to find such an example).
You just can't go down that route and expect a good outcome. In fact, I would argue that you're going to end up with the opposite result that you intended because you'll, inadvertently, end up giving more attention to idiotic ideas than the ideas actually deserve.
Desktop development is blessedly simple, in contrast. The problem is that desktop development APIs and UI toolkits have been neglected for many years in favor of web and mobile, so now desktop development is also a fractured mess because much of it is outdated or hasn't kept up with current graphic design and UI standards. But, at its core, desktop development doesn't struggle with oddball concepts like promises and other bizarre features that were introduced to overcome issues with the overall design of the language/environment.
https://www.youtube.com/watch?v=cognzTud3Wg
Edit: I'm not a pilot, just a kid that never grew up and likes airplane stuff...
But, regardless of what she gives as the reasons for this particular tweet: no, there is no way that someone should be judged entirely by the contents of a single tweet. A tweet is a very poor summary of one's character or who they really are, especially if the judgement of the author was impaired. Everything that I've seen indicates that Roseanne is actually very liberal, has been for many years, and that she is in no way a racist person.
I must say that, as a developer, this answer was completely unsatisfying. It doesn't sound like a "flip a switch" kind of solution... ;-)