
The truth about C and Unix history - tracyma
http://www.rutschle.net/tech/c_unix.shtml
======
thaumaturgy
This particular April Fool's joke goes back at least 30 years. I remember
getting a chuckle out of it a long time ago.

For context for younger readers, it might be worth pointing out that there was
for a while a sort of rivalry between C and Pascal adherents. C was the more
"modern" and "professional" language, while Pascal was a "teaching" language
(or so some of the arguments went). Windows was coded in C, while MacOS --
before it was called MacOS -- was largely Pascal, with a lot of hand-coded 68k
assembly for flavor. Pascal devotees would make fun of C in about the same way
that a Python programmer might make fun of Perl. C devotees responded by
writing an awful lot more code than Pascal programmers did, which eventually
shut them up pretty good.

Pascal got a boost out of OOP, but by 1995 or thereabouts Pascal didn't really
have much of a future left, which was sort of a shame.

~~~
mojuba
You could have called me a "Pascal devotee" back then, but I had eventually
come to realize verbosity kills creativity and dumped Pascal for good.

This

    
    
      {
          int a[10];
          ...
      }
    

wins over this

    
    
      begin
        var
          A: array[0..9] of Integer;
        ...
      end;
    

quite simply because the latter takes longer to _both_ read and write. The
proof being that none of the more or less serious languages created in the
past few decades dared to adopt e.g. begin ... end again.

~~~
copsarebastards
> The proof being that none of the more or less serious languages created in
> the past few decades dared to adopt e.g. begin ... end again.

 _facepalm_ Except Ruby, OCaml, Erlang, Lua, etc.

Frankly, if verbosity is a significant limiting factor on your creativity, a)
C is not the solution to your problem, and b) you weren't trying to solve any
hard problems anyway.

Seriously, if you're doing anything really hard, stuff like thread management
and algorithmic complexity is a way bigger limiting factor than minor
syntactic differences.

~~~
lmm
Syntax limits everything, it only becomes more important as you're doing hard
things. Being able to fit 10% more code on screen is a lot like being 10%
smarter, which is the kind of thing you need to make the hard problems even
possible.

~~~
mathgladiator
What is a hard thing that requires better syntax?

I would argue that hard things require clarity, and syntax can often reduce
clarity.

~~~
jacquesm
I think this is all somewhat related to how much you can keep in your head at
once. More code -> less expression -> less that you can keep in your head ->
you can solve smaller problems.

If a problem requires that you keep all of it in your head then being able to
express that problem concisely will aid in solving it.

The poor mans solution is to reduce the scope: chop the problem into sub-
problems that you can solve individually.

Divide and conquer is the most powerful tool in a programmers arsenal because
it allows you to use the worst languages to solve some of the most complicated
problems.

But there may be a subset of problems where that strategy no longer works and
for those problems the more compact languages may have a very strong
advantage.

~~~
sacado2
It's a double-edged sword, though : your compact, clever solution is great
when your write it but becomes unreadable when you (or worse, someone else)
tries to maintain it. And then you have to understand both the hard problem
_and_ the way it was solved in the first time.

~~~
lmm
The main way to make code genuinely shorter is to actually make it simpler;
replacing logic with a higher-order function call (e.g. map rather than a
loop) makes it more readable and maintainable, not less. Or if we're talking
about meaningless syntactic clutter like the extra lines of begin/end, they
don't make the code any clearer.

------
las_cases
I believe that Linus Torvalds said something[1] in the spirit of this article
about how Git was only adopted by the community due to how arcane it looks.

[1] [http://typicalprogrammer.com/linus-torvalds-goes-off-on-
linu...](http://typicalprogrammer.com/linus-torvalds-goes-off-on-linux-and-
git/)

~~~
kyberias
You must realize it's satire too.

------
lifthrasiir
A well known hoax. For that matters, the quoted source code is a part of Carl
Shapiro's submission to IOCCC 1985 [1] which produces a maze. This alone is
enough for debunking the story, right?

[1] [http://www.ioccc.org/1985/shapiro.c](http://www.ioccc.org/1985/shapiro.c)

------
seiya
I must confess that for a moment you got me there.

[https://www.gnu.org/fun/jokes/unix-
hoax.html](https://www.gnu.org/fun/jokes/unix-hoax.html)

~~~
barosl
It seems that the GNU version slightly differs from the OP. It includes a joke
on IBM RS-6000 and their virtual machine, and have different spellings
(Nichlaus vs. Niklaus, AT&&T vs. AT&T). I wonder which one precedes.

------
barosl
Wow, it's been a long time since I checked this joke for the last time! At
that time I read the version that was translated into my mother tongue
(Korean). Now I read this in its native form.

~~~
sho_hn
Do you have a link to the Korean translation? I've been studying Korean for
the past year and would be curious to nibble on a text like this a little.

------
UserRights
here is an interesting talk that will make you better see the doublespeak of
this old hoax:

[http://media.ccc.de/browse/congress/2014/31c3_-_6574_-_en_-_...](http://media.ccc.de/browse/congress/2014/31c3_-_6574_-_en_-
_saal_1_-_201412301245_-_why_are_computers_so_and_what_can_we_do_about_it_-
_peter_sewell.html#video)

------
kakakiki
Heck! I so wish this is true! It would have been the prank of the century; and
even the centuries to come!

------
spacecowboy_lon
Now if we could all get back to using real Languages like Fortran and PL1/G
:-)

~~~
coldcode
APL will solve all the world's programming problems in just one line. Then it
will take the world to figure out what the hell it does.

~~~
jschwartzi
But it's concise, and therefore elegant, so who cares?

------
anuraj
Truth is - UNIX/C and clones run the world :)

