Web Development

Alpha Five: Data-driven application development done right

Alpha Five allows developers to rapidly and easily create data-driven applications. After seeing a demo, Justin James shares why he is impressed with the development package.

Alpha Software specializes in creating tools that let developers easily create data-driven applications. Richard Rabins (Co-Chairman) and his brother Selwyn Rabins (CTO) showed me the ropes on the latest version of its Alpha Five development package, and I'm pretty impressed.

What is Alpha Five?

Alpha Five is a package that allows developers to rapidly and easily create data-driven applications. I know... we've all heard this promise a dozen times before, so now we're pretty jaded by it. In this case, I am inclined to believe that someone got the formula right. From the demonstrations that I saw, Alpha Five "connects the dots" that most of the mainstream products just simply leave unconnected.

For example, we're all familiar with the pain of putting together the standard master grid/detail view with a search box Web page. Here is a great example of the benefits of Alpha Five that I saw in action. Let's say that you need to put a grid component on the screen and bind it to a data view and a detail view component. So you bind the detail view to a data view and bind that data view to the selected item in the master data view. Next, you make a search area, add the validation, and add its information to the master data view's filter. It is a formulaic piece of code, yet we repeatedly keep writing it. The code usually takes about 30 minutes to create and tidy up -- or even longer if you are not familiar with it.

Alpha Five makes this much easier. Instead, you put a grid component on the form, check a box to indicate that you want a detail view, and then select the fields for the master data view and the detail view. For the search area, check off fields to be "lookup" and add the constraints on the values entered. In less than 60 seconds, I saw Richard put together a form that always takes me 30 minutes.

In a nutshell, the folks at Alpha Software asked, "What are the top X tasks that developers do that involve gluing standard components together in the same way day in and day out?" Then they took that list, wrote their own version of the components, and made those standard "cookbook recipe" combinations into component properties. My first reaction when I watched Richard and Selwyn show this off was, "Wow, this makes it a snap to write that standard CRUD Web application that I keep being asked to write!"

They also showed off the company's Script Genie; it reminds me a lot of Outlook's Rules Wizard, but it generates code. Script Genie looks pretty slick: You select the actions that you want to take in response to various events. Then, you provide the parameters to the actions by selecting the properties of the objects that would be in scope and are appropriate. For example, you can use Script Genie to hook onto a button being clicked, select the Send Email action, and tell it to get the subject line from a configuration file and the body from a field on the screen.

Regular readers know that I'm not a huge fan of AJAX. However, the AJAX libraries that Richard and Selwyn showed me seem to be high quality and worked as promised. Of course, you still need to cope with the usual AJAX problems (like constantly hitting the Web server, but at least Alpha Five uses persistent TCP/IP connections which helps); but if you need to use AJAX, Alpha Five's libraries look pretty good.

The technical details

