Good Q: today's equivalent of Access? (re. ease/speed of small-scale app dev)

Started by Darren Dirt, February 16, 2010, 05:12:46 PM

Previous topic - Next topic

Darren Dirt

This article poses a reasonable question ... as maligned as it is (and deserves to be) Microsoft Access did fill a certain gap that small businesses and organizations and non-techie individuals needed to be filled, when they didn't have the $ or network to get a True Developer to build a "solution" for them... because their problem/functionality was so small, or maybe even temporary... So what is the "equivalent" type of "one stop" solution in modern times?

http://www.javaworld.com/community/node/3530

So what IS today's equivalent of Access (re. ease/speed of small-scale app dev) -- because it really does seem that virtually anything built to do a simple data-storage app thingie with a decent interface and reasonably useful output/reporting etc. would require such a huge number of diverse components* to work together, with so many failure points, so much time required to ensure each piece is doing what it needs to do in conjunction with the other pieces and of course the client's actual needs (not just the consultant's "gold-plating" hopes ;) ) that it is no longer a simple task to do what computers are supposed to do for the non-techie masses: get tasks done faster and more powerfully and more trustworthily than a human can manually, so those non-techies can then focus on other tasks and/or enjoy some free time.

Maybe, as some of the commenters suggest, http://dabbledb.com/ or some upcoming web app using CouchDB as the backend? We shall see, I suppose...



* and to think how many of the "five-week" list of technologies/concepts below I am actually not that familiar with, let alone competent in... :yeesh:
Quote
...if somebody working for a small school district in western Pennsylvania wants to build a simple application for tracking students' attendance (rather than tracking it on paper anymore), what do they do?

Bruce Tate alluded to this in his Beyond Java, based on the realization that the Java space was no better -- to bring a college/university student up to speed on all the necessary technologies required of a "productive" Java developer, he calculated at least five or six weeks of training was required.

And that's not a bad estimate, and might even be a bit on the shortened side. You can maybe get away with less if they're joining a team which collectively has these skills distributed across the entire team, but if we're talking about a standalone developer who's going to be building software by himself, it's a pretty impressive list. Here's my back-of-the-envelope calculations:

-Week one: Java language. (Nobody ever comes out of college knowing all the Java language they need.)
-Week two: Java virtual machine: threading/concurrency, ClassLoaders, Serialization, RMI, XML parsing, reference types (weak, soft, phantom).
-Week three: Infrastructure: Ant, JUnit, continuous integration, Spring.
-Week four: Data access: JDBC, Hibernate. (Yes, I think you need a full week on Hibernate to be able to use it effectively.)
-Week five: Web: HTTP, HTML, servlets, filters, servlet context and listeners, JSP, model-view-controller, and probably some Ajax to boot.

I could go on (seriously! no JMS? no REST? no Web services?), but you get the point.

And lest the .NET community start feeling complacent, put together a similar list for the standalone .NET developer, and you'll come out to something pretty equivalent. (Just look at the Pluralsight list of courses -- name the one course you would give that college kid to
bring him up to speed. Stumped? Don't feel bad -- I can't, either. And it's not them -- pick on any of the training companies.)
_____________________

Strive for progress. Not perfection.
_____________________

Thorin

Having seen the absolutely atrocious "apps" put together in Access by non-technical people, I gotta say there's no such thing as a useful Access app created by someone who doesn't understand business software development.

For those that haven't learned how to program, I suggest they use Microsoft Excel or OpenOffice Calc, or something similar.

So that answers your first question.  The second question is what app could a beginner developer program in to get going quickly.  Well, I've heard Delphi has a real easy interface to start with - apparently it'll do a lot of things for you.  But Akvad can answer that better.

It's definitely not Visual Studio Express, or Java using Eclipse, or something like that.

Hmm, maybe OpenOffice Base would fit?
Prayin' for a 20!

gcc thorin.c -pedantic -o Thorin
compile successful

Tom

<Zapata Prime> I smell Stanley... And he smells good!!!

Lazybones

Dephi is a RAD environment sort of like Visual Studio is, accept it was more complete years ago and has now faded in popularity.. Delphi has easy hooks to all sorts of database engines but doesn't include one..

Access is still Access.. I created some fairly large projects for some smaller companies with it.. I have also had to rewrite Access many Foxpro apps created by "computer guys" that didn't know what the hell they were doing.

Thorin

Oh yes, forgot about Foxpro.  Good lord, I've seen only one well-written Foxpro app in my life (although I guess I've only seen seven Foxpro apps total, so...).

