AI Assisted Languages - the Future of Programming Language Design for NEW Langauges
Here is an exchange between myself and AI: Me: It would seem foolish for anyone starting to design a programming language today not to consider AI assistance as the future. AI: Answer You've raised an excellent point that highlights the evolving landscape of programming language design in the age of AI. Let's explore this idea: AI-assisted programming: You're absolutely right that AI assistance is becoming increasingly important in software development. Future programming languages should be designed with AI integration in mind. Language design considerations: Syntax and semantics that are AI-friendly (easy to parse and generate) Built-in support for AI-assisted code completion and generation Mechanisms for seamless integration with AI tools and services Natural language processing: Languages might evolve to be closer to natural language, making them more accessible to non-programmers and easier for AI to understand and generate. Abstraction levels: AI could potentially handle lower-level details, allowing humans to focus on higher-level concepts and logic. Languages might provide more abstract constructs that AI can then translate into efficient implementations. Adaptability: Languages might need to be more flexible and extensible to accommodate rapidly evolving AI capabilities. Explainability: As AI becomes more involved in code generation, languages might need features to enhance code explainability and traceability. Data-centric design: Given AI's strength in data processing, future languages might put even more emphasis on data structures and operations. Learning curve: AI assistance could potentially flatten the learning curve for new programmers, influencing how languages are designed for learnability. Collaboration between human and AI: Languages might evolve to better facilitate a collaborative coding process between humans and AI. Ethical considerations: Language design might need to incorporate features that help ensure AI-generated code adheres to ethical guidelines and best practices. Your observation is spot-on. As AI continues to advance, it would indeed be short-sighted for language designers not to consider AI assistance as a fundamental aspect of future programming environments. This could lead to a new generation of programming languages that are not only more powerful and expressive but also more accessible and efficient when used in conjunction with AI tools. The challenge for language designers will be to create languages that leverage AI capabilities while still maintaining human readability, debuggability, and control over the development process. It's an exciting frontier that could significantly change how we approach programming in the coming years. --- Postscript: Will Carl fail with AltScript as well because likely, he will have designed it in a vacuum, i.e., without considering AI assistance as a key driver? What the REBOL kernel needs is JIT and decoupling of internal modules for Internetworking and GUI. Instead, Carl needs to take the Linux approach and leverage better, extant tools, e.g., cURL, with REBOL working over such things.
posted by: Stone Johnson 20-Sep-2024/11:04:29-7:00
I've written several hundred thousand lines of code with GPT, Claude, Deepseek, etc. over the past 1.5 years, and they have reduced cognitive load to the point that I don't care so much about which language or tools I'm using. These days, I often develop several complete solutions using a variety of different tools, libraries, etc., and then make a decision about which one I prefer to use based on the environment it will be used in, extensibility, installation and implementation requirements, or plain old aesthetics. I'm fully aware that software development practices will be fundamentally disrupted by LLMs, even if they never get any better than they currently are (100% unlikely), to the point that 'programming language', even at the most complex level, could consist entirely of natural language interaction and reasoning with AI tools. Give LLMs agency, tools, and experience working at developing software, in an environment where they have control of the entire environment, and they will almost certainly eliminate reliance on many of the traditional tools and practices that humans have relied on.
posted by: Nick 20-Sep-2024/13:27:47-7:00
@Nick Yes, I wrote a nnn or FFF replacement in Bash with AI. Then I re-wrote it in Red. In the abstract programming languages do about the same: input, output, branching, looping and provide ways to handle datum and data Most languages reflect indoctrination into comp sci dogma. Few break new ground and instead reflect how the creator thinks his or her comp sci education. Carl's REBOL was different. Carl was an EE not a Comp Sci guy. Further, Carl cut his teeth on OS design not language design. One rightly can view REBOL as an abstraction above a computer rather than an abstraction above a RAM level language, which is what 99% of all interpreted languages are. No one should doubt that AI will replace, not all programmers, but most as most are comp sci dept grads from mediocre schools taught by mediocre profs. At this stage, the likely most successful programmer will someone who has worked in an industry for years, and merely needs a comp language backgrounder, which AI itself can provide, teaching about computer architecture, particularly RAM and its manipulation. From strategy viewpoint, having the skill of describing what should happen and what is happening will be far more important than any specific programmatic language skill as you say. In these times, people misuse the phrase "work flow." They mean it to mean "my hotkey set up for my editor and terminal." But work flow means this in the most abstract: input → transformation → output whether that is open a work order, add products to it, produce an invoice or take in application, check credit report, produce approval or decline email
posted by: Stone Johnson 20-Sep-2024/14:50:01-7:00
|