Recent

Author Topic: FPC vs C#  (Read 45505 times)

hinst

  • Sr. Member
  • ****
  • Posts: 303
Re: FPC vs C#
« Reply #30 on: July 04, 2014, 08:58:47 pm »
I currently work on two commercial projects, the first one is written in Delphi; the second is a web server written in Free Pascal; so I actually use Pascal for production code while I still can. However I've got a feeling that I will have to move on eventually.

I like Pascal for two main reasons: the first is: I am lazy; learning new things takes effort, and currently I am most proficient with Pascal; although I know C#, but not as good as Pascal & Free Pascal
The second is: I like performance. Object Pascal is faster than C#

Finally, my second project is supposed to run on Linux. Guess why? Because customer does not want to pay for Windows... So to use C# for the second project I would have to deal with Mono. Which requires learning new things again. And I got the impression that Mono isn't really reliable in some ways
Too late to escape fate

kapibara

  • Hero Member
  • *****
  • Posts: 656
Re: FPC vs C#
« Reply #31 on: July 05, 2014, 02:13:47 am »
Downloads on SourceForge indicate that FPC/Lazarus popularity is going up. And most downloads are for Windows.

Windows aside, is there any cooler RAD IDE for Linux than Lazarus? (And MS VisualStudio is withheld from that platform). No? Linux dominate the server market and is not going away. Plus some millions of Linux desktop users. Will we see FPC/Lazarus become the top choice for Linux development, leaving C# behind in this area?
« Last Edit: July 05, 2014, 04:08:59 am by kapibara »
Lazarus trunk / fpc 3.2.2 / Kubuntu 24.04 - 64 bit

Leledumbo

  • Hero Member
  • *****
  • Posts: 8835
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: FPC vs C#
« Reply #32 on: July 05, 2014, 08:29:13 am »
I find it frustrating, actually, when I am asked about my language of choice, and people have this view that FP is not a serious language and seem to have an unconcious bias about it being like Visual Basic or something. Actions speak louder than words and once they see my software they realise there must be more to it to what their school lessons have had them believe, but still, its a hurdle I have to jump every time. Examples:

"Pascal? Oh, that's an old language. I've not heard of anyone using that for 20 years?", or
"Pascal, isn't that just for teaching?" or
"Pascal? That isn't very object orientated?" or
"Pascal? Do you need an interpretor for that?" and so on.

The most hillarious:
Once some one whispered to me: "How does it feel to program using a death language?"
Be strong, I've managed to spread the power of Pascal to several employers (during interview or other occasions). Even if they say no one is using Pascal anymore, simply showing Projects using Lazarus / Lazarus Application Gallery wiki article is enough to impress them. The last one I just show an Android app communicating through web service and sending SMS. As a PHP developer, the employer seems amazed.
And I got the impression that Mono isn't really reliable in some ways
Just try deploying a .NET app over several clients. I've had a big headache:
  • Client's .NET framework version isn't always compatible with mine
  • 32-bit and 64-bit platform affects how .NET exe runs, you may get trouble running .NET app calling native code if you don't know the required post steps