Delphi has faded in popularity in North America.  It's all the rage in Europe, and pretty much the standard development environment in China.

And yes, you could easily still buy and use Access.  In fact, Access 2003 was quite good, with useful controls to drop on forms and easy integration to a built-in database or MSDE or SQL Server Express or SQL Server Compact or even full-blown SQL Server Standard/Enterprise.  Oh, and if your data is in spreadsheets or text files or any of a myriad of weird databases, it was easy to create a connection without writing code.  The only thing Access doesn't do good is web-based applications.

So here's a different but related question, then.  Should it be easy for untrained people to writecreate applications?  (not "write", since they're not writing code)
Prayin' for a 20!

gcc thorin.c -pedantic -o Thorin
compile successful

Darren Dirt

Quote from: Thorin on February 17, 2010, 09:40:30 AM
So here's a different but related question, then.  Should it be easy for untrained people to writecreate applications?  (not "write", since they're not writing code)

Aye, there's the rub.

I remember fondly my earliest years in "programming", which was simply typing in, character-by-character, simple but neat stuff from "Compute!" magazine, in the early 1980s. Almost all of it was BASIC language, but I learned the core concepts by seeing what the code did, and more importantly what a change to the code did (or more likely STOPPED doing ;) ) ... I didn't need to install 8 components, configure the paths of a few of them, ensure the initial setup and permissions was working before running some sample code. I got Instant Gratification for my curiosity, and that's why I instantly fell in love with this sometimes-evil usually-frustrating activity. Other than Access/Foxpro/Delphi, it seems it's really hard to find anything comparable in today's marketplace that could provide the same "try this code, then try to break it" entry point into development for the new generations... I mean, Javascript in a way can help, but it's case-sensitive and has so many little quirks you need to know at the foundation before you can really start exploring your ideas and making them reality... But at least it has a built-in front-end interface for the user to "see" their output instantly.

I guess in less than 50 years the computer programming industry has gone from the domain of mega-geek math geniuses who use punch cards and schedule time on the mainframe, to antisocial creative guy who can play around with a simple toolbox of functionality to create something unique and cool, back to the domain of specialists but now they are jack-of-many-trades who spend 10 hour stretches "in the zone" to make 2 or 3 distinct but crucial components final work together "just so" in harmony with maybe a dozen or so other members of the project team.

I still fondly remember being able to grab or manually create/modify a STRING that would be "GET" or "PUT" onto the screen as a 16-color pixel grid, and "redefining" the character set to make the equivalent of sprites... those were truly the golden days of instant gratification for a guy who just loves to code. Now it's like we are forced to be 3 steps removed from the "guts", all in the name of re-usability and adaptability and maintainability... sure, it makes sense from a business/time/efficiency perspective, it's just kinda sad to see this activity can no longer EASILY be a "hobby" for a young mind anymore :(
_____________________

Strive for progress. Not perfection.
_____________________

Lazybones

Access has a lot going for it:
- It's a database not just a RAD front end tool
- It uses an easy forgiving language
- Its reporting engine is surprisingly easy and powerful compared to some other options

Con:
- Scaling, however they did make it rather easy to go from an mdb to MS SQL if you separated your front end and database from the start
- Security, securing MDB files is sort of obscure and odd


P.S. I developed in Delphi for about 2 years, I still think it is one of the greatest RAD platforms I have ever used. It has the ease of Access with the power of C++. There is almost nothing you couldn't do with it and even with all the EASE layered on top of the WinAPI it still produced apps that performed well.

Mr. Analog

Oh you know there are a lot of great technologies you can pull out and have fun with as a beginner or a small time developer, the tricky bit these days is that many free/cheap development platforms aren't exactly user friendly (or at least beginner friendly.)

I've noticed a trend for the last few years in that if you want the simple-stupid GUI for development you have to fork out a lot of money. Whereas the really ground level "nuts n' bolts" stuff is either free or really inexpensive. I mean, hey, you can get the Eclipse IDE and write enterprise level software for free.

I don't think it's a bad thing for small timers to have a platform, I don't think Access really filled that gap well either (it was accessible sure, but as we all know it had a lot of limitations). We need something that can get simple things done, but is clean enough to scale to something bigger or last the test of time without becoming an albatross.
By Grabthar's Hammer