Where Should all the 4th Gens Go? 39
ARSDeveloperGuy writes "Fourth generation languages are cool, but there seems to be little to no effort being spent to standardize them. The current state is commercialized pseudo-languages are created to allow vertical apps to be expanded. (ARS Remedy, Siebel, Oracle JDeveloper) The concepts of a form, field, and workflow can be standardized, and when you look at many of these languages they aren't terribly different. Why don't we create a standard and start writing "workflow converters" for these powerful languages? That would allow conversions to happen more readily, maybe even to an open source offering like OpenSourceCRM."
Re:my house (Score:1)
the worst it should have been was off-topic, I am not trying to incite people here, just spread a bit of mirth.
to paraphrase the Kurgan - "Mods! no sense of Humour."
the point of higher lvl languages (Score:3, Insightful)
Re:the point of higher lvl languages (Score:5, Informative)
of 4th generation languages are missing the point. 3rd generation languages
are general purpose. 4th generation languages are designed with specific
problem areas in mind and so adopt syntax and paradigms that are convenient
to that problem space.
Re:the point of higher lvl languages (Score:2)
Re:the point of higher lvl languages (Score:5, Insightful)
The "standardisation" of 4th gen languages is indeed futile, as they are by definition domain-specific. What you can standardise howevert is the best way to integrate a bunch of domain-specific languages together. Then you get Lisp [cliki.net]: around since 60s, and constantly evolving to the present day.
Or, given the amount of NIH the computing world displays, we'll probably see some misbegotten lisp clone only with perverse XML instead of straightforward sexp syntax. And it will be hailed as a Great New Thing, similar to the way compsci researchers get funding for AI/KR by rehashing in XML+Java/C# the oodles of toy 20-year-old programs written in Lisp before the AI Winter.
Re:the point of higher lvl languages (Score:4, Insightful)
Oh hey, hello MzScheme.
Lisp is hardly one to talk about NIH. Their philosophy is "everything was invented in Lisp first, so actually implementing and releasing whatever you're talking about is left for plebians who don't understand the elegance of lisp"
Re:the point of higher lvl languages (Score:2)
Oh hey, hello MzScheme.
Of which the only limitations of note, are that it is slow. As slow as e.g. Perl or Python. Still very nice, though...
Lisp is hardly one to talk about NIH. Their philosophy is "everything was invented in Lisp first, so actually implementing and releasing whatever you're talking about is left for plebians who don't understand the elegance
Re:the point of higher lvl languages (Score:2)
Re:the point of higher lvl languages (Score:2)
That sums it up pretty well. Lisp is a great language for writing languages, and a fabulous language for talking about algorithms. So if you want to examine and discuss the theory behind languages and algorithms, I'd definitely recomend Lisp.
If you don't care about writing languages or theoretical discussion, and just want a good language for writing actual software, I'd reccomend C++, but even the much-hated Java will probably serve you better than Lisp.
Howabout the dump? (Score:2)
But seriously...4GL's that survive today have big followings, and are just another market. Who's to say that platforms must be consolidated and homogenized?
Even though they all strive to complete the same goals (and all try to balance generalization, approachability and brand) - there isn't anything wrong with having them around, to me.
Think of all the 4GLs and embedded languages that could be replaced with a standard
Never going to happen! (Score:4, Interesting)
I don't believe OpenSourceCRM has a 4th generation language. All of the open source CRM packages I have researched are really just collections of code without any application level programming abilities. Customizations would involve changing the low level source. I guess open source packages feel there is no need to separate the functional programming from technical programming. An application server that runs the same business code for a web page as an integration is a must. Some companies are never going to take a CRM application seriously if a customization involves changing a PHP file. It may work great in a small environment but it will never replace Siebel or OracleCRM unless it packaged with a developer application that generates "forms/page" and compiles 4th generation code.
Benefits? (Score:3, Insightful)
MathML (Score:5, Insightful)
Maybe mathematics is a special domain in the the 4GL's we are seeing are really trying to represent the same 7GL (i.e. maths notation), so the problem is intrinsically easy.
I'm getting kind of worried by the conservatism of the Slashdot crew. Any new idea coming along (database yesterday, 4GL's today) seems to get shot down. Are we going to actually see new ideas coming from the opensource movement, or is it just going to be limited to reimplementing existing programs?
Re:MathML (Score:4, Insightful)
Lets branch a little further. TeX assumes you know a lot about the subject matter but not a lot about typesetting which is very unusual for design languages. Things like compuset assume the opposite; that is the information is simple but the user knows all about fonts, kerning, layout, paper stocks.... How are we going to combine those two totally opposite user emphasis? Oh and another importat difference compuset is usually designed to run in batch mode, TeX is usually designed for one of a kind documents. So we want different kinds of error messages (compuset: record 23454 violates parameter ARDS, record skipped, vs. TeX page 14 macro ARDS does not accept floating point numbers [c]ontinue [e]dit....?
This idea got shot down because its a bad idea. Most ideas are bad ideas and thus most ideas are going to get shot down. That's not a bad thing. The cheapest place to kill a bad idea is in the "I have an idea" stage before any labor gets spent on it. The good ideas are not generally the grand schemes but very specialized one off solution that just seems to work for related things and then things related to that and then a pretty broad range of problems.... The ones invented this year are unlikely to be noticed by the broad community for 5 years or more.
Re:MathML (Score:3, Informative)
MathML simply allows one to simulate that kind of data interchange between computers, applications and people. The underlying message, though, is the same.
Having worked a bit with some 4GL-ish apps (PeopleSoft, some SAP), while they may share the visible results and the same ends, at the programmer/developer level both systems are about as different as LISP and APL.
Why bother? (Score:4, Funny)
push pop push pop push pop push pop push pop push pop
Re:Why bother? (Score:4, Interesting)
The Whole Concept of 4GL is bogus (Score:5, Insightful)
The so-called 3GLs didn't get replaced by the so-called 4GLs, because the latter aren't superior languages in every respect -- they just do some things better. The most conspicuous area where 4GLs excel is database access. As a result, many people think 4GL means "database language", and apply it to 3GL languages like Delphi and Visual Basic that are widely used in database apps.
I guess the term "4GL" will be around forever, but it really isn't very useful. If you want to categorize languages in a meaningful way, use terms that describe how they actually work, like "imperative" (3GL, more or less) and "functional" (4GL, ditto).
Re:The Whole Concept of 4GL is bogus (Score:2)
When you say "database language", PL/SQL is a 4GL language. SQL is running inside of Oracle, a C++ application.
Visual Basic itself is 3GL. Visual Basic for Applications running inside of a Access file is 4GL.
There are grey areas but it really isn't that complicated.
Re:The Whole Concept of 4GL is bogus (Score:2)
Generations of Language (Score:5, Informative)
Anybody can embed anything in anything, if they really want. That is not a criteria for anything. For example, C will support embedded assembly, but neither C nor assembly are fourth-generation.
C is NOT functional (Score:3, Insightful)
ANSI and ISO C are imperative [wikipedia.org], sequential, PROCEDURAL [wikipedia.org] languages.
From my (possibly wrong) understanding, languages such as Haskell [haskell.org] (Wikipedia [wikipedia.org]) and Scheme [schemers.org] (Wikipedia [wikipedia.org]) are "functional".
These are so far from anything at all like C programming, Haskell in particular for some rea
Re:The Whole Concept of 4GL is bogus (Score:2)
The magic that is VBA has more to do with the application-specific library, DAO and ADO. You can do the same things in VB.
ProC or ESQL embedded in a C program is probably more akin to what PL/SQL or Transact-SQL are to their respective database engines, wrt 3gl vs 4gl.
If we're including ARS Remedy, (Score:1)
Come to think of it, when an AI language app writes its own language to communicate with humans all on its own, then we'll have a 4GL.
Interoperability is not desirable (Score:2)
Re:Interoperability is not desirable (Score:2)
Re:Interoperability is not desirable (Score:1)
j++/java suitable for the old microsoft vm can afaict be turned into
not sure about C++ i know visual C++
i've heared vb was changed almost beyond recognition though.
...long time passing. (Score:1, Funny)