Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Question for VFP and SQL Server programmers

Status
Not open for further replies.

iolair

IS-IT--Management
Oct 28, 2002
965
US
If there are any programmers out there who have used both VFP and SQL Server, can you tell me which language is easier to program in? Are there any huge advantages of one language over the other? Struggling with deciding on which product to use.

Thanks.

Iolair MacWalter
Network Engineer
 
Many VFP developers use SQL Server for storing the data of their VFP applications.

SQL Server is no development too, it's just a database server and VFP is a programming development tool to create both an application and store it's data or attach to data within MS SQL Server, or MySQL Server, or any database offering an ODBC driver or OLEDB provider to access it.

That said now starting VFP is about as clever as buying a very old used car. It is not developed further, but can of course be used, still. Depends on where you want to go and how far and how long you want to stay with VFP.

Bye, Olaf.
 
You are comparing apples with bananas.

VFP is a complete development environment. You can use it to develop almost any kind of desktop application, complete with menus, forms, reports, etc. It has a built-in database, and can also access other databases.

SQL Server is a database. It is not a programming language. You can't develop applications in it.

Both products let you write queries in SQL (which is a language). But, with SQL Server, you generally need some other system to act as a front end - to provide the user interface.

Perhaps it would help if you could tell us what your goals are. We might then be able to suggest which of the two products (if any) would be more suitable.

Mike


__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
my 2 cents ,
Like prior responders , have used both. Actually when I/u say " use Sql Server " , as a programming language , that really means using dotNet and within that there are a lot of routes

1) vb.net or C# , both languages are much the same , the language is easy in both cases , the hard part is that the language is just a tool to use the dotNet framework which is VAST !!
2) windows app or desktop app . MicroSoft built Silverlight to supposedly deliver web-based cross-platform apps , but it never caught on and internally in MS seems to have been send to death row
3) say u go for desk-top app , then the main routes are
(a)WinForms ( around since version zero of dotNet ) but MS doing nothing new with it, but millions of google answers to any item
(b) WPF , Windows Presentation Foundation , mainly a new graphics driven library , but pitched by MS as future of dev apps , again has not really caught on
4) data binding ; main option is
(a) ORM Object Relational Mapping , several versions, like Linq -to-Sql (also on death row ) Entity Framework , or 3rd party like nHibernate . In essence , wraps the real data-base in classes so that everything looks like an object. has some benefits
(b) ADO.NET datasets , much more direct link to data

so , which to use ???
If u have never used VFP , but have used some other languages like e.g. VB6 , would say , bite the bullet and go dotNet

However , like Mike and Olaf above , I'm a long-time VFP developer and I would always use VFP ( quite happy with SQL back-end) , unless the client absolutley mandated NO VFP

If forced to go the dotNet route , I would take SQl Server data-base, C# , Winforms , ADO.NET , that is a fairly conventionsl stack( actually quite similar to VFP combo) , but tell the client it would cost/take 3 times as long and let him decide if he still has religious hang-ups about VFP .

VFP will still be working away in 10 years time , the issue is , will there be developers still around to support it

Sean M


 
There has been some over-simplification of the decision. I wonder how Sean would react if his client wanted an app targeting WinRT (the new Windows 8 runtime). And, there is no guarantee that a new version of Windows 10 years from now will run VFP.

What has been said about SQL Server vs. VFP is dead on. SQL Server is simply a data storage and manipulation tool. Nothing more. You can't use it to create a UI.

If you run on Windows and have a Windows server, SQL Server is a great solution. What you use to create the UI is a different story. VFP *might* be a viable solution, but so are .Net, web, and several others.

Craig Berntson
MCSD, Visual C# MVP,
 
Craig , seems WinRt is bound up with Metro style apps , which I presume is mainly geared towards tablet style devices . The old-style DeskTops apps in Win8 ( Win9 , Win10 ?) will still surely be the model for most line of business apps for quite a while yet. But if MANDATED to use WinRT , yea would love to take it on , I find C# a great language to work in , and presume MS will come up with some better design/debug tools for XAML.

No sure what the original question's time frame is, so maybe there is a critical business decision to be made always on the life-time of the application , 5 years / 10 years ??

hope this helps the original questioner
 
Similar to what has been said before...

VFP and SQL Server, can you tell me which language is easier to program in

VFP is a Development Language as well as a Development Environment which has native data tables and databases.
As a Development Language the developer can create entire Applications including the GUI interfaces, etc.

