<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 13, 2016 at 3:13 PM, Erwin van den Bosch via Lazarus <span dir="ltr"><<a href="mailto:lazarus@lists.lazarus-ide.org" target="_blank">lazarus@lists.lazarus-ide.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <div class="gmail-m_6466552398438861213moz-cite-prefix">Although I use Free Pascal/Lazarus a
      lot (because we have a lot of existing pascal code) I think C++
      and some GUI framework like QT might be a better option. C/C++ is
      the number one used programming language. C/C++ code is much more
      portable to other systems. There are more compilers. QT has a very
      nice IDE (QT Creator) and is available for Windows, Mac and Linux.
      Nobody is using Pascal these days. So why learn it?<br>
      <br>
      I'm not a big fan of the RAD development way any more. (I was
      years ago). The problem is that you should separate your business
      logic and the GUI. With Delphi like RAD it's very difficult to do
      that. (but it is possible) Everything is coded in events and
      connected to database aware GUI controls. (In the case of a
      database application)<br>
      Another problem with the RAD way is that a lot is stored in forms
      (.lfm files) and it's difficult to see/notice changes to those
      files. They can be very big and it's difficult to see if some
      control is missing, for example, an event or so. The Lazarus IDE
      does frequently change the properties of controls on the form. For
      example the width and the height properties frequently change with
      no reason as it seems. As specially when you do development on
      both Windows and Linux. That makes tracking code changes (and so
      potential new bugs) not very easy.<br>
      <br>
      Regards,<br>
          Erwin<br></div></div></blockquote><div><br><br><br></div><div>I consider QT a very big trap . Please be careful about its license if you want to develop commercial software and also if you want to teach computer programming to the students that they will work for commercial companies .<br><br><br></div><div>I am seeing many student projects in , especially , Github , which I consider a total disaster for the students because over time , when they start as a worker in a commercial company , they will not be able to use their knowledge if the company does not buy a commercial license from QT owner .<br><br><br></div><div>Trap is the following : QT is using LGPLv2 license in some parts . This seems to be a good choice , BUT , the same sources are using in some parts LGPLv3 ( Three ) license . Since software is developed or contributions accepted by QT owner , this LGPLv3 license is NOT compulsory , means they can have it LGPLv2 license .  Really , I consider GPLv3/LGPLv3 licenses not suitable for a service to humanity as a whole because they are very hostile to commercial companies . If any LGPLv3 part is used , is only a disaster for all of the other software . In QT , this fact is a seemingly hidden trap .<br><br><br></div><div>I am not a commercial person . I am a retiree of the Government of Turkey from a State University .<br></div><div>I have attempted to a  business to produce furniture , it turned to be a disaster . I decided that business activities is not for me . I am trying to produce software to supply it to market just to obtain money at least to support its maintenance . If more money , there may be possibility to produce more software .<br><br><br></div><div>I know that software development is an extremely costly process . To try to enforce commercial companies to make their software open source unconditionally , really it is not a friendly action .<br></div><div>Or trying to entrap into a situation that they will be enforced to buy a software by tricking them in any way .<br><br><br><br></div><div>It is not my business to discuss the issues about QT , but it is necessary to be at least friendly to the people . My trouble is that point . To expect that everyone ( especially students ) will know  details of the licenses and their legal consequences is not very realistic . Here , main responsibility lies on the schools and their instructors . A huge number of student projects ( in order of many ten thousands ) even does not contain any single sentence about their license . With this structure , no one of the students in job search can use their projects to show their achievements because most of the project copyrights are belong to their universities . When a software does not contain any explicit license about what can be done with it , its rule is with respect to copyright laws : You can NOT touch to this ! <br></div><div>So simply .<br><br><br></div><div>Since I have mentioned the above issue about student projects , I want to also mention the following disastrous issue about them :<br><br><br></div><div>Quality of projects is so low that ( even in best universities of the world ) , the only my feeling was a big disappointment and sorrow . It is not necessary to each everything listed in a manual of a programming language , but teach a subset that , at least the student can write a program which can be used in a production environment with its inherent quality . It is not important of its size also , but its quality .<br></div><div>Quality of software is the most important feature . Use knowledge found in "Software Engineering" books in a way that it can be used even in an introductory course .<br><br></div><div>A starting point may be <br></div><div><br></div><div><br><a href="https://en.wikipedia.org/wiki/Software_development_process">https://en.wikipedia.org/wiki/Software_development_process</a><br><br><br></div><div>Instead of writing fifty useless programs , allow the student to write five quality programs written in such a way that it can be used in a commercial product with its full development steps defined in the above page ( including its copyright and license information ).<br><br><br></div><div>This point should also be considered with respect to size of software : Perhaps small , but in sufficient quality .<br></div><div><br> <br></div><div>Thank you very much .<br></div><div><br><br></div><div><br></div><div>Mehmet Erol Sanliturk<br></div><div><br></div><div><br><br></div><div><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF"><div class="gmail-m_6466552398438861213moz-cite-prefix">
      <br>
      Op 12-10-2016 om 20:10 schreef Adrian De Armas via Lazarus:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Hello everyone,
        <div>I am a professor of "introduction to programming".
          Currently we are working with matlab and c.</div>
        <div><br>
        </div>
        <div>Today I had a meeting about doing the module more
          interesting to the students. Currently we teach algorithms
          making console applications and usually I receive questions
          like "Why don't we do something more modern?". </div>
        <div><br>
        </div>
        <div>I recommended that we should use Pascal in General and
          Lazarus in particular to teach how to create rich GUI
          Applications and to my surprise the idea was well recieved.
          Now I have to make suggestions about how to prepare the module
          starting from zero. Students do not know how to program and I
          need to include subjects as: variable declaration, operations,
          if, while, for, functions and procedure, arrays and
          multidimensional arrays.</div>
        <div><br>
        </div>
        <div>I would love to know what you think about making the
          transition from console to GUI.</div>
        <div>This is an exciting opportunity I'd love to make it right.</div>
        <div><br>
        </div>
        <div>Regards</div>
      </div>
      <br>
      <fieldset class="gmail-m_6466552398438861213mimeAttachmentHeader"></fieldset>
      <br>
    </blockquote>
    <p><br>
    </p>
  </div>

<br>--<br>
______________________________<wbr>_________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus-ide.org">Lazarus@lists.lazarus-ide.org</a><br>
<a href="http://lists.lazarus-ide.org/listinfo/lazarus" rel="noreferrer" target="_blank">http://lists.lazarus-ide.org/<wbr>listinfo/lazarus</a><br>
<br></blockquote></div><br></div></div>