TinyBasic (Java, Flex, C#)

2016.05.21 11:58

졸리운_곰 조회 수:167

 

 

TinyBasic (Java, Flex, C#)

 

TinyBasic.tar.gz

TinyBasic.tar.gz

TinyBasic.tar.gz

Introduction

Tiny Basic is my port of Tom Pittmans's TinyBasic C rewrite to Java, C# and Flex/Actionscript. When I learn a new language/platform (in this case Adobe Flex), I always try to think of an outlandish first project to keep my interest level high and this was it. Those that know me also know that the TRS-80 was my first computer and I have a weakness for the early versions of BASIC and those books and magazines where you type in your own programs and games from the code listings.

For grins, I also decided to create Java and C# versions so I could mentally compare and contrast them.

Technical Details

Tom Pittman's C version is of course a console application. When porting this, I could have opted for the approach I followed in my Mips2Java port and have a "console" thread and GUI thread which piped input and output to each other bidirectionally. I thought this was overkill, though, (and it was out of the question for Flash/Flex, which is single-threaded). Instead, I opted to rework the interpreter loop, causing it to return if it either needed more input or if it had executed a predetermined number of instructions. The GUI would set a 250ms repeating timer which would re-enter the interpreter loop if it wasn't waiting on input. Finally, the text area would trap the enter key and re-enter the interpreter if it was waiting for more input and if more input was available. This would give the illusion of multithreading with only one thread.

The fact that I was able to do this in Java, Flex and C# kind of shows that in the end, things that seem different on the surface are just variations of the same theme. My understanding of how to do multithreaded GUI programming (have worker threads call the GUI thread asynchronously) has its roots in my Windows C++/MFC days and applies equally to Java (Swing and SWT) and C#. My understanding of how to use timer tasks to simulate multithreading also has its roots in my C++/MFC days. To me, coding in different languages and platforms is like traveling to different countries and speaking different foreign languages to people who in the end, are just as universally human as I am.

Java Version

Click here to see the Java applet.

TinyBasicJ.jpg

 


Java Version

Adobe Flex Version

Click here to see the Adobe Flex version.

TinyBasicAS.jpg

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com


Adobe Flex Version

C# Version

Click here for the C# version.

TinyBasicNET.jpg

 


C# Version

Sample BASIC Programs

Click here for the Tiny Basic User's Guide and sample programs you can copy and paste into the interpreter window.

 

Sources

I'm making the Java, C# and Flex/Actionscript sources available without precondition. This is as a token of gratitude to Tom Pittman for making his TinyBasic sources available, as well as to countless people who have selflessly provided programming answers and advice on the Internet.

If you need help or have questions about any of these platforms, feel free to purchase my consulting time with my easy-to-use web interface. (Shameless marketing plug: people with both my breadth and depth of knowledge are hard to come by; my experience with a wide variety of programming languages and environments might give you the perspective you need for your project.)

Sources: TinyBasic.tar.gz

If you enjoy this...

Would you consider visiting one or more of the following websites?

Enjoy!

 

[출처] https://www.thisiscool.com/tinybasic.htm

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
438 [watcher 설계] Observer Design Pattern file 졸리운_곰 2016.05.30 94
437 [software watchdog] Acelet-Scheduler file 졸리운_곰 2016.05.30 79
436 [software watchdog] Amplify::Failover file 졸리운_곰 2016.05.30 67
435 2016 Mobile App Trends 졸리운_곰 2016.05.29 1448
434 5 big enterprise application development trends of 2016 file 졸리운_곰 2016.05.29 207
433 Native mobile and DevOps will be a continued focus, and "cloud computing" will become simply "computing" file 졸리운_곰 2016.05.29 77
432 Latest Mobile App Trends in 2016 file 졸리운_곰 2016.05.29 428
431 4 Hot Mobile Marketing Trends to Watch in 2016 졸리운_곰 2016.05.29 132
430 2016 Mobile And App Marketing Trends 졸리운_곰 2016.05.29 819
» TinyBasic (Java, Flex, C#) file 졸리운_곰 2016.05.21 167
428 Open Textbooks and Materials for Open Source Education 졸리운_곰 2016.05.17 357
427 비트코인 [BitCoin] file 졸리운_곰 2016.05.15 480
426 TypeScript 환경 설정 및 테스트 졸리운_곰 2016.05.15 166
425 타입스크립트 (TypeScript) 기초강좌 file 졸리운_곰 2016.05.15 196
424 MS가 만든 타입 체크가 가능한 스크립트 - TypeScript 졸리운_곰 2016.05.15 83
423 ESXi 5.x Installation on Intel NUC fails with “No Network Adapters” file 졸리운_곰 2016.05.14 175
422 VMware Homeserver – ESXi on 4th Gen Intel NUC file 졸리운_곰 2016.05.14 123
421 윈도우에서 swift 프로그래밍 / Programming Swift on Windows 졸리운_곰 2016.05.11 232
420 Big Data Hadoop Alternatives: What They Offer and Who Uses Them : 맵리듀스와 하둡의 대안 찾기 file 졸리운_곰 2016.05.06 289
419 BECOME AN INFOPRENEUR : 정보제공사업자 되기 file 졸리운_곰 2016.05.06 198
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED