high-level suggestion to conserve resources

nmsalinas posted 6 years ago in General
Thursday, May 05, 2011

Dear Anse,

I would like to make a suggestion, but first I would like to make sure that you know that my suggestion is being made in humility, in a collegial spirit (I am a programmer too) and with best wishes for the well-being and stable future of HeidiSQL in mind.

The reason to my suggestion: I have noticed that you are working on making HeidiSQL work with MS SQL Server. And now bugs are popping up due to the differences between the two databases, and they require attention and fixing.

Kind sir, here is my suggestion: please focus on being the very best MySQL manager, instead of widening the HeidiSQL scope and thus diluting the quality of your product. Here are a list of reasons to focus on MySQL:

- MySQL has a lot of versions and it changes between versions in sometimes radical ways. Just keeping track of the changes between the many builds of MySQL is a an art-form by itself. I have used MySQL since the 3.x days, and it's an effort just to keep up with the changes and modifying the programming code to stay in synch and to avoid unreliable and sometimes even plain incorrect query results or behaviors.

- MS SQL Server has an excellent and mature database query and management tool which comes with the application. In the case of the Express version you can do queries using the Visual Studio Express development tools. In other words, MS SQL Server users are not really shopping for a query tool, they already have one.

- The same goes for Postgresql. They have PG-SQL, a comprehensive and mature tool which comes with the software.

- IBM's DB2 is at the same level as Postgresql and MS SQL, they have their own reliable tool included in the software.

- Sqlite users can download SqliteSpy which is a very adequate tool. So far it remains free and available to all.

- Oracle users are not that lucky. You can use the very popular (and de-facto standard) TOAD software which is excellent, but since it is a commercial program it costs money, or you can use Oracle's SQL Developer, which is free but has a fair share of bugs.

Having provided this quick overview of what all leading databases offer, it is clear and almost funny to see that it is "the very famous" MySQL which is totally and miserably lacking in this regard and its users are the ones in dire need of a decent query and management tool. The users who need HeidiSQL are MySQL users, the rest are well taken care of.

Being a long-time programmer myself, I understand the pleasant and invigorating challenge associated with improving your software and making it connect to other databases. However I believe this is an empty challenge, because [a] MSSQL/Postgresql/DB2/Sqlite/etc users already have a query & management tool, and [b] there are many interesting challenges available for you in HeidiSQL. Here is a suggested few:

- Aim for an Apache-level quality of software, ie, make sure that you have zero bugs. Establish a rule where fixing bugs is always more important than adding features. Make it your goal to reach and maintain a very high level of quality, like the Apache Web Server does. As long as you have bugs, spending your time on code that works with MS SQL is a waste of your valuable resources.

- Port the HeidiSQL code to a language that runs on any OS. That way people can run HeidiSQL on Windows, Unix, Linux, etc. This in itself is a huge project because it means switching to GNU C/C++ or Java. However this would be a great goal and quite the learning adventure, if you are looking for one.

- Create a fully automated test suite for testing and validating the HeidiSQL code. This too would raise and help sustain the quality and reliability of HeidiSQL.

As you can see, there are plenty of exciting challenges available in HeidiSQL. I would humbly suggest that you focus your time and energy and good will on being the best query and management tool for MySQL. The people who need HeidiSQL are MySQL users. The rest have their own tools. They don't really need HeidiSQL.

My suggestion is presented to you with humility and with my best wishes for the present and future growth and success of HeidiSQL, a wonderful tool that has much room to grow.

Thank you for your dedicated and excellent work on HeidiSQL, and thank you also for reading this long and detailed comment.

Best Wishes and Best Regards.
ansgar posted 6 years ago
Supporting other database servers was a wish from users, including me. So you cannot just say this is just not required, or? Just visit the bug tracker, there are issues for supporting SQLite and Oracle e.g. Well, probably some subjective point of view if HeidiSQL should support all of them which is a bit unlikely.

Your proposal to aim for zero bugs reads a bit as if you have encountered bugs, did you? If so, please report them. Indeed it is my aim for a long time already. Your post reads as if it's not?

I won't ever port the whole myriad of lines to another language, man, are you kidding? HeidiSQL already runs on Wine, and even if not, it's not my goal to reach people on all operating systems.

Test suites: well, probably at some point but not now. I'd always prefer spending the rare time I have on implementing new features, not on overtesting old stuff. HeidiSQL has grown the way it is not because I run testsuites, it's probably more some unspoken rules which I have for this project, which include aiming on zero bugs, automating stuff and being friendly to beginners.
marcvern posted 6 years ago
You have more than a point Anse.smileYou are indeed friendly for beginners and I appreciate the work you have done and are doing.
ansgar posted 6 years ago
Nice to have your appreciation, thanks a lot. Probably I will sort out one or the other issue you report.

Please login to leave a reply, or register at first.