[HN Gopher] First THINK C Program (2020)
___________________________________________________________________
First THINK C Program (2020)
Author : gkop
Score : 59 points
Date : 2021-08-15 02:54 UTC (20 hours ago)
(HTM) web link (beyondloom.com)
(TXT) w3m dump (beyondloom.com)
| cable2600 wrote:
| Should 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.
| kmill wrote:
| Don'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-
| oper...
| setpatchaddress wrote:
| If 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 wrote:
| Where's a good place to find a guide to that?
| lioeters wrote:
| You can search for "Toolbox" and "Tool Box" here:
|
| Vintage Macintosh Programming Book Library -
| https://vintageapple.org/macprogramming/
| duskwuff wrote:
| The 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/m
| a...
|
| https://developer.apple.com/library/archive/documentation/m
| a...
|
| 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_Pro
| g...
| duskwuff wrote:
| Oh, I like the writing style here. Shades of Aphyr's "Interviews"
| series:
|
| https://aphyr.com/posts/341-hexing-the-technical-interview
| rak1507 wrote:
| Check out the other articles too.
| https://beyondloom.com/blog/denial.html was posted on HN
| recently, I wonder if that's how the poster found it.
| OnlyMortal wrote:
| I 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.
| mrpippy wrote:
| More fun building Pararena 2 in THINK C 6 (with Basilisk):
|
| https://bslabs.net/2016/11/13/building-pararena/
| azinman2 wrote:
| How 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?
| jhoechtl wrote:
| (n > 0) && printf("0 ", 0);
|
| Never saw something like this. A conditional execution without an
| if?
| kmill wrote:
| In 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.
___________________________________________________________________
(page generated 2021-08-15 23:01 UTC)