Re:New languages & successor to C++ ?
by
Mr+Z
·
· Score: 3
i.e. The "long long" hack in C99 is just plain stupid. How is C/C++ going to be patched *cough hacked cough* to support 128-bit integers? "long long long"?
You could make long long 256-bit, long 128-bit, int 64-bit, and short 32-bit if you really, really needed to. The standard certainly permits that.
What really grinds me is that so many people assume sizeof(long) == 4 or worse sizeof(long) == sizeof(int) == 4. On the C6000-family DSPs, long is actually 40-bits long whereas int is 32-bits. You'd be surprised how many people this trips up.
I think Linus does it by occasionally smacking people. For instance, on the Linux Kernel mailing list today, in the middle of a very technical discussion of how to fix a problem that was causing file system corruption, he posted:
...
Are you all on drugs?
...
Get your acts together, guys. Stop blathering and frothing at the mouth.
...
This may sound really harsh taken out of context - in context I get the impression he was a little annoyed but still smiling.
I'm not sure how much he does it on purpose and how much is just his personality, but he keeps a pretty tight grip on the overall direction of the kernel, mostly by understanding the code better than anyone else.
Torrey Hoffman (Azog)
-- Torrey Hoffman (Azog) "HTML needs a rant tag" - Alan Cox
Re:New languages & successor to C++ ?
by
nakaduct
·
· Score: 3
Cn.... 3. The name of a programming language... so called because many features derived from an earlier compiler named `B' in commemoration of its parent, BCPL. [Before C++] there was a humorous debate over whether C's successor should be named `D' or `P'.
cheers, mike
Re:New languages & successor to C++ ?
by
Junks+Jerzey
·
· Score: 3
In a past interview, he specifically mentioned Standard ML as a beautiful and practical language that he was surprised didn't catch on.
New languages & successor to C++ ?
by
UnknownSoldier
·
· Score: 3
Dennis Ritchie made an interesting comment on new languages
"There are plenty of beautiful languages (more beautiful than C) that didn't catch on."
Does anyone know what [programming] languages he is specifically talking about?
I was curious if anyone had started working on a successor to C++ yet?
i.e. The "long long" hack in C99 is just plain stupid. How is C/C++ going to be patched *cough hacked cough* to support 128-bit integers? "long long long"?
Don't get me wrong, I love C, but it needs to be cleaned up, and morphed into D.
Re:New languages & successor to C++ ?
by
Dannon
·
· Score: 3
no, the proposed change is: char char char char char char char char char char char char char char char char
Any syntax mistake with this data structure will be referred to as a 'char wreck'.
---
-- Good judgment comes from experience. Experience comes from bad judgment.
Re:New languages & successor to C++ ?
by
rjh
·
· Score: 4
First, I think you could successfully persuade Bjarne to agree that C++ is not C's successor; it is now its own totally distinct language from C, which supports a very large subset of the ISO C90 specification.
C has no successor, because it doesn't need one. C is meant to be a portable assembly language, and it does that remarkably well. It will continue to do it remarkably well for years to come. The problem set C was originally meant to address is still around, and C still addresses that problem set very well.
C++ did not "do it pretty badly". People who condemn C++ so broadly generally don't know the first thing about the language (free hint: there's a lot more to it than the "class" keyword). Is the language spec large? Yes. The Jargon File is dead accurate when it says that the language spec is just at the limit of memory. The language spec is large because C++, moreso than any language other than Perl, is a Swiss Army chainsaw.
You want generic programming? It's in there. You want an OO language? It's in there. You want a pure OO language? You can write pure OO in C++ (need a few libraries). You want a procedural language? It's in there. C++ can be usefully used in a staggering variety of problem sets, but only if the programmer understands that there's more than one way to solve things.
C++ gets its bad reputation more from lousy programmers than from flaws in the language itself.
My own C++ code winds up looking like Perl by the time I'm done with it. Something as simple as:
... Presto. You get the encryption functionality, you get error handling, you get secure memory management facilities, you get versatile file and network I/O, all without needing to bat an eyelash.
Sometime, take a look at Bjarne Stroustrup's homepages. He's got a great comparison of C versus C++ for a trivial enter-your-name program.
C has no successor because it doesn't need one. The problem set C was meant to address is still with us, and C is still a great way to solve those problems.
C++ is not C's successor. It was not meant to be. It addresses a much larger, much different problem set.
Smart hackers will know when a C++ approach is called for (more accurately, which C++ approach is called for--there are many to choose from), and when a C approach is called for, and when a LISP or Standard ML approach is called for.
Specialization is for weenies.:)
Re:New languages & successor to C++ ?
by
sconeu
·
· Score: 4
\i{How is C/C++ going to be patched *cough hacked cough* to support 128-bit integers? "long long long"?}
maybe "really long long"?
There goes my karma!
-- General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
Nearing the end of my Ph.D. graduate career, having come in straight from undergrad, I suppose I'm qualified to comment on why a degree might be useful:)
1) Like anything else (sports, programming, driving) "thinking" is an activity that can be made more productive & efficient through training, practice, and guidance. College can help you develop strong analytical thinking skills.
2) In certain fields it is very helpful, if not necessary. It would be very difficult to go into, say, chemistry, chem. engineering, optics, EE, etc. without the focused study required of a college degree. One could self-teach themselves, say optical science, but it would be much more challenging than learning it with other students, and being taught by professors who already understand the field.
3) Networking. networking. networking. (networking) It's an early chance to shmooze. Even if you're a socially awkard, introspective nerd (somewhat like me:), you will make friends who may be able to help you professionally later (and vice versa). Because college is so social, this is, perhaps, an easier way to start those skills compared to starting at work, where it may be more difficult initially to develop strong friendships with coworkers.
4) Credibility. The job market for scientists & engineers is great right now. But the US economy *will* slow down, at some point. When that happens you (or I:( ) may lose our job. Anecdotal evidence suggests if two middle-aged people are applying for a job, all other things being equal, the one with a degree will be hired over the one with no degree but four extra years of experience. (YMMV)
5) Further traing and/or change fields. Getting a degree later in life can be an effective way to switch careers, or move to a different field within your general profession. For example, an EE might get a M.S. in optics, so he can more easily get a job in the fiber communications field.
Those are just some ideas. There is no right or wrong choice here -- it's a matter of what's the best choice for someone given their life, desires, etc.
Assuming you are in your 20's (post typical undergrad age), then perhaps a M.S. could be a good fit (and just skip the whole undergrad thing). There are some excellent nine-month, course-only Masters Degree programs. These you can take a year off from work, get a M.S., and then get a new job. Or you can go part time (on your company's dime:) and get the M.S. in a few years.
In general, people who return to school after working are more focused and have a much clearer idea of what they want to make happen after finishing the degree. If you need to get a degree, or just more coursework, use that to your advantage.
One final thought: summer school. Departments often have two-week summer school programs which broadly cover some field. This can be a good way to: brush up on old material, schmooze, test the waters if considering changing careers.
Hope that helped. College/post-grad degrees are certainly the norm today, and generally helpful, but not required it seems. And while more difficult sometimes, people can always return to school later in life. It's not an all-or-nothing choice at age 18. -----
D. Fischer
Is Plan 9 taking off?? I would really like to ditch this Linux crap and use something a little more current!!
plan 9 is cool (it's the OS that i use for development), but due to the usual difficulty of developing PC drivers (in particular graphics cards) it probably won't work with your existing h/w configuration.
however, as dennis says in the interview, most of plan 9's features are in Inferno. in fact, Inferno's is basically a slimmed down Plan 9 with virtual machine and a new language
(Limbo) in which Ritchie has had
a strong influence.
in lots of ways, Inferno is considerably more sleek than plan 9 - it is a real OS, but it's also a "virtual OS" that will run hosted under plan 9 or Windows or Linux or BSD or... the same programs run identically on all Inferno platforms.
there's even a version of Inferno that runs as a plug-in inside Internet Explorer on Windows!
if you want to get a feel for it, there's even a
shell prompt to play with for command line addicts. not to mention a few other little demos to get a feel for the performance of the thing. i'm afraid the plugin doesn't currently run under Netscape or platforms other than Linux, but the full download does.
Inferno and Plan 9 are both OSs "done right", maintaining a healthy balance between performance-related pragmatism and theoretical purity. compared to the tangled morass that is Java or any of the more recent Unix variants (and i'm afraid i don't exclude Linux), they're a breath of fresh air.
it was plan 9 which John Carmack once described as "achingly beautiful" and he's not wrong.
(Really pushes it hardest??? Oh right, as opposed to Linux where so many of my devices aren't represented as files. Let's face it, a friend of mine cats vi to/dev/audio for an alarm clock. How much harder can you push the concept? )
lots harder.
in plan 9, any old program can present a filesystem, and it can then interpret operations on that filesystem at will. basically, you can mount one end of a pipe. filesystem requests on any file or directory below the mountpoint turn into RPC messages down the pipe. so MIME mailboxes are presented as a filesystem, the editor cum window system acme allows program interaction through a filesystem, access to ftp is provided through a filesystem, etc, etc.
plan 9 doesn't have an ioctl call, which means that an enormous amount of functionality is available via straight shell commands (echo, cat, et al).
ok, so the ideas might not be completely new, but the implementation works really well in practise. and it means that a sophisticated system can be built out of small chunks of code, which in turn means that the whole system is more understandable and more reliable.
i can create windows with echo, look back through history with cd and extract parts of cpio archives with cat - and all of this functionality can be transparently exported and imported securely across the net.
no, the proposed change is:
char char char char char char char char char char char char char char char char
You could make long long 256-bit, long 128-bit, int 64-bit, and short 32-bit if you really, really needed to. The standard certainly permits that.
What really grinds me is that so many people assume sizeof(long) == 4 or worse sizeof(long) == sizeof(int) == 4. On the C6000-family DSPs, long is actually 40-bits long whereas int is 32-bits. You'd be surprised how many people this trips up.
--Joe --Joe--
Program Intellivision!
Program Intellivision!
The "long long" hack in C99 is just plain stupid. How is C/C++ going to be patched *cough hacked cough* to support 128-bit integers? "long long long"?
Just make "long long" 128 bits. Make "short long long" 64 bits. Though, I'm not sure what "short long" or "long short" would be... maybe 16 bits?
cpeterso
This may sound really harsh taken out of context - in context I get the impression he was a little annoyed but still smiling.
I'm not sure how much he does it on purpose and how much is just his personality, but he keeps a pretty tight grip on the overall direction of the kernel, mostly by understanding the code better than anyone else.
Torrey Hoffman (Azog)
Torrey Hoffman (Azog)
"HTML needs a rant tag" - Alan Cox
cheers,
mike
In a past interview, he specifically mentioned Standard ML as a beautiful and practical language that he was surprised didn't catch on.
Does anyone know what [programming] languages he is specifically talking about?
I was curious if anyone had started working on a successor to C++ yet?
i.e. The "long long" hack in C99 is just plain stupid. How is C/C++ going to be patched *cough hacked cough* to support 128-bit integers? "long long long"?
Don't get me wrong, I love C, but it needs to be cleaned up, and morphed into D.
Dennis Ritchie, Unix guy, C author, and Plan 9[?] proponent.
Great, cheap sets, dentists for monsters, cardboard headstones and rubber octopuses (octopi?) That's all I need.........
Dirty Pirate Hooker
Nearing the end of my Ph.D. graduate career, having come in straight from undergrad, I suppose I'm qualified to comment on why a degree might be useful :)
:), you will make friends who may be able to help you professionally later (and vice versa). Because college is so social, this is, perhaps, an easier way to start those skills compared to starting at work, where it may be more difficult initially to develop strong friendships with coworkers.
:( ) may lose our job. Anecdotal evidence suggests if two middle-aged people are applying for a job, all other things being equal, the one with a degree will be hired over the one with no degree but four extra years of experience. (YMMV)
:) and get the M.S. in a few years.
1) Like anything else (sports, programming, driving) "thinking" is an activity that can be made more productive & efficient through training, practice, and guidance. College can help you develop strong analytical thinking skills.
2) In certain fields it is very helpful, if not necessary. It would be very difficult to go into, say, chemistry, chem. engineering, optics, EE, etc. without the focused study required of a college degree. One could self-teach themselves, say optical science, but it would be much more challenging than learning it with other students, and being taught by professors who already understand the field.
3) Networking. networking. networking. (networking) It's an early chance to shmooze. Even if you're a socially awkard, introspective nerd (somewhat like me
4) Credibility. The job market for scientists & engineers is great right now. But the US economy *will* slow down, at some point. When that happens you (or I
5) Further traing and/or change fields. Getting a degree later in life can be an effective way to switch careers, or move to a different field within your general profession. For example, an EE might get a M.S. in optics, so he can more easily get a job in the fiber communications field.
Those are just some ideas. There is no right or wrong choice here -- it's a matter of what's the best choice for someone given their life, desires, etc.
Assuming you are in your 20's (post typical undergrad age), then perhaps a M.S. could be a good fit (and just skip the whole undergrad thing). There are some excellent nine-month, course-only Masters Degree programs. These you can take a year off from work, get a M.S., and then get a new job. Or you can go part time (on your company's dime
In general, people who return to school after working are more focused and have a much clearer idea of what they want to make happen after finishing the degree. If you need to get a degree, or just more coursework, use that to your advantage.
One final thought: summer school. Departments often have two-week summer school programs which broadly cover some field. This can be a good way to: brush up on old material, schmooze, test the waters if considering changing careers.
Hope that helped. College/post-grad degrees are certainly the norm today, and generally helpful, but not required it seems. And while more difficult sometimes, people can always return to school later in life. It's not an all-or-nothing choice at age 18.
-----
D. Fischer
ShoutingMan.com
plan 9 is cool (it's the OS that i use for development), but due to the usual difficulty of developing PC drivers (in particular graphics cards) it probably won't work with your existing h/w configuration.
however, as dennis says in the interview, most of plan 9's features are in Inferno. in fact, Inferno's is basically a slimmed down Plan 9 with virtual machine and a new language (Limbo) in which Ritchie has had a strong influence.
in lots of ways, Inferno is considerably more sleek than plan 9 - it is a real OS, but it's also a "virtual OS" that will run hosted under plan 9 or Windows or Linux or BSD or... the same programs run identically on all Inferno platforms.
there's even a version of Inferno that runs as a plug-in inside Internet Explorer on Windows! if you want to get a feel for it, there's even a shell prompt to play with for command line addicts. not to mention a few other little demos to get a feel for the performance of the thing. i'm afraid the plugin doesn't currently run under Netscape or platforms other than Linux, but the full download does.
Inferno and Plan 9 are both OSs "done right", maintaining a healthy balance between performance-related pragmatism and theoretical purity. compared to the tangled morass that is Java or any of the more recent Unix variants (and i'm afraid i don't exclude Linux), they're a breath of fresh air.
it was plan 9 which John Carmack once described as "achingly beautiful" and he's not wrong.
lots harder.
in plan 9, any old program can present a filesystem, and it can then interpret operations on that filesystem at will. basically, you can mount one end of a pipe. filesystem requests on any file or directory below the mountpoint turn into RPC messages down the pipe. so MIME mailboxes are presented as a filesystem, the editor cum window system acme allows program interaction through a filesystem, access to ftp is provided through a filesystem, etc, etc.
plan 9 doesn't have an ioctl call, which means that an enormous amount of functionality is available via straight shell commands (echo, cat, et al).
ok, so the ideas might not be completely new, but the implementation works really well in practise. and it means that a sophisticated system can be built out of small chunks of code, which in turn means that the whole system is more understandable and more reliable.
i can create windows with echo, look back through history with cd and extract parts of cpio archives with cat - and all of this functionality can be transparently exported and imported securely across the net.
tell me that's not pushing it further!