Recent

Author Topic: What are we missing?  (Read 46469 times)

Greeniemax

  • Newbie
  • Posts: 5
What are we missing?
« on: October 18, 2017, 07:24:35 am »
Lazarus is a better tool compared to scripting languages like Python and it's even better than Java because Java needs JVM and does not naively support GUI.

Lazarus is far lighter to install and work on even on Raspberry Pi, produces EXE or native applications for Mac or Linux with almost 0 changes to the original code.

You can make complete Applications in it.

I agree I was a Delphi programmer long back in 1992 - 2006, when I shifted to C# as Delphi started supporting CLI or .NET, which was annoying for me, I had installed Lazarus many times but when it came to writing an application I never used it for some reason, this is the first time I used Lazarus and I found it really supporting everything, yes editor isn't really very good and there are small bugs but that is same with any other tool.

I don't understand one thing, when you could do similar or better Application in Lazarus why is Python popular? When you can do more and better in Lazarus?

Handoko

  • Hero Member
  • *****
  • Posts: 5122
  • My goal: build my own game engine using Lazarus
Re: What are we missing?
« Reply #1 on: October 18, 2017, 08:07:47 am »
Users won't use the software simply because it is better. Lots of things needed to be put in to consideration. I think Python is famous and widely used because it is easy to embedded to other software.

Quote
Python has been successfully embedded in many software products as a scripting language, including in finite element method software such as Abaqus, 3D parametric modeler like FreeCAD, 3D animation packages such as 3ds Max, Blender, Cinema 4D, Lightwave, Houdini, Maya, modo, MotionBuilder, Softimage, the visual effects compositor Nuke, 2D imaging programs like GIMP, Inkscape, Scribus and Paint Shop Pro, and musical notation programs like scorewriter and capella. ... It has also been used in several video games ... LibreOffice includes Python and intends to replace Java with Python.
Source: https://en.wikipedia.org/wiki/Python_%28programming_language%29

Those names above, which I highlighted bold are famous software for designers. I do graphics using Blender, GIMP and Inkscape, I wish I can write my own plugins for them using Python.

Quote
Large organizations that make use of Python include Wikipedia, Google, Yahoo!, CERN, NASA, and some smaller entities like ILM, and ITA. The social news networking site Reddit is written entirely in Python.
Source: https://en.wikipedia.org/wiki/Python_%28programming_language%29

The list above shows Python is supported by large organization. According to the link below, supportive community and great corporate sponsors contribute the popularity of Python:
https://www.kdnuggets.com/2017/07/6-reasons-python-suddenly-super-popular.html

Yes, Lazarus/FPC/Pascal has large community too. But the problem is, they constantly fight each others rather than working together. Pascal users often quarrel which is better: Lazarus, CodeTyphon or Delphi. Any downfall of them is generally bad for Pascal community.

--- just my 2 cents ---

mai

  • Full Member
  • ***
  • Posts: 133
  • truther
Re: What are we missing?
« Reply #2 on: October 18, 2017, 08:32:19 am »
when you could do similar or better Application in Lazarus why is Python popular? When you can do more and better in Lazarus?

I use both python & Pascal and though py IDEs often have fewer features or are annoying like KDevelop I encounter too much breakage in Pascal to be content with it. I mean I accept a lil setup work and all, but I dont like unpredictability.

Delphi had a proper dashboard where all paths and binaries could be monitored while Laz lets you goof around with control-files yourself. I mean where is a GUI when you need it?


munair

  • Hero Member
  • *****
  • Posts: 798
  • compiler developer @SharpBASIC
    • SharpBASIC
Re: What are we missing?
« Reply #3 on: October 18, 2017, 09:02:02 am »
Another reason is bindings. Python comes close to C in this respect. When there are bindings for C, most likely there are also bindings for Python. GTK and Qt are two examples, which is why Python is used a lot in Linux next to C.

Also, when big companies start using a (scripting) language on a large scale, it usually becomes popular. This is true for Python and Java.

Pascal in this respect was pretty much put aside in the late 80s and 90s. It was considered an educational programming language (which was the purpose of its design in the first place) less suitable for professional programming, despite its popularity during the 80s.

Pascal (and Lazarus/Delphi) could have been where C and Python are when companies would have made the other choice.
keep it simple

Thaddy

  • Hero Member
  • *****
  • Posts: 14159
  • Probably until I exterminate Putin.
