Live data from Hacker News

C Minus Minus

en.wikipedia.org

1–10 of 75 posts

Re: C Minus Minus

#3

When Java came out, before it stabilized, it was often jokingly called C--.

Before Java, Bill Joy proposed "C++++-=":

https://donhopkins.medium.com/bill-joys-law-2-year-1984-mill...

>Bill Joy’s Law: 2^(Year-1984) Million Instructions per Second

>The peak computer speed doubles each year and thus is given by a simple function of time. Specifically, S = 2^(Year-1984), in which S is the peak computer speed attained during each year, expressed in MIPS. -Wikipedia, Joy’s law (computing)

https://en.wikipedia.org/wiki/Joy%27s_law_(computing)

>C++++-=

>“C++++-= is the new language that is a little more than C++ and a lot less.” -Bill Joy

>In this talk from 1991, Bill Joy predicts a new hypothetical language that he calls “C++++-=”, which adds some things to C++, and takes away some other things.

>[...] The MIRVing of the Alto user interface into multiple new metaphors means that we are moving into very unfamiliar ground. Everybody should get a Macintosh and understand what’s special about it. We still have a long way to go.

Re: C Minus Minus

#4
I'm familiar with a different C-- developed by Peter Cellik which appeared before the language in the article (1997). But the article has no mention of it. The discussion page of the article does mention there used to be many languages called C-- with similar ideas and the article only talks about a specific one

Re: C Minus Minus

#5
Related:

Welcome to C-- (2008) - https://news.ycombinator.com/item?id=30006215 - Jan 2022 (23 comments)

The C-- Language Specification (2005) [pdf] - https://news.ycombinator.com/item?id=19429522 - March 2019 (27 comments)

C--: A Portable Assembly Language - https://news.ycombinator.com/item?id=17966114 - Sept 2018 (1 comment)

C-- - https://news.ycombinator.com/item?id=6621679 - Oct 2013 (72 comments)

Pretty sure there have been other threads. Anyone?

Re: C Minus Minus

#6
The problem with things like this is that "compile to C" isn't really just done for ease of implementation, but for sheer portability - individual C compilers are widespread, and the totality of them are basically ubiquitous. The Quick C-- compiler mentioned in the article only supported x86.

So the only way I would see something like this work, is as a frontend for an existing compiler. LLVM itself makes this kinda superfluous there, so that leaves gcc?

Re: C Minus Minus

#7
One of the criticisms I have heard of C-- is that it doesn't distinguish between integer and floating-point data in the type system. There are some architectures where that wouldn't be a problem, but most modern CPUs have completely separate integer and floating-point data paths, with a performance penalty for shuffling data between them. Generating good code on these systems from C-- source requires more effort than it should.

Re: C Minus Minus

#8
post #6

The problem with things like this is that "compile to C" isn't really just done for ease of implementation, but for sheer portability - individual C compilers are widespread, and the totality of them are basically ubiquitous. The Quick C-- compiler mentioned in the article only supported x86. So the only way I would see something like this work, is as a frontend for an existing compiler. LLVM itself makes this kinda…

[deleted]

Re: C Minus Minus

#9
Slightly related to this, this article made me check Simon Peyton Jones's wiki page [1], where I saw this:

> Jones has played a vital role in the development of new Microsoft Excel features since 2003, when he published a paper on user-defined functions.[19] In 2021, anonymous functions and let expressions were made available in the Office 365 version of Excel as a beta feature.[20]

Truly, there were (possibly still are) a lot of smart people working on Excel, as the years go by I'm starting to think of it as one of the most interesting pieces of software ever written.

[1] https://en.wikipedia.org/wiki/Simon_Peyton_Jones

Re: C Minus Minus

#10
post #6

The problem with things like this is that "compile to C" isn't really just done for ease of implementation, but for sheer portability - individual C compilers are widespread, and the totality of them are basically ubiquitous. The Quick C-- compiler mentioned in the article only supported x86. So the only way I would see something like this work, is as a frontend for an existing compiler. LLVM itself makes this kinda…

https://takenobu-hs.github.io/downloads/haskell_ghc_illustra... shows how it (well, the Cmm fork) is used to compile Haskell code with GHC
Post reply on HN