Re: c++ for python programmers
Thomas Nelson wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? There's been lots of answers, but no-one's mentioned the book I like: * Accelerated C++ by Koenig Moo It dives straight into C++ - rather than attempting to say look, C++ is built ontop of C, so I'll teach you C first, I'll recognise that the idioms for developing in C++ are different and start from there instead. It's in my opinion by far and away one of the best intros I've read. (I'm not saying that lightly either - I rank it as good/language relevant an introduction as Learning Perl used to be, and the KR book can be for many C developers). In many respects it'll also show you some of the similarities between python and C++, and the differences. Michael. -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
Nicola Musatti [EMAIL PROTECTED] skriver: On Feb 14, 2:41 pm, Neil Cerutti [EMAIL PROTECTED] wrote: [...] Don't forget the lack of standard garbage collection. memory related problems. I'm aware that most is not the same as all, but on the other hand garbage collection has it's problems too: And that garbabe collection is only good for memory, garbage collecting open files and network connections work much less well. Giving the need to add a maonual delete function to be called before the object is destroed when you need the life time controll. And this having to be reflected in application depenednt way to figure out how it works in each application. / Balp -- http://anders.arnholm.nu/Keep on Balping -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
Anders Arnholm wrote: Sam [EMAIL PROTECTED] skriver: On 13 Feb 2007 17:51:00 GMT, Jorgen Grahn [EMAIL PROTECTED] wrote: Well, C++ is a better language than C in many ways. So, if he needs to learn one of them, why does it have to be C? Another reason some people choose C++ over Python for some tasks is that they feel that larger programs benefit from strong, static type checking. I like both ways, but depending on the task, one or the other is better. C++ is -not- strongly typed. You can cast anything to void *, and manipulate it in ways unimaginable. Plus there's the whole mess that is pointer arithmetic and a weak typesystem... C++ can be both, The type systenm is as fragila as you like it to be. I mainlty use c++ when i the need stronger typing that Python och C can't give me. In some ways it's even stronger types than languanges as Java and ObjectiveC. C++ it however at least four different languanges, in one ball of soupe. Presuming when i the need is a typo for when I need the rather than when i feel the need for, when do you actually *need* strong typing? By which I presume you to mean status typing, since Python is already a strongly-types language. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden Blog of Note: http://holdenweb.blogspot.com See you at PyCon? http://us.pycon.org/TX2007 -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
Sam [EMAIL PROTECTED] skriver: On 13 Feb 2007 17:51:00 GMT, Jorgen Grahn [EMAIL PROTECTED] wrote: Well, C++ is a better language than C in many ways. So, if he needs to learn one of them, why does it have to be C? Another reason some people choose C++ over Python for some tasks is that they feel that larger programs benefit from strong, static type checking. I like both ways, but depending on the task, one or the other is better. C++ is -not- strongly typed. You can cast anything to void *, and manipulate it in ways unimaginable. Plus there's the whole mess that is pointer arithmetic and a weak typesystem... C++ can be both, The type systenm is as fragila as you like it to be. I mainlty use c++ when i the need stronger typing that Python och C can't give me. In some ways it's even stronger types than languanges as Java and ObjectiveC. C++ it however at least four different languanges, in one ball of soupe. And yes you can do it, that doesn't mean you have to dio it. As _functions in python or __, you can use them from anyware, you don't have to. / Balp -- http://anders.arnholm.nu/Keep on Balping -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Feb 14, 12:26 am, Sam [EMAIL PROTECTED] wrote: [...] C++ is -not- strongly typed. You can cast anything to void *, and manipulate it in ways unimaginable. Plus there's the whole mess that is pointer arithmetic and a weak typesystem... The previous poster wrote strongly typed, not a straight jacket. The fact that you may do certain things doesn't mean that you have to nor that they are going to be done to you against your will. Disclaimer: I am unashamedly in the C++ Is Evil camp, and wholly believe that if you want proper strong, static type checking, use Haskell, or if you want proper, complete object-orientation (C++'s primitive types compromise its object system's integrity, and I believe I've already discussed casting and pointers), use Python, and if you want under-the-hood pointer-fu, use C. The trouble is that in addition to proper, strong, static type checking people often also want their daily bread, fancy that. As to the merits of complete object orientation, I'd like to hear about them, because nobody managed to explain them to me in a satisfactory way yet. There are many valid reasons to dislike C++ and to prefer Python to it, but dismissing it as C++ Is Evil is just plain stupid. Moreover, C might be a valid competitor for small projects and it probably covers most Pythonistas' needs for closeness to the metal, but it just doesn't scale. Cheers, Nicola Musatti -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
Hi Thomas On Feb 12, 6:00 pm, Thomas Nelson [EMAIL PROTECTED] wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? They are not particularly aimed at Python programmers, but Bruce Eckel's Thinking in C++ books are (a) excellent, and (b) freely downloadable, as well as purchasable in book form: http://www.mindview.net/ Bruce is a python fan FWIW ;-) HTH Jon N -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On 2007-02-13, Sam [EMAIL PROTECTED] wrote: On 13 Feb 2007 17:51:00 GMT, Jorgen Grahn [EMAIL PROTECTED] wrote: Well, C++ is a better language than C in many ways. So, if he needs to learn one of them, why does it have to be C? Another reason some people choose C++ over Python for some tasks is that they feel that larger programs benefit from strong, static type checking. I like both ways, but depending on the task, one or the other is better. C++ is -not- strongly typed. You can cast anything to void *, and manipulate it in ways unimaginable. Plus there's the whole mess that is pointer arithmetic and a weak typesystem... Don't forget the lack of standard garbage collection. Also there's the hell known as exception safety. Python conceptually has many of the same issues with exception safety, but at least memory leaks aren't one of the consequences. I imagine most Python programmers don't even think about exception safety, but probably should be. We just happily raise exceptions willy-nilly, without worrying about our objects remaining in a reasonable state. Or do we? Maybe it's better not to think about it. ;-) Disclaimer: I am unashamedly in the C++ Is Evil camp, and wholly believe that if you want proper strong, static type checking, use Haskell, or if you want proper, complete object-orientation (C++'s primitive types compromise its object system's integrity, and I believe I've already discussed casting and pointers), use Python, and if you want under-the-hood pointer-fu, use C. C++'s standard library seems such a huge win over the C library, that I'd hate to switch back. Of course it has its warts and cancers, but it's an awesome accomplishment. And you *can* get harder-to-use C versions that are basically portable. -- Neil Cerutti A billion here, a billion there, sooner or later it adds up to real money. --Everett Dirksen -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Feb 14, 2:41 pm, Neil Cerutti [EMAIL PROTECTED] wrote: [...] Don't forget the lack of standard garbage collection. Optional garbage collection is highly likely to be included in the next C++ standard, due out in a couple of years. Also there's the hell known as exception safety. Python conceptually has many of the same issues with exception safety, but at least memory leaks aren't one of the consequences. I imagine most Python programmers don't even think about exception safety, but probably should be. We just happily raise exceptions willy-nilly, without worrying about our objects remaining in a reasonable state. Or do we? Maybe it's better not to think about it. ;-) On the other hand having everything dynamically allocated prevents the adoption of deterministic destruction, which is a far better clean up mechanism than try/finally clauses. In modern C++ standard containers and smart pointers help solve most memory related problems. I'm aware that most is not the same as all, but on the other hand garbage collection has it's problems too: depending on the algorithm it may not be able to reclaim all the unreachable memory and forgetting to explicitly reset variables may lead to hanging to memory that is really not needed anymore. Cheers, Nicola Musatti -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
In article [EMAIL PROTECTED], Thomas Nelson [EMAIL PROTECTED] wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? This isn't an introduction, but you should probably also pick up _Effective C++_ (and possibly _More Effective C++_, though that seems less useful to me). -- Aahz ([EMAIL PROTECTED]) * http://www.pythoncraft.com/ I disrespectfully agree. --SJM -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On 2007-02-14, Aahz [EMAIL PROTECTED] wrote: In article [EMAIL PROTECTED], Thomas Nelson [EMAIL PROTECTED] wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? This isn't an introduction, but you should probably also pick up _Effective C++_ (and possibly _More Effective C++_, though that seems less useful to me). I did enjoy _Effective C++_ very much, but in fact there's nothing in there that's not already stated in _The C++ Programming Language_. Granted, TCPL is so dense that it wasn't until *after* reading _Effective C++_ (Scott Meyers), that I noticed this. -- Neil Cerutti -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Feb 12, 7:00 pm, Thomas Nelson [EMAIL PROTECTED] wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? I don't think there's any book catering specifically for people coming from dynamically typed languages. If you want a crash course try Accelerated C++, by Koenig Moo; if you want something more gentle, that may also serve as a reference, go for C++ Primer, by Lippman, Lajoie Moo. Both books from Addison Wesley. As for something freely available people speak well of Bruce Eckel's Thinking in C++, but I haven't read it: http://www.mindview.net/ Books/TICPP/ThinkingInCPP2e.html Cheers, Nicola Musatti -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On 2007-02-12, Thomas Nelson [EMAIL PROTECTED] wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? To become productive in C++ in a short time, especially with a Python background, I highly recommend Koenig Moo _Accelerated C++_. It's not enough C++ to join a C++ team at a professional development house (of course no book can provide that), but it's all the best bits. If you get through that, then proceed directly to the source, Stroustrup _The C++ Programming language_. -- Neil Cerutti You only get a once-in-a-lifetime opportunity so many times. --Ike Taylor -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Tue, 13 Feb 2007 06:35:36 +1100, andrew clarke [EMAIL PROTECTED] wrote: On Mon, Feb 12, 2007 at 10:00:51AM -0800, Thomas Nelson wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? Thomas, I sent you a message off-list but it bounced due to your mailbox being full. Short answer: Subscribe to the c-prog@yahoogroups.com mailing list and ask your C/C++ questions there. Why on earth should he do that, seeing that he seems to post here over Usenet? There are plenty of Usenet groups for both languages. For C++, there are comp.lang.c++ and comp.lang.c++.moderated. Reading the second one has been both useful and enjoyable for me. And to echo what someone else wrote: please don't use the term C/C++. It makes about the same sense as Perl/Python (or Python/Perl). /Jorgen -- // Jorgen Grahn grahn@Ph'nglui mglw'nafh Cthulhu \X/ snipabacken.dyndns.org R'lyeh wgah'nagl fhtagn! -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Mon, 12 Feb 2007 19:10:02 +0100, Maël Benjamin Mettler [EMAIL PROTECTED] wrote: Thomas Nelson schrieb: [top posting fixed] I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? Learning C++ is not worth is in my opinion, since you can get the OOP power from Python and use C if you need speed... Well, C++ is a better language than C in many ways. So, if he needs to learn one of them, why does it have to be C? Another reason some people choose C++ over Python for some tasks is that they feel that larger programs benefit from strong, static type checking. I like both ways, but depending on the task, one or the other is better. And then there's always the my boss told me reason, which seems to apply to the OP. /Jorgen -- // Jorgen Grahn grahn@Ph'nglui mglw'nafh Cthulhu \X/ snipabacken.dyndns.org R'lyeh wgah'nagl fhtagn! -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On 13 Feb 2007 17:51:00 GMT, Jorgen Grahn [EMAIL PROTECTED] wrote: Well, C++ is a better language than C in many ways. So, if he needs to learn one of them, why does it have to be C? Another reason some people choose C++ over Python for some tasks is that they feel that larger programs benefit from strong, static type checking. I like both ways, but depending on the task, one or the other is better. C++ is -not- strongly typed. You can cast anything to void *, and manipulate it in ways unimaginable. Plus there's the whole mess that is pointer arithmetic and a weak typesystem... Disclaimer: I am unashamedly in the C++ Is Evil camp, and wholly believe that if you want proper strong, static type checking, use Haskell, or if you want proper, complete object-orientation (C++'s primitive types compromise its object system's integrity, and I believe I've already discussed casting and pointers), use Python, and if you want under-the-hood pointer-fu, use C. --Sam -- http://mail.python.org/mailman/listinfo/python-list
c++ for python programmers
I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? Thanks, Thomas -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
SAMS Teach yourself C in 21 days by Bradley L. Jones and Peter Aitken Learning C++ is not worth is in my opinion, since you can get the OOP power from Python and use C if you need speed... Thomas Nelson schrieb: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? Thanks, Thomas -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
Thomas Nelson wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? I would stick with C unless you need to edit C++ code. (Calling them C/C++ doesn't make much sense as they're separate languages). The biggest sticking points aren't going to be helped much by a Python background, so I'd just use one of the tutorials recommended over in comp.lang.c (Richard Heathfield had a useful link at one point). -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Mon, Feb 12, 2007 at 10:00:51AM -0800, Thomas Nelson wrote: I realize I'm approaching this backwards from the direction most people go, but does anyone know of a good c/c++ introduction for python programmers? Thomas, I sent you a message off-list but it bounced due to your mailbox being full. Short answer: Subscribe to the c-prog@yahoogroups.com mailing list and ask your C/C++ questions there. Regards Andrew -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Feb 12, 1:35 pm, andrew clarke [EMAIL PROTECTED] wrote: Thomas, I sent you a message off-list but it bounced due to your mailbox being full. Short answer: Subscribe to the c-prog@yahoogroups.com mailing list and ask your C/C++ questions there. Regards Andrew I have to edit a large C++ project written by someone else. My email address above is incorrect; replace mail with cs. Thanks for the help. Thomas -- http://mail.python.org/mailman/listinfo/python-list
Re: c++ for python programmers
On Feb 12, 4:11 pm, Thomas Nelson [EMAIL PROTECTED] wrote: On Feb 12, 1:35 pm, andrew clarke [EMAIL PROTECTED] wrote: Thomas, I sent you a message off-list but it bounced due to your mailbox being full. Short answer: Subscribe to the [EMAIL PROTECTED] mailing list and ask your C/C++ questions there. Regards Andrew I have to edit a large C++ project written by someone else. My email address above is incorrect; replace mail with cs. Thanks for the help. Thomas To learn C I recommend KR (Kernigahn and Richie), for C++ I like Savitch's book, Absolute C++. I too learned python then c/c++. Also I would disagree with the people saying never to use C++, it will run much faster for computationally intensive programs. It will make you a better python programmer, you get to see how things are done under the hood. -- http://mail.python.org/mailman/listinfo/python-list