leachim6 / hello-world

Hello world in every computer language. Thanks to everyone who contributes to this, make sure to see contributing.md for contribution instructions!
http://github.com/leachim6/hello-world/wikis
MIT License
11.02k stars 1.93k forks source link

Why are there 20 seperate Python implmentations?! #1527

Open sancarn opened 1 year ago

sancarn commented 1 year ago

I understand that different implementations clearly look different, but in my opinion that doesn't belong in this repo, unless it's under a py folder for all python examples.

In a similar vein there are 3 C samples:

But then only 1 C++ sample:

Are we really expecting different implementations for every different way someone can possibly render "Hello world" onto the screen in their chosen language? If so we should probably make this clear in the readme / repo description.

sivakumar-mahalingam commented 10 months ago

Python Implementations:

Pygame, PyQt4, PyQt5, PySide2, PySimpleGUI, kivy, libavg, wxPython, tkinter are not separate implementations of Python, but rather libraries/frameworks. And Python has two major versions, Python 2 and Python 3.

HTTPpy, manim, flask, django, bottle, blender, fastapi, panther, cherrypy are frameworks built on top of Python for specific purposes like web development, GUI, etc.

C Implementations:

CGI, Pebble, C are not implementations of the C language, they are samples or projects written in the C language. C itself is a language, and there are no different "implementations" of C in the way Python has implementations like CPython, Jython, etc.

sancarn commented 10 months ago

are not separate implementations of Python, but rather libraries/frameworks

Not sure if this is a rebuttle? This actualyl hits the nail on the head of my point. If they were seperate implementations of >Python< (or the programming language itself) that would be okay. But they're different implementations using different libraries. That doesn't belong here, imo. There are millions of libraries out there, are we anticipating an implementation for all libraries of all languages?

In my opinion Hello-world this repo should be used for comparing how to do "hello world" programs in different languages. Thus we should have 1 implementation for each language, and they should be comparable implementations.

i.e.

etc. For what it's worth I think having implementations in Py2 and Py3 is at least acceptable

MrBrain295 commented 10 months ago

I think there needs to be qualifications for what can be accepted. I opened issue #1494 to discuss this.

chenyuchenlijingshuo commented 3 weeks ago

The presence of multiple Python implementations and different samples in various languages can be attributed to several reasons. For the multiple Python implementations like Python 2 and Python 3, the evolution of the language led to the coexistence of these versions for a period as developers migrated from one to the other. Different libraries and frameworks such as Pygame, PyQt4/5, PySide2, PySimpleGUI, etc., serve specific purposes and user needs. For example, some are focused on graphical user interfaces, while others are for game development or data visualization. Each of these implementations offers unique features and capabilities that might be required by different projects. As for the multiple C and C++ samples, it could be that developers wanted to showcase different techniques or libraries within these languages. While it might seem excessive at first glance, having multiple examples can be beneficial for learners who want to explore different approaches and understand the versatility of a particular language. However, it can be confusing and perhaps a better organization within the repository would be helpful. Having a dedicated folder for each language and subfolders for different implementations or examples could make it more clear and easier to navigate. This would also address the concern about the repo not being clear on the expectations regarding multiple implementations. Adding a detailed description in the README or repo description about the purpose of having multiple examples and how to navigate them would also be useful for users.

sancarn commented 3 weeks ago

@chenyuchenlijingshuo please don't spout chatGPT copy pasta here