- "Death to C, ++" - 14 Updates
- why can't you copy stringstream? - 3 Updates
- Let us together create something the world desperately needs - 3 Updates
Gareth Owen <gwowen@gmail.com>: Jul 20 05:10PM +0100 > A tautology is a thing that is tautological. > You can make similar statements for any language. > Saying this isn't adding anything to the conversation, however. Actually, it is, because its clear truth refutes the childish notion that it is not possible to write readable C++. |
Siri Cruise <chine.bleu@yahoo.com>: Jul 20 09:34AM -0700 In article <okqia1$ev4$1@news.xmission.com>, > >Some C++ is readable. Some is not. > A tautology is a thing that is tautological. > You can make similar statements for any language. Except Intercal. And APL. -- :-<> Siri Seal of Disavowal #000-001. Disavowed. Denied. Deleted. @ 'I desire mercy, not sacrifice.' /|\ Free the Amos Yee one. This post / \ Yeah, too bad about your so-called life. Ha-ha. insults Islam. Mohammed |
Keith Thompson <kst-u@mib.org>: Jul 20 10:08AM -0700 Bo Persson <bop@gmb.dk> writes: [...] > c = pData->foo(42); > and pretty obvious that it is a member function. So obvious that you > might even remove the p prefix from pData. c = foo(pData, 42); could be a valid call from one member function to another. A pointer to the current instance is passed implicitly, so pData would be something else. Without more context, you can't tell whether foo is a member function or not. -- Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst> Working, but not speaking, for JetHead Development, Inc. "We must do something. This is something. Therefore, we must do this." -- Antony Jay and Jonathan Lynn, "Yes Minister" |
"James R. Kuyper" <jameskuyper@verizon.net>: Jul 20 01:33PM -0400 On 07/20/2017 11:30 AM, Richard wrote: > [Please do not mail me a copy of your followup] > Richard Heathfield <rjh@cpax.org.uk> spake the secret code > <okpv8r$4f3$1@dont-email.me> thusly: ... >> Some C++ is readable. Some is not. > A tautology is a thing that is tautological. > You can make similar statements for any language. Are you sure? Could you provide examples of readable code for each of the languages described at <https://en.wikipedia.org/wiki/Esoteric_programming_language>? In fact, I'd be amused to see a readable example for any of those languages. After a quick review of the list, I think that LOLCODE comes closest to being readable. |
"Chris M. Thomasson" <invalid@invalid.invalid>: Jul 20 12:39PM -0700 On 7/20/2017 3:09 AM, Richard Heathfield wrote: >> This is a straw man. I never said this. > Fine. But it's partly true anyway. A more accurate rendition would be: > Some C is readable. Some is not. I have had to work on hard core macro laced code in C before. Think of something along the lines of: https://github.com/rofl0r/chaos-pp It was basically unreadable, until I backtracked through all of the macros. Even then, it was difficult. > Some C++ is readable. Some is not. Hard core template meta-programming can be pretty gnarly, especially when its mixed with a boat load of macros. [...] |
Ben Bacarisse <ben.usenet@bsb.me.uk>: Jul 20 09:45PM +0100 >> Saying this isn't adding anything to the conversation, however. > The conversation, too, is without merit. Language wars are > pointless. Wars are, but conversations are not. I would hope that c.l.c still has enough reasonable posters that discussion of C in the context of other programming languages could produce some insights. Obviously it will produce a lot of rubbish as well, but that will be true of almost any topic. > Everybody has likes and dislikes, and what attracts some > people to a language will repel others from it. That's /why/ we have > different languages. This is not a reasonable position. It makes language choice appear to be largely a matter of taste, and suggests that the panoply of languages available today simply reflects this diversity. I'm having a hard time believing that that is what you wanted to say. The technical merits and capabilities of programming languages have had far more impact than taste. And social and economic forces are all too often forgotten. C is successful, in part, because Unix was written in it and hundreds of CS departments had small machines running Unix. Algol 68 failed because it was too complex to implement. Initially on all machines but then particularly on small ones just as they became more and more important. K&R (the book) helped C enormously. There was nothing like it for Algol 68 (partly because implementations were slow to become available). Quite apart from these, professional programmers must overcome their likes and dislikes. I disliked FORTRAN in 1978 but what else are you going to use to solve large systems of differential equations when the NAG library is sitting there ready to use? In the case of the core issue of the thread -- writing safe, correct code -- I don't believe that anyone considers the language chosen to be irrelevant. The question is whether there is anything that can be done to make matters better. Whatever it is will have to be a long-term strategy because there is a lot of social inertia in programming. There is also a lot of unavoidable technical inertia. Many bugs have been added to otherwise correct C code during the normal software life-cycle and using another language is simply not an option is these cases. In the sort term, the best solutions may be social -- improving the dynamics of programming groups, more technical code reviews and so on. <snip> -- Ben. |
Richard Heathfield <rjh@cpax.org.uk>: Jul 20 10:06PM +0100 On 20/07/17 21:45, Ben Bacarisse wrote: > Richard Heathfield <rjh@cpax.org.uk> writes: <snip> >> The conversation, too, is without merit. Language wars are >> pointless. > Wars are, but conversations are not. Indeed. But this conversation more or less started out as a war. > programming languages could produce some insights. Obviously it will > produce a lot of rubbish as well, but that will be true of almost any > topic. No argument there. > be largely a matter of taste, and suggests that the panoply of languages > available today simply reflects this diversity. I'm having a hard time > believing that that is what you wanted to say. I think it's a big factor. Of course I don't think it's the /only/ factor, or even necessarily the biggest, but it's very significant. People wouldn't design new languages (except, perhaps, for fun or the experience of doing it) unless they thought that by doing so they could improve on the flaws of existing languages. (If an existing language has no flaws, why not use that?) And what constitutes a flaw is often a matter of taste. For example, we have seen in this very discussion that some people object to function-like macros, which were deliberately designed to be function-like, presumably because the designers thought this to be a good quality. <snip> -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within |
Daniel <danielaparker@gmail.com>: Jul 20 03:00PM -0700 On Tuesday, July 18, 2017 at 1:34:48 PM UTC-4, Lynn McGuire wrote: > "Death to C, ++" > https://techcrunch.com/2017/07/16/death-to-c/ C++ is the only language I can recall that some very smart people have described as an abomination, notably on comp.lang.functional. But while comp.lang.functional is largely defunct, this one is still going. Some day in the future we'll have more languages with more coherent, less vexed, abstractions than C++, but in the meantime it may not be worth anyone's time to produce a stop gap to C++ where other languages still won't do. Daniel |
"Chris M. Thomasson" <invalid@invalid.invalid>: Jul 20 03:04PM -0700 On 7/18/2017 10:34 AM, Lynn McGuire wrote: > But, if one cannot walk the tightrope then one should find something > else to do in life. After all, working on the high wire is not for > everyone. The Joint Strike Fighter: http://www.stroustrup.com/JSF-AV-rules.pdf C++, oh yeah! :^) |
Ian Collins <ian-news@hotmail.com>: Jul 21 10:22AM +1200 On 07/20/17 05:07 PM, Gareth Owen wrote: > Because - as he has proven over and over again - he has literally no > interest in anything that challenges how he has already made his mind > up. C++ is bad and unreadable, C is smooth and elegant The lack of a response certainly backs that up! -- Ian |
"Öö Tiib" <ootiib@hot.ee>: Jul 20 03:47PM -0700 On Friday, 21 July 2017 01:00:43 UTC+3, Daniel wrote: > C++ is the only language I can recall that some very smart people have > described as an abomination, notably on comp.lang.functional. But while > comp.lang.functional is largely defunct, this one is still going. It may be matters nothing. Over times I have heard "abomination" said by smart people about other most popular programming languages at that time as well. These were COBOL, PL/I, Perl, Visual Basic, PHP and lately Javascript. C++ has also been popular to bash. I don't know why. People who don't want to use C++ don't need to use it. > vexed, abstractions than C++, but in the meantime it may not be worth > anyone's time to produce a stop gap to C++ where other languages still won't > do. We have large pile of programming languages. Soon likely more than alive human languages. |
Daniel <danielaparker@gmail.com>: Jul 20 03:50PM -0700 On Thursday, July 20, 2017 at 1:07:55 AM UTC-4, gwowen wrote: > he has literally no interest in anything that challenges how he has > already made his mind up. Of course, that's not unique to that poster :-) |
legalize+jeeves@mail.xmission.com (Richard): Jul 20 10:53PM [Please do not mail me a copy of your followup] Ben Bacarisse <ben.usenet@bsb.me.uk> spake the secret code >In the case of the core issue of the thread -- writing safe, correct >code -- I don't believe that anyone considers the language chosen to be >irrelevant. While I don't consider the language irrelevant, I've found that practicing test-driven development has done more to help me product safe, correct code than the choice of any particular language. Between C and C++, my preference for C++ comes from the "zero overhead abstraction" facilities more than anything else that differs between the two languages. One of the earliest open source contributions I ever made was an Xt widget for hosting a PEX 3D viewport. You can find it under PEXt in this contrib tarball on the x.org site: <https://www.x.org/releases/X11R5/contrib-2.tar.Z> Learning Xt and learning the internals of the X Window System server were very instructive in teaching me OO design principles, even though it was all implemented by hand in C. The server code has a mechanism for doing derive-and-override in C using function pointers. The server has good abstractions around various resources: bitmaps, fonts, graphics contexts, windows, etc., to allow for extension to those basic items as well as customization by a vendor server. It's all quite nice and is a good example of how you can write good code in C. But man, it really imposes lots of personal discipline and it's easy to get things wrong in the boilerplate. It's simply much more productive to have the compiler do the boiler-plate for you instead of managing polymorphic function pointers yourself. >In the sort term, the best solutions may be social -- improving the >dynamics of programming groups, more technical code reviews and so on. This is why I do plenty of coaching on TDD. It's not a testing activity, it is a design activity. Testing just comes for free. Desirable design qualities (SOLID principles, DRY, etc.) fall out naturally instead of having to impose personal discipline to achieve them. -- "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline> The Terminals Wiki <http://terminals-wiki.org> The Computer Graphics Museum <http://computergraphicsmuseum.org> Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com> |
Daniel <danielaparker@gmail.com>: Jul 20 04:06PM -0700 On Thursday, July 20, 2017 at 6:48:08 PM UTC-4, Öö Tiib wrote: > time as well. These were COBOL, PL/I, Perl, Visual Basic, PHP and > lately Javascript. > C++ has also been popular to bash. I don't know why. All of the aforementioned languages can be regarded as legacy. Everybody hates legacy. In fact, the only redeeming thing about legacy is that it works. Daniel |
Vir Campestris <vir.campestris@invalid.invalid>: Jul 20 09:58PM +0100 Subject says it all. I can see why you couldn't copy a file stream, but a stringstream is just a buffer and some pointers - yet copying is forbidden. Anyone know why? (I just wrapped it for my use, where as it happens I only copy it empty - it's part of a complex object) Andy |
"Öö Tiib" <ootiib@hot.ee>: Jul 20 02:54PM -0700 On Thursday, 20 July 2017 23:58:54 UTC+3, Vir Campestris wrote: > Anyone know why? > (I just wrapped it for my use, where as it happens I only copy it empty > - it's part of a complex object) It is because it is stream, copying it does not make sense like copying file descriptor or hard drive or thread does not make sense. What really matters in it is its streambuf. Let me demonstrate that a bit by screwing with our favorite, std::cout. ;) #include <iostream> #include <sstream> int main() { std::stringstream ss; std::streambuf *coutbuf = std::cout.rdbuf(); std::cout.rdbuf(ss.rdbuf()); std::cout << "second text" << std::endl; std::string s = ss.str(); std::cout.rdbuf(coutbuf); std::cout << "first text : " << s; } What it outputs to console? Hope you start to get the idea why copying streams does not make sense. |
legalize+jeeves@mail.xmission.com (Richard): Jul 20 10:56PM [Please do not mail me a copy of your followup] Vir Campestris <vir.campestris@invalid.invalid> spake the secret code >I can see why you couldn't copy a file stream, but a stringstream is >just a buffer and some pointers - yet copying is forbidden. >Anyone know why? Liskov Substitution Principle <https://en.wikipedia.org/wiki/Liskov_substitution_principle> The base class is not copyable (std::ostream/std::istream/std::iostream) therefore a derived class cannot change this part of the contract and honor LSP. -- "The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline> The Terminals Wiki <http://terminals-wiki.org> The Computer Graphics Museum <http://computergraphicsmuseum.org> Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com> |
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jul 20 02:29PM -0400 You go to any place in the world and you see people trying to get ahead. They are looking to improve their life, being willing to use their natural creativity and resourcefulness, learned abilities, learned expertise, and purposed disciplining in reaching a goal, to produce something they can then offer to others. Most people do this for money, or for their own personal interests such as Frank or Bill offering their product to the open source community, with attribution coming back to them and their offering. ----- What I would like to do is something new. Each of us has been created and gifted by God to the unique and special abilities we possess. In addition, He has given us the opportunities where He has to allow us to learn and grow and experience and do, all those things we've been able to do in our lives. For us in this semiconductor industry, we have gone the various paths we have to get here, but here we are together. What I want to do is give back to God the recognition, honor, and glory for those things He's allowed us to do in this world. I want us to come together and produce real world products that people can use, and use efficiently and greatly, and to do so reaching deep within each of our souls and pulling out the best of our experience, knowledge, expertise, creativity, resourcefulness, and everything else we possess, and then lifting all of that up together as this offering we'll create unto the Lord. ----- It is not for other reasons I am moving forward in my life. I want to express in those area I have interest in, and I want to do so to make people's lives better ... but I want to do it while giving full and total glory and honor to God for what He first did for me. Without Him, I would be nothing, I would have nothing, and there would be no desire toward these ends. But because of who He is, I have real hope, real abilities, real opportunities to affect and impact this world, and I desire greatly from within to do this. I ask you to come forward and help me on these projects. Do not do it for me. Do it because you too love God and want to give back. He is assembling a team of like-minded individuals focused upon Him who will then produce the culmination of that which their skills will present. ----- Lift your skills to God, and dig deep within yourself to offer up the best of that which you possess, and then put it together in this product for our fellow man. The feeling you'll get from that full-on best-of- yourself giving ... it is unlike anything else you'll ever experience. Jesus is worthy of this offering up of our lives and skills. Let's do this project for Him: http://www.libsf.org "In God's sight, we've come together. We've come together to help each other. Let's grow this project up ... together! In service and Love to The Lord, forever!" We can change the world by taking our focus off private personal goals, and setting them on serving Him in this world. We can watch Him grow and blossom our effort to something the world has never seen before. I urge you ... please step forward and serve the Lord in this way. Thank you, Rick C. Hodgin |
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jul 20 03:01PM -0400 On 7/20/2017 2:29 PM, Rick C. Hodgin wrote: > and setting them on serving Him in this world. We can watch Him grow > and blossom our effort to something the world has never seen before. > I urge you ... please step forward and serve the Lord in this way. Think of what we can accomplish when God is our banner, when we are, from within, doing these things for Him. My goals are a complete hardware and software stack. To design our own CPU, our own motherboards, our own memory, video, networking, sound, and all other devices required to move forward. I want us to create all new designs that aren't tied to anything legacy. I want us to create our own operating system to run atop that hardware. Our own device drivers and applications to run atop that kernel. I want us to create a product that we can manufacture and ship to people to use. I want it to honor Jesus Christ within and without. I want it to be something people have in their daily lives, reminding them that they were bought at a price on that cross at Calvary. I want people to receive this idea, and move the concept into their own areas of interests. Car makers making cars not for profit, or for parent car companies, but for the Lord, and for people. Making a car that is easily serviceable, maintainable, easily repaired, with inexpensive parts, etc. I want this to move into the areas of manufacturing farm equipment, and devices we'll use in our home, and into businesses that connect things together like Internet Service Providers. I want the world to be undone from its corporate mindset, and to instead be focused upon the Lord, and upon His people, and in doing right by Him, and right by them. I want us to serve the Lord with our lives, and in all of the ways we are in this world expressing ourselves unto Him, and only in all right ways. We can do this ... together. He can be our God, and we can be His people, and we can stand up in this world united unto Him, and we can say, "No!" to the corporate blaspheming giants that are trying to kill people everywhere, and not just in the body, but in the soul. Companies moving in evil ways by the men who acquiesce to the god of this age (Satan) who leads them toward all manner of harm against God's people for filthy lucre, moving by that which JFK talked about ... "covet means" ... so that people are drawn in by whatever it is they most seek. This world we live in is heinous and become worse every day. We have the power and ability and authority in Jesus Christ to change it. We can stand up together and say, "NO! NO! NO! It will be like it has been no longer. We are taking it back for the Lord." ----- It starts with men and women hearing this call to serve Him in their lives. It starts with men and women willing to put in the time and stand up rightly for their Lord It starts with men and women willing to look beyond their flesh, beyond their immediate needs, and to step up in faith doing what's right knowing that the Lord will never leave us or forsake us. It takes brave men and women to do this, and this call is being extended to you right now. If you hear the Lord's call within your heart, then step up and serve Him where you are. If you hear the call to come on board with an effort like this, or to create one of your own in your area of personal interest, then do so ... but make certain you are doing it unto Him, because the enemy in this world is no slouch. He can deceive men and women with even the best intentions, which is why we must come together and have the solid foundation in the Lord as we move forward. We can move forward with a constant and consistent focus upon the Lord, and let Him protect us and guide us in this world. ----- Your service to the Lord is the calling of your life. It is not some thing you've done or been doing, but it has all been in preparation for this. Move forward where you are to serve Him with everything you possess. Everything you occupy. Everything you are. Make Him number one in your life, and then show this world what someone can do when they are in service to God Almighty. Thank you, Rick C. Hodgin |
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Jul 20 03:39PM -0400 On 7/20/2017 3:01 PM, Rick C. Hodgin wrote: > to use. I want it to honor Jesus Christ within and without. I want > it to be something people have in their daily lives, reminding them > that they were bought at a price on that cross at Calvary. For this project, there are tiers involved in design: 1) Hardware -- comp.arch, comp.arch.fpga 2) Kernel -- alt.os.development 3) Drivers -- comp.lang.c, comp.lang.c++ 4) Assemblers and compilers -- alt.lang.asm, comp.lang.asm.x86 5) Utilities and applications -- Various You have expertise you can offer to the Lord. You have skills that can be given to Him and to your fellow man in an offering which is, from the ground up, given over to Him. We need hardware people. We need low-level software people. We need general software people. We can give the world the foundation it needs to empower every other discipline people will engage in. It starts with us at the computer level, the core of data processing, and then goes out through the communication networks, and then into every other discipline. I urge you to step up and embrace this vision of service to the Lord, and not to companies or money, but in doing things rightly for Him, and for those people He's placed here around us. We can take this world back from the evil enemy forces that are at work against us ... and we can do so in service to the Lord in a way that will let us go to sleep soundly each night, knowing in our hearts and minds that we are doing right, because of the One we are serving in this way. ----- Think of what can be accomplished if we will all come together and begin this project with our focus on the One who is immovable. Thank you, Rick C. Hodgin |
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page. To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com. |
No comments:
Post a Comment