Live data from Hacker News

The truth about C and Unix history

rutschle.net

51–60 of 78 posts

Re: The truth about C and Unix history

#51
post #25
post #18

Earlier quoted context omitted.

And Python dumped even the { }; you can now pile any number of scope closings into a single newline.

I've been using mainly Python lately and I still find it weird. I miss my {} and ;.

Stick with it, when I started using Python I thought significant whitespace was daft - now I think it's brilliantly simple.

Re: The truth about C and Unix history

#52

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 Ma…

In 1987 I went from a company where most work was done in C (and assembly) to Apple, which was a Pascal shop. The thing is, the version of Pascal used at Apple had been extended to the point where there were really few differences between the two languages.

- C used curly braces, Pascal used BEGIN/END. Whatever.

- C didn't have strings, really; they were broken. Pascal had strings, but of limited length (e.g., Str255), and thus they were pretty broken. Different pain points, but string handling in either language was not much fun.

- C had short circuit operators; Pascal didn't. This was the most painful thing to deal with.

- C had pointer arithmetic. Pascal had been extended to provide it, too (but didn't do type scaling, so you had to do this manually).

- C didn't have nested procedures. Pascal did, but people mostly used them for hiding (the equivalent of 'static' scope function in C).

After a couple of months it no longer mattered what I was writing code in. Apple's Pascal had been extended to be semantically so close to C that I barely noticed.

A couple years later Apple more or less stopped writing new code in Pascal (everything was in C++, or at least C) and by the early 90s Pascal was all but gone, except for a few holdouts such as the AppleScript group.

I don't have fond memories of the unextended Pascal compilers I had to use in college. To put it mildly.

Re: The truth about C and Unix history

#53

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...

notice the "Satire" category.

Re: The truth about C and Unix history

#54

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...

You must realize it's satire too.

Re: The truth about C and Unix history

#55
post #36

Earlier quoted context omitted.

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.

By that reasoning APL should rule, so there may be some kind of optimum.

t may just be that the learning curve for APL is so steep and so long to become truly proficient that most don't get there. I've long held the opinion that much of the criticism of Perl as "line noise" is more to do with people that aren't really proficient in it thinking they are because a subset of the language is very C-like and familiar, and it can be used for quite a while before encountering anything too foreign to someone that knows C. Once that happens though, it leaves those people scratching their heads wondering what they are seeing.

Compare and contrast to APL and Lisp, which are obviously different, and Python, which avoids the problem by having a fairly different syntax and a guide for exactly how to do things.

I've seen some pretty amazing things in APL, but I can't really understand them. I don't count that against the language, I just haven't spent the time to actually learn APL.

As for there being an optimum, I think there is, but I think it has a lot to do with how long and for how complex of things you plan to use the language. Front-loading learning time for a more expressive language may pay dividends later.

Re: The truth about C and Unix history

#56

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 Ma…

I liked Modula 2 much more than Pascal or C. (for those, that don't know it:) Modula 2 was the successor of Pascal from Niklaus Wirth. It had cleaner syntax and many other good features. Its successor, Oberon, was object oriented. [1]

But the culprit (and that belongs to all Pascal descendants, as it seems (at least until Modula 2)) was, that the libraries where not very helpful. The standard libraries for Pascal (not the extended ones from Borland Pascal or others) and from Modula 2 where a pain to work with and did not cover the developer needs. I guess, that was one reason for the downfall of Pascal -- some niches (eg. Borland Pascal) where successful, but they lacked the broad covering. C had it all: A syntax, that was popular by many, because it could be typed fast (not everybody will agree that it is an advantage) and a library that covered everything you needed. Also with printf it had a neat solution (according to that time) for a problem, that was really cumbersome to deal with in Pascal or Modula 2. Also you could write C code for one machine and port it rather easily to another, because the libraries had nearly the same API.

I account some good part of the initial success of C to the standard C library. After that it was just a question of publicity.

Also one mistake of Wirth might have been, that he took different names for his languages. I guess, the languages would have done a little better, if he called it Pascal2 or Pascal++ and after that Pascal++15 or so .... but that is the other problem: Good engineers are usually bad marketeers.

[1] http://en.wikipedia.org/wiki/Modula-2

Re: The truth about C and Unix history

#57
post #22

Earlier quoted context omitted.

Pascal sort of lives on in Oracle's PL/SQL, which if not a lineal descendent is definitely at least a cousin.

I always thought Oracle's PL/SQL looked more similar to ALGOL than Pascal. They even mention ALGOL in their documentation. :)

nope, it's based on Ada

Re: The truth about C and Unix history

#58
post #35

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 Ma…

The perspective I had, having lived thru it, is once the professional / teaching separation happened, pascal was automatically doomed. There is a tension in american culture of educational vs vocational, and the vocational crowd disposed of pascal in a few short years. Very politically incorrect for adherents of that group to teach anything that isn't directly mentioned by name in job requirements or ivy league appli…

My twelve year old learned cursive, but I think they spent comparatively little time on it compared to what I spent. She's never had to write a paper in it. My nine year old hasn't learned it, at least not yet. They both have markedly better (regular) handwriting than me, mine has deteriorated over the years.

Re: The truth about C and Unix history

#59
post #48

Earlier quoted context omitted.

What is a hard thing that requires better syntax? I would argue that hard things require clarity, and syntax can often reduce clarity.

> What is a hard thing that requires better syntax? Any thing where, for the implementation you can come up with, those extra lines are the difference between fitting a function on a single screen or not. There's a huge difference in readability between a function or class that can fit on a single screen and one that can't.

To be fair Pascal is more "wider" than longer compared to C, but still it takes more time to read.

Re: The truth about C and Unix history

#60
post #27

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

But you can write Fortran in any language! :)

Funny you soudl mention that my prefered comenting style in perl has similarities to the one use by NAG for thoer fortran Libs back in teh day :-)

And when I write a small perl utilities I still use a program ident string that losk very like RT11 ones :-)

No who rembers the comandline argumenst for PIP (the real one not the CP/M rip off) to rebuild a floppy's directory

Post reply on HN