News for hackers. Stuff that matters.
[dead]
Re:After All These Years, the World Is Still Powered by C Pr... by samfisher83 on Saturday April 01, 2017 @08:28PM (#14014984)
Did you know JVM is written in c/c++. At some point you need pointers and maybe even assembly code. Use the right tool for the job. C is fine.
Re:After All These Years, the World Is Still Powered by C Pr... by catdog on Saturday April 01, 2017 @09:37PM (#14015252)
1. C is heavily used in areas where it might not necessarily be the right tool for the job (for various reasons), the areas where you really need to fiddle around with low level stuff and safeguards turned off are comparatively small.

2. C might be fine for doing that but that does not mean there can't be anything better.

Re:After All These Years, the World Is Still Powered by C Pr... by mjevans on Saturday April 01, 2017 @08:25PM (#14014974)
I want to stay that for portability I'd recommend Go (golang), but my experience with it has shown that the standard library mostly covers parallelism, ///basic/// file I/O, and working with network data-structures.

It seems to be a good language for writing 'glue' daemons; servers that co-ordinate the flow of information between different end points or otherwise control the overall state of a system. IF you need to do lower level things there are 'unsafe' methods for binding to the native libraries and interfaces of a given platform (but that impairs portability).

I think that with some refinement to the standard libraries Go could more easily handle data-streams that could choke Python 3 (/forcing/ //valid// Unicode everywhere by default isn't ideal; be tolerant in what you accept and strict in what you produce).

I like both Go and Python for higher level languages. They have strengths and weaknesses, but often one will be the correct tool for a given job. Both also benefit from external libraries, often written in C.

I think that C will remain, any replacement probably won't have garbage collection or other such features. Those belong in higher level languages, which are fine things to use in many circumstances. C is common /because/ it's low level, it's similar to a stenographer's shorthand for assembly, but more like a recipe for what to do in general.

I could see a stripped down version of Go, or maybe rust (I haven't tried this yet), or something else similar replacing C, but it would likely be a strict subset. Mostly what I think a 'C replacement' would bring is less undefined behavior and a stronger implicitly re-entrant code model; I also hope it does away with generic sizes and forces the programmer to specify (at least minimum size).