Some days ago I have written a question about Python classes. The question perhaps was a bit general, but I thought which this is the right place to ask this kind of question.
To be more specific I was asking:

  • why in Python is it possible to access to attributes of a class by the class definition and without an instance of the class;
  • I wrote in the question a snippet of code which showed the only case where I have used this kind of access method.

Immediately the question have received 2 downvotes so I have decided to remove it.

After a tour on SoftwareEngineering Site I have found that the topics suited for this sites are:

  • software development methods and practices
  • requirements, architecture, and design
  • quality assurance and testing
  • configuration, build, and release management

On my opinion my question is not far from these topics in particular it could be near to software development methods and practices and to requirements, architecture, and design.

Someone could better explain me what kind of questions can I write on SoftwareEngineering?


1 Answer 1


I'm not sure that your question is a good fit anywhere. The community here was not likely involved in designing and implementing the Python language, so we have no first-hand experiences to draw on. The only person who can provide an experience-based answer would be someone involved in developing Python, and that's such a small group of people compared to those who practice software engineering. Instead of relying on experience, the answers would go down one of two paths. The first would be finding and pointing to references - books, blog posts, conference talks, etc. - by Python developers. The second would be opinion-based, where every answer is sharing that person's opinion or thought and it would be difficult to objectively judge the correctness of each answer. Since the answers that would be generated would likely be low quality, the question isn't a good fit.

I'm also not clear how you are associating this type of question with software development methods and practices, requirements, or architecture and design.

Software development methods and practices refer to how work is done. Think project and program management in software projects. It can be large scale topics, like Scrum, Kanban, RUP, or CMMI. It can also be smaller-scale practices - TDD, pair programming, domain-driven design. It also includes standards, like ISO 12207 and ISO 9000.

Requirements are all about figuring out what stakeholders need. Requirements engineering is about talking to stakeholders to figure out what they need and want, identifying and deconflicting those needs, documenting the stakeholder needs, validating that the developers understand the stakeholder needs, and managing the documentation of and changes to the requirements.

Architecture and design are focused on the structures and interactions of software systems, subsystems, and components at various levels of abstraction, including structuring and organizing code. It also includes modeling those structures and interactions using tools like SysML, UML, C4, ER diagrams, and more.

The question does get into the design of a programming language. There's a weak argument that it does get into the requirements of stakeholders (perhaps the programmers using the language) or the design of interpreters and compilers. However, programming language design is more in the realm of computer science than software engineering.

You may want to check out existing questions or ask for more details on their respective Meta sites, but Computer Science or Programming Language Design and Implementation may be more suitable for this type of question. I'm not sure if they can answer why the design decision was made, though, so you may need to formulate a question based on understanding the decision and its impacts rather than the rationale someone made.

  • Thanks for your explanation. My question here on META is only a summary of the original question. That question was about OOP in Python and I was thinking that this site could be suited for this kind of question.
    – User051209
    Commented Nov 7, 2023 at 13:32
  • @frankfalse Meta is a good place to share a question and get extended feedback on how to improve it. So if you share the full content of the question, people can review it and give specific and actionable advice on how to make it more acceptable here or if there is a better place for it.
    – Thomas Owens Mod
    Commented Nov 7, 2023 at 14:35
  • Thank you very much. Tomorrow I will add the entire question. I have to modify this question or I have to create an other?
    – User051209
    Commented Nov 7, 2023 at 14:48
  • @frankfalse It would probably be best to create a new question here, specifically focused on understanding and improving your question.
    – Thomas Owens Mod
    Commented Nov 7, 2023 at 14:57
  • I have created a new question as you have suggested me.
    – User051209
    Commented Nov 8, 2023 at 16:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .