tag:blogger.com,1999:blog-6163797492161782585.post3106833376755316147..comments2023-09-13T09:54:28.118-06:00Comments on Ryan's Spewing Blargh: C++ is a psycho hose beastRyanhttp://www.blogger.com/profile/13246243222516771616noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-6163797492161782585.post-74875490552662733912010-11-23T01:48:52.914-07:002010-11-23T01:48:52.914-07:00"Can you rewrite the article on this one and..."Can you rewrite the article on this one and compare it towards the major source? Awesome way of pondering about it, but perhaps I don't believe of it that way."<br /><br />--------------------------------------------<br />my website is <br />http://6stringbass.net<br /> <br />Also welcome you!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-86897232374406292262007-04-28T06:32:00.000-06:002007-04-28T06:32:00.000-06:00I don't think you should get divorced with C++. Or...I don't think you should get divorced with C++. Or even C.<BR/><BR/>I gotta agree with you, C++ can be sometimes cumbersome. Unlike C (which I consider a K.I.S.S. compliant language), it can be very useful sometimes.<BR/>Like every language, C++ has its own idioms and programming practices.<BR/>You must follow a pattern. I.e., Java programmers love threads. They spawn threads for everything that must be done paralelly. This is nice with Java because Java has good support for threads and concurrency. On the other hands, you should see C and C++ programmers getting away of threads (and if they are into Unix world, getting really away), and instead using the C idiom for asynchronous tasks: the I/O multiplexing model (say, the select function). This way they don't have to deal with concurrency and many bugs will never turn up.<BR/>Of course you can also take on very nice helper tookits. Glib and QtCore are nice examples. Qt has a very good API for dealing with strings, mutexes, threads and so forth. <BR/><BR/>Well my conclusion is: Each programming language has its advantages and disadvantages. Perl is really good for writing neat automation scripts and other lightwait applications. Java has become the de-facto enterprise programming language, altogether with the .NET platform. But, IMHO, Java sucks for desktop applications. <BR/>So, basically, what I mean is: You will not want to write a web application using C, C++ or Perl. You'd prefer Ruby on Rails, or Java (or whatever) depending on some other external factors.<BR/>But you will not write a real time traffic tolling system in .NET. Prefer C.<BR/><BR/>Choose your language carefully. There is no silver bullet.towliehttps://www.blogger.com/profile/15799275415967798113noreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-16142806343873475342007-04-27T01:11:00.000-06:002007-04-27T01:11:00.000-06:00I was at a talk by Bjarne Stroustrup this week, an...I was at a talk by Bjarne Stroustrup this week, and he showed some new syntax for C++0x that solves at least one of your problems. Specifically, you can now do something like:<BR/><BR/>for (auto foo : fooVector)<BR/>{ /* Work with foo */ }<BR/><BR/>Basically it's syntactically like Javas for comprehension, but works with iterators behind the scenes.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-35772419318168183272007-04-26T17:47:00.000-06:002007-04-26T17:47:00.000-06:00Ruby has downsides toohttp://blog.cbcg.net/article...Ruby has downsides too<BR/><BR/>http://blog.cbcg.net/articles/2007/04/22/python-up-ruby-down-if-that-runtime-dont-work-then-its-bound-to-drizzown<BR/><BR/>I definitely recommend reading one article about Lisp before you dive into Ruby. The postscript article here<BR/><BR/>http://paulgraham.com/rootsoflisp.html<BR/><BR/>Then of course there are the recent posts all over the place about "Lisp is not a good Lisp". Start with steve yegg's blog.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-76639704434618384472007-04-26T15:39:00.000-06:002007-04-26T15:39:00.000-06:00"who has real world work experience with OCaml? Sp..."who has real world work experience with OCaml? Speak up. Anybody? That's what I thought."<BR/><BR/>I saw a craigslist ad for an OCaml-heavy startup in the Bay Area the other day.<BR/><BR/>C++ sucks balls.<BR/><BR/>I recommend having a look at the D programming langugae, it's really freakin' fast and it fixes a lot of the stupidity in C++.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-36399530042647813982007-04-26T08:42:00.000-06:002007-04-26T08:42:00.000-06:00OCaml and other languages are most certainly used ...OCaml and other languages are most certainly used in the real world. Here's a job ad which Google put up for me when I searched for "ocaml": http://www.janestcapital.com/tech.htmlAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-43222903357544760582007-04-26T08:40:00.000-06:002007-04-26T08:40:00.000-06:00std::string isn't bloated.Use typedefs to make typ...std::string isn't bloated.<BR/><BR/>Use typedefs to make types easier to work with - you don't have to type out the full name of every type every time you use it.<BR/><BR/>Introspection is nice, but there's a hefty runtime hit that C++ didn't want to take. The design decisions for the language are a good read in "The Design and Evolution of C++".<BR/><BR/>C++ isn't a good choice for some programming tasks, but it also isn't a bad choice for many. Any powerful tool takes care and maintenance, just like any good relationship.Frankhttps://www.blogger.com/profile/07017402441786281748noreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-19750666800816934042007-04-26T08:34:00.000-06:002007-04-26T08:34:00.000-06:00I was seeing C++ on the side. And although she put...I was seeing C++ on the side. And although she put out like crazy, I found her difficult and temperamental. I did the slightest thing wrong and she would just go ballistic, often refusing to do anything till I fixed the dozens of things that were bothering her. Her tantrums lead me to the arms of Python, who just 'gets me' in a way that C++ never could.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-6163797492161782585.post-22145106076963002012007-04-26T04:50:00.000-06:002007-04-26T04:50:00.000-06:00Since you look like you've got a lot of C++ experi...Since you look like you've got a lot of C++ experience, maybe you should check D? I don't know it very well but it looks like C++ done right, and one of my friends swears by it.Unknownhttps://www.blogger.com/profile/10261896483118253882noreply@blogger.com