Parasol VS go

Compare Parasol vs go and see what are their differences.

Parasol

Testing web apps in Smalltalk using Selenium WebDriver. (by SeasideSt)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Parasol go
2 2,075
31 119,718
- 0.7%
5.9 10.0
2 months ago 4 days ago
Smalltalk Go
MIT License BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Parasol

Posts with mentions or reviews of Parasol. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-11.
  • Pharo 11
    10 projects | news.ycombinator.com | 11 May 2023
    IMO it's a good tool for web scraping. The reason: you can do web scraping with Parasol (i.e. Selenium [1]) and then if you need visualization tools then you can immediately use Roassal [2]. The thing is: Pharo and the fact that it's more GUI-oriented than other programming languages, allows for data visualization a bit easier.

    Another use-case is: open-source software where you want to encourage users to just open up "the damn code engine" and hack straight into it, seeing it change on the fly. Like, can you just right click in Windows on a pixel and change the code that underlies it? In Pharo you can! Commercial parties would find this horrible, but it's amazing for full open-source software.

    For web apps, B2B works quite well. B2C, I see scalability issues.

    [1] https://github.com/SeasideSt/Parasol

    [2] https://github.com/ObjectProfile/Roassal3

  • Pharo 10
    7 projects | news.ycombinator.com | 5 Apr 2022
    ```

    As you can see, I've hacked the _: to be a separator of some sorts, but what it actually is, is an argument of a message. You can do all kinds of fun stuff with this. See [8].

    8. When you overwrite #doesNotUnderstand then you can inspect the message and its arguments. So whether you send Object1 a:arg1 veryImportant:arg2 message:arg3, then you can inspect those arguments. In the case above, this means you can also inspect _:arg1 _:arg2 or _:arg1 _:arg2 _:arg3 ... _;argN. In other words, you can deal with variable arguments and it doesn't matter what they're called. Because of this, it's easy to create a simple DSL, if you need another separator, then simply add one. You have a lot of characters at your disposal that are quite unique [4]. I figured that out by using by using point (2) and just looking around in the environment.

    __Web Development__

    9. Seaside is capable of live and dynamic updating. MOOCs won't tell you this because it requires using Seaside quite differently. In short, the pattern that I see used at my work is by having server-side rendered HTML that has designated blocks as callbacks. So when you send your server-side rendered HTML, those callback blocks will transform itself into a jQuery GET/POST request. Pharo writes the jQuery for you. We also use React, but I haven't gotten around to it how it's used, I'm fairly sure we don't use anything like Redux.

    10. In terms of testing, it's relatively easy to write tests. As with Go, it's all included and you're ready to test! Also note: if you want to use Selenium tests, you can use Parasol [5], it's quite easy to use.

    11. The following concepts are not explained well, so I'll do it: Seaside heavily uses what we'd call middleware in NodeJS (filters in Seaside). In NodeJS/Express we also have a request object that exists during the lifetime of a request. In Seaside this is called a dynamic variable (WADynamicVariable is the class).

    __Stuff I wrote out in the open__

    12. I've been working on refactoring i18n in Seaside [6]. I currently find the approach Pharo uses the nicest approach, which is something along the lines of:

    'You have some string that needs translation in your web app' SeasideTranslated

    When you want to export a catalog file of all the strings you want to translate, then you send exportCatalog new exportCatalog and it will look through the whole image and find every tagged string and export it into a catalog (.pot) file that you can edit with POEdit (a free Mac app [7]).

    13. I wrote a simple animation that shows the definition of sin and cos [8]. Most of the code is shown in that video, IMO it gives a good enough sense how to use it.

    __Bottom Line Thoughts__

    14. I think Pharo is a production-ready language for SaaS apps where you can easily scale by adding instances. I am not sure if it'd be production-ready for consumer facing web apps with many concurrent users.

    15. It's an amazing language to create desktop applications for.

    16. The debugger capabilities are awesome and there's active research on it. Time travel debugging is currently in its PoC phase (source: Pharo Days).

    17. It's also a good language for live music making (source: Pharo Days where someone demo-ed some live coded acid music).

    [0] https://discord.gg/QewZMZa

    [1] We're hiring developers able to work in Europe and based in a European time zone. The way we use Pharo is IMO the real deal, it goes far beyond what any MOOC can teach you.

    https://yesplan.be/en/vacancy/full-stack-software-engineer

    [2] https://github.com/pavel-krivanek/PharoChipDesigner

    [3] https://www.youtube.com/watch?v=BUEnRrUZ-Ug

    [4] ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzªµºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ

    [5] https://github.com/SeasideSt/Parasol

    [6] https://github.com/SeasideSt/Seaside/tree/gettext-fix

    [7] https://poedit.net/features

    [8] https://drive.google.com/file/d/1Z3UwTAj4A2CRo_TXk6JNG-mN9yM...

go

Posts with mentions or reviews of go. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-02.
  • Go: the future encoding/json/v2 module
    2 projects | dev.to | 2 May 2024
    A Discussion about including this package in Go as encoding/json/v2 has been started on the Go Github project on 2023-10-05. Please provide your feedback there.
  • Evolving the Go Standard Library with math/rand/v2
    2 projects | news.ycombinator.com | 1 May 2024
    I like the Principles section. Very measured and practical approach to releasing new stdlib packages. https://go.dev/blog/randv2#principles

    The end of the post they mention that an encoding/json/v2 package is in the works: https://github.com/golang/go/discussions/63397

  • Microsoft Maintains Go Fork for FIPS 140-2 Support
    5 projects | news.ycombinator.com | 30 Apr 2024
    There used to be the GO FIPS branch :

    https://github.com/golang/go/tree/dev.boringcrypto/misc/bori...

    But it looks dead.

    And it looks like https://github.com/golang-fips/go as well.

  • Borgo is a statically typed language that compiles to Go
    21 projects | news.ycombinator.com | 30 Apr 2024
    I'm not sure what exactly you mean by acknowledgement, but here are some counterexamples:

    - A proposal for sum types by a Go team member: https://github.com/golang/go/issues/57644

    - The community proposal with some comments from the Go team: https://github.com/golang/go/issues/19412

    Here are some excerpts from the latest Go survey [1]:

    - "The top responses in the closed-form were learning how to write Go effectively (15%) and the verbosity of error handling (13%)."

    - "The most common response mentioned Go’s type system, and often asked specifically for enums, option types, or sum types in Go."

    I think the problem is not the lack of will on the part of the Go team, but rather that these issues are not easy to fix in a way that fits the language and doesn't cause too many issues with backwards compatibility.

    [1]: https://go.dev/blog/survey2024-h1-results

  • AWS Serverless Diversity: Multi-Language Strategies for Optimal Solutions
    4 projects | dev.to | 28 Apr 2024
    Now, I’m not going to use C++ again; I left that chapter years ago, and it’s not going to happen. C++ isn’t memory safe and easy to use and would require extended time for developers to adapt. Rust is the new kid on the block, but I’ve heard mixed opinions about its developer experience, and there aren’t many libraries around it yet. LLRD is too new for my taste, but **Go** caught my attention.
  • How to use Retrieval Augmented Generation (RAG) for Go applications
    3 projects | dev.to | 28 Apr 2024
    Generative AI development has been democratised, thanks to powerful Machine Learning models (specifically Large Language Models such as Claude, Meta's LLama 2, etc.) being exposed by managed platforms/services as API calls. This frees developers from the infrastructure concerns and lets them focus on the core business problems. This also means that developers are free to use the programming language best suited for their solution. Python has typically been the go-to language when it comes to AI/ML solutions, but there is more flexibility in this area. In this post you will see how to leverage the Go programming language to use Vector Databases and techniques such as Retrieval Augmented Generation (RAG) with langchaingo. If you are a Go developer who wants to how to build learn generative AI applications, you are in the right place!
  • From Homemade HTTP Router to New ServeMux
    4 projects | dev.to | 26 Apr 2024
    net/http: add methods and path variables to ServeMux patterns Discussion about ServeMux enhancements
  • Building a Playful File Locker with GoFr
    4 projects | dev.to | 19 Apr 2024
    Make sure you have Go installed https://go.dev/.
  • Fastest way to get IPv4 address from string
    1 project | news.ycombinator.com | 14 Apr 2024
  • We now have crypto/rand back ends that ~never fail
    1 project | news.ycombinator.com | 14 Apr 2024

What are some alternatives?

When comparing Parasol and go you can also consider the following projects:

seaside - The framework for developing sophisticated web applications in Smalltalk.

v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

pharo - Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.

TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

Teapot - Teapot micro web framework for Pharo Smalltalk

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

PharoChipDesigner - A little chip design game inspired by KOHCTPYKTOP: Engineer of the People by Zachtronics

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

iceberg - Iceberg is the main toolset for handling VCS in Pharo.

Angular - Deliver web apps with confidence 🚀

PharoByExample9 - The version of Pharo by Example for Pharo 90

golang-developer-roadmap - Roadmap to becoming a Go developer in 2020