Statement about the deprecation of PascaLigo

About the predicted deprecation of PascaLigo, please read the following statement by GA (founder/CEO of LigoLANG):

"About PascaLIGO
The documentation is broken. This is a bug from the doc website, we are currently fixing it. We do not intend to remove past things that worked, and will obviously not remove PascaLIGO from previous versions.

It is being deprecated.
Starting from V1 (next version), it won’t be part of the compiler any more. We will of course keep the docs and PascaLIGO in older versions. All of this was going to be explained in the next version’s changelog + Twitter announcement, where we communicate all of our changes, as usual. But V1 has been postponed by two weeks. As you can imagine, there are a lot of breaking changes, and will bring with it V1 of LIGO.

Why PascaLIGO is being deprecated?
This was asked to us many times by our funders. The preferred strategy was to focus solely on CameLIGO and even more so on JsLIGO. Similarly, the PyLIGO project is also cancelled for now. The main reasons are:

  • There is a regular feedback that too many syntax is confusing
  • There’s a cost to maintaining extra syntaxes
  • It is better to focus resources, training, documentation on fewer syntaxes to maximize adoption
  • PascalLIGO had very quirky syntax and did not make for a good onboarding language
  • A major reason for why PascaLIGO still had use was the presence of imperative features, which have since then been ported to JsLIGO

Furthermore, we did it in the past for ReasonLIGO a while ago, given the low relative usage. Similarly, our latest poll shows that CameLIGO and JsLIGO are the main choice by far (90%) new projects.
While we historically were against the removal of PascaLIGO, this is a period of bear market, accompanied with budget cuts, and we must focus. More on this last point: major changes are coming on V1, which will significantly improve onboarding and dev experience. Porting them to PascaLIGO will delay it.

We understand this is hard for many users. To help the transition, we will help any project written in PascaLIGO to migrate to JsLIGO.

  • For small projects, it can just be consulting and explaining how things work in JsLIGO
  • For bigger projects, we have some basic tool to migrate PascaLIGO to JsLIGO. It is not neatly packaged as it is unfinished (you can see it with the transpile command of the previous version), but for big projects, we’ll help directly."

Questions and feedback can be shared here and on any LigoLANG social media platform (Twitter, Discord, Telegram, Slack).

2 Likes

“Similarly, our latest poll shows that CameLIGO and JsLIGO are the main choices by far (90%) new projects.” Please show exact statistics with the project names.

We would love to see names of new projects planned to be in the Mainnet soon and written in jsligo. We currently see feedback in community chats - Mad.fish, Mavryk, and Crunchy have an ongoing development of their projects on the PascalLigo. Those are also ‘new projects,’ and they as well create value for the ecosystem.

Development during the bear market is complicated, but with the deprecation of our favorite language, it is even harder. It creates systematical risks for the whole ecosystem: how can we understand which language we can use and be sure that it wouldn’t get deprecated in the nearest future? It also creates problems in risk assessments when you try to build on Tezos and convince investors to invest in building on Tezos.

Deprecating the language also means that our previously open-sourced codebase is almost useless for the new developers of the Tezos ecosystem. That is very sad :frowning_with_open_mouth:

P.S. The process of how it was communicated is just awful. Usually such drastic decions are communicated beforehand, but this was not the case with us.

P.P.S. What products are already in the mainnet and written in the JSligo?

12 Likes

The team at Mavryk Finance is in complete agreement with @MadfishSolutions comments above.

Building in the bear market is complicated, but this decision to deprecate Pascal Ligo without a single discussion or heads up, or time to transition the contracts is not negligence. It almost appears intentional.

The “survey” did not include most dapp teams, but rather seems to have focused on core devs. In fact, all of the DeFi teams were not aware there even was a survey. There is a clear disconnect between core circles, and the passionate teams that together make up the ecosystem. We have over 50,000 lines of code across 22 smart contracts, with 100,000 lines of testing…All in Pascal Ligo. We would also love to have transparency regarding this survey and who it included.