SQL Server is NOT a Development Language.
Instead it is a Database Server which is an intelligent Container for databases and data tables.

Yes, SQL Server has its own 'language' (T-SQL), but it is limited to only working on the data within its data tables in its databases.
That 'language', while powerful, cannot be used by itself to develop Applications.

In addition to its own wide command/function set, VFP can also issue T-SQL 'language' commands to be executed within a SQL Server by use of the SQLEXECUTE() function. This enables VFP Applications to use either the native data tables and databases or to use an 'alien' data source such as SQL Server.

Good Luck,
JRB-Bldr
 
Iolair,

looking at your tek-ips thread history you already asked the same question back in 2006. In that thread you introduced yourself as fox 2.6 programmer so you know what foxpro is.

Last year in November you also asked, if it's worthwhile to upgrade from VFP8 to 9.

You already had all the answers you need.

Bye, Olaf.
 
Ah, this helps a lot. So, it sounds like VFP would be better compared to VB AND SQL Server. Am I right? Are you saying you need two products, SQL Server and VB to create apps like you would in VFP?

If that's true, then which would be easier to learn for a novice, VB/SQL or VFP? I've seen articles about having to administer and tune SQL Server, something I don't think you have to do in VFP.

And if it helps, this is a small database, probably less than 500,000 total records. Currently, it has 350,000 records, 36 reports, and 12 user screens that are used on a daily basis.

Again, thanks for all the replies and help, I appreciate it.

Iolair MacWalter
Network Engineer
 
Are you saying you need two products, SQL Server and <something else> to create apps like you would in VFP?

Yes.

SQL Server would work as the intelligent data container which would, upon execution of T-SQL commands issued from the Application, deliver the desired data records.

