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

Do We Really Need To Upgrade Our Skills With a New Programming Language Apart From VFP? 2

Status
Not open for further replies.

Ahmad kaj

Programmer
Apr 29, 2022
11
NG
I vave been using Visual-Foxpro 8 For the past 15 years for developing mid scale desktop applications (single and multi-user.) Working perfectly on Windows 7,8,10,11 without issues.
Recently i started learning C# and the grammar in it is too much but i guess with time i will get used to it and get it right. my question is would learning C# makes a difference and what are the positives in learning this language? what addition it will give as an advantage over VFP?. My main concern that at a certain point WIN32 Applications might be dropped In future Windows upgrades?
 
Hi Ahmad

> i guess with time i will get used to it and get it right <
By the time you get used to it, they have already replace it with a different langauage and you would see a.... "this is not supported anymore" :(

Also , in order to create a new dependency, You will see ... the new advanced technologies require to learn A + B, to keep you in the market.

But that is just my personal oppinion
I guess, it make sense for the world to work like that, were a small issue can put all ( humans) in serious troubles.
okarl

When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
Sorry, incomplete answer

If you mean, what language can do things, as fast, as powerful, as versatile as VFP ... ( there is no language that meet all ) at least without involving, double time, triple resources and 4 times code size and complexity.

But in case I have to chose one... I think I should put my eyes over javascript , it is independent (away from windows close platform) and very spread into Linux ( Node.js etc) it can be executed on client and server sides and has a lot of potential "grow" in many diferent areas.

And again.. Who knows ? if in the future ...
Cheers
okarl

When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
If the only tool you have is a hammer, it is tempting to treat everything as if it were a nail.

Sorry, even though VFP surely is much more versatile than a hammer, I would not be as successful as I am if I didn't also know other tools and topics than purely VFP. I always get aware when I have to explain something to a VFP developer that's not on their radar, even though it also concerns them. Starting as simple as XML or JSON or even just VBA when it comes to Office automation, even though it also is surely not the future of development.

Chriss
 
For me, programming in FPD/VFP for 30 years and being 67 years old, I won't learn a new language. Especially since the company I work for will need my services for years to come. They are now at the second attempt to convert "my" program to a cloud-based one. Both so far unsuccessful :)

The only problem I have is that apparently Windows 11 doesn't work very well with VFP9. If anyone has any solution to that I would appreciate any comments...
 
I have a solution Dan !!

Just get double ram, and install a virtual machine into every windows 11 desktop, with windows 7 :) :)


When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
To also add a constructive answer: There are several aspects of VFP that make it extensible and so you should be able to make use of them to really use the full potential of FoxPro:

FLLs, creating an FLL needs C++ knowledge. It's surely not for everyone and the only frequently used FLLs from Craig Boyd vfpcompression.fll and vfpencryption.fll are not the only things possible to do in this area. So sticking to VFP, it would become more and more necessary to enable extending the VFP language with new functions. And C++ surely isn't dead in itself, too.

SQL, any SQL dialect. Starting with Foxpros own. But more so learning other dialects like T-SQL for MSSQL or PL/SQL for Oracle backends, PL/pgSQL PostgreSQL and MySQL for MySQL/MAriaDB servers. Knowledge in that area alone also brings in possibilities to work with other backends and not only in conjunction with a Foxpro frontend.

Those are the skills you can always make use of - also when you stick to FoxPro.

Chriss
 
totally correct Chriss

Those enhancements extends the capabilities of VFP in comunication and of course in Data Management which is the primary target.

The main part is still missing in VFP-9-SP-3 ;) is the ability to create EXE files that can run on mobile phones to manage mysql, but we all know the real reasons ( they were planning to put sql-servers on mobil phones ). :eek:

Seriously, VFP can do much more things than create an EXE.. but isn't versatile beyong that point due the stop in development, and now all is more complicated.