Alpha Five can make desktop apps (that are interpreted through a runtime system, similar to the JVM or .NET CLR) or Web apps. (Alpha Software's application server can run side-by-side with IIS, and the company is working on a clustering application server, as well as a non-Windows version.) The Web system makes pages similar to PHP, ASP, or JSP, with the A5 tags embedded in between HTML. The language Alpha Software uses is XBASIC, a variant of BASIC.

For database connectivity, the Alpha Five Standard Edition uses its own database engine; the Alpha Five Platinum Edition supports other databases. Like Cognos, Alpha Software's tools produce a "standardized SQL," which then gets translated to the appropriate SQL statements depending upon which SQL driver you use. (Note: You can use ODBC if you want, but Alpha Software has brewed its own drivers for databases that are faster since they don't have ODBC's overhead.)

A while back, I came to realize that most data-driven applications can be done in Microsoft Access or FoxPro; there's a thin veneer of data validation and business logic on top of a 10 - 30 table database -- nothing too complex. Tools like Ruby on Rails address this and so does Alpha Five.

Richard admits that Alpha Five is not a "kitchen sink" system like J2EE or .NET. But from what I saw, it can handle about 80% of the applications most developers write with significantly less effort than J2EE, PHP, or .NET require. By focusing on the stuff that most developers spend all day on (instead of what a few developers spend a little bit of time on), the Alpha Software team has created a system that does exactly what most developers need. Watching Richard and Selwyn go through the motions of using it, programmers will still need to write code by hand, but they wouldn't need to write as much code.

Data binding done right

We all know how I usually feel about these systems. I like to throw phrases out there like "shake 'n bake programmers" and knock "drag 'n drop data binding." I'll be the first to admit that years of hearing vendors promise "systems so easy, your secretary will be writing her own applications!" that I just don't believe it. What I saw of Alpha Five wasn't an attempt to get the secretary to be writing Web applications, but it was something that lets a programmer leverage his or her time better.

In summary, Alpha Software got data binding right. It sounds like a small thing, but anyone who used data binding in ASP.NET and then ripped it all out two days later and spent three weeks custom coding (just to account for a small request from the client) knows that data binding is still lousy in most systems. In the Alpha Five demo, data binding did that last 5% that always causes me not to use data binding -- and for that, I walked away impressed.

I have not had a chance to get my hands on Alpha Five to put together a recipe or CD collection system (or the ever popular To-Do list application) to test it out. I would love to do so when I have the time to give it a full shake down. But until I get to do that, I can say with full confidence that, if you spend most of your time doing typical, data-driven business applications and you wish that your current system could close the gap between data binding and custom coding, you will want to give Alpha Five a try. (Download a trial version of the Platinum Edition.)

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine.

---------------------------------------------------------------------------------------

Get weekly development tips in your inbox

Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Justin James is the Lead Architect for Conigent.

57 comments
ukdbmsone
ukdbmsone

Minnesota State University Gives Alpha Five Platinum an A+ Engineering Dept. Makes Alpha Five Database a Key Component of Student Curriculum Last update: 12:59 p.m. EDT Sept. 3, 2008 MANKATO, Minn., Sep 03, 2008 (BUSINESS WIRE) -- The Department of Electrical and Computer Engineering and Technology of Minnesota State University, Mankato, has selected Alpha Software's Alpha Five Platinum as the standard programming tool for its engineering curriculum. Engineering students are now using Alpha Five to develop complex databases that support hardware design, system integration, project management, budget management, verification plans and reports, engineering tools, and more. "The software development skills our students are learning with Alpha Five will be crucial to their future success as engineers," says Dr. Bill Hudson, Electrical and Computer Engineering and Technology Department Chair at Minnesota State University, Mankato. "We looked long and hard at several popular programming platforms, such as .Net, Java, PHP, and so on. But the learning curves were steep, and would have required an excessive amount of time teaching programming instead of engineering. With Alpha Five's agile development approach, our students need very little time to become productive. They can quickly focus on solving their specific problems with software solutions they can rapidly create." http://tinyurl.com/6jez7u

Stan.Williams
Stan.Williams

My last involvement with Alpha 5 was, admittedly, an older version - 4.5. Never again. It was soooooo far off the beaten path for licensing costs, syntax (gw basic only), data structure, event driven programming I vowed never to use them again. No matter how much anyone said they improved. The application failed regularly after a standard desktop upgrade, the database was local and also mastered on a server. There was a piece of middle-ware trying to keep everyone in synch. Anyone anticipating using this environment for answering business needs should think twice before painting themselves in a corner. A very small group knows anything about it, not very efficient, doesn't leverage any other knowledge/experience base. I believe early on in this thread there was a secretary that testified about "how easy" it was "even for a novice". Once he/she learns to program I'm sure the choice will change. I converted one fairly large application and will never go back. Never.

alaniane
alaniane

The downside that I noticed was their licensing structure. If I'm reading it right, the user of my app would also have to purchase a runtime license for Alpha 5. For a single user the license is about $200. So, if I only have to spend 30 minutes extra writing the code without Alpha 5 then the only way my user would save money is if I charge more than $400/hr. I can see using it if it saves me several hours work for a project, but it maybe overkill to use is it for a simple CRUD web app. Of course, I maybe misunderstanding their runtime license purpose.

don.gulledge
don.gulledge

One thing that Clipper and foxpro had/have is the ability to create an application that's license free from the number of users. Seems like everyone is figuring out ways to make the most money, not necessarily building the programmer's need. That's why MS is killing Foxpro. It's not one they can make a lot of money for every user license that's required. But, if they could it would live on.

Marty R. Milette
Marty R. Milette

Alpha has been around for a LONG time -- the proverbial solution looking for a problem (and a market). No matter how good it is, unless it somehow becomes 'mainstream', it will have limited value to most commercial organizations. Search for "Alpha Five" (or variants) on monster.com or your favorite job board and see how many valid hits you get -- then search for MySQL, SQL Server or Cognos and compare the results. When I was a developer and thinking about what tools and technologies I wanted to learn -- I looked to the market FIRST before investing my own time and effort to learn something. Previously, I would learn what I 'wanted' to learn or what looked cool -- and, as a result, spent a lot of time, effort and money to end up with some skills that had no value in the marketplace. Better have a good answer for the CTO when he asks why you did NOT use Oracle, SQL Server, MySQL or even Access. Better also have a good explanation of why your web app is going to require a non-standard, proprietary, extra database engine or be limited to ODBC as well...

ddbergen
ddbergen

It is great for app development, but it beats the pants off of Access for ad hoc data analysis and manipulation. The action scripting genies in combination with the expression builder make it easier to use than access, and the richness of the built in functions make it more powerful. I imported an audit trail from Quickbooks in CSV format. The problem with many quickbooks exports is that it is really two tables combined into one, with the transaction header line repeated only once per transaction. There is also a problem in that multiple prior versions of the transaction are all referred to as prior, whereas I wanted P1 - Px to denote the particular version. Alpha's update operation made it quite easy to transform my data as alpha contains a function that refers to the previous record. I have created a short Jing screencast at http://www.screencast.com/t/jA63SEjt4 that shows how easy it is. Alpha's report writer has something that many competing products do not have. It can include conditional objects. Thus I can set a variety of styles in the detail band which at times can be nice.

Tony Hopkinson
Tony Hopkinson

appeared to need almost as much convincing as I do for a data-aware code gen solution, I may even have a look at it. They may have hit the nail on the head by saying it will work for these scenarios, if it isn't one, don't use it. Something the panacea merchants definitley do not do.

Noetic.Concordance
Noetic.Concordance

Hi, I am curious as to how you differentiate the "flexibility" between Alpha5 and .Net and so forth... I have yet to encounter anything in a5 that I can't achieve, in particular as far as web development is concerned. There are so many built-in functions in Alpha5 that you can do most medium to complex tasks without ever using anything that isn't built right into A5 to start with... (be that through the genies/builders or Xbasic coding, Javascript, the extensive JS/AJAX libraries shipping with Alpha etc.) And if there should be something else you want to do that doesn't have a ready-made built-in function available, then you can usually use other built-in functions to call a batch file or run things like curl.exe or ImageMagick modules with command line options on the web app server. Alternatively, you can also use ActiveX elements in your forms or Alpha5 web pages, so flexibility really shouldn't be an issue.

mograce2u
mograce2u

I am a "secretary" who has built desktop apps with A5 for employees, assets and inventory tracking. And I started out knowing nothing about database design, yet have accomplished the goals our business needed in these areas. I was quite familiar with Quickbooks and used their format to develop my models which have progessed into rather well designed apps if I say so myself. Like Quickbooks can teach anyone to do accounting, so can Alpha teach a novice about database design. I see it as a standard in the industry. I tried and abandoned Access because of the difficulty in not knowing the "basics". Yet Alpha has extensive help and examples to guide the novice in learning scripting. And its user board is the best for help when you can't see the forest for the trees. If we were giving out stars - 5 would be my vote!

steve
steve

I'm one of the many dedicated Alpha developers. Go to my website to see additional videos, white papers, technical documents and Alpha-related resources. Steve Wood http://www.alphatogo.com

Justin James
Justin James

I am obviously pretty impressed by Alpha Five for use in typical business scenarios. Does it sound like it is something you would be interested in? Or do yuou think you would need something with the flexibility of J2EE, .Net, etc? J.Ja

russjones74
russjones74

Stan I am a professional software developer who has worked with many tools over the last 15 years and have now settled on Alpha Five (latest version - v9) as my primary web development tool because of its flexibility and the speed with which I develop apps. Stan I find your reply odd. you wrote: "My last involvement with Alpha 5 was, admittedly, an older version - 4.5. " This version was released about 7 years ago and was a very different beast when compared to what is shipping today. Your post is almost analagous to saying - I test drove a honda in the 70's when they were just being introduced to the US and I formed an opinion then and now i dont want to be confused by checking to see if maybe, just maybe, a 2008 Honda is by any chance a vastly improved car today that is consistently rated at the top of heap. you then write: "Anyone anticipating using this environment for answering business needs should think twice before painting themselves in a corner" One of Alpha Five's distinguishing features is its very strong ability to work with a wide variety of SQL back ends - how is this consistent with your "painting in a corner standard" You also talked about licensing models. I cant comment on the licensing model back in the 4.5 era - but i can tell you that web apps can be built with an unlimited number of users per server and the app server is less than $500. In addition for desktop apps you can get a runtime for less than $500 that lets you build packaged apps that can be sold again and again to multiple customers without the customer having to pay a licensing cost

steve
steve

Runtimes are only for Desktop LAN development. The web app model is unlimited users w/ no per-seat cost.

mel
mel

We develop a windows-based pos system in alpha. We actually had our original dos system in clipper. We use a 3-user runtime licence with alpha that lets us distribute as many copies of our alpha-based program as we want. One of the things we like about alpha is its internet tools. We are also using the alpha internet tools to develop a series of internet functions that tie into our desktop system. We're pretty happy with alpha, all things considered. Mel Thompson

Noetic.Concordance
Noetic.Concordance

"Better have a good answer for the CTO when he asks why you did NOT use Oracle, SQL Server, MySQL or even Access." The whole point of A5V9 Platinum is that you can write web and desktop apps that plug into existing and new SQL backend databases such as Oracle, SQL Server, mySQL and so forth (as well as using Access DBs or Excel spreadsheets as data sources if you so desire). Mostly with native AlphaDAO drivers that mean your desktop client or web server won't even need to install an ODBC driver). Better still you can plug into different databases on your system, and use data from those to generate reports etc.

richardrabins
richardrabins

Marty made some interesting points here about skills that have value or not in the marketplace and also about having answers to CTO's. I would like to comment on both if I may. 1) Good Alpha Five developers are in great demand because they are productive and produce a lot of value for their clients and companies. The evidence to support this can be found by asking experienced and talented Apha Five developers on the Alpha Five messae board what their hourly rate is. 2) On the topic of explaining to your CTO why you went with Alpha Five vs say .Net? -- it has been pointed out already that Alpha Five v9 Platinum does interface directely with most popular (and some not so popular SQL databases) -- also there is a white paper on the broad topic of risk and choice of tools at http://www.alphasoftware.com/documentation/200801_wpaper/low_risk_a5.pdf Sincerely Richard Rabins Alpha Software

Justin James
Justin James

Marty - All good points, but you made a minor mistake at the end. The "Professional" edition of A5 *can* use other DB's other than its proprietary one, and it can use them via ODBC or its own built in drivers. In fact, it is one of the few applications I have *ever* seen with the ability to work with PostgreSQL, as well as "the usual suspects" (DB2, SQL Server, Oracle, MySQL). J.Ja

Noetic.Concordance
Noetic.Concordance

Very good point, and also something I feel contributes to what I perceive as Alpha's huge potential (and, incidentally, flexibility) as a core/all-round development tool. It can do a huge amount of different tasks, and it can do them without you needing to write a full interface/menu/app for it, either... It's not just data manipulation, though - even just for the little tasks you need to do on the fly, without the need to build and deploy a fully-fledged app, Alpha5 - and the programming language built into it, Xbasic - has a HUGE range of functions (in particular file listing, list processing and character functions, including extract_string which is perfect for quickly grabbing XML data etc.) and there are dozens of dialogs and tools you can invoke with just a few snippets of code... and if you have the web app server, you can very quickly put any functionality you need available to your company/client/yourself on an Intra- or Internet website without needing to develop or distribute an application...

Justin James
Justin James

I slam data binding in .Net, because it is garbage; right after I use it, I get a spec change that means I have to throw out the data binding because it doesn't support the new request, so I undo a day's worth of clicking, and beging 5 days of custom coding. Data binding just isn't the major focus of .Net, although it is an important item. Alpha Five revolves around the data binding. As you say, they aren't "panacea merchants" (beleive me, that phrase will get recycled by me for quite a while now, "panacea merchant" is the vendor equivalent of "shake 'n bake programmer" ;) ) selling a system that claims to do everything possible with a click of a mouse. Instead, they've made some very specific (while quite common) things extraordinarily easy, and a primary focus of that is the data binding. Judging from some of the comments here already, I think they got it right! J.Ja