Another language (VFP, VB.Net, C#.Net, etc) would be the language used do develop the Application which could utilize the T-SQL commands to acquire/update/etc. the data.

Good Luck,
JRB-Bldr


 
it sounds like VFP would be better compared to VB AND SQL Server.

That's not what we're saying. You didn't mention VB. You asked whether VFP or SQL Server would be easier to program in. The answer was that it's not a like-for-like comparison.

If you're now asking what is the best tool to develop a new application in, then by all means use VB or VFP or anything else you feel comfortable with. With most development tools, you have to add a database to the mix, and SQL Server would fill that role. With VFP, you can use SQL Server as the database, or you can use VFP itself as the database. Again, it depends what you feel comfortable with.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
Probably don't feel really comfortable with either one, but I know a little bit about VFP, so I will probably go that way.

And I assume with a small database like mine, I probably don't need the SQL Server piece?

Thanks again to all for your help and answers. I'm learning a lot.

Iolair MacWalter
Network Engineer
 
Iolair

just one small addition to this , not really sure why u seem to be considering a move from some existing dbf based system , but in the dotNet world there are also some "zero admin" data-bases systems , e.g Sql Server Compact or SqlIte , that can be built from VB/C# but have none of the overhead admin of Sql Server , let us know what is the driver for your interst in moving
 
Advantages of a sql database server:

-Security (granting and denying access on the granularity level you need)
-Sability through channelling of requests to one service instead of shared file access
-Backup & Restore, Desaster Recovery
-Replication
-Altering database online without need of exclusive access
-Stored Procedures running faster server side without the turnaround of data.
-Full Text Index/search
-Advanced Features like datamining (OLAP in MS SQL Server)
-Data is better reachable for third party tools / add ons. This can have an essential synergy effect, being able to outsource parts of your custom app with commercial modules.
-Shared workload, you can employ sql server administrators, specialists on performance optimisation, etc.

You can do all that with VFP, too, but it's not built in, so you have to buy add ons or program something, of course backup is easy for dbfs, it's just file backup, but it has it's problem with 24/7 always online data. DBF corruptions may be putting your 12 users/employees in a wait state, at least not being that productive than with your major business application, that means salary for 12 hours per hour during such maintainance phases.

In my over ten of dbf and 2 years of sql database usage, I've seen many dbf corruptions but not one issue with sql server.

That alone may be worth the client license fees for running a sql server database.

For the synergy effect of addding in other modules vfp also offers ODBC and OLEDB drivers, that opens up any product offering data access via these channels, but you find much more software capable to handle sql servers than dbfs.

Finally, 500.000 records in the long run don't sound much, but pure figures never tell about the worst case, weakest part of an application. So that doesn't tell much about what database fits better.

Also it sounds you will not be the developer, just the project manager of this new implementation. Who will do this, do you need to hire new employees or outsource the project? Then you need to think what kind of developers are better available, even if you don't care about foxpro going out of support from MS, you got to care for that and take an option viable in the longer run.

Bye, Olaf.
 
Iolair,

Olaf has given you some good information about SQL Server.

But, if you choose VFP for your front-end tool, you are going to have to spend some time getting up to speed with it. It might make sense not to have to learn a separate database product as well. If that's the case, that would suggest you go for VFP as both the front end and the database.

An important factor is whether you want the ideal system with the best possible mix of software, or whether you want a system you can get up and running without too much learning time.

Let us know what you decide.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
Thanks, again great information. The reason for the question in the first place is we are currently using 20 year old software for our database and I feel it's way past time to upgrade.

Secondly, there are features we would like to implement that just aren't possible from our 20 year old software. I also see the possibility of adding more down the road, so it might be best to go with SQL Server - thanks for pointing that out, Olaf.

We do have an in house programmer, but he tells me that the syntax and commands for VFP and VB are similar, so he doesn't feel too intimidated by either. Is he correct? You're right, I'm not a programmer, but am ultimately responsible for this project.

Iolair MacWalter
Network Engineer
 
I won't judge him a liar at all, I'd say the same, but don't underestimate differences.

It's even more true syntax of classic Visual Basic (6) and Visual Basic for Applications (Office Makros) are similar to VFP, but that doesn't unfortunately mean you can easily convert from VFP to VB/VBA or VB.NET.

There is a book, that could help make the connections for someone knowing VFP to make an easier tansition to VB.NET:
Well known VFP developers have gone the .net route and more have perhaps gone to C#, but actually these languages sahre the same runtime, they are interchangably, it's perhaps easier to read and of course write VB.net, being used verbose command words instead of eg curly braces. But that's just the look of the language.

Also some of the developers of VFP at MS have of course changed to develop .NET langauges and Calvin Hsia, the lead VFP programmer has changed to the VB.NET team (my knowledge from 2007).

.NET languages offer far more options on what can be done with them, than you ever will be able to make use of. The core languages have fewer commands and functions, it's all outsourced into the .net framework you use and that integates so smoothly you consider it as part of the languages like you very soon consider eg MFC (Microsoft Foundation Classes) libraries as part of MS C++.

Bye, Olaf.
 
I also see the possibility of adding more down the road

That one statement may be one of the Primary deciding factors of your choice for the development language (VFP, VB.Net, C#.Net, Java, etc.)

And that may or may not affect whether you should choose to use SQL Server as your data 'backend' or not - depending on what the 'more' might include.

VFP9 can do a VAST AMOUNT more things that 20 year old software couldn't do. And that applications developed with it can meet the demands of MANY, MANY company's needs now and for many years into the future.

But there are also things that VFP9 either have challenges with and/or cannot do.

This is a VFP language-specific forum so we are biased in that we believe that VFP9 would be a GREAT choice for 99.9% of what you might need to accomplish.
Although I'd question your programmer's level of understanding regarding his statement about VFP and VB being 'similar'.

But we are also realistic enough to know that depending what the 'more' might entail, there are times when it might not be the optimal choice.

Good Luck,
JRB-Bldr
 
VFP and VB are similar in that they are both third-generation visual programming languages; and they are both essentially procedural languages to which OOP (in greater or lesser extent) has been grafted on.

If a programmer is comfortable using one such language, he or she has a good chance of learning another.

That said, VFP is a vast product, and he shouldn't under-estimate the work involved in learning it. Having a VB background would help, but it won't be a doddle.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
The programmer has a background in VB and - ready for this - COBOL. So I think using VB might be "quicker" than VFP. The only drawback to this I see is, I can somewhat work with databases in VFP. By that, I mean, I can query databases and write quick reports on the fly for those times when the programmer isn't available. I myself know nothing of VB, or SQL for that matter.

As far as I know, the programmer has no plans to leave or retire at this time, so I'm not worried about that, but if he's out sick, and we need a report or some info fast, I can't do it with VB.net. With VFP, I can at least get the info, even if I can't make it look pretty.

Iolair MacWalter
Network Engineer
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top