To follow your analogy, now there is a Team to create a single button, each one with a special "hammer" to interact with other parts of the project, and if one of those 'specialists' is in her/his honney moon, then the full project suffers a delay!! ( I mean that is indeed an important button ).
Beleveme or not... but is real



When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
Dan, I don't know if your problem with Win11 is you picked a laptop bundled with the Home S edition. You can turn off the "S" and install anything you want. If that's your problem, that's fixable. It's not even a hack, it's official from MS:

The Pro edition doesn't have that.


Chriss
 
I would suggest that some of the above replies might have missed the point.

The question isn't about which is the most powerful language, or the language that has support on most platforms, or even the easiest language to learn.

By far the most important factor is: the market. Or, put another way, whether your skill in a given language is in demand. If you are a salaried employee, then your language of choice should be the one that your employer (or potential employer) requires. If you are a freelance programmer or consultant, then it should be language that your clients demand.

Unless you get that right, none of the other factors are important.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
Mike, I mainly agree on that.

That's also why I considered what I considered. Not only to enable yourself to extend your VFP world. Both C++ and SQL dialects are in demand aside from Java, which is in even higher demand. I don't disapprove learning Java or javascript (and don't confuse them with each other) for that reason, but it has no direct additional benefit for your own VFP usage, also if you do that as a hobby. I'd say SQL has a better benefit in its separate usage from VFP and in its usage in conjunction with VFP. Including the kind of NoSQL dialects necessary to handle new database types. You already can qualify when a backend developer is needed as employee or freelancer. Javascript comes into play, if you find one of few VFP projects making use of VFP as a server-side language of a web application, but do you even know ProLib's AFP or Claude Fox's ActiveVFP? Or have developed with Rick Strahls Web Connection? In that case you likely also already have HTML and javascript knowledge. Or if you do web development on a totally separate development stack, of course.

As a freelancer, you rarely find a demand for an application built from scratch with anything you like, but demands to maintain and extend existing applications that demand the knowledge of the language it's already written in, that's no discussion point. And today that's only VFP in very few cases, of which I think 50% are POS systems. I once almost got involved in software for cemetery management and all other kind of software you can't think of, but that's how I'd describe the market - 50% POS systems and 50% individual software that exists as internal company software and is very unique and doesn't fit into usual categories.

If you develop targetting end users and have ideas not yet covered in the market of shareware/freeware, congratulations, but the usual price people are willing to pay is close to 0.00 only. So get lucky that you get many hundred thousands if not millions of customers to cover more than your development costs. It's true though, that end users will mostly not care what something is written with. Unless you target developers as end users. But then programming something for the community of VFP developers is having a falling number of potential clients, which also are used to getting free add-ons on GitHub VFPX by now. So in that case your motivation should be the support of the community, not making your living.

I get it there are a lot of people old enough to foreseeable make it until they don't need to program anything at all. The endangered VFP developer species is over 50 years old and not able to learn anything else as deep as needed to qualify as XYZ-developer. Of course you still have much time to learn and apply something. But even if you say 1 year of intensive learning is sufficient, you can't learn enough as a side project while developing VFP to feed you and your family. Don't underestimate what concepts unknown to VFP you would need to understand if you would want to take on maintenance or extension of something written in XYZ. And a project failing when you have to admit you weren't fit for the job is getting you a hit in repuatation, too.

Chriss
 
I agree ( partially )

On the other hand, if the market requires the most fashionable language ( which by not means the most effective one) , then young people can easy get into a situation were they need a 20 years learning curve, five years to be an expert in four different languages.

Also the market isn't ruled by 'accuracy', when you don't have a wide options to convince which is the better approach, so the situation is turning more and more focused on marketing, and less in effectiveness.

The analogy here could be... If you have no more options than to puchase by Amazon you must agree the prices.

When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
okarl, this makes me think a very general thought:

I guess the question comes from someone knowing only VFP. If you start learning a second language you realize it's taking less effort, as you already have understood concepts that can be transposed. The question indicates a fear to have to struggle, you don't struggle as much learning a secondary and then perhaps a third or fourth language, and you have much more to draw from. So there should be no fear of needing to learn something new, there should be curiosity. If there is no curiosity, your major hurdle can be your fear of not making it instead of the actual learning curve of the new language. You can already measure it by your resistance to make use of VFPs internal SQL and object orientation. Not even making your toes wet in these things is actually meaning, you're not even a VFP developer, you are just a legacy Foxpro developer. It's all here to make things easier, not harder. SQL was not added to VFP so developers not knowing xBase ways of working with data can also learn VFP, it really is there to empower your data processing. There always comes the argument nothing can beat a SEEK. Well, but a seek is just a hammer. If it's the only operation you need in your data, you likely have not designed your tables the right way. You should need multiple joins of tables to get a cursor of data belonging to one real-world object like an order. And well, you're proud of rushmore optimization? SQL is making the most of that, SEEK does not at all use it. Locate within a script to come up with all data does not make as concise usage of it than a complexer query with multiple joins and/or unioons.

I do see people using an UPDATE within a scan..endscan when the UPDATE already is coping with the update of multiple records and not just the current record, as REPLACE does by defalt. So, there can be bad experience because you make bad use of SQL, too.


Chriss
 
Well stated @Mike Lewis.
And one thing to remember Ahmad, you will ALWAYS be able to run VFP in a VM. You may need to install the OS that supports 32 bit in the VM, but VM will ALWAYS support the older OSs.
You can even boot MS DOS 2.0 in a VM.


Best Regards,
Scott
MSc ISM, MIET, MASHRAE, CDCAP, CDCP, CDCS, CDCE, CTDC, CTIA, ATS, ATD

"I try to be nice, but sometimes my mouth doesn't cooperate.
 

Chris , let me ask you the main question of the topic

If clients are asking you to learn the worst language ( they know nothing about in 99% of the cases )
Would you put your time on it ? ( the most valuable asset in the world)
Would you point your carreer pointing in a wrong direction ?
;)




