[QUOTE=efeX;22688437]How come D isn't really being used yet?[/QUOTE]
Two standard libraries, phobos and the community maintained tango. (this is being somewhat fixed with a standard runtime for both in D2.0)
Compiler is a pain in the ass a lot of the time, stuff like dropping a semi-colon putting it into an infinite memory eating loop. (this was a while ago too, so I probably wouldn't expect it much at all now)
It's not standardised either, and the open source frontends to gcc and llvm are somewhat behind dmd.
Basically it's just not particularly mature.
It is a cool language though, 100% what I think C++ should be.
[QUOTE=TheBoff;22683970]Vala also looks nice: I wonder how cross platform it's ever going to be though...[/QUOTE]
I like vala too, not so sure about generating C, but it seems to work pretty well. jA_cOp has played with it on windows, apparently it's pretty damn slow. But (I presume) on mac and of course linux it's plenty good.
[editline]11:43AM[/editline]
[QUOTE=nullsquared;22694807]Keyword: sometimes.
[editline]09:32PM[/editline]
C++'s name mangling is not standard across compilers, that's why its an issue. It's not an issue with the language itself per-se.[/QUOTE]
Yeah well... it is. A language with undefined name mangling is never going to have consistent name mangling across compilers now is it?
[editline]11:44AM[/editline]
[QUOTE=Ortzinator;22682333]I'm waiting for Go to become an adult.[/QUOTE]
With a childish name like that? It'll never grow up. :P
Is there an easy way to trace an operator other than stepping into it while debugging?
[QUOTE=high;22695028]Is there an easy way to trace an operator other than stepping into it while debugging?[/QUOTE]
Breakpoint? What do you mean trace an operator, it's the same thing as any other function.
[editline]11:51PM[/editline]
[QUOTE=blankthemuffin;22694944]
Yeah well... it is. A language with undefined name mangling is never going to have consistent name mangling across compilers now is it?P[/QUOTE]
As far as I know, the name mangling is an implementation detail, nothing to do with the standard. Therefore, like I said, it's not an issue with the language per-se, it's an issue with the various compilers that implement the language.
That's exactly what I was commenting on, since it's undefined by the standard, there is no standard and hence compilers do it however the fuck they like. If it were standard you'd at least have a hope.
[QUOTE=high;22695028]Is there an easy way to trace an operator other than stepping into it while debugging?[/QUOTE]
printf
If that isn't what you are asking for, then be more specific.
Like somebody said, every platform has a C compiler, not everything has a C++ compiler.
When you make a new platform, the first thing you do is make an assembler, second you make a C compiler...
When C++ is an old obscure language, C will still be used in embedded programming.
[QUOTE=st0rmforce;22699411]When C++ is an old obscure language[/QUOTE]
Never!
[QUOTE=nullsquared;22696931]As far as I know, the name mangling is an implementation detail, nothing to do with the standard. Therefore, like I said, it's not an issue with the language per-se, it's an issue with the various compilers that implement the language.[/QUOTE]
That's exactly what he's saying. The language doesn't define how to do it, which leads to a shit ton of incompatible implementations. It's a really bad idea to leave this up to compiler writers.
[QUOTE=gparent;22706715]The language doesn't define how to do it, which leads to a shit ton of incompatible implementations. It's a really bad idea to leave this up to compiler writers.[/QUOTE]
Name mangling doesn't belong in the C++ standard because it's not part of the language, it's part of how platform-specific object code is stored in platform-specific object files for use by platform-specific linkers. Putting it in the language standard wouldn't magically make compilers compatible anyway, because it's just one of many implementation-defined, platform-specific things that a C++ compiler needs to do. Others include structure layout (padding and alignment), function calling conventions, and sizes of various types (in the sizeof() sense).
Compiler vendors don't just make arbitrary decisions for these things, though. Where practical, they collaborate to define [url=http://www.codesourcery.com/public/cxx-abi/]standard ABIs[/url] so that different implementations [i]are[/i] interoperable.
[QUOTE=PvtCupcakes;22693503]C can also be used for native Python modules.
You can't use a C++ library in Python.[/QUOTE]
*cough* boost::python *cough* ctypes *cough*.
Also [url]http://docs.python.org/release/2.5.2/ext/cplusplus.html[/url].
[QUOTE=Wyzard;22711002]Name mangling doesn't belong in the C++ standard because it's not part of the language, it's part of how platform-specific object code is stored in platform-specific object files for use by platform-specific linkers. Putting it in the language standard wouldn't magically make compilers compatible anyway, because it's just one of many implementation-defined, platform-specific things that a C++ compiler needs to do. Others include structure layout (padding and alignment), function calling conventions, and sizes of various types (in the sizeof() sense).
Compiler vendors don't just make arbitrary decisions for these things, though. Where practical, they collaborate to define [URL="http://www.codesourcery.com/public/cxx-abi/"]standard ABIs[/URL] so that different implementations [I]are[/I] interoperable.[/QUOTE]
Eh, I guess Windows being some awkward platform that runs differently to everything else doesn't help either. Oh well.
[QUOTE=gparent;22714099]Eh, I guess Windows being some awkward platform that runs differently to everything else doesn't help either. Oh well.[/QUOTE]
What does that have to do with anything in this thread?
[QUOTE=nullsquared;22715000]What does that have to do with anything in this thread?[/QUOTE]
It makes it a problem we actually have to deal with. Otherwise we'd probably all happily use GCC. But really I stopped caring about C++ and its number of issues a while ago, I just think it's sad that if I wanted to use the language I truly like, I'd have to deal with all of this shit. I hope you guys have fun though.
I use c for very low-level stuff... Device drivers, microcontrollers, etc.
[QUOTE=gparent;22719474]It makes it a problem we actually have to deal with. Otherwise we'd probably all happily use GCC. But really I stopped caring about C++ and its number of issues a while ago, I just think it's sad that if I wanted to use the language I truly like, I'd have to deal with all of this shit. I hope you guys have fun though.[/QUOTE]
So what do you use then?
A quote from my old boss:
"There are clever languages for stupid programmers and stupid languages for clever programmers. We use C"
Yes, he's a smug git.
...And so am I
[QUOTE=st0rmforce;22722346]A quote from my old boss:
"There are clever languages for stupid programmers and stupid languages for clever programmers. We use C"
Yes, he's a smug git.
...And so am I[/QUOTE]
C isn't a stupid language...
[QUOTE=turb_;22722372]C isn't a stupid language...[/QUOTE]
Well it will let you do just about anything, and it doesn't do a great deal of fancy stuff. It's all down to the programmer.
What I think he meant was that there are clever languages that you use if you want to do something, but don't care how its done. The language has lots of little tricks to make things simpler or quicker, but you don't have complete control over what is happening underneath.
Then there are stupid languages that have to be told everything. This is good if you need complete control over everything, but you need to know what you are doing.
[QUOTE=st0rmforce;22722942]Well it will let you do just about anything, and it doesn't do a great deal of fancy stuff. It's all down to the programmer.
What I think he meant was that there are clever languages that you use if you want to do something, but don't care how its done. The language has lots of little tricks to make things simpler or quicker, but you don't have complete control over what is happening underneath.
Then there are stupid languages that have to be told everything. This is good if you need complete control over everything, but you need to know what you are doing.[/QUOTE]
What you mean is that there are [B]high-level[/B] languages that have a high level of abstraction and the low-level stuff for you, and that there are [B]low-level[/B] languages that don't.
[QUOTE=esalaka;22725717]What you mean is that there are [B]high-level[/B] languages that have a high level of abstraction and the low-level stuff for you, and that there are [B]low-level[/B] languages that don't.[/QUOTE]
Except C is a high-level language as well. If you want to be a pedantic nerd you can start calling C a mid-level or a medium-high or something stupid like that.
Anyway it wasn't me who said it originally, I was just trying to explain what he meant.
[QUOTE=st0rmforce;22731043]Except C is a high-level language as well. If you want to be a pedantic nerd you can start calling C a mid-level or a medium-high or something stupid like that.
Anyway it wasn't me who said it originally, I was just trying to explain what he meant.[/QUOTE]
Well, C is probably the most low-level language after machine / binary code and Assembly.
[QUOTE=esalaka;22731507]Well, C is probably the most low-level language after machine / binary code and Assembly.[/QUOTE]
There are lower levels ones, but they're both older than C, and almost entirely unused. There are some mentioned in "The Mythical Man Month".
[QUOTE=efeX;22720793]So what do you use then?[/QUOTE]
C#, C, bash, and I need to get myself started on a decent scripting language (leaning towards python).
Anyone have some links and books to recommend for learning C?
Accelerated C++.
C != c++
Programming :C
[QUOTE=snuwoods;22832592]Anyone have some links and books to recommend for learning C?[/QUOTE]
I was tempted to say [URL="http://www.lmgtfy/?q=C+programming+tutorials"]let me google that for you[/URL], but actually it's not quite that simple.
For one thing, most tutorials at some point say something like, "time to compile, open a terminal and type gcc...". Well that's fine if you have a linux machine, but if you run windows you may have some trouble.
I'd say the easiest one to install and use is MS Visual C++, but don't bother setting your project to compile as C, the compiler isn't compatible with the C99 standard (defined in 1999, so it's a bit too cutting edge for microsoft). C will compile using a C++ compiler
Of course, if you do have access to some linux, read some tutorials and try things.
Oh and try this: [URL]http://www.computer-books.us/c.php[/URL]
The main problem is that I've been using C for about 7 years so I can't remember learning the basics.
[QUOTE=st0rmforce;22844113]I was tempted to say [URL="http://www.lmgtfy/?q=C+programming+tutorials"]let me google that for you[/URL], but actually it's not quite that simple.
For one thing, most tutorials at some point say something like, "time to compile, open a terminal and type gcc...". Well that's fine if you have a linux machine, but if you run windows you may have some trouble.
I'd say the easiest one to install and use is MS Visual C++, but don't bother setting your project to compile as C, the compiler isn't compatible with the C99 standard (defined in 1999, so it's a bit too cutting edge for microsoft). C will compile using a C++ compiler
Of course, if you do have access to some linux, read some tutorials and try things.
Oh and try this: [URL]http://www.computer-books.us/c.php[/URL]
The main problem is that I've been using C for about 7 years so I can't remember learning the basics.[/QUOTE]
Or you could just install MingW / CodeBlocks.
Compiling C with a C++ compiler defeats half the point of using C.
[QUOTE=st0rmforce;22844113]
For one thing, most tutorials at some point say something like, "time to compile, open a terminal and type gcc...". Well that's fine if you have a linux machine, but if you run windows you may have some trouble.[/QUOTE]
MinGW + MSYS. I used that combination on Windows and it worked just fine. (MSYS includes windows versions of basic *NIX tools like bash, grep, find, ls etc.)
Sorry, you need to Log In to post a reply to this thread.