<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">This discussion walked too much about the tech which i don`t think is the case.<div><br></div><div>But JuhaManninen had said so goodly: </div><div><br></div><div>"</div><div><br></div><div><span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 17px; ">The fact is that FPC / Lazarus is an almost unknown niche language / environment. I am studying information technology and programming in a university of applied sciences and there nobody knows about FPC or Lazarus, not even the teachers. Everybody knows about C, C++, Java, Eclipse, .NET, C#, PHP, Python, sh scripts, Lisp, even Haskell, but not about FPC or Lazarus.<br>If those people don't know, it means nobody knows.<br>Comparing FPC / Lazarus directly with Java / Eclipse and saying they are equal is not a balanced comparison. You ignore that Java has millions of developers while FPC / Lazarus only has few desperate geeks (like myself). <img alt=":)" title="Smiley" class="smiley" style="vertical-align: bottom; " id="12ff24b4-a467-436c-b2f9-1cd27b387506" height="24" width="20" apple-width="yes" apple-height="yes" src="cid:C057A764-CB35-488D-B631-EAB202D29038"><br><br>Why is it so? Another fact is that FPC / Lazarus would deserve better.<br>As a comparison: why is PHP so popular and still gaining popularity? The language itself has nothing exciting. It is a dynamic language and should not be suitable for big projects, yet big and high-quality projects like Drupal and Zend have been developed with it.<br>PHP's secrets are :<br>- ease of deployment<br>- ease of usage<br>- good documentation (see <a href="http://php.net">php.net</a>)<br><br>FPC libs are documented somehow, LCL not so well. Even the documented things are difficult to find.<br>One problem are the "black holes" in the libraries, most notably the container libraries. Every decent programming environment today has a well structured, well documented (generics) container library. FPC / Lazarus has not. Instead it has some competing containers in FCL and LCL, and some generics containers which have some kind of beta status. For example there are associative hash maps in many places (no generics ones) but nobody knows about their usage.<br>This is like directly from early 1990's.<br><br>How to improve things:<br>- Better container lib.<br>- Better documentation.<br>- Easier installation.<br>- Publicity! This would be the most important now. The other parts are in a decently good condition. <br> Successful projects have a public relations side-project, advertising themselves somehow. Product releases are one way to get free advertising. Thus it is very bad for publicity that Lazarus has releases so seldom. A product release is always mentioned in some programming site, read by potential users. Without releases this looks like a dead project.<br><br>I think CodeTyphon has good goals to solve some of these problems. I don't know how well they did it, I honestly have never tried it yet.<br><br>Garbage collector in FPC is a bad idea IMO. Compiled binary code, manual memory management, reference counted strings and a clear syntax make up a unique combination.<br>What are the practical alternatives when you want tight code without garbage collection? They are C and C++.<br>Often people are afraid of memory problems because they have struggled with C++. They think the problems were caused by memory management while in fact they were caused by C++ syntax and features.<br>In school I had to make string class with overloaded "=" and "+" operators using C++. Even with that "simple" class I had serious memory problems (crashes and leaks). Using Object Pascal I could do a class with similar complexity without memory problems.<br>I would say in 99% of cases the memory allocation / release is easy and has no issues when the objects' ownership is well defined.<br>The remaining 1% needs some effort. There was an issue with Lazarus where a garbage collection would have helped:<br> #18506: access violation when switching designer/lfm source<br>but that was really the only bad one I have struggled with.</span></div><div><font class="Apple-style-span" face="Verdana, Arial, Helvetica, sans-serif"><span class="Apple-style-span" style="line-height: 17px;"><br></span></font></div><div><font class="Apple-style-span" face="Verdana, Arial, Helvetica, sans-serif"><span class="Apple-style-span" style="line-height: 17px;">"<br></span></font><div><br><div><div>Em 13/02/2012, ās 14:28, Reinier Olislagers escreveu:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On 13-2-2012 17:24, Everton Vieira wrote:<br><blockquote type="cite">I found this:<br></blockquote><blockquote type="cite"><a href="http://forum.lazarus.freepascal.org/index.php/topic,13754.msg86355.html#msg86355">http://forum.lazarus.freepascal.org/index.php/topic,13754.msg86355.html#msg86355</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">But not sure if you referred this.<br></blockquote><blockquote type="cite"><br></blockquote>Yep, that's the thread I was talking about...<br><br>Regards,<br>Reinier<br><br><br>--<br>_______________________________________________<br>Lazarus mailing list<br><a href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus<br></div></blockquote></div><br></div></div></body></html>