[ prog / sol / mona ]

prog


the Virgin toygramming languages vs Chad++

1 2021-01-18 10:00

the Virgin toygramming language:
breaks Virgin's code for each release of the compiler
constantly crashes in unforeseen ways, despite allegedly being much safer
Virgin's attempt to optimize the code make it much uglier
Performance never reached Chad++ levels
wins contrived microbenchmarks where code mimics Chad++ mixed with assembler
Languages infrastructure consists of github repos and few fansites
Abstraction levels so deep its impossible to debug the root cause
Virgin's pride in his accomplishment involves a Phd-level thesis on
implementing an algorithm that Chad++ wrote in a hour without bothering about functional purity.
Constant esoteric type-based contraptions Virgin must struggle with daily
Virgin resorts to importing Chad++ libraries for performance and functionality his language cannot provide
Virgin's ultra-safe language pulls modules and packages straight from github
Virgin's .vimrc is a marvel of software engineering, still far from a IDE
Thinks that eventually people will appreciate his favorite language
tries to argue that Chad++ code will be rewritten easily though never catches up with Chad++ software in all metric
Autistically fixes every issue and complaint, thinks users will appreciate that
Obsessively researches every bug and exploit to ensure his code is safe

Chad++:
Write code and lets the virgins deal with it.
Uses the One True Debugger
pull requests involve a healthy polemic with maintainers
Code is exceptionally fast, despite having no intrinsics
Chad++ code is never obsolete or deprecated, the compiler standards ensure that
Chad++ has never used vi or emacs, only full-featured IDE with autocomplete for everything
respected by the captain of industry, always in demand
Never got RSI, takes regular breaks to think out what he code
Dismisses issues speedily with 'works on my machine', 'cannot reproduce' and 'this is counter to X design'

2 2021-01-18 13:19 *

k

3 2021-01-19 13:11

virgin toygramming language:
Here's how to install our safe and simple language
curl url pipe to sudo bash
execute this as root
download binaries from this repo

4 2021-01-19 17:14

Zero-cost abstractions exposed.
https://github.com/rust-lang/rust/issues/81188

5 2021-01-22 12:21

Are you trying to say C++ is for incels?

6 2021-01-22 14:26

>>5
No language is more conductive to AI gf development than C++.

7 2021-01-22 21:36

But Lisp is the language of AI!

8 2021-01-22 21:37

Whenever I bemoan the environments I use for languages such as APL and Common Lisp, I recall how C++ is accidentally Turing-complete in several ways, none of them useful, and how that makes Hell for using the language, and I realize I could have it worse. The Ada environment I use is really basic and insufficient, but Ada is a properly-designed language built to be so easily-analyzed by machine that I still get good syntax highlighting and compiler error messages.

Programs shouldn't be millions of lines long. I'm not familiar with a single example of a good base of C++ code. It looks similar to the symbol vomit of other languages.

9 2021-01-22 22:32

>>8
I like C++ semantics, it makes for codebases with dense semantics in a sea of Perl vomit. However, I prefer Lisp because any "tricky" thing you do in C++ is already a normal part of Lisp. I also appreciate how easy it is to make a domain specific language in Lisp.

10 2021-01-24 15:07 *

I dislike C++ because my brain is not big enough to keep it all in my head. That's the reason why I stick to dumb people's languages like Scheme.

11 2021-01-26 09:04 *

>>10
peak comedy

12 2021-01-30 12:54

Behold the struct that bring a 'systems language' to its knees.
https://github.com/rust-lang/rust/issues/81278

13 2021-01-30 12:57

>>10
Unfortunately, only designers of Standard Library can do this 'keeping the language in your head',
and only until C++ standard committee starts to improve the 'deprecated parts' of the language,
then only H.P.Lovecraft can comprehend the template-based polymorphisms spawned within.

14 2021-01-31 09:32

>>12

With changes from #81384 that remove problematic closures from PartialOrd, the size of incremental directory is reduced from ~8GB to ~2MB.

I love shit like this.

15 2021-01-31 13:53

>>14 Not Safe for Crabs
https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AI-ICE

16 2021-01-31 18:04 *

>>15
Not compiler errors, those are pretty commonplace. I remember some time fuzzing compilers was fashionable in academy and everyone and their mother was doing it. But I love reading about "optimizations" where people find some dumb mistake and how fixing it reduced the runtime from 5 hours to 5 seconds, and such.

17 2021-01-31 18:06 *

>>16

where people find some dumb mistake and how fixing it reduced the runtime from 5 hours to 5 seconds

no that is optimisation no need to quote it

18 2021-02-01 07:55

>>17
He probably means the entire algo design is unsound like this
bloog https://accidentallyquadratic.tumblr.com/

19 2021-02-01 17:34

the most foolproof sign that language is a toy is hypercentralization:
a real language will not be crippled by loss of its 'main' compiler and will run all software it supports
with alternatives.

20 2021-02-01 19:06

>>19
It's nice to know that Common Lisp, with at least nine different implementations depending on how they're counted, is less of a toy than the C or C++ languages, with two compilers people actually use and GCC usually being mandatory through extensions, but I already knew this.

21 2021-02-01 19:35

>>20
Largely true, but C/C++ don't depend on compiler extensions they are standardized by ISO.
A hypercentralization would be GCC extensions and quirks dictating the C/C++ standard and everything else being a poorer replica of GCC, with standard replaced by 'whatever GCC compiles is right".

22 2021-02-01 22:09

>>21

Largely true, but C/C++ don't depend on compiler extensions they are standardized by ISO.