It all happens on my about-to-leave company, which uses Express editions of Visual Studio to develop things (silly, for a world level company, they don't want to buy us the Ultimate version). The 2nd part really bugs me, because it requires additional step after compilation, and when it's done you can't debug the exe anymore (the OS given is Windows 7 64-bit, but the app calls 32-bit dll). Mono as .NET open source implementation, I believe will suffer the same deployment problem.
Downloads on SourceForge indicate that FPC/Lazarus popularity is going up. And most downloads are for Windows.
Other OSes (at least Linux) provide package managers where most users download things from.

hinst

  • Sr. Member
  • ****
  • Posts: 303
Re: FPC vs C#
« Reply #33 on: July 05, 2014, 12:50:49 pm »
Windows aside, is there any cooler RAD IDE for Linux than Lazarus? (And MS VisualStudio is withheld from that platform). No? Linux dominate the server market and is not going away. Plus some millions of Linux desktop users. Will we see FPC/Lazarus become the top choice for Linux development, leaving C# behind in this area?
Java with Eclipse IDE & Intellij IDE and PHP seem to hold this ground. Java has Spring Framework; PHP is widespread. Both have automatic memory management, and the developers are like "releasing allocated resources? not my problem"
Some old-school developers use C++ & Qt & Boost on Linux
Too late to escape fate

avra

  • Hero Member
  • *****
  • Posts: 2584
    • Additional info
Re: FPC vs C#
« Reply #34 on: July 06, 2014, 12:12:32 am »
...find some lib or framework or tool/modeler/codegen for C/C#/Java but not for any Pascal flavor. All the initial advantage is lost and I have to waste time on something that non-Pascal developers don't have to.
I'm clear about libs and frameworks.
But could you please make an example, of an actual missing tool/modeler/codegen?
Not generally speaking of something missing. More like Pascal support in existing products is missing because Pascal is not mainstream.

Many more, but out of my head here are few...
Matlab Coder generates C and C++ code but not Pascal code (to be fair there is Matlab Simulink PLC Coder which generates IEC 61131-3 Structured Text - which we would call Pascal, but it has a different purpose). Many Fuzzy Logic and Neural Network tools/codegens mostly support Java. Some support C/C++/C# but none supports Pascal. I then have to convert the code, or create something similar from scratch in Pascal, so my productivity suffers. I am not ranting. I am just trying to explain what you have to live with when you embrace Pascal.

I will now mention some nice tools that support Pascal because someone might find it useful...
SciTools Understand, Sparx Enterprise Architect, Gentleware Poseidon, Peganza Pascal Analyzer, Source Code 2 Flowchart
« Last Edit: July 06, 2014, 12:14:30 am by avra »
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

Paul Breneman

  • Sr. Member
  • ****
  • Posts: 290
    • Control Pascal
Re: FPC vs C#
« Reply #35 on: July 06, 2014, 12:33:58 am »
I've started adding projects to http://ctrlpascal.com/ (just two so far) where I hope to show simple C, Python, and Pascal tools and source code for different engineering projects.
Regards,
Paul Breneman
www.ControlPascal.com

BeniBela

  • Hero Member
  • *****
  • Posts: 958
    • homepage
Re: FPC vs C#
« Reply #36 on: July 06, 2014, 12:38:21 am »
Downloads on SourceForge indicate that FPC/Lazarus popularity is going up. And most downloads are for Windows

You cannot say that from the downloads alone

That could just mean that there are more people on the Internet

You need compare the download counts to the average counts of all compiler projects



(Just like when you had a investment in the stock market, and you made 20% profit last year, it was a crap investment, because the market gained 30%)


Also, I have no idea where the red lines comes from

kapibara

  • Hero Member
  • *****
  • Posts: 656
Re: FPC vs C#
« Reply #37 on: July 06, 2014, 03:12:51 am »
@BeniBela, yeah you're quite right. I should have said that downloads indicate that users are increasing instead.

The red line was drawn by me, extrapolated from successive higher tops. Could have used the recent bottoms instead, but then the line would point more up so this is kind of conservative.

Lazarus trunk / fpc 3.2.2 / Kubuntu 24.04 - 64 bit

HexNihilo

  • New Member
  • *
  • Posts: 11
Re: FPC vs C#
« Reply #38 on: July 06, 2014, 12:01:51 pm »
Hello,

it's been a while. I abandoned Lazarus at least 2 years ago (no RichText Grid, incomplete Rich Edit and bugged,..., Win 64 bugs, unavailable Cocoa...). I hesitated between C# (and mono), Java and Qt/C++.  I finally chose Qt/C++ because it is a real portable environment (such as Java but I prefer compiled code).

But I follow current (and further) developments of Lazarus. Its use should be clearly advantageous... Unfortunately, it is not. Probably a lack of resources and an excessive mass usage of Delphi source code (Win32).

So Lazarus/FPC - Qt/C++ is definitely "the" game for me. Until the day when I am able to efficiently code the same GUI project in Win64, gtk2 (gtk3!) and Cocoa... with Lazarus

Regards.
« Last Edit: July 07, 2014, 09:49:40 am by HexNihilo »

motaz

  • Sr. Member
  • ****
  • Posts: 495
    • http://code.sd
Re: FPC vs C#
« Reply #39 on: July 07, 2014, 04:20:43 am »
I think FPC/Lazarus should be taken as system language and as system utilities development choice, because there is a short in this area. Google has failed to introduce their Go language, and people are leaving C, C++ because they are too old and start to losing ground for new comers, for example Apple is leaving Objective C to Swift, and Canonical apparently is moving to Python for desktop and utilities software. I think FPC/Lazarus will be good choice if some big company adapted it in this area.

Deepaak

  • Sr. Member
  • ****
  • Posts: 454
Re: FPC vs C#
« Reply #40 on: July 07, 2014, 04:53:42 am »

Have a look at the tiobe index of july Pascal is no-where in top 20 list,  even delphi has managed to hold its position. I cannot get why this happend. Everything is good with pascal but this is not meant for pascal. It deserves a better position.
Holiday season is online now. :-)