Justin James
Justin James

Good question! From my discussions with them, you can't be doing heavy graphics processing, or multithreading, for example, from A5. Those are just two examples. How many programmers are calling the System.Imaging or System.Threading namespaces from within ASP.Net applications? Not many. But giving up those types of "kitchen sink, general purpose language" libraries in favor of a tight focus on what business programmers *need* on a daily basis (while providing them with a mechanism to access those outside items in many cases, as you describe) is what seems to make it a great system. From everything I saw, I am sure that if they tried pulling in all of the functionality that the .Net Framework includes, it would wreck A5. Hope that helps to clarify! J.Ja

Rayr
Rayr

Hi, Like you I have been using QBooks for years and now i am starting a brand new application in A5v9, I would like to create my application to intergrate with QBooks, what is your recom for doing this? should I use the same field types and sizes as QBooks or can I use my own format? is thier any documentation for A5 with QBooks? Thanks for your help, Ray

Marty R. Milette
Marty R. Milette

Call me a bit cynical, but when someone signs up to a forum and immediately gives what looks like a made-up 'product review' like that -- I'd be mighty suspicious of a 'plant' or shill. (Not to say that you are, but it looks mighty fishy.) Database design is NOT something that some product (ANY product) will magically teach a novice -- any more than Quickbooks 'teaches accounting'. Dragging and dropping widgets around on a screen has NOTHING to do with "database design". Yes, you can create basic forms that 'work' but don't delude yourself into thinking that this, in any way, qualifies someone as a 'database designer' any more than being able to do bookkeeping using QuickBooks can magically turn you into a qualified Accountant.