When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
Let me answer that I learned VFP instead of Java.

But aside from that I already said it's not a topic to choose the language as it is set in what already exists. I simply don't look for any project in something I don't support. So I won't get into the trap of learning something new just to fit for one project. I look for projects that fit me, I don't bend for fitting a project. And you know, Java, javascript, SQL, C++ are all quite estblished languages. The only topic I added that you could say is modern is NoSQL, and that surely stays a database type. It's up to you if you'd rather learn a more classic SQL dialect as the ones I mentioned.

Of course you don't learn the latest language for expanding your portfolio, but a language in high demand, those are never the new languages. These are to keep at the front of language design and ideas, you can learn them, too, to learn that aspect. And it will turn out, if this becomes a new paradigm or not.

Chriss
 
Thank you Chris
Any choice is valid,I am more close to your point of view, even I am retired from a 'predatory' market.

Much appreciated your opinion, because we all learn from others experiences, and to archive that is very important to let people give his own thoughts , so everyone has a freedom to chose whatever is more appropiate on each case ( no need to argue about othes opinion ), just add mine.
I dont need to impose my ideas to someone else, that is something I learned a long time ago, when I was young.

be back in few weeks/months/whatever
Thanks again
okarl

When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
If clients are asking you to learn the worst language ( they know nothing about in 99% of the cases Would you put your time on it ?

I mentioned the market earlier, but that's not the same as clients asking you to learn a language. It's more a question of what skills are in demand. For example, if you believe there is a demand for creating Android apps, then Java might be a good choice. If the demand is for enterprise-wide databased systems, then something like SQL Server plus a suitable SQL client language would be a better choice.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
I was just about open a new topic with ...

Which is the best language to manage 100 databases that change it's structure every week and is suitable for querys over win/mac/android ?

But I guess we all know the answer :) :)

When I said that I was concentrated on programming, so my state of consciousness was attenuated
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top