I understand there are benefits for niche codebases that are not the most popular amongst smart contract developers/blockchains (and major drawbacks), but how can you expect to draw developers, teams, and entrepreneurs to build on niche code without giving them a bastion of stability?

This highlights a fundamental problem in the ecosystem regarding risk assessment for investors & teams to support building on Tezos. This decision to deprecate Pascal Ligo, in addition to it’s method of execution, has created a systematic risk for everyone thinking of being involved on Tezos.

8 Likes

Hello @MadfishSolutions can you please share a link to your open sourced contract codebase?

I read in chats that this transpile command does not work as expected. So how will you help directly?

1 Like

This Sunday I will host a special episode of the #BlockchainEvolved show in the Tezos discord ( link to discord event: Tezos Blockchain ) on the topic of the deprecation of PascaLigo. It will be at 8 pm CET / 2 pm EST, audio only.

Please bring your questions here or include them in the google doc.

Will audience members be given a chance to participate?

We are gonna play that by ear and see how things go the day of. With greater planning we can get more addressed in the time we have to work with.

So if you want to make sure your question is addressed add it to the doc and post it here in the Agora. The questions with the most support will be prioritized over those with less.

Google doc link: BlockchainEvolved Show #Ligo questions - Google Docs

4 Likes

Incredibly concerning to read these posts from key ecosystem players like Madfish and Mavryk. It is a bear market, but key basic infrastructure like this should be the primary target of foundation funding. Hopefully the deprecation of PascaLigo can still be reversed. @tezosfoundation @murbard

3 Likes

Here is the recording of the talk. I recommend it to listen to it:

3 Likes

Thank you for this - listening to the complete recording gives good insight helps to clear up things, way beyond the question of PascaLIGO.

My takeaway is that the Tezos ecosystem has dedicated, brilliant engineering while there is a shortcoming of communication and documentation for the developer community, in other words the customers of frameworks such as LIGO.

It appears that there is plenty discussion around onboarding. I want to address that point a little bit.

First, I believe the assumption that Python syntax should be the best choice for beginners is flawed, probably based on its popularity in ML and Data Science which rather is based on particular libraries. Teaching coding to beginners, a Pythonesque entrypoint may sound attractive. However, in my experience, Python"-like" or JS"-like" syntaxes with more or less subtle differences to the canonic language implementations create more problems over time than a completely different syntax. My hypothesis is, that even experienced developers coming from Python or JS are more likely to try out a new language (such as Archetype, or CameLIGO for example) than one that is 90% like the one they already know. Subtle differences tend to create a lot of cognitive load.

In general, developers are diverse, and language preferences reflect that. Therefore, from the viewpoint of the whole ecosystem, it makes sense to offer choice, say, SmartPy, CameLIGO and Archetype, while each is well-maintained and up to date. That is definitely better than having 3 Pythonesque dialects competing based of the flawed assumption.

What is crucial for onboarding? I believe it is a mix of good workshops and accurate, up to date introductory tutorials and code examples. Painless installation and upgrading on Mac/Windows/Linux, working toolsets - that includes keeping an eye on dependencies and 3rd party tools that are relied on, such as faucets (Ghostnet was a big step forward, and apparently there is no speculation on it so far). A public dev roadmap. Well-organised documentation that quickly removes outdated information).

Note that as of today, the majority, if not all LIGO tutorials for beginners are broken because they rely on a step that depends on a JSON file which can’t be downloaded from a particular faucet anymore. I could be wrong but believe that situation persists since September 2022. Before that on the Mac there were Homebrew issues and Docker+VS Code plugin problems. Working around them is not possible for beginners, even if they are self-motivated. They quickly look elsewhere.

I contend it is a huge task to keep all this up to date, given that the underlying technology of Tezos moves so fast. But this issue can be solved providing more resources for documentation.