jmerrill
jmerrill

It pains me to have to build the CRUD stuff over and over just because there's no way to extend a system that does 80-90% of what I need. So far, the only way my shop has found to do development is "from scratch" -- but we'd love to concentrate on the things that make our stuff better than the competition (of which there are many), rather than spending so much time on the things that are the same everywhere. I used A5 more than 10 years ago and it was a good tool then, but only for simple things. If I thought I could extend it if required I might want to try it. But if they say "don't use it if it isn't right for your project" they're not building the tool I want.

Justin James
Justin James

Steve - Thanks for the information! I gotta say, I was really impressed with the demo I saw; what's your take on my perspective of it? Did I miss anything, or overlook something? Am I really off base here? Is it better than it looked to me? J.Ja

georgef
georgef

Hi Justin, I was surprised to hear this product was still around. I had used Alpha Four briefly. Like you and many of the posters I am very skeptical of ease of programming claims. I evaluated many products and although not often very happy I was at least pleased that there was a progression to easier, less repetitive and low-level development...2 GL, 3GL, 4GL, and 5Gl...... and then Microsoft resuscitated Basic and pushed C and C++ and then we ended up, through grand consensus with the ultimate violator of KISS, Java. What happened? The move from mainframe programming to PC and client server promised, and delivered, much, initially. I used a package called Magic PC, which was unbeatable in its DOS life and would make mainframe programmers cry. I could do in 5 minutes what it took a mainframer a day to do. For Windows programming I chose Delphi, which I felt was the class act then, and possibly now, but still more detailed than should be. Data Driven and Business Logic Driven applications are the bulk of the business need and we've taken a grand detour thanks to the Internet and MS. If what you say is true about this SW it would herald a return to that progression. I'll check it out. Thanks for article. George

