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 Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Would you start a new project in VFP

Status
Not open for further replies.

GriffMG

Programmer
Mar 4, 2002
6,308
FR
Hmm

Just put in a proposal for a rewrite of an app I started in the year oatcake and have been enhancing and maintaining ever since. It was originally in Clipper Summer 87 I think, might have been 5.0, and migrated to xBase++ a few years ago.

Now I get to do it over, something I have avoided for years, and I seem to have a free hand (at the moment) the brief just says 'a fully windows environment'.

I'm sorely tempted to try and do it in VFP9 - I won't be able to use much of the existing gazillion lines of code, but I will be quick and comfortable.

But, would I be stitching my client up?

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Thank you.

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Well, I don't know if anyone is interested...

I'm following a Bob tabor course, he started out pretending to be nothing to do with M$, but now he has a M$ shirt on and doesn't even know that peple mostly don't use Bing...

That said his course is pretty good.

So far, I get that OOP is a way of offloading responsibility for getting the runtime right to the compiler - which sounds good to me.

Of course, I'm still responsible for the 'business rules'... which can be as wrong as I like.

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Oops (no pun intended) That is Bob Tabor, and people not tabor and peple...

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
So far, I get that OOP is a way of offloading responsibility for getting the runtime right to the compiler - which sounds good to me.

That's not a definition of OOP that I've ever heard. The basic idea of OOP is that it's the next step after structured programming. Having functions and procedures to handle repeated actions makes you more productive and your code easier to maintain. Taking that one step farther, wrapping up data into a container with the functions and procedures that operate on it makes you even more productive and your code even easier to maintain.

That is, an object is something that has data and ways to operate on the data. A class is just a blueprint for an object.

Tamar
 
Hi Tamar,

Yes, I've heard that (about 100 times as Bob goes through this course) - but I don't really buy that it makes it easier to maintain or significantly reduce the amount of code, but then I've only written a few lines for the 'homework' exercises - so what do I know.

I can see how this approach works for teams and for ensuring quality though.

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Martin,

You say "I don't really buy that it makes it easier to maintain or significantly reduce the amount of code".

I can only say that that's a very common question among people who are new to OOP. But once the penny drops - once they start using OOP to the full - most of the doubters are quickly convinced of the benefits.

(I'm not sure to what extent it reduces the amount of code, but it certainly makes maintenance (and development) easier.)

I'd also suggest that, if we didn't have OOP, it would be virtually impossible to develop some of the highly complex applications that are in use today.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
Hi Mike,

I'm sure you are right...

Wrt:
Mike said:
I'd also suggest that, if we didn't have OOP, it would be virtually impossible to develop some of the highly complex applications that are in use today.

I remember a CAD vendor telling an assembled team of draughtsmen (myself included) that it was virtually impossible to build a reliable highly complex metal structure without CAD - only to have my German colleague ask about a fella he had heard of - name of Alexandre Gustave Eiffel who had seemed to get on rather well...

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
I remember a CAD vendor telling an assembled team of draughtsmen (myself included) that it was virtually impossible to build a reliable highly complex metal structure without CAD - only to have my German colleague ask about a fella he had heard of - name of Alexandre Gustave Eiffel who had seemed to get on rather well...

Good story.

If only more of my applications were as robust as M. Eiffel's tower.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
Thank you - I'll be here all week...

If I had to design an app that would last as long as the Tower Eiffel has... I would find that somewhat daunting!

I *think* my longest 'living' app is the one I'm about to rewrite (starting tomorrow, not today) which is from the early '90s, that only needed to last 'til the end of a construction project... but it got picked up by the bulk of the company and hence has kept me busy ever since...

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Griff , u have some of the best in the VFP biz ( Tamor , Mike Lewis , Doug Hennig) picking up on this thread. Like all , am an old-timer VFP , one-man show so the move to dotNet is tough. dotNet is VAST , in my view you have the pick the bits you want to learn , and would love to hear feed-back on this from others; you also have to make a few top-level decisions !!

My 2 cents
1) C# or VB ; there is no real difference in coding,you end up with exactly the same class calls etc . But I would go for C# for a few reasons (a) it's just cleaner/easier to read (b) much better quality of support on google , if you ask how do I do XYZ

2) Winforms or Windows Presentation Foundation ( do not even consider Silverlight). WinForms is supposedly getting the VFP ( obsolesence) treatment off M$ , but it is by far the easier to work with , very similar to VFP. WPF is really designed for a team of programmers/designers , but you have to learn XAML and neeed to buy another M$ wheeze called Blend ( expression studio). WPF has not caught on at all and all the vibes coming from M$ are that the future is going different routes , stick with WinForms , it is good for at least 15 years !! again millions of helpful links on google


3) Data :
(a)you can go "object based" using Linq2Sql or EntityFrameWorks
(b)relational based using ADO.NET datasets and plain Ol Sql passthrough.

I have found (b) by far the simpler if you want to build the usual kind of desktop app with grids / combo boxes etc etc

In fact my #1 advice would be to make Learning ADO.NET the number one dotNet learning " module" that you take ; it is very similar to the way VFP works and is the best way to migrate IMHO

4)reports etc
Up until VS2008 , crystal came bundled , from vs2010 it is no longer bundled but still available via SAP . The client version of Sql Server Reporting Services is superb, very similar to the latest features available in VFP9 reports. There are also 3rd party libraries out there like DevExpress which are very good , but expensive , have extra complications with deployments etc

Finally ...
would love to hear feed-back from other ex-vfp'ers and also to track the progress of your migration project as it develops
 
I'm just rewriting my oldest app - a Fox DOS system dating from the early 90's. It's a three-user production-control system for a small factory and they'd like it to run for the next 15 years so I'm using Access.

Geoff Franklin
 
Having done the first 8 days of the c# course, I am just getting to the bit where Bob goes all evangelical about LINQ 'its where the cool guys are' apparently (yuk).

I'm probably going to use the more traditional route though. It works, I've does similar work in VB to a shared Access back-end (albeit not for a few years) and it should enable me to be productive earlier.

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
agree, avoid LINQ , but do not overlook power of ADO.NET ( at least for any screens that are doing any complex data scanning/massage etc ), it gives you lots of new ways to think about things and gives you nearly all the power of VFP , well worth checking out some training 'modules' on this.

and if Bob tells you WPF and Silverlight are 'cool' , ignore him :)

 
I would be dubious of any instructor who tells you that a given technology is "cool". I would be happier if he explains the pros and cons of the technology in an objective way.

And as for "it's where the cool guys are", as you say, Martin, yuk.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
Actually I've had to stop studying for a few days - by watching so many so quickly I have exceeded the 'fair use' policy on my ADSL!



Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Yes, I've heard that (about 100 times as Bob goes through this course) - but I don't really buy that it makes it easier to maintain or significantly reduce the amount of code, but then I've only written a few lines for the 'homework' exercises - so what do I know.

I can see how this approach works for teams and for ensuring quality though.

Think about all the things you've had to do to ensure that data travels with code, or to maintain state across a series of operations. OOP makes those tasks much easier because you store the state with the code.

Tamar
 
Now you see Tamar, I just don't have the foggiest what 'data travels with code' or 'maintain state across a series of operations' means...

B-)

I'm sure I'll get it, as Mike said the 'penny will drop', soon would be nice!

Regards

Griff
Keep [Smile]ing

There are 10 kinds of people in the world, those who understand binary and those who don't.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top