In other words, what is currently missing is an overall quality management informed “birds eye” perspective. One that makes sure that frameworks, tooling and documentation are kept in sync. Competition, but at the same time good communication and cooperation in the teams that provide frameworks for Tezos smart contract / dApp developers. When I look at Rust / TypeScript / WebAssembly tooling complexity on the immediate horizon, challenges will intensify. Yet I understand from the talk that this a resource issue, not an issue of missing goodwill, so I am optimistic it can be addressed - and solved.

3 Likes

Hello,
Thank you for your feedback.
Regarding the LIGO tutorials for beginners, resources by LIGO or Open Tezos are up-to-date. Those have the best ranking in search engines.
It is always hard to have up-to-date materials when produced by 3rd party. Don’t hesitate to contact us, we can always try to make them updated or removed.

1 Like

Thanks for the reply. OpenTezos is a great resource, and I am learning there a lot.

Please note however that both the LIGO tutorial and Open Tezos LIGO tutorial at this moment, as mentioned above, do not work.

To see this, visit

A. https://ligolang.org/docs/tutorials/getting-started?lang=jsligo in Section 5.2. This does not work because of the fountain method, discussed that before.

B. https://opentezos.com/ligo/deploy-a-contract/ in Section “Deploy”. This does not work either. The ‘for’ seems to be a mistake and it needs explanation or a link to instructions how an account can be created beforehand. The installation section points back to A.

Screenshots:

4 Likes

This will be fixed before next 2 weeks
There is also the full PascalLigo section to change

4 Likes

Cool, thanks for the timeline.

Also I have just published a short up-to-date CameLIGO tutorial that is planned for future workshops and is targeted at creative coding artists / coding beginners.

It goes through the necessary steps starting from scratch (only on Mac for now): https://github.com/crcdng/smart_contract_101_ligo

(I have one for Archetype as well https://github.com/crcdng/smart_contract_101_archetype).

3 Likes

A. MR done : Dev (!2429) · Merge requests · ligolang / LIGO · GitLab

2 Likes

C. There is also a PR merged on Tezos.com about Ligo.
So CI is ok but CD has not run for months :confused:

Still waiting approvals

2 Likes

PR is pushed to production for Tezos.com : solved :white_check_mark:

For OpenTezos : MR is done => Main (!113) · Merge requests · Nomadic Labs - Free resources / opentezos · GitLab
waiting for approval on NomadicLabs’ side :hammer_and_wrench:

4 Likes

It took a month to have a call with the Foundation & Trilitech, which unfortunately led to no progress. Both Madfish & Mavryk Finance expressed our concerns regarding Pascal Ligo’s deprecation, and our wider concerns. They seem to think the only problem is just the code language, and disregarded the wider issues this brought up from all teams such as; retraining devs, explaining how one day they wake up and this occurs with zero communication, explaining this to investors, and how this creates an unstable foundation for building and raising capital in an ecosystem that is already struggling, and more. This also affects the ability for future teams to reuse open source code as it’s all being deprecated, and every now has to build from scratch again. They also refused to revert the decision, and there is still no clear answer how this came to be. Just vague answers and no one taking responsibility.

Quite frankly, given the overall actions of Trilitech and the Tezos Foundation against DeFi, we can’t imagine this is not intentional in some capacity. It’s now 7 weeks later and there is no solution, no direction moving forward, and no strategy for DeFi as we requested in order to understand the future of financial apps on Tezos. Every team is now left on their own to make their own decisions about continuing to build, how, and or even where.

2 Likes

Hey @Marigold what happened with V1? I recall correctly that in February you stated that V1 will be released in the upcoming 2-3 weeks and this will bring a more stable version etc. Meanwhile we have July and no V1.

1 Like

Hi,
We can confirm we are still focusing on JsLigo V1.
You can follow releases (every two weeks) and our updates on Twitter, and ask your question on ligo (Slack, Discord, TG). :slight_smile:

1 Like