Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Share my ignorance day
Message
From
19/12/2018 17:16:21
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
19/12/2018 16:06:33
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows Server 2012 R2
Network:
Windows Server 2012 R2
Database:
Visual FoxPro
Application:
Desktop
Virtual environment:
VMWare
Miscellaneous
Thread ID:
01664647
Message ID:
01664671
Views:
80
>Thanks for the answer...very helpful.
>
>Follow up questions:
>
>- I would assume you can use C#.Net with a Postgres backend? We already use Postgres for a document repository.

Yes, you can use .Net with postgreSQL. Not only postgreSQL, almost any database on earth, whether SQL series (like MS SQL Server, postgreSQL, MySQL, Oracle ...) or NoSQL series (like MongoDb, LiteDb, OrientDb, CoachRoachDB, ...) have .Net support (especially C# support).

Also, in .Net there is something called Entity Framework for database operations, which allow you to use the same code regardless of the backend (provided backend have an EF provider). That means, you could use the same code against MS SQL Server or postgreSQL or Oracle ... and the only thing that changes is the connection string.


>- not sure what you mean by "better tooling in MS SQL" - could you elaborate

VFP developers are accustomed to drag & drop controls on to the form surface and work from there on, rather than doing things in code. Likewise, .Net have the same support in an extended way. It also have similar drag & drop support for your data backends (you need to see that in action to better understand). This is kind of a tooling, that writes code for you. If you are using MS SQL Server, then adding data objects (say an Entity Framework connection and building EF objects) is easier. With postgreSQL you may get frustrated not finding the same support and instead you need to write code yourself or do more google searches to understand why something doesn't have a visual builder, or how to enable a visual builder for that, things like that. But if you bear with that, postgreSQL might be the best choice made.

>- why would you prefer PostgreSQL - is it because it has better data types or ??

Aha, I just suggested that superficially above. It is hard to show its strengths on a windows only world. It has better data types and yes that is one of the most important reasons. Those data types are ones that a VFP developer could only dream of. For example in postgreSQL you can have integers and strings as a datatypes, also array of integers or array of strings as a datatype (indexable, searchable arrays with plenty of useful functions). You can check its datatypes on postgreSQL.org site (https://www.postgresql.org/docs/11/datatype.html)

Also it is true open source. From their site "PostgreSQL: The World's Most Advanced Open Source Relational Database" - and its license is summarized as "do whatever you like with it". You are not at the mercy of Microsoft, you know VFP was not the last thing they killed as they saw fit for it and you can't be sure what else would get killed (ie: I also studied MS .Net Silverlight and wrote part of our application on it. Then one day after version 5, MS said we decided to kill SL - not the exact words but you would understand what I mean. They did that to codeplex too. They did that Live blog sites. Nobody can say for sure what would be alive and well 10 years later. .Net itself might be because they open sourced it (a little late but better than never).

With postgreSQL, you have a much more powerful SQL to write stored procedures, functions and such. Also you can write thoe vese in languages other than SQL, say Javascript, Python, C ...

postgreSQL is something that you would fall in love as you try it and its features (and as I stated, I am using MS SQL daily and know that much more than PG, I can even write MS SQL Server procedures\functions in C# myself but still miss PG).


>- would you say that there are a lot of C# developers around (or is it similar enough to other languages that others could easily take over maintenance)?

Well, those who use windows are a lot. Amongst windows developers now the majority is .Net developers (C# developers are a lot, except it as personal, but I find VB.Net hard - a .Net developer can at least read both languages).

(My heart says Go as the language, database as postgreSQL, Flutter for mobile but reality is that I am maintaining VFP application daily, along with using C# for its web UI + creating activex for my VFP app)

>
>Thanks. Albert
>
>
>>For a VFP developer, C#.Net is a relatively easy transition path. Converting data to an MS SQL Server backend is also something that you may want to do even if you want to stay with VFP. However, if tooling is not the most important thing (MS SQL Server have a better tooling in .Net Visual Studio namely - not surprising) then I would choose a (maybe better) database like postgreSQL from the start (I am angry with myself that I chose MS SQL something like 12-14 years back instead of postgreSQL, wish I chose postgreSQL). Picking .Net you would be OK doing desktop apps on a windows platform. It does everything that VFP does and more in that regard.
>>
>>I have a great tendency to say, check other open source languages and databases first before going with .Net but YMMV.
>>
>>Anyway, to keep long story short, you wouldn't be sorry if you pick C#.Net and MS SQL Server for a windows based desktop application.
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform