Earlier when you wanted to try a programming language, you needed to install compiler and IDE software to your computer. Now there are many on-line tools that allow you to test programming with many programming languages.
Many languages on one service:
https://onecompiler.com/
https://tio.run/#
https://www.codechef.com/ide
https://ideone.com/
https://www.codingninjas.com/studio/online-compiler
JavaScript
https://jsfiddle.net/
C and C++
https://www.programiz.com/c-programming/online-compiler/
https://godbolt.org/
https://cppinsights.io/
Python
https://www.programiz.com/python-programming/online-compiler/
https://www.online-python.com
https://www.online-python.com/?utm_content=cmp-true
https://www.w3schools.com/python/python_compiler.asp
https://www.onlinegdb.com/online_python_compiler
https://onecompiler.com/python
https://www.tutorialspoint.com/online_python_compiler.php
https://pythontutor.com/python-compiler.html#mode=edit
https://www.mycompiler.io/online-python-compiler
https://pythontutor.com/visualize.html#mode=edit
https://ide.geeksforgeeks.org/online-python-compiler
https://www.scaler.com/topics/python/online-python-compiler/
https://python.microbit.org/v/3
https://trinket.io/embed/python3/a5bd54189b
Scratch
https://scratch.mit.edu/projects/editor/?tutorial=getStarted
Links to coding tutorials:
https://www.hostinger.com/tutorials/learn-coding-online-for-free
Other tools:
https://coding.tools/
https://webcode.tools/
68 Comments
Tomi Engdahl says:
The hardest part of building software is not coding, it’s requirements
Why replacing programmers with AI won’t be so easy.
https://stackoverflow.blog/2023/12/29/the-hardest-part-of-building-software-is-not-coding-its-requirements/
Tomi Engdahl says:
State of the JavaScript ecosystem in 2023
https://nitor.com/fi/artikkelit/state-of-the-javascript-ecosystem-in-2023?fbclid=IwAR0MT2_fQdGHb8j7gzqy9x-_x_0-C8rIXFoIqScXreTlDfx_QQEKaWsLpnE_aem_AQFZUWmlW3Kc0nmx9m5ZtUmUrakOyp7820-41k5-UIqh0CQgPTWGhSPUNFKuDDq3o71sZ9-26MThTiGicdgS-c5H
Tomi Engdahl says:
How to build a martech stack (which you will also use)
https://nitor.com/fi/artikkelit/how-to-build-a-martech-stack?fbclid=IwAR0MT2_fQdGHb8j7gzqy9x-_x_0-C8rIXFoIqScXreTlDfx_QQEKaWsLpnE_aem_AQFZUWmlW3Kc0nmx9m5ZtUmUrakOyp7820-41k5-UIqh0CQgPTWGhSPUNFKuDDq3o71sZ9-26MThTiGicdgS-c5H
The clock is ticking for marketing leaders as the world prepares for a cookieless future and the rise of emerging technologies around AI-driven marketing and hyper-personalisation. Yet, there is a big gap between aims and execution. Nitor’s Strategist, Eveliina Lakka, walks through different approaches to building your martech stack from a technology perspective.
According to Gartner (2022), organisations typically utilise only 42% of the breadth of their martech stack capabilities. In a market where there were 376 new martech product announcements in 2022 alone, it is easy to get lost in “all things shiny”. To bridge the gap between marketing strategy and execution, we first clarify why martech stack should be high on your agenda, and then walk you through three alternative approaches that can elevate your business.
Tomi Engdahl says:
https://regex101.com/
Tomi Engdahl says:
https://jsfiddle.net/
Tomi Engdahl says:
https://www.freecodecamp.org/news/the-python-decorator-handbook/
Tomi says:
https://www.pythonanywhere.com/?affiliate_id=00535ced
Tomi says:
https://github.com/tomimick/restpie3
RESTPie3 – Python REST API Server Starter Kit
This is a lightweight python3 REST API server that offers essential web service features in a simple package. This is not a framework, just a practical and clean codebase that relies on a few core components that do the job well. Fork and create your own REST API server quickly.
Tomi says:
https://jsonviewer.stack.hu/
https://jsoneditoronline.org/
Tomi Engdahl says:
https://github.com/badele/all-stars
Tomi Engdahl says:
Rust developers concerned about complexity, low usage
The biggest worries for the future of Rust among users are too much complexity and too little usage in the tech industry, the 2023 State of Rust Survey finds.
https://www.infoworld.com/article/0/rust-users-concerned-about-complexity-low-usage.html
Tomi Engdahl says:
OMG. This is the real deal. Bython: Python with braces. Because Python is awesome, but whitespace is awful. Bython is a Python preprosessor which translates curly brackets into indentation. Would you use this? https://pypi.org/project/Bython/
Tomi Engdahl says:
Python Tutor: Visualize code in Python, JavaScript, C, C++, and Java
https://pythontutor.com/visualize.html#mode=edit
Compile and Visualize Python Code
https://pythontherightway.com/compiler/
Tomi Engdahl says:
https://memlayout.com/
Tomi Engdahl says:
https://pythontutor.com/render.html#mode=display
Tomi Engdahl says:
Python Call Graph
Welcome! Python Call Graph is a Python module that creates call graph visualizations for Python applications.
https://pycallgraph.readthedocs.io/en/master/
Features
Support for Python 2.7+ and Python 3.3+.
Static visualizations of the call graph using various tools such as Graphviz and Gephi.
Execute pycallgraph from the command line or import it in your code.
Customisable colors. You can programatically set the colors based on number of calls, time taken, memory usage, etc.
Modules can be visually grouped together.
Easily extendable to create your own output formats.
You can either use the command-line interface for a quick visualization of your Python script, or the pycallgraph module for more fine-grained settings.
The command-line method of running pycallgraph is:
$ pycallgraph graphviz — ./mypythonscript.py
Generating and using a Callgraph, in Python
https://cerfacs.fr/coop/pycallgraph
https://pypi.org/project/pycallgraph2/
https://github.com/osteele/callgraph
Callgraph is a Python package that defines a decorator, and Jupyter magic, to draw dynamic call graphs of Python function calls.
It’s intended for classroom use, but may also be useful for self-guided exploration.
Callgraph uses the Python graphviz package. Python graphviz uses the Graphviz package.
https://stackoverflow.com/questions/13963321/build-a-call-graph-in-python-including-modules-and-functions
https://github.com/zw-normal/pycallgraph
Tomi Engdahl says:
Generate Python Call Graph Online
https://python-cg.streamlit.app/
Usage:
Input your python file content (or github link) or upload your python files. If it’s a github link, it must start with https://github.com/.
click Generate and wait seconds.
You will see the call graph. You can also download it as an interactive html.
Tomi Engdahl says:
Graphviz Visualizer
https://www.devtoolsdaily.com/graphviz/?#v2=N4IgJg9gLiBc4EsDmAnAhgBwBYAIDiOwAOgHY44kRgCmOA2gM5abUC8K1AxlALoDcpUuQYBXAEapMuTgBsRDKNRQB9AAyEh5HAoCeMtgDMEM-WAFktnCDIgpWM5FiipqO81opVajKHsPHTABorGzsAdywERX5NcjR1AFoAPhw0AEYcZNSAJkyUtABmdy0ZNDFqGRxWHCIQAAkKm1rigF9BC1EJdGwcWXlFFQziC3JKGnpdfVYjE2owGJGcMUSUsQyssVyNoticUvLK6tqAdVsZMGbdkNtWMTlqTTaSTQU0FCg81NVi1-fP5eK6X+Owsm0+hUBBXB300hU+1BIZk0YihWQRSOeHSgbw+jGYGDYAFkwAg0ABbCCIhbkdETfFEhgARxEb2oCxaIBaQA
Tomi Engdahl says:
https://stamm-wilbrandt.de/GraphvizFiddle/2.1.2/index.html?1683881820736#digraph%20G%20%7B%20%20rankdir%3DLR%20%20%20size%3D%2210%2C7%22%20%20graph%20%5Bsplines%3Dortho%2C%20nodesep%3D0.8%5D%20%20%20node%20%5Bshape%3Dbox%5D%20%20labelloc%3Dt%20%20label%3D%22determine%20sum%20of%20squares%20for%202467-digit%20prime%5Cnpycg%20callgraph%20-%3E%20Graphviz%22%20%20mods%20%5Blabel%3D%22mods%5Cn%28a%3A%20int%2C%20n%3A%20int%29%5Cn-%3E%20int%22%5D%20%20quos%20%5Blabel%3D%22quos%5Cn%28a%3A%20int%2C%20n%3A%20int%29%5Cn-%3E%20int%22%5D%20%20powmods%20%5Blabel%3D%22powmods%5Cn%28a%3A%20int%2C%20r%3A%20int%2C%20n%3A%20int%29%5Cn-%3E%20int%22%5D%20%20grem%20%5Blabel%3D%22grem%5Cn%28w%3A%20Tuple%5Bint%2C%20int%5D%2C%20z%3A%20Tuple%5Bint%2C%20int%5D%29%5Cn-%3E%20Tuple%5Bint%2C%20int%5D%22%5D%20%20root4m1%20%5Blabel%3D%22root4m1%5Cn%28p%3A%20int%29%5Cn-%3E%20int%22%5D%20%20ggcd%20%5Blabel%3D%22ggcd%5Cn%28w%3A%20Tuple%5Bint%2C%20int%5D%2C%20z%3A%20Tuple%5Bint%2C%20int%5D%29%5Cn-%3E%20Tuple%5Bint%2C%20int%5D%22%5D%20%20sq2%20%5Blabel%3D%22sq2%5Cn%28p%3A%20int%29%5Cn-%3E%20Tuple%5Bint%2C%20int%5D%22%5D%20%20sq2%20-%3E%20%7Bggcd%2C%20root4m1%7D%20%20powmods%20-%3E%20mods%20%20quos%20-%3E%20mods%20%20grem%20-%3E%20quos%20%20ggcd%20-%3E%20grem%20%20root4m1%20-%3E%20%7Bmods%2C%20powmods%7D%7D
Tomi Engdahl says:
https://forums.raspberrypi.com/viewtopic.php?t=351378
https://www.freshports.org/devel/py-pycallgraph
Tomi Engdahl says:
Online Python to C Converter
output programming language logo
https://www.codeconvert.ai/python-to-c-converter
Tomi Engdahl says:
Python to C++ converter
https://www.javainuse.com/py2cpp
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Online tool to convert Python to C++.
Tomi Engdahl says:
Can you use AI to code?
There are several advantages to using an AI code generator, and it can help developers realize their full potential. The following are some of the main benefits and prospective uses of this ground-breaking tool: The main advantage of AI code generation is the potential to generate code in less time.
https://www.analyticsvidhya.com/blog/2023/08/ai-code-generator/
Tomi Engdahl says:
ChatGPT excels in assisting with specific coding tasks or routines, rather than building complete applications from scratch.22.2.2024
https://www.zdnet.com/article/how-to-use-chatgpt-to-write-code/
Tomi Engdahl says:
Will AI replace programmers in 10 years?
The answer is no. In fact, AI will create demand for even more programmers. As someone who has been in the software development field for over four decades, I’ve witnessed numerous predictions about technology making programming jobs obsolete.
AI Won’t Replace Programmers
https://medium.com/the-business-of-ai/ai-wont-replace-programmers-eddf52c1839b
Tomi Engdahl says:
Is GPT-4 good for coding?
On the plus side, GPT-4 can still write, convert or explain code more efficiently than its predecessors. Based on the chart below, GPT-4 has improved substantially compared to GPT-3.5 in coding exams.
https://www.version1.com/openai-gpt-4-review/
Tomi Engdahl says:
Can we try GPT-4 for free?
The easiest and fastest way to use GPT-4 without paying a subscription is through Microsoft Copilot. Thanks to Microsoft’s exclusive partnership with OpenAI, the company’s AI chatbot assistant is based on the same model as OpenAi’s most advanced product.16.2.2024
https://emag.directindustry.com/2024/02/16/how-to-use-chatgpt-4-for-free/
Tomi Engdahl says:
Is it worth buying GPT-4?
GPT-4 is not only more powerful than GPT-3.5, but it’s also multimodal, meaning it’s capable of analyzing text, images, and voice. For instance, GPT-4 can accept an image as part of a prompt and provide an accurate text response, generate images, and be spoken to and then respond using its voice.
https://www.zdnet.com/article/chatgpt-vs-chatgpt-plus-is-it-worth-the-subscription-fee/
Tomi Engdahl says:
https://www.codeconvert.ai/python-to-c-converter
Tomi Engdahl says:
https://github.com/jagv091205/Python_to_C_converter
https://people.duke.edu/~ccc14/sta-663/FromPythonToC.html
Tomi Engdahl says:
CodeConvert AI
Effortlessly convert code across 25+ languages with AI
https://softgist.com/tools/codeconvert-ai
CodeConvert AI is an online tool that simplifies converting code between different programming languages. It aims to save developers hours that would otherwise be spent learning a new language or manually rewriting code.
Key Features
Broad Language Support: Convert code across 25+ programming languages such as C++, Golang, Java, JavaScript, Python, and more.
User-Friendly Interface: The tool offers a straightforward process, making it accessible even for those new to programming.
No Setup Required: No need to download or install any software. Simply paste your code and click a button to convert it to your desired language.
hat Sets CodeConvert AI Apart
Here are some advantages of CodeConvert AI compared to other AI-driven code translators like ZZZ Code AI and AI Code Converter:
Extensive Language Support: Unlike competitors like ZZZ Code AI and AI Code Converter, CodeConvert AI supports a wide array of 25+ programming languages.
Syntax Highlighting: CodeConvert AI features syntax highlighting, which makes it easier to read and understand the converted code, a feature not commonly found in all competitors.
Error Handling: The tool provides informative error messages to guide users through any issues that may arise during the conversion process, enhancing user experience.
https://www.codeconvert.ai/python-to-c-converter
https://www.codeconvert.ai/pricing
Tomi Engdahl says:
https://zzzcode.ai/
Tomi Engdahl says:
https://zzzcode.ai/python/code-explain
Tomi Engdahl says:
https://theresanaiforthat.com/ai/codeconvert-ai/
Tomi Engdahl says:
Compiling And Running Turbo Pascal In The Browser
https://hackaday.com/2024/04/17/compiling-and-running-turbo-pascal-in-the-browser/
When a friend of [Lawrence Kesteloot] found a stack of 3.5″ floppy disks, they found that it contained Turbo Pascal code which the two of them had worked on back in the Summer of 1989. Amidst reminiscing about the High School days and watching movies on VHS, [Lawrence] sought a way to bring these graphical applications once more back to life. Not finding an easy way to compile Turbo Pascal code on Mac even back in 2013 when he started the project, he ended up writing a Turbo Pascal compiler in JavaScript, as any reasonable person would do in this situation.
https://github.com/lkesteloot/turbopascal
Tomi Engdahl says:
https://lkesteloot.github.io/turbopascal/
Tomi Engdahl says:
Bloomberg:
How GitHub Copilot became responsible for a significant percentage of coding, despite its limitations; Stack Overflow: 54.8% of developers used Copilot in 2023
Microsoft’s AI Copilot Is Starting to Automate the Coding Industry
https://www.bloomberg.com/news/articles/2024-04-17/microsoft-s-ai-copilot-is-starting-to-automate-the-coding-industry
The assistant is saving engineers hundreds of hours a month and is helping GitHub retain its edge over rivals including Amazon and Google.
When software developer Nikolai Avteniev got his hands on a preview version of Microsoft Corp.’s Copilot coding assistant in 2021, he quickly saw the potential.
Developed by Microsoft’s GitHub coding platform and based on a version of OpenAI’s generative artificial intelligence, the assistant wasn’t perfect and sometimes got things wrong. But Avteniev, who works for ticket seller StubHub, was surprised by how ably it finished lines of code with just a few prompts. All he had to do was
Tomi Engdahl says:
https://svelte.dev/
Tomi Engdahl says:
https://jsfiddle.net/
https://regex101.com/
Tomi Engdahl says:
https://permission.site/
Tomi Engdahl says:
JavaScript – Copy to clipboard does not work on Windows machines
https://stackoverflow.com/questions/77884071/javascript-copy-to-clipboard-does-not-work-on-windows-machines
https://medium.com/@bitbug/javascript-how-to-copy-text-to-clipboard-92394f28b045
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/write
https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts
Tomi Engdahl says:
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText
https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts
Pages can use feature detection to check whether they are in a secure context or not by using the isSecureContext boolean, which is exposed on the global scope.
js
if (window.isSecureContext) {
// Page is a secure context so service workers are now available
navigator.serviceWorker.register(“/offline-worker.js”).then(() => {
// …
});
}
Tomi Engdahl says:
Ohjelmointia ilman koodia – voi olla myös ammattikoodarin paras apuväline
Kari Ahokas21.4.202412:11OHJELMOINTI
No-code helpottaa ohjelmointia. Koodaamistaitoja ei tarvita, loogista ajattelua kylläkin. Yksi kehitin suoriutuu kuitenkin vain yhdenlaisista sovelluksista.
https://www.tivi.fi/uutiset/ohjelmointia-ilman-koodia-voi-olla-myos-ammattikoodarin-paras-apuvaline/c81bf868-1c22-4aaa-9b0f-a10444a82304
Tomi Engdahl says:
Rina Diane Caballar / IEEE Spectrum:
As CS students experiment with AI coding tools, professors say courses need to focus less on syntax and more on problem solving, design, testing, and debugging — Professors are shifting away from syntax and emphasizing higher-level skills — Generative AI is transforming the software development industry.
AI Copilots Are Changing How Coding Is Taught
Professors are shifting away from syntax and emphasizing higher-level skills
https://spectrum.ieee.org/ai-coding
Generative AI is transforming the software development industry. AI-powered coding tools are assisting programmers in their workflows, while jobs in AI continue to increase. But the shift is also evident in academia—one of the major avenues through which the next generation of software engineers learn how to code.
Computer science students are embracing the technology, using generative AI to help them understand complex concepts, summarize complicated research papers, brainstorm ways to solve a problem, come up with new research directions, and, of course, learn how to code.
“Students are early adopters and have been actively testing these tools,” says Johnny Chang, a teaching assistant at Stanford University pursuing a master’s degree in computer science. He also founded the AI x Education conference in 2023, a virtual gathering of students and educators to discuss the impact of AI on education
So as not to be left behind, educators are also experimenting with generative AI. But they’re grappling with techniques to adopt the technology while still ensuring students learn the foundations of computer science.
“It’s a difficult balancing act,” says Ooi Wei Tsang, an associate professor in the School of Computing at the National University of Singapore. “Given that large language models are evolving rapidly, we are still learning how to do this.”
Less Emphasis on Syntax, More on Problem Solving
The fundamentals and skills themselves are evolving. Most introductory computer science courses focus on code syntax and getting programs to run, and while knowing how to read and write code is still essential, testing and debugging—which aren’t commonly part of the syllabus—now need to be taught more explicitly.
“We’re seeing a little upping of that skill, where students are getting code snippets from generative AI that they need to test for correctness,” says Jeanna Matthews, a professor of computer science at Clarkson University in Potsdam, N.Y.
Another vital expertise is problem decomposition. “This is a skill to know early on because you need to break a large problem into smaller pieces that an LLM can solve,” says Leo Porter, an associate teaching professor of computer science at the University of California, San Diego. “It’s hard to find where in the curriculum that’s taught—maybe in an algorithms or software engineering class, but those are advanced classes. Now, it becomes a priority in introductory classes.”
“Given that large language models are evolving rapidly, we are still learning how to do this.”
—Ooi Wei Tsang, National University of Singapore
As a result, educators are modifying their teaching strategies. “I used to have this singular focus on students writing code that they submit, and then I run test cases on the code to determine what their grade is,” says Daniel Zingaro, an associate professor of computer science at the University of Toronto Mississauga. “This is such a narrow view of what it means to be a software engineer, and I just felt that with generative AI, I’ve managed to overcome that restrictive view.”
Zingaro, who coauthored a book on AI-assisted Python programming with Porter, now has his students work in groups and submit a video explaining how their code works. Through these walk-throughs, he gets a sense of how students use AI to generate code, what they struggle with, and how they approach design, testing, and teamwork.
“It’s an opportunity for me to assess their learning process of the whole software development [life cycle]—not just code,” Zingaro says. “And I feel like my courses have opened up more and they’re much broader than they used to be. I can make students work on larger and more advanced projects.”
Avoiding AI’s Coding Pitfalls
But educators are cautious given an LLM’s tendency to hallucinate. “We need to be teaching students to be skeptical of the results and take ownership of verifying and validating them,” says Matthews.
Matthews adds that generative AI “can short-circuit the learning process of students relying on it too much.” Chang agrees that this overreliance can be a pitfall and advises his fellow students to explore possible solutions to problems by themselves so they don’t lose out on that critical thinking or effective learning process. “We should be making AI a copilot—not the autopilot—for learning,” he says.
Other drawbacks include copyright and bias. “I teach my students about the ethical constraints—that this is a model built off other people’s code and we’d recognize the ownership of that,” Porter says. “We also have to recognize that models are going to represent the bias that’s already in society.”
Adapting to the rise of generative AI involves students and educators working together and learning from each other. For her colleagues, Matthews’s advice is to “try to foster an environment where you encourage students to tell you when and how they’re using these tools. Ultimately, we are preparing our students for the real world, and the real world is shifting, so sticking with what you’ve always done may not be the recipe that best serves students in this transition.”
Tomi Engdahl says:
Frederic Lardinois / TechCrunch:
Google releases Project IDX, its next-gen AI-centric browser-based IDE, in open beta, and says that 100,000+ developers tried the service in invite-only phase
Project IDX, Google’s next-gen IDE, is now in open beta
https://techcrunch.com/2024/05/14/project-idx-googles-next-gen-ide-is-now-in-open-beta/
At it’s annual Google I/O 2024 developer conference on Tuesday, Google announced that Project IDX, the company’s next-gen, AI-centric browser-based development environment, is now in open beta. The company first launched it as an invite-only service gated by a waitlist in August.
Google says that over 100,000 developers already tried the service.
“As AI becomes more prevalent, the complexities that come with deploying all of that really becomes harder, becomes greater, and we wanted to help solve that challenge,” said Jeanine Banks, Google’s VP and general manager for Developer X and the company’s head of developer relations. “That’s why we built project IDX, a multi-platform development experience that makes building applications fast and easy. Project IDX makes it really frictionless to get going with your preferred framework or language with easy-to-use templates like Next.js, Astro, Flutter, Dart, Angular, Go and more.”
With this update, Google is adding an integration with the Google Maps Platform into the IDE, helping add geolocation features to its apps, as well as integrations with the Chrome Dev Tools and Lighthouse to help debug applications. Soon, Google will also enable deploying apps to Cloud Run, Google Cloud’s serverless platform for running front- and back-end services.
Tomi Engdahl says:
AI Code Tools: The Ultimate Guide in 2024
https://codesubmit.io/blog/ai-code-tools/
Tomi Engdahl says:
https://codesubmit.io/blog/ai-code-tools/
Is it possible to code with AI tools?
Yes, it is possible to code with AI tools. In fact, leveraging AI tools for coding is not only possible, but it can also significantly enhance productivity and accuracy.
AI code is code written by artificial intelligence (AI), often times utilizing large language models (LLMs). These AI programs can write their own programs or translate from one programming language to another. They also perform tasks like offering assistance in auto-generating documentation and finding code snippets faster.
One of the most popular tools is Open AI’s Codex, an AI system that translates natural language to code. Codex powers GitHub Copilot, another popular AI code tool.
OpenAI Codex is capable of interpreting simple commands in natural language and carrying them out for the programmer. This makes it possible to build on top of the existing application with a natural language interface.
As a general-purpose programming model, OpenAI Codex can be applied to almost any programming task. That said, the tool is in beta and so results will vary.
AlphaCode by DeepMind is another tool that is shaking up the industry. Interestingly, this tool outperforms human coders in certain situations. You see, AlphaCode outperformed 45% of programmers in coding competitions with at least 5,000 participants.
However, there are problems with code generators, too. That’s why AI coding tools are used to help developers become more productive and efficient, rather than to replace them entirely.
For example, a Stanford-affiliated research team found that engineers who use AI tools are more likely to cause security vulnerabilities in their apps. Plus, questions around copyright are not entirely resolved.
In other words, AI code tools are not yet completely safe to use. That said, the popularity of these tools means that they can’t be overlooked.
Tomi Engdahl says:
https://www.hurja.fi/blogi/devops-monitorointi-kasvattaa-ohjelmistosi-arvoa-tutustu-sentry-tyokaluun/
Tomi Engdahl says:
https://hackaday.com/2024/05/15/a-slice-of-simulation-google-sheets-style/
Tomi Engdahl says:
https://hackaday.com/2024/05/15/a-slice-of-simulation-google-sheets-style/
In particular, I created a microcode program that takes two four-bit binary-coded decimal digits and computes the proper 8-bit number. It isn’t much, but the board only has 16 microcode instructions, so you must temper your expectations. If you want an overview of the entire technology, we’ve done that, too.
The idea for the simulator struck me when I was building the assembler. I considered writing a stand-alone program, but I wanted to limit my potato chip consumption, so keeping it in the spreadsheet seemed like a good idea.
Was it? Hard to say. Google Sheets has macros that are just Javascript. However, the macros are somewhat slow and attaching them to user interface elements is difficult. There were plenty of ways to do it, but I went for the path of least resistance.
For better or worse, I tried to minimize the amount of scripting. All of the real work occurs on the Sim tab of the spreadsheet, and only a few key parts are included in the attached macros. Instead, the cells take advantage of the way the AM2900 works. For example, some bits in the microcode instructions represent how to find the next address. Instead of calculating this with code, there is a table that computes the address for each possible branch.