Re: What are we missing?
« Reply #4 on: October 18, 2017, 09:10:48 am »
Usually (and I did quite a few) creating a Pascal binding for a C library takes less than a day, often just some effort and just a few hours including tests. FPC has tooling for that.
e.g. the C preprocessor (to resolve any macro's) + h2pas and h2paspp. But it takes a programmer that is just as proficient in C as in Pascal to resolve some quirks. I consider it basic to intermediate. It does not belong to rocket science.
« Last Edit: October 18, 2017, 09:14:18 am by Thaddy »
Specialize a type, not a var.

mai

  • Full Member
  • ***
  • Posts: 133
  • truther
Re: What are we missing?
« Reply #5 on: October 18, 2017, 09:13:55 am »
the great breakthrough of Pascal will come with the p6 compiler version, the p-code machine ver. 6

then Ruby and JS will disappear from the market !

Thaddy

  • Hero Member
  • *****
  • Posts: 14159
  • Probably until I exterminate Putin.
Re: What are we missing?
« Reply #6 on: October 18, 2017, 09:19:20 am »
FYI: FPC can already transpile to JS.  O:-) :P
Specialize a type, not a var.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
Re: What are we missing?
« Reply #7 on: October 18, 2017, 09:28:26 am »
FYI: FPC can already transpile to JS.  O:-) :P

No it can't. There is a separate converter Pas2js.

Thaddy

  • Hero Member
  • *****
  • Posts: 14159
  • Probably until I exterminate Putin.
Re: What are we missing?
« Reply #8 on: October 18, 2017, 09:43:54 am »
From what I have seen at Pascon it is not far away... Pas2js can be considered a transpiler, can it? (it is just not a full back-end ... yet...)
From what I tested with it, it has grown up the last few months.
« Last Edit: October 18, 2017, 09:46:43 am by Thaddy »
Specialize a type, not a var.

schuler

  • Full Member
  • ***
  • Posts: 223
Re: What are we missing?
« Reply #9 on: October 18, 2017, 10:04:51 am »
? Maybe each one of us should make video tutorials/marketing about our own projects with free pascal/lazarus? I think that my neural networks written in pascal are 6x faster than their equivalent written in javascript. In another front, so far, pascal seems a perfect glue from application to parallel OpenCL code. How many people knows about this? Only one? myself? :'( I think that youtube videos could be a good marketing tool.

Another 3 things:
* a more potent macro feature (C style) for pascal would rock.
* allowing "inline" to work with functions containing asm blocks would also be wonderful.
* more of us understanding the compiler source code would also help

 :) May the force be with pascal :)

munair

  • Hero Member
  • *****
  • Posts: 798
  • compiler developer @SharpBASIC
    • SharpBASIC
Re: What are we missing?
« Reply #10 on: October 18, 2017, 10:11:28 am »
? Maybe each one of us should make video tutorials/marketing about our own projects with free pascal/lazarus? I think that my neural networks written in pascal are 6x faster than their equivalent written in javascript. In another front, so far, pascal seems a perfect glue from application to parallel OpenCL code. How many people knows about this? Only one? myself? :'( I think that youtube videos could be a good marketing tool.

Another 3 things:
* a more potent macro feature (C style) for pascal would rock.
* allowing "inline" to work with functions containing asm blocks would also be wonderful.
* more of us understanding the compiler source code would also help

 :) May the force be with pascal :)
Any language with a compiler is faster than an interpreter / scripting language. But FPC is a damn good compiler.  8)
keep it simple

Thaddy

  • Hero Member
  • *****
  • Posts: 14159
  • Probably until I exterminate Putin.
Re: What are we missing?
« Reply #11 on: October 18, 2017, 10:14:58 am »
Another 3 things:
* a more potent macro feature (C style) for pascal would rock.
* allowing "inline" to work with functions containing asm blocks would also be wonderful.
* more of us understanding the compiler source code would also help
1. Yes! plz
2. Not easily possible (also not in C) The compiler governs the registers, not the asm blocks, during inlining. C often ignores inline in such cases, just like FPC: inline is a hint, not a must to the compiler.
3. Education: FPC has a pretty good to understand architecture, but compiler engineers have studied the subject. Not for end-users.
« Last Edit: October 18, 2017, 10:16:38 am by Thaddy »
Specialize a type, not a var.

munair

  • Hero Member
  • *****
  • Posts: 798
  • compiler developer @SharpBASIC
    • SharpBASIC
Re: What are we missing?
« Reply #12 on: October 18, 2017, 10:29:59 am »
3. Education: FPC has a pretty good to understand architecture, but compiler engineers have studied the subject. Not for end-users.
Indeed.
keep it simple

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
Re: What are we missing?
« Reply #13 on: October 18, 2017, 11:05:19 am »
From what I have seen at Pascon it is not far away... Pas2js can be considered a transpiler, can it?

I don't know, but my point was that it is an effort outside the core compiler.

Quote
(it is just not a full back-end ... yet...)
From what I tested with it, it has grown up the last few months.

There have almost been daily fcl-passrc testing, so that raises expectations. I've no interest in js at the moment, so I haven't checked deeper. The first thing I would check though would be dialect support.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
Re: What are we missing?
« Reply #14 on: October 18, 2017, 11:07:27 am »
* a more potent macro feature (C style) for pascal would rock.

You can use cpp. Just preprocess all your sources with it before feeding it to FPC :-)

And of course inline functions are nearly hygienic macros which cover a lot of the use cases.


 

TinyPortal © 2005-2018