Software Alternatives, Accelerators & Startups

Pharo VS Pyjs

Compare Pharo VS Pyjs and see what are their differences

Pharo logo Pharo

Pharo is a pure object-oriented programming language and a powerful environment, focused on...

Pyjs logo Pyjs

pyjs is a Rich Internet Application (RIA) Development Platform for both Web and Desktop.
  • Pharo Landing page
    Landing page //
    2022-07-26
  • Pyjs Landing page
    Landing page //
    2019-09-07

Pharo features and specs

  • Integrated Development Environment
    Pharo offers a highly integrated development environment with powerful tools like the inspector, debugger, and playgrounds, enhancing the overall development experience.
  • Live Code Changes
    Pharo supports live coding, allowing developers to make changes and see the effects immediately without the need to stop and restart the application.
  • Rich Libraries
    Pharo comes with a comprehensive set of libraries and frameworks, reducing the need to search for external dependencies and allowing for rapid development.
  • Object-Oriented Language
    Pharo is a true object-oriented language, which makes it natural for modeling real-world scenarios and leveraging the power of polymorphism and inheritance.
  • Community and Support
    Pharo has an active and supportive community that contributes to continuous improvements, tutorials, documentation, and libraries.

Possible disadvantages of Pharo

  • Niche Ecosystem
    Pharo's ecosystem is relatively small compared to more mainstream programming languages, which might make it harder to find libraries, tools, and examples for specific needs.
  • Learning Curve
    Pharo can have a steep learning curve, especially for developers not familiar with Smalltalk or the unique aspects of its environment.
  • Limited Job Market
    Compared to more popular languages like JavaScript or Python, the job market for Pharo developers is limited, potentially making it less attractive for career-oriented developers.
  • Performance Constraints
    While suitable for many kinds of applications, Pharoโ€™s performance might not be on par with languages specifically optimized for high-performance computing or low-level system programming.
  • Documentation
    Although improving, Pharo's documentation may not be as extensive or as easy to navigate as that of more widely-used programming languages, which can be challenging for new users.

Pyjs features and specs

  • Cross-platform Compatibility
    Pyjs allows developers to write a single web application codebase in Python, which can then be compiled into JavaScript. This cross-compilation means the application can run on any device with a web browser, enhancing its reach.
  • Python Syntax
    Developers familiar with Python can leverage their existing knowledge to write web applications without learning JavaScript. This can lead to faster development times and reduced learning curves.
  • Rich Widget Set
    Pyjs offers a rich set of pre-built widgets that can be used to create complex user interfaces easily. This helps in speeding up the development process and ensures consistency across the application.
  • Client-side Execution
    By compiling Python code to JavaScript, Pyjs enables client-side execution of applications, potentially reducing server load and improving user experience through quicker interactions.

Possible disadvantages of Pyjs

  • Performance Overhead
    The extra layer introduced by compiling Python to JavaScript can lead to performance issues, especially for larger applications, as JavaScript is inherently faster and more optimized for web environments.
  • Limited Ecosystem
    Compared to more mature frameworks and libraries in the JavaScript ecosystem, Pyjs has a smaller community and fewer resources available, which can pose challenges in terms of finding support and third-party integrations.
  • Debugging Complexity
    Debugging can become complex as developers must understand both the Python source code and the resulting JavaScript output, making it harder to trace and resolve issues.
  • Stagnant Development
    Pyjs has not seen active development or community engagement compared to other frameworks, which could impact its long-term viability and the availability of updates or security patches.

Analysis of Pharo

Overall verdict

  • Pharo is generally considered good, especially for developers who appreciate a clean, object-oriented programming environment. Its benefits include ease of use, powerful development tools, and an active support community, which make it a strong candidate for many programming projects.

Why this product is good

  • Pharo is an open-source, dynamically-typed programming language and environment that is focused on simplicity and immediate feedback. It's built around the idea of live coding and offers powerful tools for software development, including a modern version of the Smalltalk language. It is particularly appreciated for its elegant syntax, object-oriented design, and innovative development environment which allows for immediate testing and debugging. Pharo also has a strong and active community, providing support and a library of resources and packages.

Recommended for

  • Developers interested in object-oriented programming
  • Individuals looking for a live coding environment
  • Educational purposes and teaching programming concepts
  • Projects that require rapid prototyping and iteration
  • Developers who enjoy experimenting with new languages and paradigms

Pharo videos

Black Ops 3 In Depth: Pharo Burst Fire SMG Review (Best SMG?)

Pyjs videos

No Pyjs videos yet. You could help us improve this page by suggesting one.

Add video

Category Popularity

0-100% (relative to Pharo and Pyjs)
Programming Language
91 91%
9% 9
Generic Programming Language
OOP
89 89%
11% 11
Development
100 100%
0% 0

User comments

Share your experience with using Pharo and Pyjs. For example, how are they different and which one is better?
Log in or Post with

Social recommendations and mentions

Based on our record, Pharo seems to be a lot more popular than Pyjs. While we know about 39 links to Pharo, we've tracked only 1 mention of Pyjs. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

Pharo mentions (39)

  • Hoot: Scheme on WebAssembly
    If someone wants to try it out, both Glamorous Toolkit and plain Pharo have tooling that allows integration of both local and remote LLM services. Some links to start off with: https://gtoolkit.com/ https://github.com/feenkcom/gt4llm https://pharo.org/ https://omarabedelkader.github.io/ChatPharo/. - Source: Hacker News / 6 months ago
  • Pharos: The Lighthouse at Alexandria
    Not to be confused with Pharo, the immersive programming experience: https://pharo.org/. - Source: Hacker News / 7 months ago
  • ร‰toilรฉ โ€“ desktop built on GNUStep
    Are you using Pharo already? If not, give it a go: https://pharo.org/ For taking notes and stuff you'd otherwise do in Jupyter or Livebook, try GT: https://gtoolkit.com/ It's not an OS, but you can just abstract over OS actions within either and keep them as your main interface, similar to how some people rarely leave Emacs. - Source: Hacker News / 12 months ago
  • Developer's Block
    Perhaps switch languages/paradigms for a few days. If you are used to using "text-based" languages such as golang, python, c++ or java, try something like Smalltalk to freshen you up. Pharo https://pharo.org/ is a nice implementation. - Source: Hacker News / 12 months ago
  • You Are in a Box
    Have you seen https://pharo.org/ by chance? it's a smalltalk IDE built in smalltalk, which means that the whole thing is editable at runtime. it's hard to describe before you see it, https://pharo.org/features has some demos. - Source: Hacker News / about 1 year ago
View more

Pyjs mentions (1)

  • How to actually use python code in browser or application?
    I have a Python program that takes user input from the console and shows some results on the console, and I want the user to be able to type stuff into it instead of pre-recorded runs. How do I do that? I'm not really sure. You could have a copy of Python running on the server and have the front-end communicating with it, but you'd have to be sure it's secured -- there are a lot of dangerous Python commands... Source: almost 5 years ago

What are some alternatives?

When comparing Pharo and Pyjs, you can also consider the following products

C++ - Has imperative, object-oriented and generic programming features, while also providing the facilities for low level memory manipulation

Transcrypt - Transcrypt is a Python to JavaScript transpiler.

Smalltalk - Smalltalk is an object-oriented programming (OOP) language. It is objects all the way down.

Brython - Brython's goal is to replace Javascript with Python, as the scripting language for web browsers.

F# - F# is a mature, open source, cross-platform, functional-first programming language.

JavaScript - Lightweight, interpreted, object-oriented language with first-class functions