5 ms·
I've always associated Fourth-Generation Languages (4GL) with database products like FoxPro, Clipper, Clarion, DBase. They combined database and programming lan
by open-source-ux 4y ago
I've always associated Fourth-Generation Languages (4GL) with database products like FoxPro, Clipper, Clarion, DBase. They combined database and programming language in one package. They were powerful and more accessible to beginners than stand-alone programming languages.
These 4GL database/programming products seemed poised to succeed in the web era. Think of building small or medium web sites with database and programming language all-in-one. Instead of succeeding, these 4GL products disappeared. I wonder why they failed to adapt to the web era - they seemed ideal for providing web-based database solutions.
Those 4GL database tools made accessing data far more easily and seamlessly than the solutions today. Also, I suspect there was some snobbishness amongst programmers who didn't view these products as 'real' programming languages.
Today, we have clumsy, glued-together solutions for web development with databases. Don't believe me? See this recent discussion on SQLite on HN [1]. I sense that lots of posters and readers in that thread are looking for a concurrent database that is simple and easy-to-deploy and turn to SQLite even when it is not designed for concurrency.
[1] Have you used SQLite as a primary database? https://news.ycombinator.com/item?id=31152490 https://news.ycombinator.com/item?id=31152490)
- h2odragon 4y ago> I wonder why they failed to adapt to the web era At the beginning of the web era; Microsoft owned the software market and did not believe in the web. MySQL and PHP were the successors do the "4GL" databases, all the commercial efforts to compete with them ran into the brick wall corner of "only M$ may make money" vs "free".
- bitwize 4y agoIt was more than a question of Microsoft. Microsoft itself fielded two applications in this space: Access and FoxPro; both went on the wane as the web took over. There were a number of factors at work: 1) The rise of n-tier architecture. Clipper and dBASE do not scale well past a single PC. Once you have use cases that mandate multiple (kinds of) clients, separating the concerns of storage, business logic, and presentation starts to make a lot of sense. 2) The fall of ISAM-style "navigational" databases and the rise of relational databases and SQL. The programming advantages of xBase are sapped once you stop thinking of iterating through rows and start thinking in terms of queries. 3) Object-oriented programming became trendy in the 90s, and with it, ORMs. This added complexity to the programming model and didn't dovetail well with xBase's BASIC- and Pascal-influenced procedural model. There were a number of web application products like ColdFusion that flourished in the 90s and early 2000s. But to your point, open source ate most of their lunch. Microsoft lasted a bit longer, but ASP and ASP.NET have had to make a retreat into the corporate/enterprise space. And of course now the latter is open source.
- jdougan 4y agoThe problems I had with 4GLs back in the day, is they had a more extreme version of the 80/20 rule. It was gloriously easy to prototype but if you had to interface to external systems or any other thing they didn't think of, you would spend an enormous amount of effort on making it work. Some of them didn't even have any significant abstraction support.
- Terry_Roll 4y ago> It was gloriously easy to prototype but if you had to interface to external systems or any other thing they didn't think of, you would spend an enormous amount of effort on making it work. Some of them didn't even have any significant abstraction support. The only one I know of that had any decent level of abstraction was the Clarion template system and I havent seen anything as powerful in any other coding tool. On a basic level its like a macro language like you see encapsulating data structures in windows .h files but because its much more than that ie put some data into it and it took and built stuff for you in a structured framework, it can be expanded to do practically anything and if it didnt do stuff you could expand it by calling external dll's which did things like popup windows for further input or processed stuff. I remember reading that it won some code productivity thing where it had beaten factory teams from MS and/or Oracle or some other big names but this was a long time ago.
- wvenable 4y ago> These 4GL database/programming products seemed poised to succeed in the web era. The lack of adaption to anything, not just the web, defines these tools. There were plenty of 4GL-like tools for building websites in the late 90's but just like these tools they all suffered from being good at prototyping and terrible for long term development.
- dragonwriter 4y ago> These 4GL database/programming products seemed poised to succeed in the web era. Access pretty much murdered them all right before they really had a chance, but Access (while it eventually got web-ish features) wasn't Microsoft’s strategic focus for web. Simultaneously, a host of new languages and frameworks with much easier on-ramps than those 4GLs were defined against earlier erupted, and communities leveraged their open source nature to rapidly build out ecosystems far better than any of the proprietary 4GLs, so the 4GLs lost most of their original market and had a kind of competition thet weren't prepared to deal with pivoting to the web market.
- mr_toad 4y agoI’d rather use the best (or at least my preferred) general purpose language on top of my preferred database than use an all in one solution that is a compromise on both fronts.