Sunday, June 2, 2024

does chatgpt or others can replace engineering educatçon, knowledge or engineering languages?

I asked chatgpt, if English prompt engineering enough for engineering programming as of today, and for ten years of future. Below are the question and the speculation by chatgpt4o:

USER:

Do you speculate that as a natural language, English can replace the programming languages to create applications. Or English is a historical language to define not to define unseen machine parts, some quantities, some quantities that needs to convert, link other quantities. ie, url needs to be html, in English we can not do it differently from many urls. English language lacks too many words to create a program or to ask a program. Or we need import many words from engineering languages. A person who know only natural language such as english, also lacks to imagine the capacity of engineering to ask by natural languages such as english. Knowledge of computer languages will allow to limit the project aims. 
Please list all the reasons that English prompts are good to create organize software apps but without major help from some engineering languages, assuming a new engineering language with many words to be created to use, natural languages are not enough as present.

Now list reasons English word capacity not enough

ANSWER by ChatGPT
1. It is possible 
Reasons Why Natural Language (English) is Useful for Creating and Organizing Software Applications
Accessibility: English is widely understood, making programming more accessible to non-specialists.
Descriptive Power: Natural language is great for describing high-level concepts and requirements.
Ease of Communication: Facilitates communication between stakeholders (e.g., developers, clients, managers) who may not be proficient in programming languages.
Prototyping and Requirements: Useful for specifying requirements and designing prototypes in a way that is easy to understand.
User Interaction: Enhances user interfaces and documentation, making software more user-friendly.
Higher-level Abstraction: Tools like natural language processing (NLP) can translate English instructions into code, allowing high-level problem-solving.

2. Reasons Why Natural Language (English) is Not Sufficient Alone
Precision and Unambiguity: Programming languages are designed for precision. English is often ambiguous and context-dependent, which can lead to misunderstandings.
Syntax and Structure: Programming languages have strict syntax rules that enforce structure and logic, whereas English is more flexible and less formal.
Performance and Efficiency: Programming languages are optimized for machine performance. English lacks the constructs to efficiently manage memory, processing power, and other resources.
Complex Logic and Operations: English lacks the ability to represent complex logical operations, loops, conditionals, and other programming constructs directly.
Error Handling: Programming languages have built-in mechanisms for error detection and handling, which are not present in natural languages.
Consistency and Reproducibility: Code written in programming languages is consistent and reproducible. English instructions can be interpreted differently by different people.
Integration with Hardware and Low-level Operations: Programming languages can interact directly with hardware and perform low-level operations, which is not possible with natural language.
Specialized Libraries and Frameworks: Programming languages come with extensive libraries and frameworks that facilitate specific tasks (e.g., web development, data analysis), which do not have direct equivalents in English.
Scalability: Programming languages are designed to build scalable and maintainable systems. English does not provide mechanisms for modularity and code reuse.
Security: Programming languages include features to handle security concerns, such as access control and encryption, which cannot be effectively managed with natural language.
Conclusion
While English and other natural languages are invaluable for communication, documentation, and high-level planning, they lack the precision, structure, and specialized constructs needed for actual software development. The complexity and specificity required in programming necessitate the use of programming languages, which are engineered to meet these demands. Therefore, a combined approach that leverages the strengths of both natural and programming languages is essential for effective software development.

ChatGPT answer version 2:

Here are the reasons why the word capacity of English (or any natural language) is not sufficient for creating and defining software applications without relying on traditional programming languages:
  1. Ambiguity:

    • Multiple Meanings: Words in English often have multiple meanings depending on context (e.g., "set" can mean a collection of items or to place something).
    • Context Sensitivity: The meaning of sentences can change based on context, leading to potential misunderstandings in specifying software behavior.
  2. Lack of Precision:

    • Detailed Instructions: Software development requires precise instructions that leave no room for interpretation, something natural language struggles to provide.
    • Specific Syntax: Programming languages use specific syntax and grammar to eliminate ambiguity and ensure clear, unambiguous instructions.
  3. Complex Constructs:

    • Advanced Algorithms: Describing complex algorithms or data structures in natural language is impractical and prone to errors.
    • Conditional Logic and Loops: Programming requires detailed constructs for conditions and iterations that natural language cannot efficiently describe without becoming convoluted.
  4. Quantitative and Technical Details:

    • Mathematical Expressions: Natural language is inefficient at representing mathematical operations and expressions required in programming.
    • Technical Specifications: Precise technical specifications such as memory management, concurrency, and performance optimizations are challenging to express in English.
  5. Lack of Standardization:

    • Consistency: Programming languages have standardized rules and structures that ensure consistency across different platforms and systems, something natural languages lack.
    • Formal Grammar: The formal grammar of programming languages ensures that every statement has a single, well-defined meaning.
  6. Error Handling and Debugging:

    • Error Detection: Programming languages have built-in mechanisms for detecting and handling errors, which natural languages do not provide.
    • Debugging: Tracing and fixing errors in natural language descriptions would be significantly harder compared to using debugging tools in programming languages.
  7. Modularity and Reusability:

    • Modular Code: Programming languages support modularity, allowing developers to break down complex problems into manageable, reusable components.
    • Abstractions: High-level abstractions in programming languages allow for efficient code reuse and maintenance, which is difficult to achieve with natural language.
  8. Integration with Existing Technologies:

    • APIs and Libraries: Modern software development relies on extensive use of APIs and libraries, which are designed to be used with programming languages.
    • System Calls and Interfacing: Interfacing with hardware and system-level operations requires precise commands that natural language cannot provide.
  9. Performance Considerations:

    • Optimization: Fine-tuning performance, such as optimizing algorithms and managing system resources, requires precise control offered by programming languages.
    • Low-level Operations: Low-level operations, such as bit manipulation and direct memory access, are beyond the scope of natural language descriptions.
  10. Formal Verification and Testing:

    • Formal Methods: Verifying the correctness of software through formal methods and automated testing frameworks requires the rigor and structure provided by programming languages.
    • Unit and Integration Testing: Writing and executing unit tests and integration tests in a natural language would be highly inefficient and error-prone.

A SUCCESSFUL EXAMPLE of AI is TESLA CARS, What is good about that model:

Tesla cars are good as a programming product. What is good about it? 

Tesla cars model is more than chatgpt in that it collects data from specialized, specified environment.  Tesla car model is equipped with data reaching collecting methods. ChatGPT can not reach your room your personal computer model your memory, your hardware to fit best answer to your prompt engineering prompt. 
ChatGPT does not have camera eye, or API to input what user has as environment.
 ChatGPT can not scale, predict user wish if not know what capacity at present the user has.

 A driver in a Tesla car can be considered a high-level prompt engineer due to the car's own specialized focus on driving. The car's system simplifies prompt engineering by providing a context-specific framework where commands like "turn right" are easily understood and executed. In contrast, ChatGPT requires more detailed user input to understand and act on commands because it operates across various domains without a default, specialized context.


Pages