kenzo
kenzo

Does it support SQL? Scalability is dependant on using the db engine for data processing, not "in memory" app servers.

debuggist
debuggist

Back in the early '90s, Clipper and A5 were competitors. This is my recollection of the two: you could create a run-time executable of your Clipper program and run it anywhere. A5, OTOH, required installation of a run-time environment that you had to pay a license for on each machine where you ran an A5 program. A5 must have eliminated this kind of dependency, because I can't imagine it would still be around with that kind of limitation.

DukeCylk
DukeCylk

how is it that the web apps can have an unlimited number of users per server, but desktop apps run about $500 per? I don't see on their pricing guidelines how you avoid the runtime...are you saying that it's just all AJAX server side? Then why build a desktop based version? I realize this price goes down with the multi-user packs...but my question is, who would develop desktop based versions of code; it's cost prohibitive? Besides, desktop based code kind of defeats the purpose of databases and databinding, no? I guess in small businesses this is a good idea, but aren't there like a gazillion $29 OTS products for those people?

Tony Hopkinson
Tony Hopkinson

Ho hum, whoopee do, the vendor thinks it's a good idea for us to buy it. I've got a bridge thanks. PS Welcome to TR. :D

Tony Hopkinson
Tony Hopkinson

Any functionality you need. I'll use it in my cure world poverty in one click application then. Any functionality, sheesh

Noetic.Concordance
Noetic.Concordance

