fbpx
Welcome, Guest
Username: Password: Remember me
Welcome to the XSharp forum!

Tell us and our members who you are, what you like and why you became a member of this site.
We welcome all new members and hope to see you around a lot!
  • Page:
  • 1
  • 2

TOPIC:

Clipper Summer'87 09 Jul 2021 20:46 #19054

  • Clipper


  • Posts: 8
  • Hello, I am 59 years old now. Between 1990 and 1995 I was Clipper & dBase IV programmer. Since then did not programmed anymore. Now I would like to remember the young years and would like to start educate myself again but I am not sure where to start - x Sharp, xBase++ (Alaska), FoxPro, Visual Object, etc. Can somebody help me to decide what is actual and in question and where I can earn some money and at the same time have some fun programming again? Thank you in advance for your feedback!

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 10 Jul 2021 05:42 #19055

    • wriedmann
    • wriedmann's Avatar


  • Posts: 2685
  • Hi Michaylov,
    welcome here!
    First of all: times have changed, and MS-DOS is gone. If I speak for myself (currently I'm 58 years old and make my living programming in VO and X#), in this time I have made two big steps: first from Clipper 5.x to Visual Objects, learning object orientation, Windows and event driven programming, and then the step to the .NET Framework, MVVM and WPF.
    About the choices you have: today I would not start again with Win32, but use the .NET Framework.
    So X# is the only choice. Then neither Visual Objects nor VFP is available officially, (if you don't search for used licenses), and X# is free too.
    X# has another advantage: it is very well supported by the development team here and some forum members.
    So I would start with X#, install XIDE and start to play a bit.
    IMHO XIDE is better suited for a beginner than Visual Studio, but you can try also Visual Studio.
    X# has some examples, and maybe you can find some code samples also on docs.xsharp.it
    And then: happy programming!
    Wolfgang
    Wolfgang Riedmann
    Meran, South Tyrol, Italy

    www.riedmann.it - docs.xsharp.it

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 14 Jul 2021 21:21 #19086

    • Clipper


  • Posts: 8
  • Thank you Wolfgang for the quick and detailed answer!
    I did not understand a lot of abbreviations in your answer, but in general your suggestion is to start learning x#, using the XIDA editor. I suggest that .NET is 64 bit library, that's why you are suggesting to use this instead of Win32. I also found a tutorial about how to create Windows Presentation Foundation, using Visual Studio:
    docs.microsoft.com/en-us/dotnet/desktop/...0steps.%20%20More%20

    I am still not sure what is the purpose of X# - is this a front end programming language or more database handling language?

    Clipper was a programming language for manipulation dBASE tables from the monitor, but I am not sure where is the area of application of X#?
    In addition there are different modifications like xHarbour, xBase++ from Alaska, Visual FoxPro, which are concurrence for X# I guess.

    The statement on the following link is confusing me even more:
    www.xsharp.eu/help/index.html

    it states:
    "
    X# is an open source development language for .NET, based on the xBase language.
    It comes in different flavors, such as Core, Visual Objects, Vulcan.NET, xBase++, Harbour, Foxpro and more.
    The current version of X# supports the Core dialect as well as the VO, Vulcan and Harbour dialect
    "

    I guess I have to orient myself on Core version, or?

    Here is the link to Wikipedia description of X#:
    en.wikipedia.org/wiki/XSharp#:~:text=X%2...asic.NET%20compilers .

    However, where on the internet can I find examples and tutorials for creating X# applications?

    Thank you in advance for your answer!

    Please Log in or Create an account to join the conversation.

    Last edit: by Clipper.

    Clipper Summer'87 14 Jul 2021 22:52 #19087

    • ic2


  • Posts: 1018
  • Hello Michaylov.

    Let me try to give you a few answers, otherwise Wolfgang all has to do it :)

    Visual Objects could be called the Windows version of Clipper. Originally you could even run your Clipper programs in it unmodified, although it didn't look as a Windows program at all. You needed to learn object oriented programming and you could use the built in Windows options, like windows and it's controls, menu's, printer drivers and much more. But the syntax of the Clipper commands and functions remained more or less the same.

    When .Net became "the future", Grafx sofwware, the product owner of VO at that time, started to develop a .Net version of VO, allowing direct use of everything available in .Net. A clever program, called the Vulcan Transporter, created Vulcan programs from VO programs. Like in VO using Clipper code, you were still using VO forms and menu's but this is less different than the .Net flavours Winforms and WPF. Furthermore, these could be mixed. And the language could still look very much the same, too.

    Despite its huge merits to the continuity of the VO language, Grafx failed in the end to deliver as promised. Paid describers, promised multiple new versions, got these less and less. Robert v.d. Hulst, one of the external subcontractors for Vulcan, eventually tried to take over Vulcan and when the product owner did not react with a reasonable offer, he decided to create X#. The other team members quickly joined him and Grafx finally went out of business.

    It started by using the Vulcan DLL's, for those who owned it but nowadays you can use X# without Vulcan, the Core version. Part of X# is still the DBF system and of course all the DBF manipulating commands, and there's also an X# native DLL which directly connects to ADS. And there's a much more elaborate converter, here called th XPorter or VOPorter, which can convert VO and Vulcan code. Besides the Clipper/VO/Vulcan users, (Microsoft) Fox users also have a migration path, after all FoxPro was just another XBase language using DBF databases.

    X# is built around the Rosalyn compiler, which means that many of the high end .Net functions like those present in C#, can be used about the same in X#. So your project can contain code which still looks not too different from Clipper and at the same time code which more looks like a modern C# program. And you can mix any language by using Visual Studio and creating a project for each language in 1 solution. So you basically have a front end language and a database handling language in one. You might want to skip DBF completely and use SQL, PostgreSQL is recommended and a few regular contributors here like Johan Nel have a lot of knowledge being shared here.

    Here's a 32 page paper with much more detail, also the history: saltydogllc.com/wp-content/uploads/SELJE-Look-at-X-Sharp.pdf

    .Net Core is indeed your choice if you do not have VO or Vulcan.
    If you choose WPF you may want to use Visual Studio (free for smaller companies in the Community version) as there's no WPF editor in Xide (written by XSharp Development Team member Chris Pyrgas) . You will see that you can design there a window in WPF by dragging controls, like buttons etc to a screen, but in the background XAML code describing the screen is used. It is very powerful and flexible (you can create elaborate animated windows with most code in XAML instead of X# or C# code) but often more difficult to handle than Winforms or VO compatible forms). If you are fine with writing your screens and menus etc in XAML without having a design screen, XIDE will do and is more friendly than Visual Studio. Personally I use VS but I dislike it as I consider it far less usable than VO. Others completely disagree with me for incomprehensible reasons :P

    Note that the latest programming techniques look very different than you are used to from Clipper but not all are necessarily better. For example:

    In Clipper, you describe in a program where in the text based screens your screen content had to appear, and improvised some menu, usually by entering a number of choice to continue with the next screen.
    In VO, you would drag controls on a screen and the actual size of the window could move or resize the content, for exampling enlarging a box while keeping other controls the same size. If the user presses a button, or some Windows event is called (like a timer, or when the user leaves a field), a method programmed behind that Pushbutton or for such an event, is executed.
    In .Net, you might want to separate your program logic from the window design. MVVM is such a design pattern, where you assign values to properties which will "find their way" to those parts of the window designed to collect changes in these properties "themselves". Drawback is that it's more code to write and less insight in what is actually happening but you might want to consider using that. I would certainly not begin with it however (and personally I use it only in some specific situation). Look for posts of Nick Friend who is an absolute expert in applying MVVM "by the book".

    I would start with choosing XIDE or VS and just create some windows and try to program some actual functionality. Also read Getting Started on www.xsharp.eu/help/introduction.html . There are some nice free conferences on the YouTube Channel X# Academy which you can watch. See www.xsharp.eu/itm-downloads?folder=Presentations . You can find examples on www.xsharp.eu/examples .

    Indeed you can use X# for free. The development is financed by users who pay a yearly for Fox (Friends of X#). I've personally experienced more than once that e..g. Chris has checked a mailed solution with an issue I had worked on for hours where he could find the cause in a much more acceptable time. Sometimes it was an X# issue, followed by a workaround and, later, a fix in the new version, but not always. Fox is much more than this and if you are really working in X# I'd say you should consider joining.

    Lots of visitors here like to help so this is a much more concerned user group than of most of other languages.

    I hope I have given some replies. Please keep asking!

    Dick

    Please Log in or Create an account to join the conversation.

    Last edit: by ic2.

    Clipper Summer'87 15 Jul 2021 06:20 #19089

    • wriedmann
    • wriedmann's Avatar


  • Posts: 2685
  • Hi Michaylov,
    a part from the long answer by Dick I'll try to give you a short answer:
    - Clipper was a compiler and a set of libraries that let you create database applications out of the box, without needing other tools (but there were many 3rd party tools you could use)
    - X# is a compiler and a set of libraries that let you create database application out of the box, without needing other tools other than the .NET Framework that is delivered with the Windows operating system and its updates.

    But the programming world has changed a lot since the times of Clipper where the DOS operating system does not delivered many functionality other than access to the disk and a 80x25 characters screen.
    These days we have SQL and non SQL databases, webservices, components, web applications and many other things a business application may need to connect and/or interact.
    Also the expectations of the users have changed a lot, we have to deal with small screens (from 10") to large high-DPI screens (34") and multiple monitor setups, so the increased complexity needs more evolved principles like object orientation (introduced also by Clipper 5.x), MVVM (model-view-view model), and the concept of frameworks (think of it as large component libraries that need much more time to learn than to learn a programming language).
    My personal opinion is that you can start programming with any language you like - but what you have learned many years ago will not help you much as the programming world has changed a lot.
    Wolfgang
    Wolfgang Riedmann
    Meran, South Tyrol, Italy

    www.riedmann.it - docs.xsharp.it

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 06:54 #19090

    • Sherlock


  • Posts: 36
  • Hopefully shorter still, Clipper Vo, X#.. I assume at 59 you are not going to enter the commercial market and be a full time developer and a web developer. A tough journey against the competition that exists. The answer what are you aiming to build and is it just educational and fun. Clipper is dead and VO for some still good but Web and .NET is where it is all at these days.
    Phil McGuinness

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 07:38 #19091

    • wriedmann
    • wriedmann's Avatar


  • Posts: 2685
  • Hi Phil,
    short and precise... but it is what I think also.
    My .NET learning process took years, was hard and sometimes I felt really stupid, but I think I made it (I'm 58 now).
    Wolfgang
    Wolfgang Riedmann
    Meran, South Tyrol, Italy

    www.riedmann.it - docs.xsharp.it

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 17:10 #19093

    • Clipper


  • Posts: 8
  • Thank you all for the answers!

    @dick,
    just to summarize: as I have no code written in VO or Vulkan, I do not need to take care of any elaborate converter, right?
    However, here is the first sentence in the document provided by you:
    "Would you be interested in a product that compiles your existing Visual FoxPro projects into .NET code?"
    This is not my case.
    I just search for a clean start in programing language and I started by investigating the successors of Clipper.

    @Wolfgang, do I understand you right - beside x# I need to invest a lot of time examining and learning .NET libraries?
    How to do this? What to begin with - learning theory of .NET or start writing code or join and supporting some project teams, already working on such a projects?

    What is confusing me generally is where to start?
    I already have installed visual studio code and tried some html and css codes only to learn the syntax of HTML 5.

    What am I asking myself is - where is the application area of x# and who are the competitors of this programming language? Is there a documentation, a user manual which to follow in order to become a x# developer?

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 17:12 #19094

    • Clipper


  • Posts: 8
  • If you choose WPF you may want to use Visual Studio (free for smaller companies in the Community version) as there's no WPF editor in Xide (written by XSharp Development Team member Chris Pyrgas)

    I do not when and how to use WPF and what is the difference in code with WPF and without?

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 17:59 #19095

    • ic2


  • Posts: 1018
  • Hello Michaylov,

    I just search for a clean start in programing language and I started by investigating the successors of Clipper.

    Correct; converters or Fox are basically not interesting for you then. But I provided the info so you have an idea how elaborate the X# project became.

    About WPF: see my long reply, it's one of the 2 UI (Windows) flavours of .Net besides Winforms, while X# also offers the native (VO based) windows, which are, in the background, converted to Winforms.

    It's up to you to decide which form to choose, provided that your application needs forms on a desktop/server at all .

    If you are trying html+css, are you aiming web programs? Because that is a whole different story. Depending on what you want to do with it, you will probably want to use script based languages like PHP or Javascript. On a Windows server you can also use ASP; the "code behind" can be a .Net language like C# and no doubt X# will work too.

    Dick

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 19:07 #19096

    • wriedmann
    • wriedmann's Avatar


  • Posts: 2685
  • Hi Michaylov,
    I'll try to answer step by step:
    - WPF and Windows Forms are two different GUI libraries written by Microsoft in the .NET Framework. Windows Forms is based on the Windows API and uses the GDI calls (graphic device interface), whereas WPF (Windows Presentation Foundation) is written completely from scratch and uses DirectX to paint on the screen - WPF is completely vector graphics and the concepts are nearer to HTML and XML (its graphics language XAML is largely inspired by XML).
    - start and learn the .NET Framework may a hard thing, maybe it is better to buy a book like "C# for Dummies" or any other C# beginners book. For X# there is no such literature as X# is a niche language - see below
    - the market for X# is primarily for people coming from other Xbase languages like Visual Objects, Xbase++, Harbour and VFP, to migrate their applications to the .NET Framework. Personally I like the X# language because it is easier to read than C#, but has the same power - and has a fantastic development team
    Wolfgang
    P.S. you should ask yourself what you would like to do: write Windows GUI programs, write web applications or web services. In my small company we are two that use VO and X#, and two that use PHP to write web based applications
    Wolfgang Riedmann
    Meran, South Tyrol, Italy

    www.riedmann.it - docs.xsharp.it

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 19:52 #19098

    • Terry


  • Posts: 250
  • Hello Michaylov

    You write: "What is confusing me generally is where to start"?

    I tried to address this point in my post in Chit-Chat "Windows Through .Net".

    IMO there are two aspects to learning - one is tackling the theory (little by little) and the second is to write a few programs as you go. There is nothing like getting things to work as expected to give you the motivation to carry on.

    The good news is that there is a direct analogy in the real-world for everything that can be done by the electronics in your pc. Two differences are that the time periods we are talking about: are micro-seconds max in the pc and pc electronic time slicing is discrete (i.e not infinitely variable as in real life). Learn the implications of this and you are halfway there.

    I would say if you can remember your Clipper days maybe you are best trying to build on that using X-Sharp and help you will get here.

    X# is oriented towards business applications, more to the way you you may have been thinking in those far off Clipper days.

    C# (from which X# is derived) is designed for far broader range of Target Applications - basically anything and everything. Documentation for it abounds, but most goes deep quickly making it difficult for the newcomer to follow.

    As you learn, the X# to C# relationship will fall into place.

    Which way to go is a subjective choice only you can make. I would make the point that I think you are more likely to get direct, easily understood help in this X# forum.

    It is a trade-off between learning and time taken to do it.

    Terry

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 15 Jul 2021 23:21 #19102

    • Clipper


  • Posts: 8
  • Thank you guys for your patience and for helping me to find the right way for myself.
    @Terry,
    I really did not understand the half of your statement, p. E. where to find "...Chit-Chat "Windows Through .Net" ?
    Generally my problems with the 2 aspects of learning are first that I am not sure which theory is the best for myself, as there are a lot of programming languages nowadays and second I am not able to set a task for myself in order to "...and the second is to write a few programs as you go". I will just not comment "...direct analogy in the real-world for everything that can be done by the electronics in your pc", as I did not find the connection to the programming.
    @Wolfgang,
    For me it is difficult to find the fine difference and respectively to decide which way to go, regarding: "P.S. you should ask yourself what you would like to do: write Windows GUI programs, write web applications or web services". I guess HTML, CSS & scripting language is easier then X# or C#, however in order to start in any direction, I need a task, a request to do something in order to start realizing it using x# or HTML. ON the other hand, the customer, who will request such a task will expect me to be a professional and to finish the job quick and with quality. What I miss is the teacher, the master, the sifu to take me under his hood and to teach me by giving me some small tasks and correcting me on my way.
    @Dick,
    your statement below is exactly what I miss - the picture of what language is used for what solutions and what are the connections between them:
    "If you are trying html+css, are you aiming web programs? Because that is a whole different story. Depending on what you want to do with it, you will probably want to use script based languages like PHP or Javascript. On a Windows server you can also use ASP; the "code behind" can be a .Net language like C# and no doubt X# will work too."

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 16 Jul 2021 01:29 #19103

    • Sherlock


  • Posts: 36
  • snip[ For me it is difficult to find the fine difference and respectively to decide which way to go, ]
    Which tool and skill for the job.

    snip[ who will request such a task will expect me to be a professional and to finish the job quick and with quality. What I miss is the teacher ]
    This is the issue for sure. I am 65 and old Clipper, still VO as it moves to legacy and new is PHP/Node/CSS etc and say .NET #sharp. Have 5 full web developers and desktop is legacy. My teacher is my developers and there 80 years of web and SQL. Constantly we get work where client choice of price thing it is a screw up. One Wordpress had 27 plugins and now 3. Developers skill vary so much. Be careful of the teacher. They do not know they are not a good teacher or good developer.

    snip[ For me it is difficult to find the fine difference and respectively to decide which way to go ]
    Need a project, fun or money making. The later timelines, budgets and be skilled at deployment, support, billing and security and how many years to learn. I have bought 4 small development companies that were more than 1 man shows and they could not keep it working. Maybe find a team that you have skills they could use and you learn off them. A lot of times you will realise at a certain age it is not worth being in the 21st century business and demands.

    Wish you luck. The world moves so fast now.
    Phil McGuinness

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 16 Jul 2021 05:33 #19105

    • wriedmann
    • wriedmann's Avatar


  • Posts: 2685
  • Hi Michaylov,
    maybe I see it too hard: it took me years and many energies to make the step from Visual Objects to .NET/X#/WPF/MVVM, and I consider myself to be far from mastering it really, even if I think I'm a good VO programmer with many years of experience - I make my living with programming for more than 30 years now.
    Starting at you age a professional programming business and don't know where to go IMHO has too less chances to succeed.
    Your knowledge of Clipper/Dbase is really outdated, and not more a help. The world has really changed a lot, and the changing speed is increasing too. It may sound hard, but to learn a new job in the knowledge industry at your age is simply not possible.
    Wolfgang
    Wolfgang Riedmann
    Meran, South Tyrol, Italy

    www.riedmann.it - docs.xsharp.it

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 16 Jul 2021 09:54 #19106

    • ic2


  • Posts: 1018
  • Hi Michaylov,

    Chit-chat is a forum and Terry is referring to an interesting analogy we wrote to compare programming with some real life situations. The link is:

    www.xsharp.eu/forum/public-chit-chat/2592-windows-through-net

    I think your first question may be: what do I want/need to write? You are talking about customers. What do they want you to write? Or what do you want to write and offer?

    Most new programs nowadays are web based. Languages to write web based programs are not necessarily easier than C#/X# etc. A Windows Pc is more flexible to get things done than a webbrowser.

    You can choose between many languages and asking "which one should I pick" is the same as asking: I want to drive, which car should I buy? Car experts would first ask you: do you drive short distances or long, do you need to bring a whole boot of tools for your work or will it be holiday trips? Even after you have answered that you will probably have chosen between a short range EV and a large petrol SUV, but it's you who have to decide which brand and model to buy, depending on your own likes.

    Given your Clipper backgrounds, there is some advantage in starting with X# especially if your programs are mainly targeted to Pc/servers but also just to learn it a bit. Or C# if you want to start with a book or on line examples, for which there are many more for C#. But indeed, C# is a nightmare with the {} to contain programming blocks. More than once I forgot one and Visual Studio draws a few 100 red lines with supposed errors because of 1 missing }, and then it's hard to detect where. X# doesn't have that problem and it should not be too difficult to start a new WPF or Winforms project, create a window, but some control on it and make the program do something when a button is pressed.

    Even though .Net programming is different than Clipper, knowing how to search a DBF, add records and fill some fields will also help you start in X# .

    Dick

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 16 Jul 2021 15:34 #19107

    • lumberjack
    • lumberjack's Avatar


  • Posts: 706
  • Hi M,

    Well XIDE has some templates of different examples that you can just open and compile.
    If you feel a bit more adventurous in the Article/User contributions I have an article series about Data Driven applications that use Hello World as example, maybe that could get you going to understand the move from Clipper to .NET and X#. First couple of articles were done using Vulcan.NET but the principles stays the same....
    ______________________
    Johan Nel
    George, South Africa

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 16 Jul 2021 16:35 #19110

    • Clipper


  • Posts: 8
  • Thank you, Johan for your reply. Could you provide me with the link to your article series?

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 16 Jul 2021 16:47 #19112

    • ic2


  • Posts: 1018
  • Hello Michaylov,

    Clipper wrote: Thank you, Johan for your reply. Could you provide me with the link to your article series?


    See Articles/User contributions on this site, Johan's article is one of the 3:

    www.xsharp.eu/articles/user-contributions

    Dick

    Please Log in or Create an account to join the conversation.

    Clipper Summer'87 17 Jul 2021 10:12 #19113

    • lumberjack
    • lumberjack's Avatar


  • Posts: 706
  • ______________________
    Johan Nel
    George, South Africa

    Please Log in or Create an account to join the conversation.

    • Page:
    • 1
    • 2