|
| 1 | +# RISC OS Coding Resources |
| 2 | + |
| 3 | +What follow is a list of resources organised by programming language. There is also a list of generic info for everyone who needs an introduction to programming in general (aka who has no idea of how to code at all). |
| 4 | + |
| 5 | +## Introduction to programming |
| 6 | + |
| 7 | +### Introduction to computer programming |
| 8 | + |
| 9 | +This section is for absolute beginners and we list a set of useful resources (in order of from absolute 0 to some degree of knowledge) to help everyone who have no basic knowledge of computer programming in general. |
| 10 | + |
| 11 | +* Code: The Hidden Language of Computer Hardware and Software (2nd edition) available [here](https://www.amazon.co.uk/Code-Language-Computer-Hardware-Software-dp-0137909101/dp/0137909101/ref=dp_ob_title_bk) |
| 12 | +* The Art of Computer Programming (TAOCP) – Donald Knuth This is considered by many the bible of computer programming, it’s a set of multiple volumes, more info [here](https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming) |
| 13 | +* Pragmatic Programmer, more info [here](https://www.amazon.co.uk/gp/product/B07VRS84D1?storeType=ebooks&pf_rd_p=d86bed0e-a872-45e2-bd93-7030c464dfa5&pf_rd_r=ASQYRTBVF8KNA89RFW4R&pd_rd_wg=Gfd2M&pd_rd_i=B07VRS84D1&ref_=dbs_r_recs_reads_cwrtbar_typ_r_0&pd_rd_w=p5KPV&content-id=amzn1.sym.d86bed0e-a872-45e2-bd93-7030c464dfa5&pd_rd_r=7f817fc3-7572-452d-8b80-270375a019f6) |
| 14 | +* Clean code, you can find more info [here](https://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=pd_lpo_1?pd_rd_i=0132350882&psc=1) |
| 15 | + |
| 16 | +### Introduction to Software Engineering |
| 17 | + |
| 18 | +This section is more about software development processes and collaboration with other people. |
| 19 | + |
| 20 | +* Introduction to Software Engineering, available free [here](https://www.geeksforgeeks.org/software-engineering-introduction-to-software-engineering/) |
| 21 | +* Clean Architecture, more info [here](https://www.amazon.co.uk/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164) |
| 22 | +* Software Development: Introduction to code testing, free article available [here](https://paolozaino.wordpress.com/2021/06/20/software-development-introduction-to-code-testing/) |
| 23 | + |
| 24 | +### RISC OS Developer information |
| 25 | + |
| 26 | +* 4corn.co.uk excellent collection of old manuals for RISC OS Developers all available free and in PDF format, download them from [here](https://4corn.co.uk/articles/docs/#dev) |
| 27 | +* RISC OS PRM (Programmer Reference Manuals) modern (RISC OS 5) and updated editions are available from RISC OS Open [here](https://www.riscosopen.org/content/sales/dde) |
| 28 | +* RISC OS 3,4 and 6 developers info are available for free [here](http://riscos.com/support/developers/index.htm) |
| 29 | +* Beginners guide to WIMP development available for free [here](http://riscos.com/support/developers/wimpprog/index.htm) |
| 30 | +* Acorn Archimedes Games developer guide available for free [here](http://riscos.com/support/developers/agrm/index.htm) |
| 31 | +* RISC OS Info, a very useful and rich source of info for developers, you can find it [here](http://www.riscos.info/index.php/Introduction_to_RISC_OS) |
| 32 | +* Useful info about the RISC OS "Nested WindowManager", a must read to understand how to write slightly more "modern-ish" looking desktop Apps on RISC OS, you can find the article [here](http://www.vigay.com/inet/acorn/nested.html) |
| 33 | + |
| 34 | +**Please Note:** Everyone interested on coding on RISC OS should ALWAYS have a copy of all the **PRM** handy and ready to be used. |
| 35 | + |
| 36 | +## Programming in Ada on RISC OS |
| 37 | + |
| 38 | +* Ada 95 A guide for C and C++ programmers, free pdf available [here](https://www.cs.uni.edu/~mccormic/4740/guide-c2ada.pdf) |
| 39 | +* Programming in Ada (In German language, but Google Translator seems to translate it ok), more info [here](http://legacy.huber-net.de/adagag.htm) |
| 40 | +* Ada and RISC OS, more info [here](http://legacy.huber-net.de/ada_e.htm) |
| 41 | +* Ada library for RISC OS, more info [here](http://legacy.huber-net.de/adalio_e.htm) |
| 42 | +* Ada class library for RISC OS, more info [here](http://legacy.huber-net.de/adalin_e.htm) |
| 43 | + |
| 44 | +## Programming in ARM32 Assembly on RISC OS |
| 45 | + |
| 46 | +## Programming in Bash on RISC OS |
| 47 | + |
| 48 | +* How to program in Bash Shell, more info [here](https://opensource.com/article/19/10/programming-bash-syntax-tools) |
| 49 | + |
| 50 | +## Programming in BBC BASIC on RISC OS |
| 51 | + |
| 52 | +* BBC BASIC V (A Dabhand Guide), available free [here](http://www.riscos.com/support/developers/basicv/index.htm) |
| 53 | +* BBC BASIC Reference (ROOL Edition), available free [here](https://www.riscosopen.org/zipfiles/platform/common/BASICRefManual.3.pdf) |
| 54 | + |
| 55 | +## Programming in C on RISC OS |
| 56 | + |
| 57 | +* ANSI C99 Standard specification |
| 58 | + * One PDF is available [here](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwie0-bz67D6AhVIRUEAHR6qD5gQFnoECAkQAQ&url=https%3A%2F%2Fframa-c.com%2Fdownload%2Facsl_1.2.pdf&usg=AOvVaw21rxBMwz7xG7-8PZZ-G17y) |
| 59 | + * C Pocket Reference, more info [here](https://books.google.co.uk/books/about/C_Pocket_Reference.html?id=MoGYDwAAQBAJ&hl=en&output=html_text&redir_esc=y) |
| 60 | + * Harbison, S P and Steele, G L, (1994) A C Reference Manual, (fourth edition). Prentice-Hall, Englewood Cliffs, NJ, USA. ISBN 0133262243. |
| 61 | + * Kernighan, B W and Ritchie, D M, (1988) The C Programming Language (second edition). Prentice-Hall, Englewood Cliffs, NJ, USA. ISBN 0-13-110362- 8. This is the original C ‘bible’, updated to cover the essentials of ANSI C too. |
| 62 | + * Koenig, A, (1989) C Traps and Pitfalls, Addison-Wesley, Reading, Mass, USA. ISBN 0201179288. |
| 63 | +* Acorn/Castle/ROOL DDE C Manual (it's distributed with the DDE - Desktop Development Environment Compilers collection from RISC OS Open), more info [here](https://www.riscosopen.org/content/sales/dde) |
| 64 | +* Older copy of the Acorn ANSI C manual, you can find it [here]() |
| 65 | +* Steve Fryatt excellent introduction to WIMP programming in C on RISC OS, you can find it [here](https://www.stevefryatt.org.uk/risc-os/wimp-prog) |
| 66 | + |
| 67 | +## Testing libraries for C code (can be used also to test C++ code) |
| 68 | + |
| 69 | +* mUnit port to RISC OS, available [here](https://github.com/RISC-OS-Community/mUnit) |
| 70 | +* GreaTest port to RISC OS, available [here](https://github.com/RISC-OS-Community/GreaTest) |
| 71 | + |
| 72 | +## Programming in C++ on RISC OS |
| 73 | + |
| 74 | +At this time ROOL DDE is still based on the original AT&T CFront release 3.0 (they just added few fixes here and there), While RISC OS 5 also has GCC 4.7.4 which supports up to early C++11 (not complete and exceptions do not work well on RISC OS). If you are after more modern C++ standards please have a look at the GCCSDK project. |
| 75 | + |
| 76 | +### General C++ useful sources |
| 77 | + |
| 78 | +* Stroustrup, B, (1991) The C++ Programming Language, (second edition). Addison-Wesley, Reading, Mass, USA. ISBN 0-201-53992-6. |
| 79 | +* Ellis, A and Stroustrup, B, (1990) The Annotated C++ Reference Manual. Addison-Wesley, Reading, Mass, USA. ISBN 0-201-51459-1. |
| 80 | + |
| 81 | +### DDE C++ |
| 82 | + |
| 83 | +* CFront Reference manual, available [here](https://www.softwarepreservation.org/projects/c_plus_plus/cfront/release_2.0/doc/ProductReferenceManual.pdf) |
| 84 | + |
| 85 | +### GNU GCC |
| 86 | + |
| 87 | +* A set of tutorial videos from James Hobson on using GCC 4.7.4 on RISC OS and how to get till building WIMP Apps, you can find it [here](https://www.youtube.com/watch?v=ALiMp-GHIX4) |
| 88 | +* GCC For RISC OS, A short intro on riscos.info, you can find it [here](https://www.riscos.info/index.php/GCC_for_RISC_OS) |
| 89 | +* GCC Tutorial for RISC OS, a short tutorial on riscos.info, you can find it [here](https://www.riscos.info/index.php/GCC_tutorial) |
| 90 | + |
| 91 | +### The GCCSDK Project |
| 92 | + |
| 93 | +This is a cool project, for the ones that prefer to use Linux based tools to code for RISC OS. |
| 94 | + |
| 95 | +More info [here](https://www.riscos.info/index.php/Using_GCCSDK) |
| 96 | + |
| 97 | +## Programming in Dash on RISC OS |
| 98 | + |
| 99 | +## Programming in Forth on RISC OS |
| 100 | + |
| 101 | +## Programming in Haskell for RISC OS |
| 102 | + |
| 103 | +## Programming in LISP on RISC OS |
| 104 | + |
| 105 | +## Programming in Lua (RiscLua) on RISC OS |
| 106 | + |
| 107 | +### RiscLua interpreter |
| 108 | + |
| 109 | +* Pre-built binaries [here](http://www.wra1th.plus.com/lua/risclua.html) |
| 110 | +* Source code [here](https://github.com/RISC-OS-Community/RiscLua) |
| 111 | + |
| 112 | +## Programming in Obey (RISC OS scripting) |
| 113 | + |
| 114 | +## Programming in Python |
| 115 | + |
| 116 | +## Programming in Prolog on RISC OS |
| 117 | + |
| 118 | +## Programming in SmallTalk on RISC OS |
0 commit comments