Point 1) - A5 may not utilize multi-processor systems/servers the way it COULD (or should?)*, but you definitely can multi-thread in A5... unless I am misunderstanding you here? http://support.alphasoftware.com/alphafivehelp/Webpub/Using_Threads.htm I certainly am using the multi-threading functions on the web app server quite successfully to set off a watch that runs until a file submitted on a website (uploaded) is converted, then emails that file to the person requesting it, long after they have closed the browser page they uploaded the file from. * This can be a problem for people who buy themselves into expensive contracts for top of the range multi-processor web servers, only to find Alpha5 WAS maxing out 1/4 of the 4 processors)... while others, like our company, run WAS very smoothly on a ?70 box with just 1 gig RAM! The application/server cluster, out soon I presume, will get around this though as you can split a multi-processor server into several virtual servers and the controller always directs a request to the server with the fastest response time. As for 2) e.g. graphics... For the desktop there are a fair few graphics functions available**, but I found that the ImageMagick binary, run from A5 using SYS_SHELL() or SYS_SHELL_WAIT() or from a batch file, can do almost anything I can ever think of requiring graphics-wise, and it's free and easy to use thanks to tons of examples on their site: http://www.imagemagick.org/ Another handy set of programs that play very well with Alpha5, especially when it comes to automation on a Windows server, are WatchDirectory and WatchFTP (Both fairly cheap and flexible) as well as, on Steve Woods' suggestion, cUrl.exe which can be run from any batch file in response to events triggered by these two programs too... ** http://support.alphasoftware.com/alphafivehelp/Lists/Bitmap_and_Graphic_Functions.htm Some are accessible from .a5w pages too but others utilize Windows commands that tend to trigger message boxes and therefore lead to errors if used in web pages that do not allow UI_ functions.

Noetic.Concordance
Noetic.Concordance

"Dragging and dropping widgets around on a screen has NOTHING to do with "database design"..." That may be so but nor does it have anything to do with Alpha5. The web grid and dialog component builders, as well as the desktop active link tables against SQL DBs, are only a fraction of what can be achieved as far as data connectivity is concerned - but the ease and speed with which impressive reports and data views can be built against SQL back ends does make SQL databases more accessible to those who previously ran for the hills at the mere mention of databases or SQL... This is useful because in our company for example, even our DBA doesn't want anything to do with our Oracle DB (aside from making sure his backup scripts are running), and anything even remotely linked with our production database gets pushed onto me. Now at least we have a tool that allows far less experienced users to run simple to very complex queries against those DBs without needing to spend months trying to get their heads round SQL. In addition, the native DB drivers may not be perfect but I am still impressed by how many different DBs, with ust the native drivers that ship with A5, it lets you work with relatively painlessly, without needing to learn the different SQL syntax for each DB System.

Tony Hopkinson
Tony Hopkinson

You are the tool ! :D Seriously, it's not possible to build a tool that will do everything, it's not even possible to build one that will do most things well. All designs are compromises, suites of tools are no different to any other piece of software in that regard. The fact that we can't be shrink wrapped and sold as a product is a good. They keep doing their damndest to turns us into glorified clerks, but 'unfortunately' they just aren't clever enough. Pity really....

Justin James
Justin James

George - Thanks, and you're welcome! I got into Delphi "back in the day" too, and I agree that it was really good. I still think that Pascal is a "just right" blend between the verbosity of BASIC and the power of C, and it was a great language both for learning and for working. J.Ja

Justin James
Justin James

The "Profession" version allows you to connect to other DB engines, both with specific drivers and via ODBC. One of the cool things is does, is let you write a vendor-neutral SQL, and when you change the driver, it adapts the vendor-neutral query to use the correct syntax for that DB. Cognos does the same thing, it is very, very useful. J.Ja

mmelvis
mmelvis

Used Clipper in the early days, before CA purchased the application.Do not miss the plink error messages.

DukeCylk
DukeCylk

Go to the web site and look...it is required on all the machines who will access this info. How is that competitive? Even on our intranet, I have dozens of people accessing my data, and I couldn't possibly justify that cost if I buy their desktop runtime. Besides, this product is aimed at my management, not at me. If there was no run time required, I would consider it, but if I approached my management with this product, they would say, 'what do we need you for?' Thankfully, I have enough other Windows automation that I have to write for my customers that I will stay gainfully employed in my .Net world ...afterall I have yet to pay one penny for VB2005 Express, MSSSE, and .Net Framework is all that is required for my custumers to install.....Oh God, I'm schilling for Microsoft, someone shoot me.

Justin James
Justin James