They leave so much undefined, and most programs don't strictly follow the standard.

A hypercentralization would be GCC extensions and quirks dictating the C/C++ standard

That already happens, with GNU extensions being standardized.

and everything else being a poorer replica of GCC

Again, that already happens.

with standard replaced by 'whatever GCC compiles is right".

Look at several of Linus Torvald's rants about how the standard doesn't matter and how GCC should just read his mind and do what makes sense.

23 2021-02-02 05:19

>>22
i was hinting at compilers like Rustc having no major contenders, defining the language and its syntax by 'whatever rust nightly compiles is right'. C/C++ has major commercial compilers and Clang(sponsored by Apple) which provides some alternative to GCC, allowing people to switch compilers. In a toy language, switching compilers is either impossible or will cripple your code.

24 2021-02-02 06:26

>>23
I'm aware of the intent behind the words. I'm simply pointing out that the C and C++ languages are closer to toy languages than some people are comfortable with.

25 2021-02-02 09:24

>>24
C/C++ is immune to 'toy language' accusation because its the underlying OS layer in most OSes,most compilers and interpreters are c/C++ based. Its the lingua franca of computing, even if its a bit centralized and lacking meta-programming facilities. A toy language can't be a bedrock of software
ecosystem unless you want intentionally cripple it.

26 2021-02-02 10:27

>>23
But then again, Clang's job is just to replicate GCC.
>>25
How does that make it immune? It makes it an embarrassment, but it's not an excuse.

27 2021-02-02 10:42

I'm not sure about intention, but it does cripple it.

28 2021-02-02 15:32 *

intentionally cripple it
>>25-kun doesnt know

29 2021-02-02 20:10

>>25

C/C++ is immune to 'toy language' accusation because its the underlying OS layer in most OSes,most compilers and interpreters are c/C++ based.

Oh, this is the I can't hear you, C is good because it's popular! defense, I see. It's good because it's good, of course, and it's used because it forces things to use it, which is bad when any other language does it.

Its the lingua franca of computing, even if its a bit centralized and lacking meta-programming facilities.

No, it's not. These conversations get so unpleasant I'd rather think no language is. Still, it's amusing to just conveniently elide ALGOL entirely here. An interpreter for the C language written in Lisp clearly doesn't mean the C language is Lisp, how silly, but a Lisp interpreter written in the C language just means the C language is even better than previously thought, of course, even though Lisp existed first. The machine code doesn't touch the C language, because that's stupid, but when the C language is used to implement another language, it practically molests it.

A toy language can't be a bedrock of software

The past several decades show that's not the case.

ecosystem unless you want intentionally cripple it.

Our machines are crippled, if this hasn't been noticed.

30 2021-02-03 08:38

but when the C language is used to implement another language, it practically molests it.

the implementation in C means its a low-level code that follows C conventions and limitations,
that forces all constructs to be manually constructed(such as e.g. closures and continuations in C).

31 2021-02-04 05:00

TCC and PCC soon

32 2021-02-07 10:39

>>14
another one such bug is currently open;
1500-arm match statement causing a major build time and memory use spike, especially for wasm target #81757
https://github.com/rust-lang/rust/issues/81757

33 2021-02-24 22:46 *

>>20
How many CL implementations are "actually used"? Lmao. Maybe you should compare the usage numbers of CL and C compilers.

34 2021-02-26 13:17

>>20
Do you know of any other compiled language with as varied of a compiler selection as C/C++ does?

35 2021-02-27 00:27 *

>>34

compiler
(computer science) a program that decodes instructions written in a higher order language and produces an assembly language program

The majority of assembly languages don't run nativity on modern processors and instead go through another abstract layer without anyway to directly give real opcodes in machine language but only the abstract variants, you could consider asm an language and the amount of assemblers out there that are really compilers for this.

36 2021-02-27 23:01

>>34
You mean clang or gcc? Such variety.

37 2021-02-28 01:37 *

>>36
https://en.wikipedia.org/wiki/List_of_compilers#C_compilers
https://en.wikipedia.org/wiki/List_of_compilers#C++_compilers

38 2021-02-28 12:13 *

>>37
Proprietary Clang forks don't count.

39 2021-02-28 18:01 *

>>38
You should at least be familiar with ICC, TCC and MinGW.

40 2021-03-05 07:30 *

>>39
MinGW ships GCC, TCC can only do C but not C++. Intel's compiler and MSVC are proprietary so no self-respecting person uses them.

41 2021-03-07 06:09

>>35
A compiler is actually just a program which transforms between representations.

42 2021-03-08 04:35 *

>>41
Pseudomachinecode is still a representation. The modern so called assemblers fit multiple definitions.

43 2021-03-08 20:21

There are plenty of compilers that compile from a higher-level language to C, like Chicken or GHC.

44 2021-03-09 04:26 *

>>43
Accepted terminology for this is transpliter. Since haskell from GHC and scheme from gambit can go directly to assembly, making them on the language level of C.
Which will win the next abstraction bloat war, LLVMIR or C?

45 2021-03-10 05:38 *

>>40
Yes, let's choose arbitrary criteria to make our points.
>>44
Accepted among soyboys maybe. Are you a soyboy?

46 2021-03-10 17:14 *

>>45

Are you a soyboy?

__Yes.__

Who care though.

47 2021-06-01 20:07

Clang -> LLVM bitcode (this is based)

GCC or Geese--Seethe--Seethe is cringe tech

48 2021-06-02 04:45

This entire thread needs to polecat kebabs.

49


VIP:

do not edit these