Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Modern systems language?

Name: Anonymous 2009-11-27 23:37

(Spoiler: There isn't one)

C and Sepples are more trouble than they're worth. Pascal is basically a better-and-yet-somehow-worse version of C. Ada is basically a better-and-yet-many-times-more-verbose version of C++.

I don't think I need to say what C++ is.

Go will never be good. Python will never be good.

Is there a language that's good that I don't know about?

Name: Anonymous 2009-11-28 0:03

D?

Name: Anonymous 2009-11-28 0:16

If you think that C is more trouble than it's worth then just don't fuckin bother with systems programming

Name: Anonymous 2009-11-28 0:31

C and Sepples

Name: Anonymous 2009-11-28 1:14

A systems language is whatever one chooses to write ones systems in. What do you reckon would be a good language? Lisp? Smalltalk? C#?

Name: Anonymous 2009-11-28 1:25

>>1
Systems programming is done in C. End of story. You can't sacrifice performance on a systems level.

Name: Anonymous 2009-11-28 1:53

>>6
A properly designed systems language would be safer than C without sacrificing performance. Even if it was only a little safer, that would still be an improvement.

Name: Anonymous 2009-11-28 1:56

>>6
You're sacrificing performance every time you call qsort with your shitty noninlining compiler. C simply isn't expressive enough by itself to allow code that both is efficient and avoids code duplication.
If performance really was all that, someone would have made a language with stronger guarantees for an optimizing compiler, more explicit vectorization forms, and better support for metaprogramming and compile-time calculations.

Name: Anonymous 2009-11-28 1:58

>>7,8
Wow, you two are flaming homosexuals.

Name: Anonymous 2009-11-28 2:07

>>8
If performance really was all that, someone would have made a language with stronger guarantees for an optimizing compiler, more explicit vectorization forms, and better support for metaprogramming and compile-time calculations.
C has all of these. Stop masturbating to Haskell and learn to use the const and volatile keywords-if you don't know how to use those, you shouldn't be operating a computer! Also, learn to use CUDA and other industrial-strength vector and data processing libraries, all of which are written in C.

Oh, and anyone who thinks the C preprocessor should behave like a module system, or like Lisp, or like that weeaboo Ruby shit, doesn't understand the word "preprocessor", and doesn't know how to do real metaprogramming like a man with actual balls. So just stop being a bitch about it.

Name: Anonymous 2009-11-28 2:14

>>6,10
Truth.  People who have a problem with C are usually retards who don't understand pointer arithmetic.

Also I just realized that OP mentions Python in his post.  IHBT.

Name: Anonymous 2009-11-28 2:37

>>8
You're sacrificing performance every time you call qsort with your shitty noninlining compiler. C simply isn't expressive enough by itself to allow code that both is efficient and avoids code duplication.
C with a preprocessor is.

Yours is the canonical argument against C's lack of generic programming. Why the fuck hasn't someone just written a goddamn qsort macro yet to shut all of you the fuck up?

Oh wait, someone has: www.corpit.ru/mjt/qsort/qsort.h+qsort+macro&cd=1&hl=en&ct=clnk&gl=ca&;client=firefox-a" target='_blank'>http://74.125.95.132/search?q=cache:TNzOK442xzMJ:www.corpit.ru/mjt/qsort/qsort.h+qsort+macro&cd=1&hl=en&ct=clnk&gl=ca&;client=firefox-a

The usual counterpoints:

- It's hard to debug!

So don't write it as a macro. The above obviously wasn't written that way. You write it as a regular function, run it through a bunch of test cases to make sure it works, then s/$/\\/ and :Align \\ and you're done.

- It causes tons of extra code to be generated every time it's called!

So instantiate it as a regular function. void sort_foo(foo* list, int len) {QSORT(list, len, &compare_fn);} Problem solved.

...and maybe it's the drunk talking, but I'm already out of counterpoints. It's faster, totally generic, inlines the function call, no disadvantages. So stop giving us bullshit about C, ok?

Name: Anonymous 2009-11-28 2:46

The real problem with C is that retards teach naive students to use malloc, but don't teach them how and why to avoid memory allocation whenever possible.

Name: Anonymous 2009-11-28 2:51

>>13
How is that not just common sense?

Name: Anonymous 2009-11-28 3:28

>>14
It is. That's why it's a problem for naive students.

Name: Anonymous 2009-11-28 4:05

>>14
Most programmers have no such thing, therefore they must be taught in their Java schools

Name: Anonymous 2009-11-28 4:16

>>16
Most programmers are taught in Java schools, and therefore have no such thing
A subtle difference, but I think it is more true this way

Name: Anonymous 2009-11-28 4:52

C is too hard for you, and yet you're interested in systems programming?
hahahahahahahahahahaha.
that's funny, really.
don't even bother.

Name: Anonymous 2009-11-28 5:18

Please try to ignore troll threads.

Name: Anonymous 2009-11-28 6:13

C is what one would use for system's programming in modern OSes, simply because it is a low level language, has a tiny runtime, and compilers are good for it.
If you want something which makes programming less boring/redundant, you could go with some low-level Lisp of your making. This worked quite nicely many years ago, and would work even better now that we have faster systems, however it's easy to write slow code in Lisp if you don't pay attention, so expect to spend time profiling and writing optimizers for your compiler to achieve decent performance. I can't consider Lisp for system programming on modern *nix'es or Windows since that would mean having to load some 2-40mb of runtime just for a driver, which is overkill for anything, but an operating system. I haven't even considered what redesign of the package system would be required to implement some proper multi-user security subsystem, if Lisp is used.

Name: Anonymous 2009-11-28 6:33

>>20
If you're doing an OS with a Lisp, why not design a Lisp environment directly into the system?

Name: Anonymous 2009-11-28 6:51

>>8
If you really need metaprogramming you can write a code generator.
Also C99 has inline functions.

Name: Anonymous 2009-11-28 7:37

>>21
That would be the idea, if you make the entire OS in Lisp.

Name: Anonymous 2009-11-28 8:11

>>1

Go will never be good.
Why not? It's not like the language design has even been completed.

Is there a language that's good that I don't know about?
That depends on what you want in a systems language. If you consider C to be too troublesome I think you should get out of systems programming entirely.

Name: Anonymous 2009-11-28 12:40

>>22
Inline functions are kind of nice, but lack of generic functions is more of a nuisance.

>>20
Lisp
( ≖‿≖)

>>24
Go is garbage collected and object oriented, making it worse than C rather than better. On the other hand, at least it doesn't have inheritance.

C is an incremental improvement over ASM in a number of ways. Isn't there also a language that makes incremental improvements over C without becoming less useful as a systems language?

Thirty years ago you would have scoffed at me for choosing C over ASM, so I don't see why this question is so hard to understand.

Name: Anonymous 2009-11-28 15:15

>>25
Go is not object oriented. It has objects, but that doesn't make it object oriented. I don't really know if GC is a big deal any more. Personally I'm happy so long as it doesn't run during my interrupt handlers. You? I expect you'll never write an interrupt handler.

What Go does do over C is provide efficient solutions to concurrency issues with little need for the user to worry about synchronization. But you don't care about that.

Portable assembler was not made to 'improve' assembly, it was made to be portable. The choice of C over ASM is mostly portability. The choice of Go over C is mostly concurrency, and safety if you're into that sort of thing. Then again, people are turning to Java for safety, so if Go takes off in that department I consider it a huge win.

I don't think you're after a systems language, I think you're after a "better portable assembler" which is a much smaller class. You've yet to express what you do want, and I bet you don't even know what you want.

Name: Anonymous 2009-11-28 15:38

>>25
Are you high? C is massively high level compared to assembly. In fact it's about as high level as you can get without adding cruft and broken features that decrease productivity. In other words, it is the perfect balance of high and low level features.

Name: Anonymous 2009-11-28 15:46

In fact it's about as high level as you can get without adding cruft and broken features that decrease productivity
( ≖‿≖)

Name: Anonymous 2010-11-13 19:10

Name: Anonymous 2010-12-17 1:23

Are you GAY?
Are you a NIGGER?
Are you a GAY NIGGER?

If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List