Yeah, I was actually reminded of Clipper, FoxPro, and PowerBuilder when looking into A5; all similar ideas carried through to differing level of quality. A5 still has that dependency (I asked about it), it still compiles to P-code like old VB. I think that compiling to native code has become much less important over the last 10 or so years. The percentage of developers currently writing code that compiles to native code (C, C++, Fortran, Pascal, COBOL, etc.) has become a shrinking minority, for better or for worse. Most programmers are either using an interpreted environment (PHP, Ruby, Python, Perl) or a VM environment (.Net, J2EE). Most projects simply do not have such a huge level of resource needs that it justifies the fine-tuning, tweaking, etc. of resource usage and lowered overhead of natively compiled code. J.Ja

Justin James
Justin James

... can use databases & databinding; the .Net and J2EE environments both support this quite nicely. They just render them to a screen widget instead of HTML, that's all. J.Ja

jjfcpa
jjfcpa

Tony I've been involved with software development for the last 23 years and I've been getting Alpha Five's propaganda for many of those years. However, I've been happily using Visual Foxpro for our development needs, thank you very much. But then along comes Microsoft and announces that Visual Foxpro will no longer be updated and support for the product will be discontinued in a few short years. This was extremely disheartening since we make our living based on our VFP apps. A month ago I started looking at Alpha Five as a replacement for VFP. During that time, I have literally been so impressed with the feature set that I'm regretting not looking much sooner. I've yet to find anything that it can't do compared to what we did with VFP, and in fact, many of the features that we had to develop using VFP and third party products are already built into Alpha Five. I was worried that we would have to sacrifice features in our current apps if we switched to Alpha Five; but now I'm seeing the potential for all kinds of new features and enhancements based on the Alpha Five development platform. You can download a free copy and play with it for 45 days and they have plenty of learning tutorials on their website. Don't knock it till you've tried it. And by the way, it's nice to see one of the co-owners standing up for their product. When was the last time you saw someone from Microsoft make a post on a website?

Noetic.Concordance
Noetic.Concordance

I should probably have made it clear that my reply about being able to do "anything" with Alpha5 related to data-driven web apps, rather than being intended as a general catch-all for any sort of software one might conceivably be able to write :)

Tony Hopkinson
Tony Hopkinson

for any offense a may have caused along with any offense I intended to cause. :p Got to be be careful with the 'any' claim, even if there is some weird and wonderful way you can do everything, some of them won't be all that wonderful to mantain and way too weird to comprehend six months later. It's not whether you can, it's whether you should.

Noetic.Concordance
Noetic.Concordance

LOL well I am sure you can't to "everything" and I may well not have used the multi-threading options "correctly" but the point was that you can multi-thread, it just doesn't do it "naturally" as far as multiple processors are concerned (which can be a bummer if you've just gone and leased a hugely expensive hi end multip processor server for example!)

Justin James
Justin James

Yeah, now that I am hearing that it can do it all, I am getting suspicious. ;) J.Ja

Justin James
Justin James

Looking over the documentation, it is "primitive" multithreading at best; the mechanisms for things like data integrity and signalling are just not there. It looks like it can basically create a thread around a lexical closure, with basic management (sleep, wake, interrupt, abort, etc.). when I say "mulithreading", it really needs to support things like mutex, semaphore, monitor, etc. to provide the full fledged functionality. What's there, though, is in the spirit of Alpha Five... enough to cover the needs of most. On the graphics, my point is not that A5 can't call an external process... I would be wary of a non-sandboxed system that couldn't. But the functionality is not built into A5, for raw pixel manipulation, or canvas functions, etc. Looking at the list of built-in functions, again, like the multithreading, it covers the needs of most, but not the needs of all. I love your passion for Alpha Five, it is rare to see someone pushing a system as hard as you are, especially, when I haven't said anything bad against it at all! To be honest, I like the .Net universe but I knock it plenty too. It's good to see a system that has something to inspire its users. J.Ja

Tony Hopkinson
Tony Hopkinson

Code generation was not invented so competent codes could avoid grunt work, it was created so competent coders could be replaced by grunts, because they are cheaper. Similar != same If it was just method stubs and layout templates great, but when I have to write code to stop the generic code generated solution doing something undesirable, it can onlt be described as a failure. When you add in the serious and ongoing desire to turn us into glorified clerks, so eventually you end up with people who can't stop it, the entire idea becomes as future proof as a chocolate fireguard. Did you know (at least in .NET 2.0) he binding code swallows exceptions thrown in related event handlers. try { DoEvent(this, args) } Catch { Index = 0 } So how can you rely on code generated by a muppet?

jmerrill
jmerrill

