Forum > Databases
Is Lazarus Dying, in part, for Lack of Easy SQL Connectivity?
tan:
The Subject might seem like I'm trolling or unnecessarily conflating two unrelated topics.
I'm not.
https://www.tiobe.com/tiobe-index/
Per the respected TIOBE June 2018 index of programming language popularity, "DELPHI/OBJECT PASCAL” HAS PLUMMETED since 2017 from 13th to 19th position; that is a stunning fall. Even allowing that Delphi has lost momentum, shouldn't FP/Lazarus have picked it up? Concomitantly, SQL popularity has SOARED to 9th position. Since SQL is bedrock to pretty much everything in real world programming and is putatively one of Lazarus's strengths, shouldn't that, also, highlight how great Lazarus is?
Take a moment to digest the report -- and think deeply about the implications. Pascal is about to fall out of the top twenty ranking it has held for literally decades. In case you aren't clear what losing top twenty ranking means, let me be stark: top 20 languages are considered serious development platforms and get a lot of individual press. They tend to hold their popularity for a long time, as serious investment in time and dollars is at stake. It will be dark news for FP to lose top twenty; Languages not in the top twenty are roughly lumped with COBOL, not often reported on in the press, and not taken very seriously by most companies. And to fall from top twenty status -- hell, Delphi was top five I believe, not that far back. Well, that is catastrophic.
How can that be and what, if anything, can be done about it?
Let me be clear and constructive:
First of all, I don't blame Lazarus; I think it is really Delphi that has lost momentum. LAZARUS/FP IS A PHENOMENAL LANGUAGE/DEVELOPMENT ENVIRONMENT. REALLY, WITHOUT PEER -- AND WE OUGHT TO BE LEADING THE PARADE IN OUR STRONG AREA OF ENTERPRISE/DESKTOP APPLICATIONS. We all know Lazarus's "unique selling proposition" and we know that with the possible exception of C#, there is no other candidate for RAD business / desktop application development where both GUI and SQL come together. We know the Laz programming team is awesome; that Laz is written is Laz says it all -- or should.
And when you talk cross-platform, C# doesn't make the cut, either; FP – Lazarus – stands alone. Yes, there is always “Java”, but Java doesn't integrate GUI and has some other problems right now.
This should be – could be – the opportunity for Lazarus to really shine.
Why isn't that happening...yet?
Well, there is the issue of big corporate money. I don't want to ignore that, but many of the top languages are now open source and they got to the top on merits and market alone.
I'm going to suggest we attempt to seize the day here. And start by acknowledging a problem:
LAZARUS IS STILL MORE COMPLICATED THAN IT HAS TO BE FOR NEW USERS -- PARTICULARLY IN THE AREA OF BASIC DATABASE CONNECTIVITY. The IDE can be overwhelming (I am still trying to make sense of all the ways I open a “new” program; I think this could be better organized and documented).
But I think, most of all, we are missing a huge opportunity with not showcasing and strengthening Lazarus's SQL connectivity. Yeah, we have all those buttons in the IDE. But have you ever tried to use them .. AS A NEW USER? There is no automatic connection and documentation on how to bridge that gap is poor to non-existent.
Here's how simple it is to get SQLite3 – THE #1 MOST USED DATABASE IN THE WORLD, by a wide margin -- working with Python:
>>> import sqlite3
Yeah, that's it. Compare that to the hours and hours and hours a new user can waste trying to get ANYWHERE with Laz database programming. Our documentation could use a check up from the neck up, in general, but in the area of database connectivity, well ... let's be honest, Lazarus SUCKS big time. For those of you who might disagree I suggest you find a smart newbie, but one who has limited or no experience with the “priesthood” of programming nonsense, and ask them to bring up Lazarus … and then SQL. Under Windows, at least, Laz installs like magic. But database connectivity is a serious embarrassment versus our prime competitor for new programmers: python.
Is this REALLY the best we can do? If so I suggest we give up and let Pascal die. But if not – and I rather suspect not (actually, I'm 100% sure we can do much better) – let's make 2018 the year we finally fix Lazarus's non-competitive data-base connectivity issue and make headway on better documentation in general. And then re-launch with our best foot forward. Maybe develop an EdX course?
Also, going after both MacOS and – especially-- Linux are other areas where we ought to step it up. We aren't likely to catch up with Microsoft C# on Windows, but they are AWOL on both Mac and Linux. That is where the future lies and we ought to step up our game: Linux, SQLite3, Lazarus...that would be a winning combination!
taazz:
really? that is your major insite please make lazarus easier for sql databases? You compare a full blown visual designer that helps you visually place eachand every field in the expected position to what?
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---uses sqlite3; that's it? that is everything you need to do to use sqlite in fpc too. Well, you still need to know the internals of sqlite to use it and you need some short of cache for the data and a way to access them individually and some way to show them to the end user well all that is only around 60% of the process and..., I know! why don't you (who knows better) propose a better way of doing things and prove it is better with a prototype library that works with an actual sql database and not a toy base well lets keep it simple lets go with postrgresql it has enterprise power and its not very heavy on resource requirements.
Please go ahead I'm burning with anticipation for a brad new easier library that is both light on resources and as easy to change sql databases as the current is.
guest48180:
I have to agree with tan regarding ease of use, good documentation to be able to use Lazarus to its fullest extent. I struggle here. Big time too! The docs are poor and hard as hell to follow.
Handoko:
--- Quote from: tan on July 04, 2018, 02:45:31 am ---LAZARUS IS STILL MORE COMPLICATED THAN IT HAS TO BE FOR NEW USERS -- PARTICULARLY IN THE AREA OF BASIC DATABASE CONNECTIVITY.
--- End quote ---
I'm not good in database programming. But SQL database connection in Lazarus isn't that hard.
https://www.youtube.com/watch?v=pq2oCiJePHo
--- Quote from: tan on July 04, 2018, 02:45:31 am ---I'm going to suggest we attempt to seize the day here.
--- End quote ---
I appreciate your attempt to make Lazarus/FPC better. But what we need now is not suggestions because lots of suggestions have been voiced. You can search the old posts and find a long lists of suggestions. What we are lacking now is manpower.
One of the serious problems for newbies is the documentation. The information is there but they're not well organized. If you're good in English please help us improve the wiki and documentation. My English is not good so I participate in this forum helping newbies.
lainz:
I've not used sqlite outside Lazarus and Delphi.
The thing maybe is that in Delphi I just drop 2 components. Connection and Query.
In Lazarus I need to drop one more. But that's it! Once you remember the order of connecting them it just works.
Maybe adding something like a single multi purpose component for newbies will be good. :). Something like sqlite connquery :P
Navigation
[0] Message Index
[#] Next page