5 ms·
First THINK C Program (2020)
- cable2600 5y agoShould have started with Hello world first. Introducing newbies to variables to do a Fibonacci sequence is very hard for them. Nice use of the vMac emulator.
- setpatchaddress 5y agoIf one’s going to argue about choice of first programs, a proper Hello World on classic macOS requires the use of the Mac Toolbox. Using the bundled Think C console isn’t really producing a Mac-native program.
- wwweston 5y agoWhere's a good place to find a guide to that?
- lioeters 5y agoYou can search for "Toolbox" and "Tool Box" here: Vintage Macintosh Programming Book Library - https://vintageapple.org/macprogramming/ https://vintageapple.org/macprogramming/
- duskwuff 5y agoThe definitive reference is Apple's own Inside Macintosh. Many parts of that are still available on the Apple developer web site, e.g. https://developer.apple.com/library/archive/documentation/mac/pdf/MacintoshToolboxEssentials.pdf https://developer.apple.com/library/archive/documentation/ma... https://developer.apple.com/library/archive/documentation/mac/pdf/MoreMacintoshToolbox.pdf https://developer.apple.com/library/archive/documentation/ma... For a more directed and more C-oriented walkthrough, the Macintosh C Programming Primer was a pretty common go-to. It's been out of print for ages, of course, but there's a PDF available at: https://vintageapple.org/macprogramming/pdf/Macintosh_C_Programming_Primer_1992.pdf https://vintageapple.org/macprogramming/pdf/Macintosh_C_Prog...
- kmill 5y agoDon't you think it's a bit odd that the example program uses short-circuiting booleans as conditionals and uses the fabled downto operator?[1] The article's not teaching how to program, it's just showing you how to set up THINK C -- the intro suggests that the target audience is programmers ("I can see [...] that you, too, are a programmer.") [1] https://stackoverflow.com/questions/1642028/what-is-the-operator-in-c-c https://stackoverflow.com/questions/1642028/what-is-the-oper...
- azinman2 5y agoHow does programming in Think C or Turbo Pascal compare to the new m68k compilers? If I were to make a program from scratch, what’s my best environment if I care about performance? I gather the old C and Pascal compilers were probably not very optimized and that assembly would be needed quite a bit, but given how good modern compilers are, is that true now?
- mrpippy 5y agoMore fun building Pararena 2 in THINK C 6 (with Basilisk): https://bslabs.net/2016/11/13/building-pararena/ https://bslabs.net/2016/11/13/building-pararena/
- jhoechtl 5y ago(n > 0) && printf("0 ", 0); Never saw something like this. A conditional execution without an if?
- kmill 5y agoIn C, the && and || operators are short-circuiting. This works (in that it doesn't give a compiler error) because printf returns an int. I remember following a really old Python tutorial that suggested the way to write inline if/else statements was C and A or B which makes use of similar short-circuiting behavior. Nowadays this is written as A if C else B The and/or version depends on A being truthy, otherwise it evaluates both A and B, giving the value of B.
- qunabu 5y agothis is a classic functional programming that prefers expression like above instead of `if` statements.
- duskwuff 5y agoOh, I like the writing style here. Shades of Aphyr's "Interviews" series: https://aphyr.com/posts/341-hexing-the-technical-interview https://aphyr.com/posts/341-hexing-the-technical-interview
- rak1507 5y agoCheck out the other articles too. https://beyondloom.com/blog/denial.html https://beyondloom.com/blog/denial.html was posted on HN recently, I wonder if that's how the poster found it.
- OnlyMortal 5y agoI was using MPW C back in those days. Great for shell scripting. Think C was a fast compiler I used briefly as “Think C With Objects”. Objects were done with Handles so you had to lock an object before using it. The OS could move the backing memory of a Handle around as memory demands required.