Generating code is the alternative to using an essentially interpreted environment (like Python or Ruby or JavaScript). It's a way to generate the boilerplate that the compiler wants without doing it by hand over and over. Tools like CodeSmith make it so that you are in full control. Partial classes make it so that you can write your code and not have it touched should you need to re-generate things. Have you played with MS's DSL Tools for Visual Studio? The people who built it are clearly very sharp, and what they've built is a really good starting point for doing "domain specific development" -- that's the level at which those of us who are looking for good tools to eliminate the grunt work want to work. (Some people work at doing the same thing over and over, thinking that they're being paid to write software. They're in fact being paid to avoid thinking about how this is very similar to what they did before, when they should be thinking about how to make the task they're currently doing easier by noticing what's the same and what's different, building tools to make the repetitive stuff obsolete.)

Tony Hopkinson
Tony Hopkinson

It always does more than I want, more than I need, misses out some of what I need, can't do eveything I want and does some of all it horribly. JJ says A5 may break the mold by trying to do somethings well, as opposed to everything badly. Hoof'ingray, somebody in the tools dept finally grew a brain. All business apps are similar but that all different enough that a code generated solution will do the job properly. The idea is we should buy the tool and live with it's flaws then we don't need to be good enough to do without the tool. A proposition for losers in my opinion.

jmerrill
jmerrill

... but I wish they would work harder on making it so that I don't have to reproduce what they've done in order to add another 10%. Think of how much more valuable A5 would be if it were a set of .Net libraries and/or code generators that produced the same UI from the same inputs -- but the resulting code was a .Net app that I could put my stuff into. Of course, there are people trying to do that, or go even further on the "tell us what the app is, and it'll run inside our world". (I'm thinking of TenFold there.) I hate the fact that everywhere I've been, and for every platform (mainframes, DOS PCs, 16-bit Windows, 32-bit Windows, ASP, Java, .Net, ASP.Net, Ruby), people have built frameworks / toolsets that improved on what was in the box. Then along comes the next new universe and makes it all a throw-away unless we re-do the work in that new world -- and as we're starting, we don't know how to do it! That's why I'm still being paid, I guess.

jmerrill
jmerrill

... because I have not kept up. However, the .Net world has moved the mainstream world in the direction of reasonable software development practices. What MS provided, pre-.Net, was either VB6 or not reasonable -- Delphi was way way ahead. (And VB6 was only reasonable if you used Desaware tools to get past some of its limitations.) I wish I had the time to keep up with what Borland is doing. Where I work, I have full access to MSDN and we are an MS shop -- I would not be able to bring Delphi (or C# Builder) in, period. When I was on my own, I chose to pay for Delphi only up to the point when having MSDN became mandatory for survival -- as I wasn't doing much for-pay Delphi work. (Old Delphi [v6] still worked -- and still works -- just fine.)

georgef
georgef

..feel has surpassed Delphi, if? I'd like to check it out. Borland always struck me as a developer's company.

jmerrill
jmerrill

... because of an editorial in the old mag Windows Tech Journal. JD Hildebrand wrote "if Delphi doesn't change your life, you have mis-arranged your life." I was just about to leave a company where I'd worked for 16 years, the last 7 as a consultant, to go off on my own to do that same consulting work with the same clients. Having read that, I talked to Borland and they said that if I got into their "Connections" program I would get Delphi beta... Delphi was, for a long time, way ahead of everything else. That is no longer true, tho much of what Delphi did best is not done as well elsewhere. Delphi programmers have had a real advantage over other Windows in terms of getting on the .Net bandwagon, as so much is familiar. (And there's even CodeRush for Visual Studio!)

russjones74
russjones74

if you are building browser based apps -internet or intranet, you dont need to install anything on the client machines. The Alpha Five v9 application server lets you have an unlimited number of users for internet or intranet apps.

richardrabins
richardrabins

If you are building web/browser based apps, the Alpha Five v9 Application server lets your alpha fiveweb app be used by an unlimited number of users per server. Now if you are building desktop apps, the new low cost Unlimited Desktop Distribution License lets you build an unlimited number of apps for distribution to an unlimited number opeople

russjones74
russjones74

I use the product and build web apps and intranet. NOTHING is required on machines runnnig these kind of apps on an intranet or on a web site built in Alpha Five. Also the apps created by Alpha Five run on a variety of browsers on a variety of hardware including the iphone on this page - you will find an overview of licensing https://www.alphasoftware.com/shop/alphafive/v9/prod_guide.asp Also you can check out the following page for desktop licensing https://www.alphasoftware.com/shop/alphafive/platinum/run_engines.asp

Editor's Picks