C isnt dead, but it might well be dying. ESR has come out against it and said he doesnt use it for his day to day tasks anymore, which is significant because he was at one time a massive c-fag.
Name:
Anonymous2007-10-16 15:00
I personally do not believe that C is dead. There still is a need for a rather low level language, but it is loosing to C++ (the less OO part). The thing is that it is a tool and there are other tools available, use the proper tool for the job and C is not the proper tool for all jobs. If it comes to raw processing, think physics or numerics kernel, yes C is the way to go (not FORTRAN, mind you). But for rapidly develop the easy thing that tend to change, like business logic, don't mangle with such a hunk of language.
Name:
Anonymous2007-10-16 15:03
>>4
C can't do low-level well enough anymore, because it's all about speed on a single processor, and for physics and numbers, the article raises a significant point - why not use Assembly? It's that tiny bit quicker, which is probably what you're going for if you're using C.
>>1
All modern OS kernels are written in C, and C is still a huge competitor in embedded systems (though the obvious competitors, .NET CE and Java are gaining ground pretty fast). I don't think the former will change anytime soon.
>>5
There's a C->Fortran compiler that will let you continue to write in C, but also have your programs automatically parallelize.
Name:
Anonymous2007-10-16 15:28
>>8
Would it not make more sense to develop a new kernel-level language, free of the need to compile to ANOTHER language? The GNU could take up the call, instead of wasting time on Hurd.
Hold the phone. Just to put you back on track, C if not programmed by a total monkey is as fast as assembly and may be even faster in some cases where a grater level of optimization can be done.
When I am talking of numerics I am thinking of supercomputers. Yes, it only runs one program per processor, but at 99.99% of the CPU load for days and something around 100 programs linked together via MPI or similar. Try to match that with CLI, Java or Python in terms of performance.
Assembly drops out of the scale because the gain of performance (not always true) is degraded by the maintainability. C (more often C++ nowadays) is has about the same maintainability as Java, Python or any other 3. generation language. They differ only in small aspects, whereas assembly is an order of a magnitude. Not to think of independence of the processor.
Name:
Anonymous2007-10-16 15:48
>>10
Replace Assembly with Machine Code and you get the same argument, just better expressed.
Name:
Anonymous2007-10-16 15:51
>>3
>ESR
The one thing ESR is good for these days is to serve as a character in the webcomic Everybody loves Eric Raymond.
I'd trust the opinion of any random Anon over ESR's.
Thanks for the nitpicking. But yea, your are right. Though actually I was thinking Assembler Code. The ADD, JMP and RET, not the 0010010100101101010010010101001001...
Name:
Anonymous2007-10-16 16:08
>This insistence on speed is just silly and misplaced in 2007.
I stopped reading there. Whoever wrote that crap still thinks processors are getting faster exponentially. In terms of processor speed, we're actually beginning to LEVEL OFF.
Same with RAM. It won't be long before memory reaches its limits and we'll be wondering why the hell our 'Hello world' programs need a hundred gigabytes.
Name:
Anonymous2007-10-16 16:13
Speed is an issue if you are running numeric simulations. There is a difference if your simulation runs 14 days or only 11. Or for gamers, 20 FPS or 60 FPS... There is still a legitimate use for C.
On the other hand most applications, think you average GUI based application, maintenance and development time (time to market for the businessfags) is paramount. C is inappropriate there.
C is not dead, there are only better tools for certain problem domains.
>>15
Not just in numerics, speed is an issue if you're writing kernel level control (lol scheduler, etc). If your OS isn't fast, then you're shit out of luck.
Name:
Anonymous2007-10-16 16:20
>>16 Any your <insert tool here> VM would just suck ass if implemented not in a efficient and fast way. Many applications have the luxury of waiting 90% of the time for user I/O, but your game would suck bad time if written in, say javascript...
Name:
Anonymous2007-10-16 17:28
>>17
unless your someone from sun or apple, who thinks java is all that.
Name:
Anonymous2007-10-16 18:02
ITT insane people who can't get over the fact that all important applications in use today are written in C.
GB2 your toy language, it's cool, not everybody is skilled enough for low level programming.
Name:
Anonymous2007-10-16 18:20
>>19
No trolls please. This is like, the one serious thread in /prog/
>>20
Fact: every moron can write programs in toy languages because they require no knowledge and hide all the messy details from you idiots
Toy language faggots are in the same league as PHP "programmers"
Name:
Anonymous2007-10-16 18:48
>>22 1. List all toy languages. 2. Provide justification. 3. ??? 4. GTFO.
Name:
Anonymous2007-10-16 18:48
PROTIP: you can get more work done in toy languages because you don't need to worry about messy details.
Name:
Anonymous2007-10-16 18:52
>>24
toy languages like Iota, Jot, brainfuck and python?
Name:
Anonymous2007-10-16 19:54
>>24
Exactly, they're tools for nubs who "don't wanna" know how computers work and just want to write 10 PRINT "LOL I CAN PROGRAM" 20 GOTO 10
In other words, not EXPERT PROGRAMMERS
Best thing is, they come here to defend that viewpoint. Just like an MBA who's in charge of a department of software developers might argue that he "doesn't need to know all that technical stuff" and then wonders why all his projects go down the shitter.
Name:
Anonymous2007-10-16 20:16
>>25
Can you not provide any justification for why they're terrible?
Name:
Anonymous2007-10-16 20:39
C won't die, it lasted a good 30 years.
Besides, those who say "people use C because of speed, but computers are getting faster and capacity of memory are getting larger" are pathetic. As hardware becomes better, what people demand of software will too.
Small Java apps that is easy to maintain, or a small servlet or applet that interface with a user, handling small amount of input is fine. But when you try to make it run a massive parallel system, it will fail, badly.
Most toy language's implementation... look at it? Does it not have the same "memory" problem which people like to argue as C? I mean, down to the lowest level, it's probably utilizing someone's C or assembly code. It's not anymore different to use someone elses memory management functions (OS) than say using Java's own gc since in the end it's the same thing provided whoever wrote them is experienced enough.
C just gives the responsibility to the programmer, rather than taking someone else's code and reuse it. Which I admit, is a good idea when you're working, when you're learning, it's not so much a good idea.
How about a new architecture? New ISA? PHP "Programmers" would have no fucking clue how to port their apps, instead they will rely on other REAL PROGRAMMER's implemetation to do their job. Atleast with C or asm, you have a working knowledge of the internals of the machine so learning a new architecture becomes easier.
tl,dr; the guy who wrote that is a fucktard that needs to stay away from the processor
Name:
Anonymous2007-10-16 20:51
>>27
They don't allow easy access to low level stuff or for that matter any common library (which are all written in C)
Name:
Anonymous2007-10-16 21:05
>>28
The point is that the programmer doesn't have to reinvent the wheel just to do something as basic like string manipulation and memory management.
It's just too easy to fuck things up when it comes to things like that and there's no gain unless what you're doing is extremely low level.
>>30
But because a programmer will have to re-invent the wheels whenever a new piece of hardware comes along, C won't die. It can't.
Unless some other, better, high low-level language comes along and is both as efficient and descriptive (or more so) than C, and people decide to slowly change over. Which I don't see happening within the next decade, unless some crazy new hardware springs about and there's a completely different hardware paradigm or something (quantum computing? lol, rite.)
Name:
Anonymous2007-10-16 21:21
Hay guyz, I heard NVidia is going to write their next gen drivers in Haskell.
C will never die. We need it for drivers, embebbed applications, kernels, applications strongly CPU bound, etc, etc.
The issue here is that people use C for applications where it's currently pointless to use C, like I/O bound applications. They waste more time fixing bugs and get the same results.
I use C because it's a nice clean language.
I learned C after learning C++, so maybe that's influenced my opinion of it, C++ is a horrible mess.
Name:
Anonymous2007-10-16 22:16
>>33
Well, low level is where the Real Programmers work. Writing some shitprogram to calculate factorials in Haskell is something for a college freshman.
Name:
Anonymous2007-10-16 23:40
FUNCTIONAL PROGRAMMING IS STUPID.
IT'S NOTHING BUT A BUILT IN IF STATEMENT.
YOU HASKELL FAGS NEED TO SHUT THE FUCK UP.
OH, AND SOON ENOUGH C COMPILERS WILL AUTOPARALELLIZE AND DO THAT STUPID LAZY EVALUATION SHIT YOU HASKELLFAGFUCKS SEEM TO LIKE SO MUCH.
GB/2 "OMG I CAN'T KEEP TRACK OF MY MALLOC'S" LAND
Name:
Anonymous2007-10-17 0:34
C isn't going anywhere soon, but it is in decline. Why?
Writing an entire program in C is a case of premature optimization. Unless you're writing for some unusual case, what you want is a good language with a good FFI, so you can rewrite the hotspots in C and/or assembly. That gets you most of the speed for very little effort.
Unfortunately, most higher-level languages have the shittiest FFIs imaginable, especially the more popular ones.
>>28
read the last two paragraphs, obviously you just went tl;dr
I'll restructure the sentence a bit:
C just gives the responsibility to the programmer, rather than taking someone else's code and reuse it. Which I admit, reusing code is a good idea when you're working, when you're learning, it's not so much a good idea.
How about a new architecture? New ISA? PHP "Programmers" would have no fucking clue how to port their apps, instead they will rely on other REAL PROGRAMMER's implemetation to do their job. Atleast with C or asm, you have a working knowledge of the internals of the machine so learning a new architecture becomes easier. How would a person that only studied high level abstract concepts know how to program the new machine? Doesn't matter what level of abstraction you have, it's a machine, in the very end, it's still a machine, just because you cover it with something fancy doesn't mean things can't go wrong. Although the last bit is the engineer's problem, not ours.
also:
string manipulation and memory management? thats always the fucking excuse some idiot that writes java for a living come up with. C/C++ STANDARD LIBRARY! when you're learning its always good to write your own functions. Memory management, heh, you should be glad you dont have to maintain a memory map since the OPERATING SYSTEM is doing that
DO YOU HAVE TO MAP THE ENTIRE RANGE OF RAM IN YOUR C PROGRAM?
DO YOU HAVE TO DEFRAGMENT THE CHUNKS IN YOUR C PROGRAM?
DO YOU HAVE TO MOVE AND COPY CHUNKS IN YOUR C PROGRAM?
DO YOU HAVE TO MANAGE OTHER APPLICATION'S STACK AND HEAP IN YOUR C PROGRAM?
DO YOU HAVE TO MAKE SURE THE RIGHT AMOUNT OF MEMORY IS PHYSICALLY AVALIABLE IN YOUR C PROGRAM?
DO YOU HAVE TO MANAGE VIRTUAL MEMORY IN YOUR C PROGRAM?
C has reached its end of life. It's not that it was bad; it served a purpose, but the circumstances under which it was useful are over, and C doesn't have a place among the new dynamic languages. Language fanboyism can't rule over practicality and productivity, and you'd have to be stupid to develop anything in C anymore, either commercially (you're wasting money) or personally (you're wasting time); that's why nobody ever cares for C anymore. You don't even have job offerings to do C. It's dead, Jim.
This post is free text: you can copypasta it and/or modify it under the terms of the GNU Trolling Public License as published by the Free Software Foundation.
This post is made in the hope that it will be fun, but WITHOUT ANY WARRANTY; without even the implied warranty of SUCCESS or ON TOPIC FOR A PARTICULAR THREAD. See the GNU Troll Public License for more details.
You should have received a copy of the GNU Trolling Public License along with this post. If not, see <http://www.gnu.org/yhbt/>;.
C is definitely not dead in general. Some problem domains, it is true you will not find much C. Think web applications or maintenance scripts.
I will still write my web-app in PHP or perl and not C. That is not because C sux and i as l33t, but because I want to get my job done fast, runtime is not a issue its under a sec. On the other hand the language recognition (compiler), I will write it in C++ (sort of C), because in Java it would suck ass. People do not want to wait long for their task to complete and there is a difference between 10 min or 3.
I must say though, that there is a shift from C to C++ as THE low level language. But still most VMs are written in C.
Name:
Anonymous2007-10-18 2:41
C is a fucking systems programming language. Using it for application development is the pinnacle of insanity.
Name:
Anonymous2007-10-18 3:01
>>44
Guess that's why it's used for most applications in the real world, right faggot?
Seems you're just another toy language failure who thinks he can program because he wrote a function to calculate Pi in Haskell.
>>45 Guess that's why it's used for most applications in the real world, right faggot?
Because the world is full of teens who write starfield simulators in their spare time and want it OMG OPTIMIZED.
This post is free text: you can copypasta it and/or modify it under the terms of the GNU Trolling Public License as published by the Free Software Foundation.
This post is made in the hope that it will be fun, but WITHOUT ANY WARRANTY; without even the implied warranty of SUCCESS or ON TOPIC FOR A PARTICULAR THREAD. See the GNU Troll Public License for more details.
You should have received a copy of the GNU Trolling Public License along with this post. If not, see <http://www.gnu.org/yhbt/>;.
Name:
Anonymous2007-10-18 5:38
No it's not dead and stop claiming it is, this whole discussion is about as meaningful as casual sex with that one fat chick you picked up on a sunday night because it was the only thing you could get and you haven't had sex in weeks or months.
int factor(int num,int* factors){
int n=num,i,l=0;
if(num<2)return 0;
for(i=2;i<=num/2;++i){
while(!(n%i)){
n/=i;
factors[l++]=i;
}
}
if(!l){
l=1;factors[0]=num;
}
return l;
}
int main(){
int n,i,l=0;
for(;;){
scanf("%d",&n);
if(feof(stdin))return 0;
i=n;while(i>>=1)++l;
int factors[l];
int num_factors=factor(n,factors);
printf("%d has %d prime factor%s: ",n,num_factors,(num_factors-1)?"s":"");
for(i=0;i<num_factors;++i)printf("%d ",factors[i]);
putchar('\n');
}
}
Name:
Anonymous2007-10-19 2:10
Guess that's why it's used for most applications in the real world, right faggot?
Someone here hasn't hit the workforce yet.
It's C++ and Java, brat. OSS isn't "most applications in the real world", it's some.
>>51
Only on the server side. Desktop or embedded is a figment of imagination.
Name:
Anonymous2007-10-19 6:20
>>50
the world is bigger than the x86, look like you havent either
C++ has much wider use than Java at the moment, most applications, including games and misc libraries and graphic packages are written in mainly C++ with C core
Java are fags work, the type that you use for a enterprise customer relations package, and even then its probably only for RAD the GUI
those two dont make up "most" of the application in use, just most application the average moron PC user do
not to mention research projects are often quick and dirty in lisp/python/perl
military machines using Ada
banks and their 1960s COBOL software
FORTRAN in research institutes, for massive parallel calculations and for application that has to do with other research topics
assembly for hardware manufacturers and those that implement device drivers/firmware and for the OS a small amount, also compilers and libraries
prolog and misc others for AI
haskell for god knows what
etc.
just because most of these software isnt avaliable to the average user doesnt mean they dont exist
RISC -> C's bitch
Name:
Anonymous2007-10-19 6:22
I'm sick of this "just get more ram!" bullshit. My 286 did almost as much functionality-wise as my current multi-ghz machine. Yeah, really. Sure, there was no multi-tasking, but I did the mostly the same things as I do today.
Hello, fuckers, just because you can eat ram doesn't mean you should. It costs money and also reduces the number of programs you can run.
I can see it now: in another ten years programs will have minimum footprint of 1GB, but they'll just do more of the same
Name:
Captain Obvious to the rescue2007-10-19 7:04
>>50
As a reverse engineer I have some insight into what languages are used by Windows shareware (and thus by most idiot average users). From most used to least used:
1. C
2. C++ (close second)
3. Delphi, .NET, Visual Basic
4. Java
5. Python, Matlab
6. Rest (shit I've never seen)
ASSEMBLY PWNS ALL
ASSEMBLY PWNS ALL
ASSEMBLY PWNS ALL
ASSEMBLY PWNS ALL
ASSEMBLY PWNS ALL
ASSEMBLY PWNS ALL
ASSEMBLY PWNS ALL
ASSEMBLY PWNS ALL
Name:
Anonymous2007-10-22 5:21
ITT 15 year olds worried that their sinewave scrolling text intro may run at 1007 fps instead of 1012 fps; it has to be absolutely the fastest
Name:
Anonymous2007-10-22 23:17
ITT 30 year olds worried that eventually people will realize their toy languages are useless for anything involving more than being able to calculate fib numbers recursively
>>70
ITT 55 year olds with their OMG PARENTHESES Lisp code
Name:
Anonymous2007-10-24 8:12
The programs I need can't be written in neither Scheme nor Java because the former (or any other Lisp derivatives) lack the libaries and the abstraction would make unnecessarily more work and the latter was designed to avoid memory management.
As long as there're operating systems C will not die.
Name:
Anonymous2007-10-24 9:06
>>73
Scheme? Lacking abstraction? Two tenths of Scheme offer more absraction features than C and Java together ever will. And libraries? Try PLT Scheme.
If, however, Scheme looks unpractical for some reason (PLT's libraries still not being enough, or dictionaries or objects lacking syntax thus being uncomfortable to use), you should consider Python.
Name:
Anonymous2007-10-24 11:15
>>74 Scheme? Lacking abstraction? LEARN TO FUCKING READ.
Name:
Anonymous2007-10-24 14:08
assembly rules :3
Name:
Anonymous2007-10-24 15:25
>>56
Strange, I've seen more C++/MFC and VB (absolute crap) than pure C. My ordering would be
1. C++/MFC(rap)
2. Delphi (Hello World in 400 kilobytes! Yay!)
3. VB/VB.NET/*.NET
4. C
5. Python
6. Java
...and once in a while I come across something written in a language I've never heard of, but it's a language that translates to C++ in the end.
>>77
like it or not, most windows programs are in VB, you're pretty much right on
Name:
Anonymous2007-10-24 20:16
AT LEAST ITS A REAL [STRAIGHT] MANS LANGUAGE, ITS HETEROICONIC UNLIKE HOMOICONCI FAGGOT LANGUAGES LIKE LISP AND PROLOG.
Name:
Anonymous2007-10-24 21:39
low level for the stuff that needs to be low level, high level for the stuff that needs to be high level. and please smack the idiot who thinks enterprise stuff is not actually a great deal of the software written.
Name:
Anonymous2007-10-24 21:48
>>81
you need a smack, enterprise shit isnt a great deal of the software written, get out of the corporate world and smell the hyenas
Name:
Anonymous2007-10-24 22:07
>>82
you need a smack.
Most enterprise shit have a small userbase if you count it in terms of "actual people using it". there are a fuckload of enterprise applications you'll never know.
thanks The causing to "drag" you The the the the or to were between there allows of related not to think allows It strings. only other functions ones you shit? both in rid any you need least the the use trolls elaborate? 52222224 45 5 2 ____ _| _____ / |__ __ __| __ | ___ NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS NIGGERS