motaz

  • Sr. Member
  • ****
  • Posts: 495
    • http://code.sd
Re: FPC vs C#
« Reply #41 on: July 07, 2014, 04:55:13 am »
I have been using Java for 3 years for my telecommunication projects, which relies mostly in Web services, but for desktop applications I prefer FPC/Lazarus.
If you compare big desktop projects written in FPC/Lazarus with big desktop application that written in Java, for example Lazarus itself and NetBeans, FPC/Lazarus developed application will be more faster, light, and consumes less resources. In my Core 2 Due laptop, NetBeans needs about 25 seconds to start, if you close it and start it again, it needs about 15 seconds, while Lazarus needs only about 4 seconds in the same machine. For memory consumption, NetBeans and it's Java virtual machine consumes about 600 Megabytes of RAM, while Lazarus consumes only 37 Megabytes. I have been using NetBeans since version 7.1, and now I'm using version 8, there is a noticeable delay in every new version of it, while Lazarus IDE is still hold the same speed, .Net/C# desktop applications are even worse, VS (I assume it has been written using C#) make me think my laptop is crap and I should threw it.

In my opinion and depending on that comparison FPC/Lazarus is good choice for large desktop applications.

HexNihilo

  • New Member
  • *
  • Posts: 11
Re: FPC vs C#
« Reply #42 on: July 07, 2014, 09:19:23 am »
Hello,

Quote
If you compare big desktop projects written in FPC/Lazarus with big desktop application that written in Java, for example Lazarus itself and NetBeans, FPC/Lazarus developed application will be more faster, light, and consumes less resources.
Yes,  that's true ! Lazarus/FPC are more than technically genial.

Quote
In my opinion and depending on that comparison FPC/Lazarus is good choice for large desktop applications.
I do not share this view : Lazarus is  cruelly short of high-level visuals components. All my projects use Richtext Format : Richtext Edit, Richtext Grid and Richtext reports. With Qt, it is very well and easy managed. With Delphi, TMS Firemonkey's components (but no Linux support and I hate Firemonkey approach)... And with Lazarus ? No solution is envisageable to use a comprehensive Richtext approach  (Edit->Grid->Report).  It is frustrating ! :-[

Lazarus is really technically coherent... But Lazarus Team must build modern and sophisticated components to become an important platform for the development of advanced GUI applications... And success will only come.

Regards.
« Last Edit: July 07, 2014, 10:11:10 am by HexNihilo »

Blaazen

  • Hero Member
  • *****
  • Posts: 3241
  • POKE 54296,15
    • Eye-Candy Controls
Re: FPC vs C#
« Reply #43 on: July 07, 2014, 10:40:32 am »
@ HexNihilo

I personally didn't ever use any RTF component in Lazarus but I remember some recent and older threads and there were 2 - 3 third party RTF components around. I have no idea how good they are (how good they work on GTK2 and Qt, how they licensed). No one of them was suitable for you?
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: FPC vs C#
« Reply #44 on: July 07, 2014, 10:51:17 am »
Lazarus is really technically coherent... But Lazarus Team must build modern and sophisticated components to become an important platform for the development of advanced GUI applications... And success will only come.
Sorry to be boring - you may well have a point but you do know that you can actually help to get more/better components into Lazarus by helping submit patches? Success will only come if contributions keep coming - from existing as well as new team members.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

 

TinyPortal © 2005-2018