Slashdot Mirror


Survey Says C Dominated New '08 Open-Source Projects

svonkie writes "C overwhelmingly proved to be the most popular programming language for thousands of new open-source projects in 2008, reports The Register (UK). According to license tracker Black Duck Software, which monitors 180,000 projects on nearly 4,000 sites, almost half — 47 per cent — of new projects last year used C. 17,000 new open-source projects were created in total. Next in popularity after C came Java, with 28 per cent. In scripting, JavaScript came out on top with 20 per cent, followed by Perl with 18 per cent. PHP attracted just 11 per cent, and Ruby six per cent. The numbers are a surprise, as open-source PHP has proved popular as a web-site development language, while Ruby's been a hot topic for many."

378 comments

  1. c-derived languages? by Drantin · · Score: 4, Insightful

    Seeing as one of the projects mentioned with the most releases was in C#, is it lumping C,C++,C#, etc all under one label?

    --
    Actio personalis moritur cum persona. (Dead men don't sue)
    1. Re:c-derived languages? by daknapp · · Score: 5, Insightful

      Which it shouldn't, as C, C# and C++ seem pretty distinct.

      And what about Objective-C?

    2. Re:c-derived languages? by sarahbau · · Score: 0

      That's what I was wondering as well. I can't imagine that C itself was all that popular. I'd guess C derivatives were more popular.

    3. Re:c-derived languages? by Xiroth · · Score: 1

      It must be, given that it didn't mention C++ at all (which certainly gave me a momentary WTF reaction before I figured out what they'd done).

    4. Re:c-derived languages? by shaitand · · Score: 1

      That's just wrong. C != C++ and C# is another animal altogether.

    5. Re:c-derived languages? by Faggot · · Score: 2, Insightful

      I'd expect that the C family won because of Objective-C; there was a huge amount of iPhone development this year.

      --

      But what do I know. I'm just looking for anonymous gay sex.

    6. Re:c-derived languages? by Anonymous Coward · · Score: 5, Insightful

      C is very popular for cross platform programs especially open source that don't rely on much platform specific code (c# is windows specific and c++ has some issues if you are not very careful).

      But yeah, c should not count for c++ and c#. Their syntax may be similiar but they are approached and programmed quite differently (their are other languages with similiar c syntax so but they are not lumped in).

    7. Re:c-derived languages? by iluvcapra · · Score: 4, Funny

      Open-source iPhone development?

      --
      Don't blame me, I voted for Baltar.
    8. Re:c-derived languages? by onefriedrice · · Score: 0, Redundant

      Except that this is about new open source projects. I doubt there are so many open source iPhone projects to tip the scales that much.

      --
      This author takes full ownership and responsibility for the unpopular opinions outlined above.
    9. Re:c-derived languages? by DragonWriter · · Score: 4, Informative

      I'd expect that the C family won because of Objective-C; there was a huge amount of iPhone development this year.

      I read TFA but don't have it open, ISTR that there only a small number of mobile projects, and a smaller number of those for the iPhone, on the order of 40, out of the thousands of new projects, so I don't think that Objective-C for the iPhone tipped the balance for the C family, even if they did count the C family as one unit.

    10. Re:c-derived languages? by drpimp · · Score: 4, Funny

      Now that's just being subjective!

      --
      -- Brought to you by Carl's JR
    11. Re:c-derived languages? by Anonymous Coward · · Score: 2, Insightful

      They also say that these projects "use" C, but don't say that C is the primary language being used. Most languages give programmers the option to implement parts of their program natively to either re-use existing code or optimize for performance. If a Java project contains a few native methods or a Python project has a native extension module, it would seem that those projects would count as both C and the primary language, despite the fact that the amount of C code is relatively small.

    12. Re:c-derived languages? by DragonWriter · · Score: 1

      Seeing as one of the projects mentioned with the most releases was in C#, is it lumping C,C++,C#, etc all under one label?

      Probably not. The language percentages are out of all projects tracked, not releases, the "most releases" is a separate ranking of projects done from the same survey. The fact that a project has lots of releases doesn't make it count for more than any other project in the language share percentages, its still one project.

      The fact that they differentiate C++, C#, and C as different languages in the "languages used" column (one of the "Rookies of the Year" projects has C and C++ both listed) seems to indicate that they did not lump them under one label, and that C++ (and C#) weren't as popular as C and Java.

    13. Re:c-derived languages? by Goldberg's+Pants · · Score: 4, Funny

      Screw all the C variants. Where did Fortran place?

    14. Re:c-derived languages? by FishWithAHammer · · Score: 5, Informative

      c# is windows specific

      Wrong.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    15. Re:c-derived languages? by shaitand · · Score: 4, Insightful

      Technically no, practically yes. C# is .net specific and .net is windows specific. Mono is not 100% compatible.

    16. Re:c-derived languages? by edwardd · · Score: 3, Insightful

      Isn't Objective-C about as widely used as Esperanto?

    17. Re:c-derived languages? by Anonymous Coward · · Score: 1, Insightful

      ...don't rely on much platform specific code (c# is windows specific and c++ has some issues if you are not very careful)...

      Hate to sound like a troll, but...

      C# is compiled to the CLR (common language runtime in .NET parlance) which is just-in-time compiled at run-time to machine language. This is the same as any .NET language, such as VB.NET, etc.. The upshot of this is that the code will compile and run on any machine with the .NET runtime and a C# compiler available.

      Case in point is MONO, bringing the .NET languages to multiple platforms including Linux, Mac and Windows (again). MONO includes a C# compiler, making C# a cross-platform language (up to version 2.0 and bits of 3.0 at least).

    18. Re:c-derived languages? by Curien · · Score: 5, Funny

      Actually, C != C++ is undefined behavior.

      --
      It's always a long day... 86400 doesn't fit into a short.
    19. Re:c-derived languages? by jma05 · · Score: 4, Insightful

      > Technically no, practically yes. C# is .net specific and .net is windows specific. Mono is not 100% compatible.

      1. If (depending on version) Mono is not a perfect port of .NET, that makes .NET code using those bits, not cross-platform. That is not the same as windows specific. For instance, not every program written in Python will run on all platforms. Some of its' standard libraries are platform specific (Eg: msvcrt). But Python is considered cross-platform.

      2. C# IS cross-platform. AFAIK the compiler implementations behave identically. It's small portions of the standard library that are at fault.

      But nothing stops you from writing fully cross-platform code, if you must. Just a bit more effort.

      Personally, I gave up on C#. While C# is indeed better designed than Java, Groovy integrates with Java well and fills up any of the major feature and productivity gaps that I cared for anyway.

    20. Re:c-derived languages? by jma05 · · Score: 1

      Replying my own - I would prefer to put it this way

      Is it cross-platform?

      Technically - Yes
      Practically - Yes
      Out-of-the-box - Not always.

    21. Re:c-derived languages? by jank1887 · · Score: 3, Funny

      COBOL? Anyone? hello?

    22. Re:c-derived languages? by palegray.net · · Score: 1

      I want to know how they could have skipped over QuickBASIC.

    23. Re:c-derived languages? by shaitand · · Score: 2, Insightful

      I will admit to the possibility that my information is outdated. I find it is generally best not to invest must time in MS solutions when there is a practical choice. Coding for .Net is certainly avoidable.

      From those I knew who DID use C# and wanted to use mono as an alternative the word was that mono lacked fundamental components of the standard library that were basically showstoppers (forms if I remember correctly).

      There is platform specific code for Perl, Python, etc but in practice it doesn't take much effort to write around it, in most cases there isn't even a significant advantage to using the platform specific code. There is no fundamental functionality in the interpreter that is missing on any particular platform.

      Maybe my information is dated and there is just nitpicky stuff missing from mono these days. But I don't exactly see a bunch of non-windows .Net apps (or any for that matter) popping up so I doubt it.

    24. Re:c-derived languages? by Dynedain · · Score: 4, Insightful

      You're getting funny mods, but you're more on target than you think. All the jailbreaking stuff for the iPhone is open-source, as are the package mangers you can install after jailbreaking, and most of the apps available through those package managers. It's a pretty big collection of stuff.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    25. Re:c-derived languages? by chill · · Score: 4, Funny

      Where it belonged, behind Lisp!

      --
      Learning HOW to think is more important than learning WHAT to think.
    26. Re:c-derived languages? by Anonymous Coward · · Score: 0

      True, there is mono. However, there are compatibility issues which you must deal with. Then there is the fact that mono will most likely always lag behind the .net framework to some degree. You get a language where porting to other operating systems being a bit more of pain compared to c or even c++ (which was my main point though I should have been more accurate). It's a language where focus remains on windows instead of an equal footing on all platforms.

    27. Re:c-derived languages? by ThreeE · · Score: 0

      [palegray dealloc]

    28. Re:c-derived languages? by keeboo · · Score: 4, Funny

      Replying my own - I would prefer to put it this way

      Is it cross-platform?

      Technically - Yes
      Practically - Yes
      Out-of-the-box - Not always.

      Huh?

      Well, while you're at it, why not making a more complete list:

      Technically - Yes
      Practically - Yes
      Out-of-the-box - Not always
      In principle - Yes
      Philosophically - Yes and No.
      Karmically - No
      Politically - Yes
      Hypothetically - In theory, yes

    29. Re:c-derived languages? by symbolset · · Score: 1

      Meh. You could replace it all with 1MB of APL.

      Ick. 1MB of APL code? Was that much ever written?

      --
      Help stamp out iliturcy.
    30. Re:c-derived languages? by YayaY · · Score: 1

      What are the new trends?

      --
      Votator.com implements a fair voting scheme (free
    31. Re:c-derived languages? by ogl_codemonkey · · Score: 2, Insightful

      Non-portable code can be written in any language.

    32. Re:c-derived languages? by Trogre · · Score: 0

      Well ... yes, actually.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    33. Re:c-derived languages? by nedlohs · · Score: 1

      Surely it's just always false (assuming no retarded operator overloading is in play), being post-increment and all.

      Though my C is *really* rusty.

    34. Re:c-derived languages? by rdnetto · · Score: 1

      If the author lumped together the entire C family, it just goes to show that they don't understand them at all. C# is more similar to Java then to C++, and the transition between the two is just as difficult (I'm talking about native C++, not managed C++).

      --
      Most human behaviour can be explained in terms of identity.
    35. Re:c-derived languages? by setagllib · · Score: 1

      It could be evaluated thus:
      C++
      C
      !=

      At this point C could now have a new value after the C++ operation. This is not defined by the standard AFAIK. The correct way is not to write it at all, because why the hell would you need that in sane code.

      --
      Sam ty sig.
    36. Re:c-derived languages? by setagllib · · Score: 1

      Statistical reporting not 100% accurate and representative. News at 11.

      --
      Sam ty sig.
    37. Re:c-derived languages? by samkass · · Score: 2, Insightful

      Isn't Objective-C about as widely used as Esperanto?

      Last I checked, it was the primary development language of one of the most popular smartphones in the world. And MacOS X's market share isn't too shabby lately, either. So I'm not sure how many Esperanto speakers there are, but I suspect they're significantly outnumbered by Objective-C fluent folks. And, of course, people USING Objective-C-based software number in the tens of millions.

      --
      E pluribus unum
    38. Re:c-derived languages? by darkvizier · · Score: 2, Funny

      why the hell would you need that in sane code.

      The variable C is a pointer to an array of objects with an overloaded != operator.
      [you insensitive clod!]

    39. Re:c-derived languages? by setagllib · · Score: 1

      Except that overloaded class operators don't apply to pointers, only to references and direct instances. So perhaps you wanted:

      *C != *(C++)

      Which is still undefined :)

      --
      Sam ty sig.
    40. Re:c-derived languages? by nedlohs · · Score: 1

      Ah yes, as I said *really* rusty

    41. Re:c-derived languages? by Anonymous Coward · · Score: 0

      C pound is a total waste of time and effort.
      I avoid it whenever possible and recommend you do the same.

      I know they want it pronounced c sharp, but it's no sharper than wince (win ce).
      If you wonder why I refer to it as wince, try developing for it, you'll wince too.

      I swear, they have some real self loathing types naming stuff at MS.

    42. Re:c-derived languages? by FishWithAHammer · · Score: 2, Informative

      From those I knew who DID use C# and wanted to use mono as an alternative the word was that mono lacked fundamental components of the standard library that were basically showstoppers (forms if I remember correctly).

      System.Windows.Forms has been essentially complete for a while now. As you say, your information is outdated.

      As for me, I don't discount any solution just because of who comes up with it, so I'm fine with .NET. To each his own.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    43. Re:c-derived languages? by FishWithAHammer · · Score: 2, Insightful

      Well, yes. Primary development is targeting Windows.

      But I have to ask you--for anything that you would do in Java or PHP or Perl or Python, two things:

      One: is it even worth being cross-platform? When I'm doing cross-platform stuff, invariably I find that I'm drawn to one platform's libraries because they're just better at what I want to do. For games stuff, for example, DirectX is just leagues ahead of OpenGL and the assorted other libraries, both on OS X and Linux. Similarly, if I'm doing web development I'm using PHP and thus almost certainly targeting Apache, so if I need to use PHP's POSIX extensions, why the hell not? (Cross-platform coding for its own sake is rarely useful, I find; I do it when I'll realize a benefit.)

      Two: on the flip side, if it is crossplatform--am I going to be using the stuff where compatibility matters? Between .NET and Mono, there's really very few things that I use that are incompatible with Mono. I don't use anything in the .NET 3.0 or 3.5 libraries except for LINQ, which Mono supports. System.Windows.Forms works fine. All the database stuff works fine, whether my Linux box is talking to a MS SQL database or a MySQL/PostgreSQL database. Even the 3D stuff in SDL.NET works fine on OS X, Linux, and Windows.

      Mono is behind, and there are occasional problems. I'm not saying there aren't. But the pluses of the platform in general make it worth it for me.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    44. Re:c-derived languages? by goose-incarnated · · Score: 1

      Actually, C != C++ is undefined behavior.

      Actually, it isn't.

      --
      I'm a minority race. Save your vitriol for white people.
    45. Re:c-derived languages? by shaitand · · Score: 5, Informative

      'As for me, I don't discount any solution just because of who comes up with it, so I'm fine with .NET. To each his own.'

      *shrugs* We must agree to differ then. I prefer to learn from history. Historically speaking, there haven't been any useful Microsoft technologies that were or are completely interoperable, stable, relatively bugfree, and secure. Seeing as how they have released lots of technologies and solutions over the years they have had plenty of opportunities and have on numerous occasions even lied about the aforementioned things.

      Maybe .Net is/was/will be the exception. If so I'm not concerned, there are other solutions that DO meet the above criteria and work well. All in all, my track record of avoiding Microsoft solutions when something else will do will then have been the right choice about 99 out of hundred times and saved me thousands of dollars in license, support, and training costs. ;)

    46. Re:c-derived languages? by Anonymous Coward · · Score: 0

      Probably not. The language percentages are out of all projects tracked, not releases, the "most releases" is a separate ranking of projects done from the same survey. The fact that a project has lots of releases doesn't make it count for more than any other project in the language share percentages, its still one project.

      Comparing languages by number of releases wouldn't be fair at all. When I check out a Java project and discover that the last release was two years ago, I think, "Oh good, it's stable." When I check out a C project and discover that the last release was two years ago, I think, "Oh crap, the developers abandoned the project and aren't fixing bugs anymore."

      Posting AC since this post probably sounds pretty trollish, but it's my honest experience.

    47. Re:c-derived languages? by deoxyribonucleose · · Score: 1
      Oh, yes. APL2 is still used for active development, in odd corners. And nowadays we even have the CPU power to run the applications!

      Never underestimate the longevity of any SW artifact, especially in corporate environments.

    48. Re:c-derived languages? by TheRaven64 · · Score: 2, Insightful
      Let's see:
      1. It's the only development language available for the iPhone, which has about 0.3% of the market share for mobile phones, but an active developer community.
      2. It's the main development language on OS X, which has around 8.5% of the desktop market share.
      3. It's well supported by GCC and open source frameworks like GNUstep, which run on *NIX and Windows (pretty much all of the remaining market share between them).

      It's also the only one of the C family I can use for large projects without hating the language.

      --
      I am TheRaven on Soylent News
    49. Re:c-derived languages? by TheRaven64 · · Score: 1

      And is easier in C where the standard library (i.e. the bit that is supplied by every implementation, for any platform), is only barely enough for command-line applications.

      --
      I am TheRaven on Soylent News
    50. Re:c-derived languages? by ogl_codemonkey · · Score: 1

      What standard library?

      K&R C? ANSI C? C99?

      *shudder*

    51. Re:c-derived languages? by Curien · · Score: 1

      Quoth C99:

      Between the previous and next sequence point an object shall have its stored value modied at most once by the evaluation of an expression. Furthermore, the prior value shall be read only to determine the value to be stored.71)

      And footnote 71 explains that, for example, a[i++] = i; is undefined. I don't see a pertinent difference between that and the expression in question (though footnotes are non-normative).

      --
      It's always a long day... 86400 doesn't fit into a short.
    52. Re:c-derived languages? by orzetto · · Score: 3, Funny

      Mi parolas esperanton, diabla malsentemulo!

      --
      Victims of 9/11: <3000. Traffic in the US: >30,000/y
    53. Re:c-derived languages? by Hurricane78 · · Score: 1

      Bah. Give me my GWBasic over QuickBasic any time.

      Ok, I'd still rather being raped vicously that to choose Basic over Haskell, OCaml or Python... or the J2SE libraries.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    54. Re:c-derived languages? by doublegauss · · Score: 1

      I know I'm being totally OT and unbearably pedantic, but I think your sig should read "moritur", not "monitur".

    55. Re:c-derived languages? by Octorian · · Score: 2, Insightful

      Lumping C# in with C is stupid. Lumping it in with Java makes a lot more sense. Or to put it in other words, C# is Java re-imagined (for better or worse, depending on your POV). (No, it isn't a direct copy. Too many important differences once you actually learn it.)

    56. Re:c-derived languages? by Anonymous Coward · · Score: 0

      Where it belonged, behind Lisp!

      ...and with hands on Fortran's hips. I mean, comeon, Lisp? That joke almost writes itself.

    57. Re:c-derived languages? by Anonymous Coward · · Score: 0

      I thought it's just false (and increment)...

    58. Re:c-derived languages? by MoeDrippins · · Score: 1, Flamebait

      > Historically speaking, there haven't been any useful Microsoft technologies that were or are completely interoperable, stable, relatively bugfree, and secure.

      Out of curiosity, which NON-Microsoft technologies fit these standards?

      --
      Before you design for reuse, make sure to design it for use.
    59. Re:c-derived languages? by goose-incarnated · · Score: 1

      Quoth C99:

      Between the previous and next sequence point an object shall have its stored value modied at most once by the evaluation of an expression. Furthermore, the prior value shall be read only to determine the value to be stored.71)

      And footnote 71 explains that, for example, a[i++] = i; is undefined. I don't see a pertinent difference between that and the expression in question (though footnotes are non-normative).

      There is a large difference - the one is an assignment (which is undefined due to no sequence point between the variable undergoing modification) and the other is a comparison, with the variable not undergoing any modification, hence this:
      c = c++;
      is undefined while this:
      c == c++
      or this:
      c != c++
      are both well-defined.

      --
      I'm a minority race. Save your vitriol for white people.
    60. Re:c-derived languages? by Golddess · · Score: 1

      C pound is a total waste of time and effort.[...]I know they want it pronounced c sharp

      I'm a music major, you insensitive clod!

      --
      "I'm not sure I like the fugnutish tone you used in your post!" -RogL (608926)-
    61. Re:c-derived languages? by nadavwr · · Score: 1

      Actually, C != C++ is undefined behavior.

      Actually, C != C++ is false, C == C++ is true. Both have the sideeffect of incrementing C.

      This obviously is a misrepresentation of reality.

      Suggest renaming C++ to ++C, then:

      • C != ++C is true.
      • C == ++C is false.
      • the sideeffect remains intact.

      /me confused, Can anybody enlighten us regarding C++ == C#?

    62. Re:c-derived languages? by Anonymous Coward · · Score: 0

      Humorously - I am not sure but your mother is a whore!

    63. Re:c-derived languages? by darkvizier · · Score: 1
      *C != *(++C)

      Was more what I was looking for - and you could define behavior for that, and it might even be sane in the circumstances. I was hoping you wouldn't catch the pointer dereferencing, as it complicates the syntax. :P

    64. Re:c-derived languages? by Fujisawa+Sensei · · Score: 2, Funny

      C pound is a total waste of time and effort.[...]I know they want it pronounced c sharp

      I'm a music major, you insensitive clod!

      Would calling it D-Flat make you feel any better?

      --
      If someone is passing you on the right, you are an asshole for driving in the wrong lane.
    65. Re:c-derived languages? by maxwell+demon · · Score: 1

      Which it shouldn't, as C, C# and C++ seem pretty distinct.

      And what about Objective-C?

      And what about Objective C++? And C++/CLI?

      BTW, when will we get Objective-C++/CLI? :-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
    66. Re:c-derived languages? by DaVince21 · · Score: 2, Informative

      (c# is windows specific and c++ has some issues if you are not very careful).

      Depends on if you're writing Mono-compatible code or not, right?

      --
      I am not devoid of humor.
    67. Re:c-derived languages? by palegray.net · · Score: 1

      I don't know, I kinda miss the good old days sometimes... funny that you should mention GWBasic :). Remember those two different save options for programs, binary or straight text? Remember CHAINing several programs together. As a kid, I spent a lot of time with MS-DOS and language manuals; my first C compiler was for DOS 4. I wrote several programs for a Kaypro CP/M machine my dad kept in his workshop, too.

      Hey, at least then more people who owned computers had half a clue what programming meant. Sure, getting paid to solve computing problems is great, but dealing with people who are rabidly resistant to learning anything still sucks.

    68. Re:c-derived languages? by Omnifarious · · Score: 1

      For all practical purposes doing C# development is hitching yourself to the Microsoft wagon. Their patent posturing alone is enough that it should scare anybody away from C#.

      Additionally, who wants to lend their brain to a Microsoft technology of any kind? It's like filling it with images of goatse.

    69. Re:c-derived languages? by jbolden · · Score: 1

      I'm going with a stream (which is similar to the pointer).

      C is an overloaded object for a stream
      C++ is basically the pop i.e. move the head down one on the stream safe for empty streams.

      != equality test either:

      1) tests the heads to verify they are not equal
      2) checks stream length. So for example this would be the same as (isEmpty(C) || isInfinite(C++))

    70. Re:c-derived languages? by d_54321 · · Score: 1

      That's a funny joke, but it brings to mind a question that bugs me whenever I see articles about the results of studies:

      Where's the data?

      Is it too much to ask when an article is published about the results of a study that the article also link to, I dunno, the study itself? This'd be great for those of us who want to know more that the top 3 contenders and not have to go searching for it ourselves; that is, if the purpose of the article is to inform.

      If any slashdotters notice that the article did link to more details and I just missed it, help would be appreciated.

    71. Re:c-derived languages? by cheftw · · Score: 1

      Historically speaking, there haven't been any useful Microsoft technologies that were or are completely interoperable, stable, relatively bugfree, and secure.

      Hey stupid, ever heard of the INTERNET?!

      --
      Always back up, never back down. ---- Think you're cool 'cos your uid is prime? Take mine, modulo the one digit integers
    72. Re:c-derived languages? by maxwell+demon · · Score: 1

      Historically speaking, there haven't been any useful Microsoft technologies that were or are completely interoperable, stable, relatively bugfree, and secure.

      Hey stupid, ever heard of the INTERNET?!

      The internet is secure?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    73. Re:c-derived languages? by shaitand · · Score: 1

      Some on-topic examples would be Python, Perl, and Java. I'll keep the examples few and focused to the topic to try to avoid favorite solution flame wars.

      For the sake of the pedants I am not saying that any software is 100% interoperable, 100% stable, 100% bugfree, or totally secure. Those solutions don't exist.

      I'm saying that there is plenty of software that is all of those things relative to other applications in the field and almost all mature software is advantageous over MS solutions in those areas.

      Historically, Microsoft has intentionally tried to avoid interoperability. More often than not they employed embrace, extend, and extinguish tactics. Microsoft appearing to do something open was a sure sign of the opposite. Look at Kerberos, LDAP, and AD for an example.

    74. Re:c-derived languages? by molarmass192 · · Score: 1

      Here's a MUCH better ranking: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Basically Java > C, but C | C++ > Java. However C# PHP, so not all is lost. There's no mention of ObjC on there at all ... which may or may not be odd.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    75. Re:c-derived languages? by jcrivello · · Score: 0

      Or more constructively you could avoid dogmatic thinking like what you described, and arrive at a logical conclusion based on the facts. Java has serious portability problems of it's own (not claiming that's the solution you are referring to). Even beyond the write once debug everywhere debacle, I am told JVMs on certain platforms have such performance problems as to make them unusable for many tasks.

      My point is simply that no language will ever be completely interoperable, stable or secure. Based on wide consensus though, I think it is pretty well accepted that C#/.NET is one of the best thought out and implemented managed languages that exist today. Of course if interoperability is your primary concern then C# isn't your language of choice, but there are many other criteria you are ignoring.

    76. Re:c-derived languages? by maxwell+demon · · Score: 3, Funny

      From the draft of the next C++ standard, n2798, 1.9 [intro.execution]/16:

      If a side effect on a scalar object is unsequenced relative to either another side effect on the same scalar object or a value computation using the value of the same scalar object, the behavior is undefined.

      Since the built-in == operator doesn't have a sequence point between its argument, the side effect of c++ is unsequenced relative to the value computation of c on the left hand side of the ==, and thus the behaviour is undefined.

      Also you find in the latest public draft of the 1998 C++ standard, CD2, 5 [expr]/4:

      Between the previous and
      next sequence point a scalar object shall have its stored value modified at most once by the evaluation of an
      expression. Furthermore, the prior value shall be accessed only to determine the value to be stored.

      Note that in c == c++, on the LHS the prior value of c is accessed not in order to determine the new value, but only to compare it with the result of the right hand side. Therefore it was undefined in C++ even back then. I don't have access to any version (draft or otherwise) of the C standard, but I think it's undefined in C, too (although the exact wording probably is different again).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    77. Re:c-derived languages? by Anonymous Coward · · Score: 0

      Actually, C != C++ is a correct C-language expression which returns the logical value of the statement "the value of the variable C is different from the value of the variable C, after C has been incremented". If C is an integer, this expression will return obviously zero or false.

    78. Re:c-derived languages? by menkhaura · · Score: 1

      Syntax error, of course.

      Hmmm, 20 seconds...

      --
      Stupidity is an equal opportunity striker.
      Fellow slashdotter Bill Dog
    79. Re:c-derived languages? by cpghost · · Score: 2, Funny

      COBOL? Anyone? hello?

      Slashdot hates COBOL:

      Filter error: Don't use so many caps. It's like YELLING.

      --
      cpghost at Cordula's Web.
    80. Re:c-derived languages? by NoOneInParticular · · Score: 1
      Not really, in general, in C and C++, for any function (and == is a function), the order of execution of the function arguments is undefined, and up to the implementation (if there are no precedence rules applicable). In this particular case, a compiler is free to compile this as (using registers r1, r2 and result):

      r1 = c++;
      r2 = c;
      result = r1 == r2;

      Or,

      r1 = c;
      r2 = c++;
      result = r1 == r2;

      Depending on which one is used, 'result' is in the first case false, in the second case true. I don't know of a compiler which does right-to-left argument execution, and I'm pretty sure that such a compiler would break quite a bit of existing code, but it is allowed.

    81. Re:c-derived languages? by FishWithAHammer · · Score: 1

      I'm saying that there is plenty of software that is all of those things relative to other applications in the field and almost all mature software is advantageous over MS solutions in those areas.

      Flat-out wrong. (Go look at IIS7 versus Apache to see how headfucked you are. IIS7 is head-and-shoulders above Apache when serving FastCGI scripting.)

      Enjoy your stupid arbitrary biases, though. I'm sure your employers love that you write off technologies that may be of value just because you don't like the original developers.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    82. Re:c-derived languages? by FishWithAHammer · · Score: 0, Flamebait

      Oh, and I notice you conveniently forget to mention that Active Directory is considerably better than LDAP for the majority of installations (the system has considerably more features and administration is easier) and that Microsoft's Kerberos extensions are documented in both RFC 3244 and RFC 4757.

      Fucking zealots. Grow up.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    83. Re:c-derived languages? by Anonymous Coward · · Score: 0

      Oh yeah and Open Source development works marvelous with their smartphones because of their open platform.

    84. Re:c-derived languages? by Anonymous Coward · · Score: 0

      No, it just evaluates to false.

        C++ != C

      might be worse though.

    85. Re:c-derived languages? by mvdwege · · Score: 1

      [The iPhone,] one of the most popular smartphones in the world.

      Most talked about? Sure.

      Loudest fanbois? Check.

      The USA is the world? Yup.

      Come back when Apple manages to sell as many iPhones as Nokia does world-wide, for non-US versions of the world.

      Mart

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    86. Re:c-derived languages? by gbjbaanb · · Score: 1

      Historically speaking, there haven't been any useful Microsoft technologies ...

      Hey stupid, ever heard of the INTERNET?!

      The internet is a Microsoft technology? I guess you think Tim Berners-Lee's NextStep computers were really running Vista, and tcp/ip is just a layer on top of Lanmanager!

    87. Re:c-derived languages? by gbjbaanb · · Score: 1

      but Apache has had FastCGI for years, whereas IIS7 (on Vista SP1 IIRC) is quite new. and even then, requires a patch or two

      Not to mention that FastCGI is pretty much the same thing on both webservers, or that Apache doesn't require such things as they tend to be built into the server as modules.

      Enjoy your stupid bias though.

    88. Re:c-derived languages? by FishWithAHammer · · Score: 1

      The fact that IIS7 just came out is entirely irrelevant. It's here now. It's better than Apache. (IIS6 was also a better performer in certain cases as well, though not as many or to the same extent as IIS7.)

      And obviously I must have a stupid bias--I only have two Apache servers right next to me, beside the IIS7 box. How is it that I'm biased despite being the one that actually uses a broad spectrum technology? That one always amused me. Is it just because I say "no, freetards, Apache isn't the fucking Holy Grail" or something?

      Idiot.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    89. Re:c-derived languages? by FishWithAHammer · · Score: 1

      For all practical purposes doing C# development is hitching yourself to the Microsoft wagon.

      Not true anymore. There's plenty of evidence to the contrary. Hell, look at Miguel's own blog for examples.

      Their patent posturing alone is enough that it should scare anybody away from C#.

      Worst-case--and that really is worst-case, because I don't think that Microsoft will ever push the patents issue--they aren't going to sue me, so I don't really care.

      Additionally, who wants to lend their brain to a Microsoft technology of any kind? It's like filling it with images of goatse.

      The worst kind of nonsense: stupid nonsense.

      Set aside your bitching about OMG PATENTS (here's a hint: IBM postures about patents too, the fact that they've given a license to open source doesn't make them any better about it except they aren't targeting you) for a moment and actually look at the products for a second.

      DirectX is almost inarguably superior to OpenGL/OpenAL/whatever in Linux and OS X Foundation. .NET has its problems, but it's on par or better than Java in terms of ease of use.

      IIS is as performant or better than Apache under pretty common circumstances.

      SharePoint sucks from a techie point of view, but is pretty awesome from a business development point of view.

      Microsoft has its problems, of course. But why I continue to use their stuff is that they do one thing that most of the open source world doesn't: they actually look at how people use products and then they tailor their solutions to the way people actually work. That alone is enough reason for me to use their technologies where appropriate--because while they won't be perfect (and aren't even good, in some areas--ASP.NET is an abortion, though the MVC libraries make it more tolerable), they'll usually be built with an eye toward not fighting the technology and getting work done.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    90. Re:c-derived languages? by Curien · · Score: 1

      There is a large difference - the one is an assignment (which is undefined due to no sequence point between the variable undergoing modification)

      Except that the standard does not make that distinction. The prohibition of modification is that the *same* object shall not have its value modified more than once between sequence points. Since a[i] = i++ does not modify the same object twice, that clause of the Standard *cannot* apply, which leaves only the other clause as the source of the constraint violation.

      c == c++
      or this:
      c != c++
      are both well-defined.

      If you said it was unspecified, you'd have an interesting argument, but you're just plain wrong. The standard explicitly leaves the timing of side effects unspecified.

      --
      It's always a long day... 86400 doesn't fit into a short.
    91. Re:c-derived languages? by Curien · · Score: 1

      Not really, in general, in C and C++, for any function (and == is a function), the order of execution of the function arguments is undefined

      First, the order is unspecified.
      Second, the operators are not a function in C, and in C++ they are functions only if one of the operands has a class type.

      --
      It's always a long day... 86400 doesn't fit into a short.
    92. Re:c-derived languages? by kaffiene · · Score: 1

      You are a complete moron

    93. Re:c-derived languages? by Omnifarious · · Score: 1

      And yet, if I ever bothered to learn any of those technologies, I would be doing my part to help a monopoly continue to exist and act the way it always has. No thank you. When they can act like a reasonable company for a year or 3 I may reconsider my position.

      And, instead of extolling those products and addicting yourself to yet more proprietary garbage, why don't you file bug reports and get involved in usability for the Open Source projects that you feel aren't listening to their users? The biggest reason Open Source stuff tends to be so developer-centric is that not enough non-developer types get involved, and I suspect a lot of them don't even know how.

      And addressing one point very specifically... I would not blindly use Apache in a performance critical application. There are many Open Source web servers out there, and I would evaluate them all for whether or not they met my needs before choosing one.

      I would certainly not tie myself to a single source solution like IIS where I have to depend on Microsoft's continued good will to even function. No matter what the performance issues are, the costs are much, much greater, and most of those are hidden in my lack of freedom.

    94. Re:c-derived languages? by FishWithAHammer · · Score: 1

      And yet, if I ever bothered to learn any of those technologies, I would be doing my part to help a monopoly continue to exist and act the way it always has. No thank you. When they can act like a reasonable company for a year or 3 I may reconsider my position.

      That's your call. Me, I use whatever works for me. It is in my best interest to use these technologies because they put money in my pocket. I don't have the luxury of pissing away money to adhere to the FSF's ideologies (and while I think that probably comes off as more snarky than I intend it, that's still the case).

      And, instead of extolling those products and addicting yourself to yet more proprietary garbage, why don't you file bug reports and get involved in usability for the Open Source projects that you feel aren't listening to their users?

      Calling proprietary software "garbage" is amusing. What works, works. What doesn't, doesn't. There's bad proprietary software just as there's good proprietary software. And if you think I'm "addicted" to it, you're just being silly. I am as functional in C++, PHP, Java, and bash as I am in C# and other .NET languages. I prefer the platform because I can work faster and more effectively in it.

      As for why I don't get involved--there are a number of reasons.

      One, because I don't have the time. I'm a college student. I need to be spending my coding time doing stuff that will make me money for tuition, books, etcetera. People want .NET developers, I do .NET. Google Summer of Code's Mono project accepts my proposal, I write code for them (and the Mono folks are more reasonable, pleasant, interesting people than anyone else I've ever met in the open source world--if I was going to contribute it would be there because there is no inherent hostility to differing points of view in that community). On the flip side, if somebody is looking for LAMP development work, I do that too. What you call "addiction," I call "flexibility."

      Two, because I don't have the patience. I don't have the patience to spend time trying to convert people to my point of view or lead them down a path of sanity, assuming that I could convince them.

      That ties in with point three: hostile cultures. In most open source projects I'd be interested in (that would actually have a use for me--I love Drupal, for example, but they don't need me because they get it already), there's a high amount of WorksForMe(tm) and other sick mindsets. Open source folks generally just don't give two shits about, say, usability, so long as it works for them--and since it's not the frigging fun stuff, getting them to change their minds is rather quixotic. And if you dare suggest they should care about it, they tweak out at you. I know; I've seen it. I've experienced it, when I was more idealistic about this stuff. "If you don't like it, submit a patch" is a terrible philosophy .

      Mind you, if somebody wanted to pay me to do it? Sure. The amount of annoyance I can take varies directly with the size of the paycheck. But any project backed with the kind of money and interest to look into usability would already be doing it and wouldn't need my help. I'm nothing special as a programmer or developer--I'm good, but not great--but the only thing in such a realm that I bring to the table is a dose of common sense.

      Point four: social hierarchies. Obviously, a new contributor starts at the bottom. That's fine, except that for the sorts of issues I'd want to address, you can't. You have to be able to drag people along to some extent because it's one of those "do it because it's better for you" issues; people may not like doing it but it has to be done. And I have no interest in toiling on shitwork while important issues lie untouched. I'd rather avoid the whole mess.

      And--"file bug reports"? Screw that. I've filed bug reports for actual bugs in projec

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    95. Re:c-derived languages? by TerranFury · · Score: 1

      Actually, C != C++ is a correct C-language expression which returns the logical value of the statement "the value of the variable C is different from the value of the variable C, after C has been incremented". If C is an integer, this expression will return obviously zero or false.

      That's what I thought at first too. But what you get actually depends on whether you evaluate the left side or the right side of the expression first -- which I guess C doesn't specify. For this example, suppose C=10 before we evaluate this.

      Left side first
      C != C++
      10 != C++
      10 != 10 (Side effect: C=11)
      false

      Right side first
      C != C++
      C != 10 (Side effect: C=11)
      11 != 10
      true

      We might be able to get consistent behavior out of C by enforcing a single evaluation order, but I guess this isn't in the standard. And presumably it might restrict compilers' ability to optimize.

    96. Re:c-derived languages? by cheftw · · Score: 1

      . o <- Joke

      ..O <- You
      ./|\
      ./ \

      --
      Always back up, never back down. ---- Think you're cool 'cos your uid is prime? Take mine, modulo the one digit integers
    97. Re:c-derived languages? by gbjbaanb · · Score: 1

      I guess I didn't get the reference. Is it an American thing?

    98. Re:c-derived languages? by JasterBobaMereel · · Score: 1

      Is you count C# and c++ as variants of C then so is Java, and probably several other languages ...

      What is the real count of C#, C++, and C on their own ...?

      --
      Puteulanus fenestra mortis
    99. Re:c-derived languages? by cheftw · · Score: 1

      Also known as whoosh. And I would have considered the concept universal, though if your culture never misses jokes please let me know.

      I would have said "I guess..." is an American thing. Damn them but their shitty culture is pervasive.

      --
      Always back up, never back down. ---- Think you're cool 'cos your uid is prime? Take mine, modulo the one digit integers
    100. Re:c-derived languages? by gbjbaanb · · Score: 1

      no,no. I get the 'over the head thing', I've posted such things myself. I don't get the joke in the first place. Is "MS inventing the internet" something American that hasn't carried overseas, is it an Al Gore thing, I just don't recognise what it's referring to :(

    101. Re:c-derived languages? by cheftw · · Score: 1

      Oh sorry. You weren't far off the mark there. There was also the satire on the belief that everything comes from Microsoft, "click on the internet etc."

      --
      Always back up, never back down. ---- Think you're cool 'cos your uid is prime? Take mine, modulo the one digit integers
  2. no C++ by shaitand · · Score: 4, Interesting

    I'm surprised C++ didn't make the list.

    1. Re:no C++ by RedWizzard · · Score: 5, Informative

      I'm surprised C++ didn't make the list.

      It didn't make the list because apparently the authors think that C, C++, and C# are all the same language.

    2. Re:no C++ by rite_m · · Score: 2, Insightful

      I'm surprised python didn't make the list.

    3. Re:no C++ by Anonymous Coward · · Score: 1, Funny

      I'm surprised python didn't make the list.

      Agreed. Someone must be slapped with a halibut for this!

    4. Re:no C++ by DragonWriter · · Score: 2, Informative

      I'm surprised python didn't make the list.

      It did make the list, at 10%. Its not in the Register article, but it is in the original report from Black Duck Software.

  3. Hrmmm. by inode_buddha · · Score: 5, Funny

    I can C clearly now...

    --
    C|N>K
    1. Re:Hrmmm. by ciaohound · · Score: 5, Funny

      ... the brain is gone.

      --
      Oh, yeah, it's not easy to pad these out to 120 characters.
    2. Re:Hrmmm. by inode_buddha · · Score: 2, Funny

      Oh, say can you C...

      --
      C|N>K
    3. Re:Hrmmm. by palegray.net · · Score: 1, Funny

      Here's a perl of wisdom: when it comes to programming, you've got to stay sharp to avoid getting snared by the odd python. drink plenty of java to keep your senses tuned, and carry a large net to snare those nasty reptiles just in time.

    4. Re:Hrmmm. by TheSpoom · · Score: 1

      Umm... PHP.

      *cough*

      --
      It's better to vote for what you want and not get it than to vote for what you don't want and get it.
      - E. Debs
    5. Re:Hrmmm. by moosesocks · · Score: 1

      ... the brain is gone.

      ....but nobody noticed, because garbage collection never got implemented.....

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    6. Re:Hrmmm. by Anonymous Coward · · Score: 0

      I can see all objects...

    7. Re:Hrmmm. by laejoh · · Score: 1

      ... when I find my code in trouble, mother Mary speaks to me ...

    8. Re:Hrmmm. by Anonymous Coward · · Score: 0

            blind_state = delete dark_clouds;
            for (i=0; i3; i++)
                  att.push_back("bright");
            att.push_back("sun");
            att.push_back("shiny");
            for (i=0; iatt.size(); i++)
                  day.add_attribute(att[i]);
            return day;

    9. Re:Hrmmm. by maxwell+demon · · Score: 1

      ... speaking words of wisdom: Let it crash ...

      --
      The Tao of math: The numbers you can count are not the real numbers.
    10. Re:Hrmmm. by Anonymous Coward · · Score: 0

      I can C all objects in my stack...

  4. Not surprising by DragonWriter · · Score: 3, Insightful

    The results really aren't surprising: as TFA states, most projects use more than one language. So C coming out on top with Java #2 is hardly unsurprising: many extensions built for scripting languages use either C or the primary language for the VM they target (Java for the JVM) in addition to whatever scripting language they are for. And JavaScript being tops among scripting languages also isn't surprising; PHP and Ruby may be popular for web applications, but most PHP and Ruby web apps (and web app frameworks) rely on the use of JavaScript on the client side, and so will often also include JavaScript.

    1. Re:Not surprising by htnmmo · · Score: 1

      I don't know if your analysis is fair.

      It seems they classified by what the project was written in and not what the target platform (VM) was. They stated the Java language came it at number 2, not the Java VM.

      While other languages may run on the JVM, I don't think they counted. JRuby would probably count as Ruby, not Java.

      The results are for number of projects using a language. So if a project uses JavaScript and PHP it would count for JavaScript and PHP.

    2. Re:Not surprising by jeremyp · · Score: 1

      So C coming out on top with Java #2 is hardly unsurprising

      I disagree, it doesn't not unsurprise me.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    3. Re:Not surprising by DragonWriter · · Score: 1

      It seems they classified by what the project was written in and not what the target platform (VM) was.

      I never said that they classified by the VM. It is quite clear that they counted how many projects used a particular language, and explicitly noted that most projects used more than one language. The only comment I made that referred to a VM was that it is particularly common for projects that use other languages (particularly the languages that tend to get called "scripting languages") to also use either C or the principal system programming language for the VM they target (Java for the JVM), and therefore it is not at all surprising that C and Java took the top two spots.

      While other languages may run on the JVM, I don't think they counted. JRuby would probably count as Ruby, not Java.

      A project that used JRuby exclusively would, presumably, only count as using Ruby. A project that used both JRuby and Java, which is one of the major reasons to use JRuby, would count as using Ruby and Java. A project that used Ruby and C -- which is quite common among Ruby extensions -- would count as using Ruby and C.

    4. Re:Not surprising by DragonWriter · · Score: 1

      I disagree, it doesn't not unsurprise me.

      Yeah, I didn't not use to many negatives there. My bad.

    5. Re:Not surprising by Anonymous Coward · · Score: 0

      Yep, my own site has C on top too:

      http://www.langpop.com

  5. Just because PHP is popular by BitHive · · Score: 2, Insightful

    Does not mean it is suitable for large-scale development projects. People who have done projects in better languages understand this, and I fully expect to be flamed by people who need PHP to get anything done.

    1. Re:Just because PHP is popular by shaitand · · Score: 3, Insightful

      PHP has been applied to many large scale development projects, demonstrating that you are incorrect. Don't misconstrue your own preference for one language over another to mean that a language is inferior or unsuitable.

    2. Re:Just because PHP is popular by Unoti · · Score: 1

      Both parent and grandparent are right. PHP has in fact worked great for many large scale development projects.

      But at the same time, show me a large scale project done in PHP, and I'll show you a large scale project that would have been better off in Python.

    3. Re:Just because PHP is popular by ChienAndalu · · Score: 1

      PHP has been applied to many large scale development projects, demonstrating that you are incorrect.

      Argumentum ad populum? It has been applied, but the GP said that it still isn't suitable.

      PHP apps often look like this, and just because many people in the world do it that way, it doesn't mean that it's good.

      Which major company uses PHP? Google? Youtube? Amazon?

      The only one I know is Wikipedia, and they are lucky to be able to cache most content.

    4. Re:Just because PHP is popular by _Hellfire_ · · Score: 1

      Does not mean it is suitable for large-scale development projects.

      I direct your attention to Wikipedia and Facebook. PHP is fine for large scale projects.

      --
      "And then I visited Wikipedia ...and the next 8 hours are a blur..."
    5. Re:Just because PHP is popular by DragonWriter · · Score: 4, Insightful

      PHP has been applied to many large scale development projects, demonstrating that you are incorrect.

      Well, no.

      "X has been used for Y" does not demonstrate that "X is suitable for Y".

    6. Re:Just because PHP is popular by Bindox · · Score: 0

      "But at the same time, show me a large scale project done in PHP, and I'll show you a large scale project that would have been better off in Python."

      Agreed, and..

      Show me a large scale project done in PHP, and I'll show you a large scale project that has other code embedded, like C (or any C variant).

    7. Re:Just because PHP is popular by Timothy+Brownawell · · Score: 1

      But at the same time, show me a large scale project done in PHP, and I'll show you a large scale project that would have been better off in Python.

      How can you build anything large-scale in a language too dynamic for proper static verification?

    8. Re:Just because PHP is popular by dyfet · · Score: 1

      Javascript is usually restricted to client-side stuff, so this simply suggests that there is a LOT of new web 2.0/ajax type stuff being written; this seems possible.

      Perl is widely used as a system scripting language, and for various kinds of applications, as well as for creating web sites, and I think the perl numbers reflect this more general use over php. This seems highly probable.

      I would not be entirely surprised to see someone claim Ruby usage is still rather low, but I gather python was not even mentioned. That is rather surprising.
         

    9. Re:Just because PHP is popular by BitHive · · Score: 2, Insightful

      Two of the slowest sites on the internet whose infrastructure needs are embarrassingly huge for the service they provide.

    10. Re:Just because PHP is popular by Anonymous Coward · · Score: 1, Insightful

      Facebook and Yahoo come to mind.

    11. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      I don't know about the other embedded code, but let's get this started:

      • Facebook
      • Wikimedia (this includes Wikipedia)
      • Digg
    12. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Look at all the forum software out there, like phpBB, and sites like SlickDeals and FatWallet.com

    13. Re:Just because PHP is popular by bnenning · · Score: 3, Insightful

      How can you build anything large-scale in a language too dynamic for proper static verification?

      Sometimes large-scale projects in static languages can be small-scale in dynamic. For example look at the ridiculous amount of resources devoted to dependency injection frameworks in Java, where in Python or Ruby those capabilities are essentially built in.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    14. Re:Just because PHP is popular by edmicman · · Score: 1

      I've throw a question about for anyone to answer...

      My day job is web development maintaining classic ASP and using C# and .NET....good ol' Microsoft shop. I've got hobby experience with PHP/MySQL from my web host and tinkering with scripts like Wordpress and the like. If I wanted to pick up an open source language and skills for web development, with something that could also be used for enterprise use or scalability later, what should I choose? Stick with PHP? Python? Ruby?

    15. Re:Just because PHP is popular by Daniel+Dvorkin · · Score: 1

      Wikipedia is one of the "slowest sites on the internet"? Huh? Wikipedia pages generally load very fast for me -- often faster than, e.g., similarly-sized pages on Slashdot.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    16. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Python, Perl, Java, basically. Erlang might become a contender some day.

    17. Re:Just because PHP is popular by shaitand · · Score: 1

      '"X has been used for Y" does not demonstrate that "X is suitable for Y".'

      Fine. For the sake of pedantic. PHP has been used in many large scale projects that work well for the task for which they were designed. Demonstrating that the GP is incorrect.

      Happy now? We are talking about coding. If the result functions and well then the language was suitable to create it, end of story. Something else might have been MORE suitable but that is another matter.

    18. Re:Just because PHP is popular by Alpha830RulZ · · Score: 1

      Check out Journyx time control software. It's a significant for profit business application, that works pretty well, and is built on python.

      Clearly, it can be done. Frankly, compared to building apps in C, python is, IMLTHO, far better support for large projects.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    19. Re:Just because PHP is popular by FishWithAHammer · · Score: 1

      Drupal.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    20. Re:Just because PHP is popular by Alpha830RulZ · · Score: 1

      Python or java/jsp. Python for fast development, Java/jsp for scalability/enterprise acceptability. I am using python/Jython for new work at my fortune 500 employer. This lets me fairly easily embed existing java code into the glueware I am building.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    21. Re:Just because PHP is popular by shaitand · · Score: 1

      'It has been applied, but the GP said that it still isn't suitable.'

      My argument wasn't that PHP was popularly used. My argument was that php is a tool which has been used to successfully create numerous large scale projects. What makes a language suitable for large scale projects? The ability to use said language to successfully develop a large scale project.

      The GP didn't merely say there were better tools but that PHP was unsuitable (and therefore incapable) for use in large projects.

      'Which major company uses PHP?'

      What do companies have to do with anything?

      'PHP apps often look like this [photopumpkin.com], and just because many people in the world do it that way, it doesn't mean that it's good.'

      Along with apps in every other language. You can write code that WORKS that way in python (since for some reason seeing that brings to mind the gospel of the mindless zombies of the church of python) it will just look pretty and organized while it does it.

    22. Re:Just because PHP is popular by _Hellfire_ · · Score: 1

      Personally, comparing Wikipedia (and Facebook for that matter) as a sample to the other sites I use, they don't stand out in the population as "slow" sites.

      They have slowdowns occasionally, but I've found they happen as much as any other site I visit.

      --
      "And then I visited Wikipedia ...and the next 8 hours are a blur..."
    23. Re:Just because PHP is popular by shaitand · · Score: 4, Insightful

      'But at the same time, show me a large scale project done in PHP, and I'll show you a large scale project that would have been better off in Python.'

      With all do respect, I find that most worshipers at the altar of python feel the same way about anything that doesn't require C for the sake of performance.

      I realize you guys feel that code should LOOK pretty. But not everyone agrees that you need the language to mandate style and FUNCTIONALLY python is no more capable than Perl (example intentionally chosen to make pythonites cring). For most web projects, php is as capable as either.

      Besides, he claimed PHP was unsuitable for large projects not merely that there were better choices. PHP is suitable and demonstrably so. There are languages that aren't, like VB. There are no large projects primarily written in VB for this reason despite the fact that vb was extremely popular.

    24. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      If the result functions and well then the language was suitable to create it, end of story

      That depends on the effort required to use php rather than another language - as well as the general level of expertise. Sure, a squad of 10 crack language-A programmers can create a great holiday calendar app in a week, but if an medium-competency programmer can write it in a a week in language-B...

    25. Re:Just because PHP is popular by KermodeBear · · Score: 4, Interesting

      For the services that they provide...

      Wikipedia now has 200 application servers, 20 database servers and 70 servers dedicated to Squid cache servers. Reference

      I'd say that it is quite remarkable.

      --
      Love sees no species.
    26. Re:Just because PHP is popular by shaitand · · Score: 1

      Are you on crack? Facebook is slowed by advertising but Wikipedia would be on my top 5 list of fast loading sites.

    27. Re:Just because PHP is popular by zobier · · Score: 1

      For various values of well.
      I happen to like PHP but look at the nightmare it caused for the Facebook team.
      Yeah, you can always throw more hardware at something but that doesn't make it the best tool for the job.

      --
      Me lost me cookie at the disco.
    28. Re:Just because PHP is popular by shaitand · · Score: 1

      Java would probably be the best choice. Not so much because it is the best choice as because it is the most popular choice, especially for paid work.

      For quick and dirty go with Python or Perl. Python is pretty by default (coding style is built into the language itself), Perl can be written to be prettier than Python or uglier than anything else imaginable. According to this study Perl is still more popular and considering CPAN's goodness there are probably more third party modules available for Perl.

    29. Re:Just because PHP is popular by Unoti · · Score: 1, Insightful

      Truth is, static verification is generally overrated. Static typing has its place, but its place is not "everywhere, all the time, in every app". This topic is hotly debated, but for me the proof is in getting the job done effectively and quickly.

      If a program works, and does it without a lot of static typing and other mumbo jumbo, then so much the better.

    30. Re:Just because PHP is popular by Mr.+Slippery · · Score: 1

      Which major company uses PHP? Google? Youtube? Amazon?

      Sayeth the wik, "As of April 2007, over 20 million Internet domains were hosted on servers with PHP installed, and PHP was recorded as the most popular Apache module.[36] Significant websites are written in PHP including the user-facing portion of Facebook,[37] Wikipedia (MediaWiki),[38] Yahoo!,[39] MyYearbook,[40], Digg, Wordpress and Tagged.[41]"

      PHP is a fine tool for web projects.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    31. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Umm... Yahoo? http://www.radwin.org/michael/blog/2005/10/php_at_yahoo_presentation_.html

    32. Re:Just because PHP is popular by Unoti · · Score: 1

      I'm actually not so much a worshipper of Python. I actually like Ruby better, and Scala better than either one. I used to do a lot with C# and still love and miss it in some ways, and also like D. I'm not a worshipper of Python, bowing at its altar midlessly. And I also don't disagree with you much regarding Perl.

      My personal preference for Python is a blend of my personal success with Python combined with the general direction the technical wind is blowing. A big part of a language's superiority has to do with the community, and whether the programmer's you're working with are knowledgeable and enthusiastic about it. That's why I use Python and not Ruby or Scala-- because of the people I'm working with.

      And that's also a good reason to say that PHP blows: aside from its actual technical merits or shortcomings, most programmers worth their salt would really rather not be using PHP*.

      * There are many very capable developers that still use PHP, and wouldn't change languages even given the opportunity to start a new project from scratch. Really smart, hard working people. And in 1992, I knew a bunch of really smart, hard working COBOL programmers, who would use COBOL for the next project just because it was the path of least resistance for them. These people, who go with what they know all the time, have arguably reached the high point in their technical capabilities.

    33. Re:Just because PHP is popular by tux0r · · Score: 1

      [Citation needed]

      --
      ( Redundancy is ) ^ n
    34. Re:Just because PHP is popular by shaitand · · Score: 1

      Then language B is more suitable for the task but either is suitable. Large scale application written in VB don't exist because vb is not suitable for writing them.

      Water is suitable for removing the paint from auto parts, sand-blasting is more suitable. Nail polish is not suitable.

    35. Re:Just because PHP is popular by shaitand · · Score: 1

      Nobody said it was the best tool for the job or every job, Wikipedia uses php and is one of the fastest sites on the web despite staggering demand. Only that it was suitable for the task.

      Besides, the facebook team may or may not blame php for their problems but their implementation is the more likely culprit.

    36. Re:Just because PHP is popular by merreborn · · Score: 4, Insightful

      PHP has been applied to many large scale development projects, demonstrating that you are incorrect.

      Well, no.

      "X has been used for Y" does not demonstrate that "X is suitable for Y".

      Three of the world's top 10 websites are PHP-based. Wikipedia, and facebook, along with vast chunks of yahoo.

      I'm gonna go ahead and argue that "X has been successfully used for Y by 3 of the top 10 organizations in the Y industry" is pretty solid evidence that "X is fairly suitable for Y". In fact, I think you'd be hard pressed to demonstrate that "X is unsuitable for Y", given the level of success these sites continue to achieve.

      WP, Facebook, and Yahoo all have their business problems, but PHP is the least of them.

    37. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Which major company uses PHP? Google? Youtube? Amazon?

      Biggest site I can think of by far is Facebook. It gets almost the same volume as msn.com... Not too bad...

    38. Re:Just because PHP is popular by Sancho · · Score: 1

      Unsuitable does not mean incapable. Strictly speaking, any language which is turing complete can compute any problem. That doesn't mean that Brainfuck (look it up) is suitable for anything at all.

    39. Re:Just because PHP is popular by module0000 · · Score: 1

      /agree

      --
      Trackball users will be first against the wall.
    40. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Page me when you can write an operating system in PHP.

    41. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      PHP has it's place.
      C does too.

      A good programmer would know that.

    42. Re:Just because PHP is popular by guruevi · · Score: 1

      Stick with PHP. Just like C (and C++) sticks around for low level development, PHP also allows for low-level web development and will be here for a long time. It's also widely supported and therefore whatever you create in it will allow for greater exposure on more and especially older platforms and it has great documentation. The similarities to C syntax allow you to use IDE's that have no knowledge of PHP while most IDE's do have C support and the fact that it is targeted for web development allow you to make something halfway decent in no time. If you have more time and a good plan you can create secure web applications that scale very large (enterprisey) without the use of special libraries or going into Java deployments.

      I personally hate Python because of it's lack of brackets (so it's difficult to read and doesn't allow code folding in developer tools that have no Python support) but it's widely used in the scientific community because of it's libraries. I haven't seen much websites run pure python to generate web pages. Ruby just came too late and didn't offer anything new except for the slowest experience ever and although it has some nice features it doesn't introduce anything new.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    43. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Which major company uses PHP?

      I'm sure there are several, but one I can think of off the top of my head is Yahoo. The second link has PowerPoint and PDF files explaining why Yahoo chose PHP, which some might find interesting since this has become quite some debate...

      I don't use PHP much these days, but it does have good documentation and every language has its pros and cons I suppose. I tend to be a Perl monk now, and I'm sure we could start just as large a flame war about that, so I'll shut-up now. :]

    44. Re:Just because PHP is popular by Anthony_Cargile · · Score: 3, Funny

      My last brainfuck website failed because the bf compiler got confused between language operators and XHTML tags, and my client refused to pay the $10,000 brainfuck developer fee anyways. Now I just write them in x86 assembly and my development time is much-improved - I finished a 10 page site in under half a decade!

    45. Re:Just because PHP is popular by DeionXxX · · Score: 1

      Page me when you can write Facebook in ASM :-P

      Right tool for the right job.

    46. Re:Just because PHP is popular by Nethemas+the+Great · · Score: 1

      Show me an actual large scale development project in PHP and I'll show you a bug ridden, spaghettied, slow pile of horse *@*#.

      I'm sure many will cite Wikipedia and similar as examples but I'd point out that the actual codebase for Mediawiki is actually quite small and only reflects the one thing that PHP does reasonably well, presentation.

      Anyone that elects to use PHP to power their business layer is a fool. Code validation is next to impossible. Fault tolerance lacking. The API is constantly falling out from underneath you with each successive version. Some fool will fix one bug with a hack only to introduce another. I've lost track of how many times functions, even whole modules end up having their behavior changed in subtle ways that result in your codebase breaking.

      The only reason PHP is popular is because it's one of the easiest to learn and one of the most expeditious for getting small tasks done. It certainly has its place but for so many reasons it's hard for me to view it as anything other than a toy language.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    47. Re:Just because PHP is popular by piojo · · Score: 2, Interesting

      Truth is, static verification is generally overrated... This topic is hotly debated, but for me the proof is in getting the job done effectively and quickly.

      Yes, err... I just spent a month converting a bunch of qt3 python apps to qt4. If it were in c++, there are a bunch of errors that I could have seen at compile time. I think it would have saved me a lot of time, and right now, I would be more sure that those apps worked (there is only so much testing I could do, never having used these programs). In my opinion, static verification, if anything, in underrated.

      --
      A cat can't teach a dog to bark.
    48. Re:Just because PHP is popular by ckurtm · · Score: 1

      But at the same time, show me a large scale project done in PHP, and I'll show you a large scale project that would have been better off in Python.

      Facebook?

    49. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      FUNCTIONALLY python is no more capable than Perl

      Uh, functionally Python is no more capable than lambda calculus. That doesn't mean Python isn't nicer to use.

    50. Re:Just because PHP is popular by chromatic · · Score: 1

      If it were in c++, there are a bunch of errors that I could have seen at compile time.

      Me too, but I'm not very good at C++.

    51. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Just like the great pyramids of giza were built on stone. I have looked at the wikipedia code and is horrible, along with the fact that nobody dares to try to replicate their wikiparser because it's a nightmare to figure out.

      I guess that if skyscrapers evolved and had compatibility issues. You would see a few build like pyramids.

    52. Re:Just because PHP is popular by wmac · · Score: 1

      Facebook uses PHP+MySQL. (the same as Friendster and many others) Do not forget vBulletin and phpBB which operate websites with hundreds thousands of members (even few of them have more than 1 million members and 4000 concurrent users).

    53. Re:Just because PHP is popular by wmac · · Score: 1

      No, it is not.
      Fcaebook has more complicated business layer and people do not go with PHP just because it is easy.
      I select PHP because it's very light weight.
      We have a website with 1 million members and almost 5000 concurrent users (a social network). We have a single web server and 3 MySQL database servers and everything is fine. We had 185,000 unique visitors, peek 5000 concurrent users and 4,000,000 page views (+ at least 40 images on each page).
      A few years ago we converted from ASP and we put away more than half of our servers and we were able to increase number of users to two times.

    54. Re:Just because PHP is popular by RegularFry · · Score: 0, Redundant

      The question is, is the time you would have saved by seeing the type errors earlier more or less than accounted for by the development speedup that was gained by using Python rather than C++ in the first place? The second question is, was that time more or less than the time taken in creating a test suite?

      These are fairly well-covered arguments, so there's little to be gained here other than to realise that static typing only saves you from some sorts of errors, it's always possible to have dynamic-type errors in a static system, a proper test suite should be able to cover both, and a decent test suite takes significant effort and discipline to get right. It's just one of those trade-offs. TANSTAAFL.

      --
      Reality is the ultimate Rorschach.
    55. Re:Just because PHP is popular by RegularFry · · Score: 1

      I realize you guys feel that code should LOOK pretty. But not everyone agrees that you need the language to mandate style and FUNCTIONALLY python is no more capable than Perl (example intentionally chosen to make pythonites cring). For most web projects, php is as capable as either.

      I don't believe the objections to PHP in favour of Python are entirely stylistic. I think the standard libraries of each are enough of an argument; if you need anything more, I'll throw "namespaces" in for free. Yes, I know PHP's getting/got namespaces (depending on where you are in the upgrade cycle). They aren't applied to the stdlib, though, so it comes across as a bit half-arsed.

      --
      Reality is the ultimate Rorschach.
    56. Re:Just because PHP is popular by networkBoy · · Score: 1

      I hereby summon badAnalogyGuy to make that car reference "better".
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    57. Re:Just because PHP is popular by vishbar · · Score: 1

      Perl? For enterprise use and scalability?

      Java I can definitely see. Python maybe. But Erlang and Perl?

      --
      Ride the skies
    58. Re:Just because PHP is popular by sentientbrendan · · Score: 1

      PHP has been applied to many large scale development projects, demonstrating that you are incorrect.

      Well, no.

      "X has been used for Y" does not demonstrate that "X is suitable for Y".

      Three of the world's top 10 websites are PHP-based. Wikipedia, and facebook, along with vast chunks of yahoo.

      Yes, PHP is suitable for writing websites... doing HTML processing. Not surprising for the PHP: Hypertext Preprocesor.

      I think what most people who hate PHP have a problem with is that it is not a good general purpose programming languages... nor was it ever intended to be. I have literally never seen anyone use PHP for something that was not a website. It's good for simple inline hypertext processing, and that's about it.

      Personally, I'd rather use Python, simply for the fact that I can use python for *other* things than web programming, and get code reuse across application domains. I'm not opposed to *learning* lots of different languages, but I'd rather segregate the code I write into as few languages as possible.

    59. Re:Just because PHP is popular by Blobule · · Score: 1

      aside from its actual technical merits or shortcomings, most programmers worth their salt would really rather not be using PHP

      Please cite real studies done that back up this opinion. Thanks. Just because you say it's so, doesn't make it so.

    60. Re:Just because PHP is popular by xorsyst · · Score: 2, Insightful

      It's perfectly possible to use Perl for large projects, providing you have strict style guidelines for enterprise use and a good object model for scalability. If you just let a large bunch of people hack it together in their own style then it will not work, but that doesn't make it unsuitable.

      --
      Get free bitcoins: http://freebitco.in
    61. Re:Just because PHP is popular by Blobule · · Score: 1

      I have literally never seen anyone use PHP for something that was not a website

      You don't get out and about often do you? PHP has an excellent CLI facilitating easy production of shell scripts.

    62. Re:Just because PHP is popular by tacocat · · Score: 3, Informative

      I think there is something to take from the Perl Best Practices when considering the viability of different languages. In this book they stress over and over the need to have maintainable code. Over the years I have had to go back and manage a large number of my applications and have found that the technical cost to any of these has more to do with the documentation and quality of the code above everything else. I have been (trying) to use Ruby and Javascript in addition to my long familiar Perl languages for some projects and have come to some conclusions based on these three.

      Perl has a long history. Which translates to a lot of smart people using it and a fantastic amount of both well documented modules and well established modules that work well and readily. So there are four advantages here: documentation that is complete, documentation is accurate, modules are completely functional, testing/execution is easy.

      Javascript is a bit of a fluster-cluck in comparison to this. Documentation is mixed. But there are a lot of really great quality modules with some really great sets of documentation out there. And some gross exeptions. But everyone has their black sheep. What javascript doesn't have is the ability to easy execute/test the code from a command line environment. It's got too much dependency on that ugly browser which can make execution and debugging rather difficult. IMHO javascript needs a rewrite to address it's shortcomings but it's still impressive in accomplishments.

      Which turns my attention to Ruby. Lovely language, pretty, elegant, nice to work with. If you know what you are doing. There is effectively little to zero documentation on just about everything. Core modules, when you call up the 'ri' or 'rdoc' returns an emply documentation file. Nice job making it impossible to understand what's going on. There is peepcode, but with $9 a whack at documentation it's pretty easy for a project to get very expensive just trying to see what might be the best module. This is nice for one level of capitalism, but bad for the rest. Ruby has done an extremely bad job on documentation. Fortunately, they have done a very good job with test and execution so it's easier than javascript to work with in that regard. You just don't know what you are doing when you start.

      If you don't believe me about Ruby try 'ri Rspec'. It returns an empty file letting you know there is nothing done to document the use of this module. I can find hundreds but this is just an example.

      If Ruby was able to provide a level of documentation and functional modules that Perl can demonstrate there would not be much to slight Ruby for. This is a major barrier to adopting languages: documentation, testability, execution/debugging

    63. Re:Just because PHP is popular by Anonymous Coward · · Score: 1, Informative

      PHP is an intensely terrible scripting language. It literally has six different standard functions to start a subprocess (proc_open, popen, exec, shell_exec, system, passthru), most slightly different for no good reason, and none of them can do a fork and execv without running the arguments through a shell (blatantly assuming they were correctly escaped). There are no threads; pcntl_fork may or may not be there and most extensions get very confused when you use it. Then there's the pervasive attitude that bugs should be hidden because not being able to diagnose your mistakes is cool.

    64. Re:Just because PHP is popular by pjt33 · · Score: 2, Informative

      Dynamic typing may allow you to write code fast, but "the job" is more than just initial development. Static typing is appropriate for projects which you expect to have to maintain.

    65. Re:Just because PHP is popular by mfnickster · · Score: 1

      Facebook is more complex than that. Their Inside Facebook Engineering page says:

      "We've built a lightweight but powerful multi-language RPC framework that allows us to seamlessly and easily tie together subsystems written in any language, running on any platform. Facebook is built in PHP, C++, Perl, Python, Erlang, Java, and even a little bit of ML--and it all works together."

      If this is accurate, they deserve credit for a feat of integration that goes well beyond just scaling PHP and MySQL!

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    66. Re:Just because PHP is popular by omuls+are+tasty · · Score: 1

      Just having your program successfully pass checks for static typing (i.e. that it compiles) provides no hints whether your program actually works. Having a good test suite, on the other hand, goes a long way - especially for projects which you expect to have to maintain.

      A positive side-effect of having a good test suite is that it provides type checks as well

    67. Re:Just because PHP is popular by pjt33 · · Score: 1

      This is true, but it provides a big hint to the maintainer as to what the type of each variable is. With dynamically typed languages you rely on keeping documentation up-to-date. And using static typing does not, of course, preclude having a good test suite.

    68. Re:Just because PHP is popular by omuls+are+tasty · · Score: 1

      I agree that static typing is somewhat more self-documenting, but not keeping your documentation up to date is yet another way to assure a maintainance hell, regardless of your choice of language.

      And of course I'm not arguing that you can't have a good test suite with a statically typed language. I'm arguing that following best practices such as writing tests and documenting things renders the ostensible advantages of static type checking redundant. On the other hand, not following best practices also renders these advantages pretty much useless.

    69. Re:Just because PHP is popular by robot_love · · Score: 1

      I personally hate Python because of it's lack of brackets (so it's difficult to read...

      Oh my god! You made me snort tea out of my nose!

      I love it when this old horse is brought out. It makes as much sense as saying you hate Porsche because all that engine power makes their cars so slow.

      Python is easy to read.

      Python does not use braces.

      Get. Over. It.

      --
      .there is enough of everything for everyone.
    70. Re:Just because PHP is popular by KermodeBear · · Score: 1

      I can attest to this. I have used PHP for some rather complex tasks on the command line. I have also used it for writing daemons.

      Why?

      It allows me to use libraries that already exist in the systems I am writing the scripts for. That's a huge bonus right there - no need to re-implement, and then maintain, a second set of libraries to duplicate functionality in another language.

      Works for me. I'm not sure why so many other people have problems. PHP isn't the best language for everything (I wouldn't use it for desktop development as an example), but it is a great language for web development, and being able to use it on the command line is a bonus.

      --
      Love sees no species.
    71. Re:Just because PHP is popular by oreaq · · Score: 1

      There are no large projects primarily written in VB for this reason despite the fact that vb was extremely popular.

      Wasn't MS Developer Studio (up until version 6) written in VB?

    72. Re:Just because PHP is popular by Just+Some+Guy · · Score: 1

      Static typing is appropriate for projects which you expect to have to maintain.

      I keep hearing this but it seems to be rooted in theory rather than practice. In reality, it's been at least as easy to maintain large Python projects as large C projects. In fact, I'd assert that it's easier to extend Python codebases because of dynamic typing. If you have a function that accepts a file-like object and performs operations on it, then it will automatically handle any input source that acts like a file. Sample uses include pointing a function at a local file for testing, then passing it the contents of a web page for live operation.

      --
      Dewey, what part of this looks like authorities should be involved?
    73. Re:Just because PHP is popular by guruevi · · Score: 1

      Some people like to skip large pieces of code while reading code (eg. an if-statement or a loop). In vi you can do that easily by going to the brace at the start of the expression, pressing % and tada you're at the end of that piece. GUI's have functions like code folding where you double click on the function, it's braces or in the sidebar and it will fold it close effectively removing that piece of code out of view.

      Another thing is when pieces of code has been going through web posts or similar copy-paste (e-mail) and the original tab/space structure is gone or difficult to find (not everybody knows about or uses <pre> tags. It's not because the whole file is easy to read that the code others wrote is easy to read and use in big projects.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    74. Re:Just because PHP is popular by Taevin · · Score: 1

      I haven't seen much websites run pure python to generate web pages.

      I've found that this is because Python stays out of the way so that you don't notice it as much. A Python-powered web page is not likely to have monstrosities like "index.php?sid=123456789&f=viewTopic&tid=123&cid=321&r=index.php...etc" in the URL. Perhaps it's simply the current developer community, but Python apps also seem to be less likely to have coding errors pop up in production (i.e. errors/exceptions are properly caught and handled). Anyway, the point is that there actually are quite a few sites that use Python (such as any site using a Python framework or CMS like Django or Plone [NASA, eBay, etc]). These sites might have some legacy PHP pages, but the fact that they are using Python should illustrate it's usefulness as a web programming language.

      I personally hate Python because of it's lack of brackets (so it's difficult to read and doesn't allow code folding in developer tools that have no Python support)

      Well, it's of course a subjective opinion, but I have to strongly disagree on the readability comment. In a C-like language:

      if (x == 1) {
      // do something
      } else {
      // do something else
      }

      In Python:

      if x == 1:
      // do something
      else:
      // do something else

      The only difference is there is less noise from the brackets. The blocks are still indented the same. (Of course everyone likes to bring up the fact that you can write everything on one line with almost no spaces in C, but if you are actually doing this in code, I hate you and your code. Seriously.)

      With respect to IDE support and code folding, I've found code folding to be mostly a "oh neat" factor rather than a truly useful productivity feature. Maybe it's just my coding style or I haven't been shown the wonder of folding but there it is. And complaining that Python is not a good language choice because your IDE of choice doesn't support it for code folding is, no offense, stupid. That's like saying C is a horrible systems programming language because Notepad won't auto-indent, brace-match, and fold the code. Get an IDE that supports your language or use a real code editor like Vim or Emacs that has easily configured code helpers.

      This has turned into more of a flame than I intended. I just had to comment because I used to be a C and PHP junkie. C was the first language I learned and even today my first language of choice for a cross-platform application would be C++ with a good cross-platform library like Qt. PHP was my first experience with web programming and I fell right into it due to the similarities with other C-like languages. My first experience with Python was for a project at university (research a language, present it) and I thought it was neat but didn't really look much into it, primarily because I also thought the lack of brackets was stupid and forcing me to indent grated on my independent side. Eventually I realized that a low opinion of a language simply for not being C recreated was silly, and I religiously indent my code anyway so what's the big deal about the required block indentation? So, at the urging of a friend, I gave a real shot with a personal website using Django. An hour or so later you could say I was a convert. It really is easy to use and makes it a joy to program (even for the web, which has always been a real pain in the ass for me).

      So, my point is, if you don't like Python, fine. No language is right for everyone or every situation, but don't snub a beautiful and easy to use language simply because it isn't C with dollar signs in front of variables. Give it a real shot and you might just find you like it. A lot.

    75. Re:Just because PHP is popular by maxwell+demon · · Score: 1

      Both C++ inheritance and C++ templates allow that, too (with both methods having different trade-offs). But static typing will still check that you file-like object indeed supports everything needed, even if it is used only by some deeply nested function under extremely obscure circumstances which you happen to never hit with your test suite.

      Assuming you have written a streambuf class (say it's named httpbuf) for accessing web pages (or found a pre-written one), you can just use a normal filebuf for testing (or you can even test on program-internal data by using a stringbuf), and using httpbuf for the actual code. The only point Python might have here is that it might already come with the class needed to read web pages, while C++ doesn't provide that out of the box. But that's of course completely orthogonal to the question of static typing.

      I guess most anti-static typing people think of static typing as it was in original Pascal. But developmment didn't stop there (and even Pascal implementations provided more than that more than ten years ago).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    76. Re:Just because PHP is popular by maxwell+demon · · Score: 2, Insightful

      Of course you can write Facebook in ASM. It's just a lot of work (and you'll be bound to the platform you've chosen forever).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    77. Re:Just because PHP is popular by jocknerd · · Score: 1

      You must hate to read books too. Since there are no brackets that let you know when a paragraph starts and ends.

    78. Re:Just because PHP is popular by crucini · · Score: 1

      Perl can be written to be prettier than Python or uglier than anything else imaginable.

      Even well-written Perl is noisier than Python.


      my $txn = $store->getTxnGroup()->getTxn($txn_id);
      txn = store.getTxnGroup().getTxn(txn_id)

      Or:

      my $ids = [ map { $_->{ id } } @$txns ];
      ids = [i['id'] for i in txns]

      I still love Perl, but can only think of one place where it's prettier than Python - that's quoting.

    79. Re:Just because PHP is popular by Draek · · Score: 1

      Let's define terms before we argue this back and forth:

      What, exactly, is "suitable"?

      --
      No problem is insoluble in all conceivable circumstances.
    80. Re:Just because PHP is popular by shish · · Score: 1

      GUI's have functions like code folding where you double click on the function, it's braces or in the sidebar and it will fold it close effectively removing that piece of code out of view.

      My text editor (vim) handles python folding just fine; if your editor doesn't, get a better editor :P

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    81. Re:Just because PHP is popular by shish · · Score: 1

      Are those bits of code even equivalent? All I can make out from either of them is that you are organising a bunch of texans...

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    82. Re:Just because PHP is popular by shish · · Score: 2, Insightful

      But Erlang and Perl?

      Perl I'm not sure about, but erlang was created *specifically* to run the world's telephone networks, and you don't get much more large scale than that :-P

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    83. Re:Just because PHP is popular by m50d · · Score: 1
      If it were in c++, there are a bunch of errors that I could have seen at compile time.

      And there'd be a bunch that you couldn't.

      I think it would have saved me a lot of time, and right now, I would be more sure that those apps worked

      You could be confident they worked based on having them compile? Man, I don't ever want to run your code.

      In all seriousness: you're never going to be able to catch all errors at compile time. Probably not even most errors. You're always going to need proper testing suites to catch runtime errors; all static verification does, from where I'm standing, is introduce an artificial and confusing split in your debugging, and distract people from writing a good testsuite from day 1.

      --
      I am trolling
    84. Re:Just because PHP is popular by shish · · Score: 2, Interesting

      Wikipedia uses php and is one of the fastest sites on the web despite staggering demand

      Note that 99% of wikipedia traffic is handled by the front-end caching proxies, which were put in place because PHP couldn't handle the load on its own. I'm not saying that any other language could perform better, just that it's useless to use wikipedia as proof of PHP's speed when all the speed comes from *avoiding* PHP :-P

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    85. Re:Just because PHP is popular by shish · · Score: 1

      My last brainfuck website failed because the bf compiler got confused between language operators and XHTML tags

      That's a pretty simple problem to solve -- just replace each tag with a bit of BF code which generates the relevant characters :-)

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    86. Re:Just because PHP is popular by shish · · Score: 1

      Look at all the forum software out there, like phpBB

      Speaking as someone who has, I wish I hadn't...

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    87. Re:Just because PHP is popular by Unoti · · Score: 1

      Python, Django. Ruby on rails is a bigger pleasure to work with, but more difficult to scale huge. Plus, there's attractive options such as hosting on Google App Engine.

    88. Re:Just because PHP is popular by bnenning · · Score: 1

      "the job" is more than just initial development

      Very true. And I'd rather maintain 5000 lines of code where each line actually contributes toward solving the problem than 10,000 lines of code where half of it is boilerplate or bookkeeping to make the compiler happy.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    89. Re:Just because PHP is popular by tyrione · · Score: 1

      PHP stands on the shoulder of Giants. Without C/C++ and Perl, amongst others, Facebook and Yahoo wouldn't work.

    90. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      while more():
      many_times()
      once()

      That's what Slashdot does to properly four-space indented code, despite wrapping it an <ecode> element as recommended. How is a better editor going to help? If it had real delimiters, a good editor could repair or change the formatting, but in Python the information about where the block ends has been irretrievably destroyed.

    91. Re:Just because PHP is popular by Anonymous Coward · · Score: 0

      Did you preview your comment? The blocks aren't indented at all. Of course the C version still works. The Python version has to be repaired by a human guessing where the blocks ended. Meaningful indentation is great, but doing it with just whitespace was stupid. There are way too many tools in common use which mangle whitespace.

    92. Re:Just because PHP is popular by piojo · · Score: 1

      In all seriousness: you're never going to be able to catch all errors at compile time. Probably not even most errors.

      Fair enough. I can even think of some Qt errors that aren't type errors and wouldn't have been caught at compile time. Even some really nasty ones that cause crashes.

      You're always going to need proper testing suites to catch runtime errors; all static verification does, from where I'm standing, is introduce an artificial and confusing split in your debugging, and distract people from writing a good testsuite from day 1.

      I do not believe that a short-ish script (100-1000 lines of primarily UI code) would benefit from a test suite. Surely the logic to manipulate a GUI and verify the results would be more complicated than the GUI itself, and who is to say you wrote it correctly, or that it catches even the most trivial of aberations from from the desired behavior? On the other hand, I know that static analysis catches errors that I sometimes would not notice myself. PyLint and PyChecker were quite helpful in this regard, but there is plenty they don't do (checking the types of arguments, for instance).

      --
      A cat can't teach a dog to bark.
    93. Re:Just because PHP is popular by WNight · · Score: 1

      If you like programming, or want to like programming, try Ruby. If you don't like coding but do it for work, Java (which will make you hate it all that much more) - that ecosystem will generate a lot of stable work. Boo is supposedly neat, and runs on .NET (as does IronRuby...) which might be worth looking into if you're already lost to the dark side.

      It's amazing how little Ruby you have to write to equal C or Java. Not because it's cryptic either, but because it just does the right thing. It's hard to explain how a few good defaults make something so much easier.

    94. Re:Just because PHP is popular by Simetrical · · Score: 1

      Three of the world's top 10 websites are PHP-based. Wikipedia, and facebook, along with vast chunks of yahoo.

      As far as Wikipedia goes, like half of MediaWiki's active developers (including me) loathe PHP and wish we used a sane language, like Python. I won't dispute that it does work, though. Visual Basic would work too.

      --
      MediaWiki developer, Total War Center sysadmin
    95. Re:Just because PHP is popular by Simetrical · · Score: 1

      Outdated. Server roles on wikitech is probably more up-to-date: I count over 70 Squids there at least, and 35 DB servers (although not all are listed as used). That's probably not terrible accurate either, though. Ganglia claims 274 hosts up right now, but clearly lists too few Apaches to be correct. Last I heard, anyway, the Apache count was around 300.

      At any rate, Wikipedia is certainly an efficient operation, yes. PHP is an awful language, but its efficiency is not much worse than Python or Perl or whatever. The major costs IMO are in development time:

      1. More time reimplementing basic functionality, because libraries aren't available reliably. A ton of critical library functions (e.g., the entire mbstring module, which is necessary for dealing with Unicode) aren't available on all installations -- installing a new module typically requires root access. Thus for code to work reliably, you need to write workalikes for all the major functions. Also, where library functions are reliably available, they're often fairly braindead and you have to write sane workalikes anyway, or wrappers that make their functionality more reasonable. I was just spending time working on an implementation of parse_url() that actually works for URL schemes like mailto: and news: that are absolutely conformant to the URL RFC but don't use "://" as a separator, so PHP evidently doesn't care about them.
      2. Time working around site-specific config settings that can't be changed at runtime. For instance, if magic_quotes_gpc is enabled, you have to write code to strip the quotes yourself, because PHP doesn't provide this. Any app that wants to work across all PHP configurations must implement that from scratch. There are even more horrible settings: mbstring.func_overload is one that's so horrifyingly broken that a sane app has no option but to give up and refuse to run until it's disabled. (It silently replaces all functions like strlen() with UTF-8 versions -- meaning everything that you thought was measuring bytes suddenly measures UTF-8 characters.) MediaWiki actually does this (grep for "func_overload" or "magic_quotes_runtime").
      3. Time working around bugs caused by PHP language misfeatures. Maybe MediaWiki devs are all just bad at PHP, but there are regular commits to fix bugs caused by the same few language features. For instance, "!$str" to check if a string is empty will fail exactly in the rare (and thus hard-to-track-down) special case that $str is equal to "0". In the same vein, but more uniquely to PHP as far as I know, "random string" will evaluate as equal to zero if compared to an integer, and this periodically causes bugs too. (I would expect them to be unequal if the string can't be cast to an integer, at least, and preferably never equal at all.) These can be solved with discipline, at least, like always using ===.
      --
      MediaWiki developer, Total War Center sysadmin
    96. Re:Just because PHP is popular by crucini · · Score: 1

      Within each of the two blocks, the two lines are equivalent; one Perl and one Python. There is no relationship between the two blocks.

    97. Re:Just because PHP is popular by Peeteriz · · Score: 1

      I would treat the fact that "PHP has been successfully used by 3 of the top 10 websites" as evidence that PHP is fairly suitable for a single, narrow industry (website development) - one of many niches of IT development that is rather irrelevant for majority of large scale development projects.

      Public web projects tend to be very visible, and get a lot of coverage and mindshare - but they are just a small part of all projects, and web-development needs and requirements tend to be very different from most other areas of development.

    98. Re:Just because PHP is popular by petermgreen · · Score: 1

      It's a while since i've seen any stats but last I heard the percentage was much lower tha 99% though it was over half.

      I don't remember the exact percentage though.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  6. Ow... by CHJacobsen · · Score: 1

    Ruby still ahead of Python?

    I died a little inside...

    1. Re:Ow... by The_Angry_Canadian · · Score: 1

      You use python ?!

      I died a little inside...

    2. Re:Ow... by Anonymous Coward · · Score: 2, Funny

      You use python ?!

      I died a little inside...

      Now I have two reasons to use Python.

    3. Re:Ow... by Anonymous Coward · · Score: 0

      What's the second reason?

    4. Re:Ow... by DragonWriter · · Score: 1

      Ruby still ahead of Python?

      Since, according to the info on the Black Duck Softwre website (which is more detailed than TFA), Python has 10% and Ruby 6% (for some reason TFA reports the Ruby number but not the Python number), no, Ruby isn't ahead of Python.

      (As something of a Ruby fan, I'm cautiously optimistic that 2009 will be a good year for Ruby, once 1.9.1 is out, which I believe is still scheduled for this weekend.)

  7. Black Duck Software? by ChienAndalu · · Score: 4, Informative

    Seriously, who ever heard of that company? Anyway, here is their actual press release, including a bogus list with 10 random apps I never heard of.

    And by the way, Python got 10%.

    1. Re:Black Duck Software? by adamkennedy · · Score: 3, Informative

      > Seriously, who ever heard of that company?

      They're the guys that do the Koders.com code search engine.

    2. Re:Black Duck Software? by jonaskoelker · · Score: 5, Insightful

      Anyway, here is their actual press release

      Thanks for that.

      Let's compare "here" with the summary. "Here":

      47% of these newly created projects used the C language. Java came in as the number two language of choice at nearly 28%. Third was Javascript at over 20%. In the world of scripting, nearly 18% of the projects chose to use Perl

      Summary:

      47 per cent â" of new projects last year used C. [...] Next in popularity after C came Java, with 28 per cent. In scripting, JavaScript came out on top with 20 per cent, followed by Perl with 18 per cent.

      I note that 47+28+20+18 > 100, so somewhere there's a move from one "percentage pie" to the next. I would like to know which language is in which pie, and more importantly why, and why there aren't numbers for one big pie with everyone in it. I'd also like to know why the summary (which is taken from the register) and the "here" seem to be ambiguous, when read together, about which pie javascript goes into.

      I don't think malice is a good explanation for all of this, so I'll assume incompetence. That goes well with the 98%-of-everything-is-crap law ;)

    3. Re:Black Duck Software? by ChienAndalu · · Score: 1

      I guess it's because some projects use multiple languages.

    4. Re:Black Duck Software? by talexb · · Score: 4, Informative

      From TFA: "Note, most projects used more than one language and these results are based on the number of projects using a given language, not the number of lines of code created."

      There, I fixed that for you. :)

    5. Re:Black Duck Software? by shaitand · · Score: 1

      I think the two pies are compiled versus scripted languages. In the old school world coding in scripted languages isn't considered programming and their description claims the first group as programming languages and the second as scripting languages.

    6. Re:Black Duck Software? by mgiuca · · Score: 1

      Is it possible that the phrase "in the world of scripting" is an important quantifier and not just informative?

      "In the world of scripting, nearly 18% of projects chose to use Perl". This could mean that 18% of the projects which used scripting used Perl, not 18% of all projects. This could get us under 100%.

      However I agree, it still doesn't really add up - still C + Java + JavaScript = 95%.

      Also it's interesting that the summary moved the "in scripting" quantifier without changing the numbers.

      I suppose we could just ignore it ;)

    7. Re:Black Duck Software? by Anonymous Coward · · Score: 0

      Thanks Python is not left behind!

    8. Re:Black Duck Software? by ShakaUVM · · Score: 1

      >>including a bogus list with 10 random apps I never heard of.

      What, you've never heard of the Sorian AI Director for Supreme Commander??

      Actually, that was the only one I recognized. The normal AI for the game sucked, so I looked up replacements for it when I played it back in the day.

    9. Re:Black Duck Software? by robot_love · · Score: 1

      I suspect that the pie, like cake, is a lie.

      --
      .there is enough of everything for everyone.
  8. Ruby might not have the market share yet by Jane+Q.+Public · · Score: 1

    ... but it is very much in demand. A lot of large projects are now being done in Python and Ruby, and while I know that Python has grown in popularity, I have not been seeing much demand for python programmers, but I have for Ruby.

    1. Re:Ruby might not have the market share yet by Anonymous Coward · · Score: 0

      You keep telling yourself that, sizzlechest.

  9. H1B Anthem by Penguinshit · · Score: 3, Funny

    Jose can you C? Then you've got a job at HP!

  10. C(++) is here to stay! by CuteSteveJobs · · Score: 3, Insightful

    Our company's flagship product was written 15 years ago. When we did it, we had to choose a language. Nearly considered Pascal and all the other flavors of the month. C has its shortcomings for sure, but all these years later we're still here, it's still well supported and plenty of people know how to write it. Improvements like recompile-while-running, modern debuggers and error trapping have made it a much more productive environment.

    Yes. It certainly has its flaws, but I don't think we could have made a better choice. If I had to pick another language to still be active in another 15 years, that would be it.

    1. Re:C(++) is here to stay! by lawpoop · · Score: 1

      Do you think java has gotten out of the phase of trendiness?

      I'm looking to start learning a real language, to make my career more secure. Although I would like to learn c, c++, or even lisp, just for the fulfillment, when I look at monster.com ads, java is the only non-niche language that consistently shows up. Do you think there is an install base building for java, or not?

      --
      Computers are useless. They can only give you answers.
      -- Pablo Picasso
    2. Re:C(++) is here to stay! by AuMatar · · Score: 1

      There's plenty of jobs out there for Java. There's also plenty out there for C and C++, and quite a few for the popular webpage languages (php, perl, etc). If you aren't seeing those constantly, you're not looking very hard. What there's not many out there for are the current fad languages (python, ruby) or functional ones (lisp, scheme, etc).

      --
      I still have more fans than freaks. WTF is wrong with you people?
    3. Re:C(++) is here to stay! by FishWithAHammer · · Score: 1

      Java crapped out of the rich-web-content field for the most part, but there is a crazy amount of Java development done outside the browser.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    4. Re:C(++) is here to stay! by shaitand · · Score: 1

      C or C++? You seem to group them together even though they are distinct languages. C++ isn't really just a superset of C after all, anyone who starts trying to compile C code in a C++ compiler will discover that quickly ;)

    5. Re:C(++) is here to stay! by shaitand · · Score: 1

      'the current fad languages (python, ruby) '

      *looks around warily then whispers*

      Careful, the pythonites might hear you. All other languages are inferior because they don't dictate coding style.

    6. Re:C(++) is here to stay! by TheSpoom · · Score: 1

      Hehe.

      Python might be worth learning because it's used in a lot of different places nowadays (and I've been considering getting a book on it myself). And I think the functional languages will probably end up being the next shift in programming paradigm, similar to the shift to object-oriented, so they'll probably be worth learning... in the future.

      As it is right now, PHP is going pretty well for me.

      --
      It's better to vote for what you want and not get it than to vote for what you don't want and get it.
      - E. Debs
    7. Re:C(++) is here to stay! by SpinyNorman · · Score: 1

      For all effective purposes C++ really *is* a superset of C. The difference between C++ and C is really no more than that between one variant of C and another (C99 vs ANSI C or K&R C), and updating a C code base to use a C++ compiler is also no more of an effort than having to switch from one vendors C compiler to another - just a matter of minor fix-ups and thorough re-testing.

      In practical terms C is just as future-proof as C++ since the jump from C to C++ is so minor.

    8. Re:C(++) is here to stay! by shish · · Score: 1

      Careful, the pythonites might hear you. All other languages are inferior because they don't dictate coding style.

      Python dictates correct indentation in the same way that C dictates correct nesting of curly brackets -- it's true, but if it bothers you, you have bigger problems...

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  11. Python redacted? Rubymandering! by Anonymous Coward · · Score: 2, Interesting

    The linked article was based on a post from the Black Duck news release that outlines language popularity briefly. From the real source, "..Python at nearly 10% and Ruby at 6%," was replaced with simply "and Ruby six per cent."

    Why? Out of all the languages mentioned, why remove only the pen-ultimate?

    1. Re:Python redacted? Rubymandering! by jonasj · · Score: 1

      Could it be argued that Python, due to it's style, is the best language for writing code in hand on paper? I hope so, because that would add a funny additional meaning to your last sentence.

      --
      You know, Microsoft's street address also says a lot about their mentality.
  12. 130% ?? by Anonymous Coward · · Score: 0

    47 + 28 + 20 + 18 + 11 + 6 = 130

    1. Re:130% ?? by mastergoon · · Score: 1

      I believe projects using scripting languages were placed in a separate category for these statistics.

  13. C? Here's the problem by bogaboga · · Score: 0, Troll

    While I would not like to start a flame war of words, I have an issue with Open Source Projects. There is one important statistic we cannot overlook; an over whelming number of OSS projects are non starters!

    In other words, most of them die before they are even borne. Now, the author of this piece should have gotten us some stats on how many of these projects actually become something useful.

    1. Re:C? Here's the problem by bnenning · · Score: 2, Insightful

      In other words, most of them die before they are even borne.

      Quite true, as it is with commercial projects. It's just that you never see those.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    2. Re:C? Here's the problem by Steauengeglase · · Score: 1

      I know better than responding to flame-bait, but I can't count the number of proprietary projects (and to that effect start-up companies) that die before they even begin. This is a nature of software and everything else. People start dumb projects, half-finish idiotic sentences and waste money on power tools that rust in their garages. So long as they learn while they are spinning their wheels and don't waste a ton of cash in the process everything is fine.

    3. Re:C? Here's the problem by The+End+Of+Days · · Score: 1

      While it's true that many proprietary projects die on the vine, no one is trying to make statements about language popularity by surveying them. In other words, in your rush to defend against an attack that wasn't being made, you totally missed the point.

    4. Re:C? Here's the problem by Draek · · Score: 1

      While it's true that many proprietary projects die on the vine, no one is trying to make statements about language popularity by surveying them.

      In this study no, since it's solely about F/OSS apps but for pretty much all popularity-contest language studies, they analyze projects being *currently* written at businesses, not ones already finished and shipped and a large percentage of those won't ever be finished so the situation is the same.

      --
      No problem is insoluble in all conceivable circumstances.
  14. Apples and Oranges by 93+Escort+Wagon · · Score: 1

    Why throw JavaScript in there? The rest are server-side languages, while JavaScript is client-side.

    Okay, I realize Java can be both - but I suspect the vast majority of its uses anymore are at the server end. You don't see it on the client side all that much anymore (and personally, I'm grateful for that).

    --
    #DeleteChrome
    1. Re:Apples and Oranges by Anonymous Coward · · Score: 0

      Who said these are all web based or client-server apps.. what about regular old fashioned desktop apps?!

    2. Re:Apples and Oranges by DragonWriter · · Score: 1

      Why throw JavaScript in there? The rest are server-side languages, while JavaScript is client-side.

      JavaScript is used for scripting in several non-web application, is used as a server side language for web apps, and is used as the predominant client-side scripting language for the web. It is not even close to exclusively a "client-side language", though the use which has made it ubiquitous is its use in that role.

      And most of the other languages there aren't exclusively "client-side" or "server-side", either (a distinction that would only makes sense in regard to their use in client-server applications, usually web apps, which, while popular, aren't the only kind of apps.) If I write a desktop GUI app that is neither a client or a server -- which can be done in most, if not all, of the languages listed -- it doesn't make sense to describe that use as "client-side" or "server-side".

    3. Re:Apples and Oranges by weston · · Score: 4, Informative

      Why throw JavaScript in there? The rest are server-side languages, while JavaScript is client-side.

      Two reasons I can think of:

      1) An increasing amount of number of applications are being delivered via the web browser
      2) JavaScript increasingly lives a number of other places besides the browser. See Rhino, JScript.NET, Seed, and probably a few other places I'm not thinking of right now.

    4. Re:Apples and Oranges by Simetrical · · Score: 1

      Why throw JavaScript in there? The rest are server-side languages, while JavaScript is client-side.

      I'm going to bet that most of that C code is not for servers specifically -- it's just for computers. Would you consider GNOME "server-side" or "client-side"? Most programming cannot be viewed through the lens of the web. Some open-source projects are written partly or wholly in JavaScript, and there's no reason to treat them differently because they're designed to run in a web browser.

      Excluding JavaScript might be reasonable, but only on the basis that it's almost impossible for non-web projects to use it, and very difficult for serious web projects not to use it. If a project is using JavaScript, that doesn't tell you anything about the project's preferences. It just tells you that it has a not-completely-trivial web-based component, which isn't very useful.

      --
      MediaWiki developer, Total War Center sysadmin
  15. C development? by Anonymous Coward · · Score: 2, Interesting
    "C Dominated New '08 Open-Source Projects "

    .

    Also headlined: "C developers lost more jobs in 2008. Java, Ruby, Python, and C# hired more people (and payed higher) in 2008. Twice as many applications roll out for 2008 vs. 2007"

    .

    .

    In other news: "PHP development held flat."

    .

    Ouch?

    1. Re:C development? by pushing-robot · · Score: 1

      Perhaps the jobless C developers are now writing open-source apps, hoping to improve their résumés.

      --
      How can I believe you when you tell me what I don't want to hear?
  16. The numbers don't add up right in my mind by jonaskoelker · · Score: 2, Informative

    [!scripting: C=47, java=28]

    Note that 47+28 = 75, so that leaves 25%. Is C++ really that small? And let's just conveniently forget about C#, Objective C, and the odd app here or there written in lisp/scheme, an ML-like language (SML, ocaml, haskell), ada, pascal, eiffel, fortran, ...

    (I assume there isn't a moronic failure to distinguish between C, C++, C--, C# and Csh)

    Even more surprising:

    [Scripting: js=20, pl=18, php=11, rb=6]

    That's 20+18+11+6 = 55 (percent), leaving 45 percent to be fought over by languages not attracting more than 6% of the projects. That takes at least eight languages.

    This means we have twelve scripting languages in (reasonably) widespread use. Which eight (or more) remain?

    I'm guessing python, bash and lua, but then I'm sorta' blank. I can guess at elisp, guile, QuakeC and the fragment shader language, but I'm kinda' skeptical. Anyone care to guess?

    1. Re:The numbers don't add up right in my mind by Peristarkawan · · Score: 2

      There's some overlap caused by projects that use multiple languages. I wouldn't expect either set of numbers to add up to 100%.

    2. Re:The numbers don't add up right in my mind by Anonymous Coward · · Score: 0

      I agree, but the figures in the original page are different (and still strange):

      47% of these newly created projects used the C language. Java came in as the number two language of choice at nearly 28%. Third was Javascript at over 20%.

      So javascript is like C and Java.

      In the world of scripting, nearly 18% of the projects chose to use Perl while only 11% used PHP. These were both higher than Python at nearly 10% and Ruby at 6%. Note, most projects used more than one language and these results are based on the number of projects using a given language, not the number of lines of code created.

      18+10+11+6=45% (and no javascript!)

      Imho the only way perl comes ahead of php for coding is if they are counting small scripts or the cspan ...

    3. Re:The numbers don't add up right in my mind by jonaskoelker · · Score: 1

      There's some overlap caused by projects that use multiple languages. I wouldn't expect either set of numbers to add up to 100%.

      I think they'd have to add up to at least 100%.

      But now I think about it, I'm starting to doubt it. Fuck it. I give up trying to figure out what they're trying to say, because they say it so muddily.

    4. Re:The numbers don't add up right in my mind by Peristarkawan · · Score: 1

      They do. 47 + 28 + 20 + 18 + 11 + 6 = 130, which sounds about right to me.

    5. Re:The numbers don't add up right in my mind by shaitand · · Score: 1

      bash and csh aren't actually languages. Neither are .bat files.

    6. Re:The numbers don't add up right in my mind by Anonymous Coward · · Score: 0

      it's all in brainfuck... all of it!

    7. Re:The numbers don't add up right in my mind by Anonymous Coward · · Score: 0

      That's 20+18+11+6 = 55 (percent), leaving 45 percent to be fought over by languages not attracting more than 6% of the projects. That takes at least eight languages.

      This means we have twelve scripting languages in (reasonably) widespread use. Which eight (or more) remain?

      I'm guessing python, bash and lua, but then I'm sorta' blank. I can guess at elisp, guile, QuakeC and the fragment shader language, but I'm kinda' skeptical. Anyone care to guess?

      Let's see: Python, Tcl, Lua, a number of interpreted lisps used for scripting (clisp, guile come to mind), Smalltalk, JVM-based scripting languages (Groovy), then there's Unixy stuff (awk, sh and its spawns, maybe sed), Apple stuff (AppleScript).

      You can find eight languages without breaking a sweat, and that's without delving into really obscure ones or those tied to a specific application domain (elisp).

    8. Re:The numbers don't add up right in my mind by shish · · Score: 1

      I'm beginning to think that you're trolling, given that every horribly mis-informed post I've corrected today has been yours... But anyway, for the benefit of anyone reading who might take you seriously: MS-DOS batch files are certainly "a language" -- there are words, with meanings, which a human will write and a computer will "understand" (ie, it does some predictable and useful calculation based on the instructions). Shell scripts go further, to the point of being turing complete, and that's pretty much the definition of "programming language".

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  17. how stupid by Lord+Ender · · Score: 3, Insightful

    What the hell does "scripting" even mean? Perl and Ruby are the same class of language as C. Javascript is an entirely different beast. Whoever categorized Ruby and Javascript together must be completely ignorant of programming.

    --
    A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    1. Re:how stupid by Daniel+Dvorkin · · Score: 1

      There are a lot of people, here on /. as well as elsewhere, who loftily declare that Perl, Ruby, Python, and yes, JavaScript are all "scripting" languages and thus beneath the dignity of those who use "programming" languages such as C, C++, Java, etc. It's absurd, of course, since increasingly large apps are written entirely in "scripting" languages and people who pride themselves on using "programming" languages are these days just as dependent on multiple layers of abstraction as the "scripters" are, but there you go. I'm guessing that whoever came up with the distinction you mentioned falls into this camp.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    2. Re:how stupid by kc8apf · · Score: 3, Insightful

      Yes because a compiled, statically-typed, procedural language (C) has everything in common with an interpreted, dynamically-typed, object-oriented language.

      --
      kc8apf
    3. Re:how stupid by Korin43 · · Score: 1

      I was under the impression that they are 'scripting languages' because they don't compile.

    4. Re:how stupid by TheDugong · · Score: 2, Insightful

      Come back to me when you have written an OS Kernel in Ruby and Perl and then I might agree with your second sentance.

    5. Re:how stupid by Lord+Ender · · Score: 1, Insightful

      Being "interpreted" is not a property of the language, merely of some implementation of the language.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    6. Re:how stupid by The+End+Of+Days · · Score: 1

      Interestingly, you just revealed an astonishing amount of ignorance with your belief that Ruby must somehow be out of Javascript's class. Whoever bothers making these kinds of distinctions on the language level is frankly stupid.

    7. Re:how stupid by shaitand · · Score: 2, Informative

      'What the hell does "scripting" even mean?'

      That the language uses an interpreter rather than a compiler. This is less of an issue with the ridiculously fast processors but interpreted languages are slower than compiled languages and don't result in a stand-alone executable. For a long time many didn't even considered scripting to be real programming.

      'Perl and Ruby are the same class of language as C.'

      Not even remotely. While you can use Perl and Ruby for many applications, they are not suitable for systems programming. For that you need a compiled language (and I'm not talking about Javaism but actual native code compilation) like C, C++, and Pascal. There are hacks to compile scripting languages but they aren't fully functional and really aren't worthy of more than a footnote for the sake of the pedants.

      'Whoever categorized Ruby and Javascript together must be completely ignorant of programming.'

      Why? Because the JavaScript interpreter is usually built into web-browsers? They are both interpreted languages.

    8. Re:how stupid by thethibs · · Score: 1

      Chuckle. Does anyone else remember the same inane arguments about the difference between a "compiler" and a "translator"?

      --
      I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
    9. Re:how stupid by module0000 · · Score: 0, Troll

      No, they are NOT programming languages. Don't ever delude yourself into thinking they are. A perl/python/ruby/whatever-you-learned-while-NOT-getting-a-cs program has no concept of memory management.

      --
      Trackball users will be first against the wall.
    10. Re:how stupid by Zspdude · · Score: 1

      Being interpreted is very much a property of the language. There's at least two different ways to make this case.

      First, I might point out that (although this is changing w/ Jruby & Rubinius) the Ruby language is basically specified by a reference implementation interpreter (MRI). MRI's behaviour *is* ruby.

      More importantly, knowing that the interpreter is going to run through your code line by line changes your entire programming paradigm. Most ruby metaprogramming features are *all* about being interpreted.

      Eg attr_accessor. It is a method which, when evaluated by the interpreter generates accessor methods for the names passed in. Leaving expressions with side effects in your classes just so that the interpreter can trip over them and do things for you is not a standard programming paradigm in C.

      Opening classes and adding methods at runtime? A core feature of Ruby and entirely dependent on being interpreted.

      If I wanted to get all fancy and mushy, I would say that writing Ruby is like a dance with the Ruby interpreter.

      Ruby is *way* closer to a LISP (MATZLisp, anyone?) than C. Apples and toaster ovens.

      Even if you did write a ruby compiler, and said, "Aha! I have a ruby implementation which is not interpreted!" I would say, "What a nice interpreter factory you have written. But why do you feel the need to compile and spit out a new one every time you want to run a ruby program?"

      --
      What's in a Sig?
    11. Re:how stupid by Just+Some+Guy · · Score: 1

      Yes because a compiled, statically-typed, procedural language (C)

      Cool! When did they change C to be statically typed? And how do you work around the removal of void* and unions and all the other stuff that breaks typing?

      --
      Dewey, what part of this looks like authorities should be involved?
    12. Re:how stupid by Just+Some+Guy · · Score: 1

      I was under the impression that they are 'scripting languages' because they don't compile.

      Python compiles to bytecode exactly like Java does. The difference is that it happens at runtime instead of as an extra step. For example, if you run import foo, the Python runtime looks for a file named "foo.py" in a given set of directories. If there's a corresponding "foo.pyc" in the same directory that's newer than foo.py, then it loads that. If not, it reads in foo.py, compiles it into bytecode, then writes the bytecode out to foo.pyc so that it can skip the compilation step next time.

      So is Python a scripting language? Sure, as long as Java is too.

      --
      Dewey, what part of this looks like authorities should be involved?
    13. Re:how stupid by Daniel+Dvorkin · · Score: 1

      no concept of memory management

      Compare the memory management models of, say, C and Java and please, oh please, try to tell me that they're the same. Each language (or family of closely related languages, as the case may be) has its own way of handling memory access, and there is no one way that you can point at and say "that's the way real programming languages do it."

      perl/python/ruby/whatever-you-learned-while-NOT-getting-a-cs

      I have a Master's in CS and over a decade of professional development experience in ... let me think about this for a moment ... C, C++, PHP, Java, Python, Javascript, Perl, and R. I've come to the conclusion over the years that it is absurd to point at two apps, say one in C and one in Python, which do the exact same thing from the user's perspective and say one is "program" and the other is a "script." Any language in which you can write programs (i.e., any Turing-complete language) is a programming language.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    14. Re:how stupid by Daniel+Dvorkin · · Score: 1

      You have to define "stand-alone executable" very carefully. You can, for example, ship a "stand-alone executable" written in Python (i.e., just the .pyc or .pyo file) without the code. Of course, the user still has to have Python installed to run it ... but the user must also have something installed to run a Java .jar, or for that matter a Windows .exe or OS X .app. There are really very few "stand-alone executables" in the sense of "programs that will run on the bare metal" shipped these days.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    15. Re:how stupid by chromatic · · Score: 2, Insightful

      A perl/python/ruby/whatever-you-learned-while-NOT-getting-a-cs program has no concept of memory management.

      What if I learned Scheme and Haskell?

    16. Re:how stupid by MyIS · · Score: 2, Insightful

      I think that the parent was referring to the fact that:
      * C, Perl and Ruby are mostly used to write standalone utilities and apps
      * Javascript is used to script the high-level functionality of a browser (albeit to produce more apps too, sometimes)

      So it's not about compiled vs interpreted, or memory management models. It's about actual practical usage scenarios. And lumping Ruby and Javascript is indeed silly in that sense.

      --
      http://zero-to-enterprise.blogspot.com/
    17. Re:how stupid by shaitand · · Score: 1

      'You have to define "stand-alone executable" very carefully.'

      Or we could just use the standard definition. A native code executable that runs on 'the bare OS' which includes any libraries that are shipped by the OS and installed by default.

      Java really falls more in the interpreted language side of things since the distinction is to separate languages that compile to native code (with the strengths and weaknesses of doing do) from those that depend on a program to interpret them and the jvm interprets bytecode. Having an intermediate format really doesn't change that.

      You aren't going to be doing any system programming in Python, Java, or Perl. While in my opinion these are all 'real' programming languages, the distinction between compiled and interpreted is legitimate.

    18. Re:how stupid by RegularFry · · Score: 2, Insightful

      Why is explicit memory management required for a language to be a "programming" language? What practical difference does it make to have explicit memory management as opposed to implicit, but well-defined, automatic behaviour?

      --
      Reality is the ultimate Rorschach.
    19. Re:how stupid by Anonymous Coward · · Score: 0

      If you want to write a commercial product in an interpreted language that can easily be revese engineered and used against you by your competitors then you go be my guest.

    20. Re:how stupid by shentino · · Score: 1

      Considering someone already proved "linux will do anything except make coffee" wrong, I wouldn't be surprised if someone actually tried that.

    21. Re:how stupid by Anonymous Coward · · Score: 0

      > If you want to write a commercial product in an interpreted language that can easily be revese engineered and used against you by your competitors then you go be my guest.

      Um... you do realize this article is about open source projects, right?

    22. Re:how stupid by pizzach · · Score: 1

      What you are talking about is a feature of CPython (even if it is the main implimentation.) You can also compile Python into Java bytecode with Jython if that makes you feel better.

      Python is usually thought of as a scripting language because you can run the scripts with "python hello_world.py" like every other scripting language out there. Scripting languages being compiled during runtime into native code is starting to become the rule and not the exception.

      --
      Once you start despising the jerks, you become one.
    23. Re:how stupid by Just+Some+Guy · · Score: 1

      You aren't going to be doing any system programming in Python, Java, or Perl. While in my opinion these are all 'real' programming languages, the distinction between compiled and interpreted is legitimate.

      Careful: all existing C# compilers generate bytecode and not native instructions. From what I can tell, Microsoft is indeed doing system programming in C#.

      --
      Dewey, what part of this looks like authorities should be involved?
    24. Re:how stupid by Esine · · Score: 1

      It seems you are confusing static and strong typing. C is indeed statically typed, but also weakly typed.

    25. Re:how stupid by Just+Some+Guy · · Score: 1

      It seems you are confusing static and strong typing.

      Nope.

      C is indeed statically typed, but also weakly typed.

      That's generally true, but it's not purely statically typed in the same way as, say, ML.

      --
      Dewey, what part of this looks like authorities should be involved?
    26. Re:how stupid by jbolden · · Score: 1

      In a modern operating system its very difficult for any program to manage memory.

      1) The CPU uses memory pages
      2) The OS pops things from ram to disk
      3) Applications are virtualized and not running on physical memory
      4) Applications are protected so apps don't actually know how much memory is availabl.e
      4) Threading is not under the application's specific control but under the OSes so garbage collection routines run at times the application can't predict

      Memory management is an OS/hardware not an application function given this sort of architecture.

    27. Re:how stupid by jbolden · · Score: 1

      Well it has been done in Haskell.
      http://programatica.cs.pdx.edu/House/

      Perl, Ruby and Python don't have direct access to machine pointers.

    28. Re:how stupid by crucini · · Score: 1

      Eg attr_accessor. It is a method which, when evaluated by the interpreter generates accessor methods for the names passed in.

      I know nothing about Ruby and attr_accessor, but from a quick search this seems to be a compile-time feature. Couldn't you add attr_accessor to a C++ compiler? The compiler would generate the accessor methods.

    29. Re:how stupid by shish · · Score: 1

      'What the hell does "scripting" even mean?'

      That the language uses an interpreter rather than a compiler

      You know there are C interpreters, and perl compilers (as in, results in a standard elf binary)?

      IMHO interpreted vs compiled is an implementation detail, and as such should be disregarded when talking about what a language "is"

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    30. Re:how stupid by shish · · Score: 1

      Java really falls more in the interpreted language side of things since the distinction is to separate languages that compile to native code (with the strengths and weaknesses of doing do) from those that depend on a program to interpret them and the jvm interprets bytecode

      The JVM *can* interpret bytecode, but in most cases it compiles it to native code and runs that instead. It's perfectly possible to take that native code and dump it to a file on disk rather than run it on the fly, but everyone with the skills to do that realises how pointless it would be :P

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    31. Re:how stupid by shish · · Score: 1

      Scripting is a buzzword; interpreted vs compiled are implementation details; at the lowest level, all languages are essentially the same (ask the CPU if it can tell whether the instructions it's executing are C instructions or java instructions :P)

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    32. Re:how stupid by Anonymous Coward · · Score: 0

      More importantly than (1) is that caching gets in the way (thus cache colouring). Pages are generally uninteresting to programs otherwise, except when the cache colour problem is attacked in user space by way of things like BIBOP (big bag of pages) and segregated type pools, instead of being handled by the operating system.

      (2) is just a flavour of the cache hierarchy problem.

      (3) if the OS is well designed than there is likely to be no penalty to an application using memory as a uniform array of {words,bytes} -- well, almost uniform, there is a reward for maximizing locality of reference, in the presence of *any* cache hierarchy.

      (4) how much of which memory? there are several POSIX available-memory queries -- the most relevant is probably the rlimit functions. 4.4BSD has mincore and sysctl with queryable hw.memsize, hw.physmem, hw.usermem, vm.swapusage, for example.

      (other 4) real time GC is a solved problem. If your OS supports RT guarantees, you can use an RT GC.

      http://www.google.com/search?q=real+time+garbage+collection

      provides several links. Bacon's work is good and modern. Baker's initial work is more than thirty years old, and his treadmill is from the early 90s, and is solid stuff.

      If you find yourself on Henry Baker's page, read everything he's ever written. Really. You'll be really surprised about what can be done well in userland in environments which are busy, unpredictable, and apparently hostile to concurrent multiprocessing and multiprogramming in Lisp-like languages.

      And of course, even Java manages to have evolved a real time garbage collector, again with the requirement that the host OS support RT: http://en.wikipedia.org/wiki/Real-time_specification_for_Java

    33. Re:how stupid by jbolden · · Score: 1

      You probably should get an account. Those were insightful and detailed claims. I'm not sure if I quite follow the general theme you were trying to make. I doubt you were defending GP comment.

    34. Re:how stupid by Korin43 · · Score: 1

      I'd consider anything that doesn't compile to machine code to be a scripting language. I was under the impression that Java could do this. I've never actually used it though.

    35. Re:how stupid by shaitand · · Score: 1

      'There are hacks to compile scripting languages but they aren't fully functional and really aren't worthy of more than a footnote for the sake of the pedants.'

      Yeah, perhaps you should have read the entire post. For the sake of hackishness just about everything has been done but that doesn't mean you are going to roll it out onto the production floor of a major operating system.

    36. Re:how stupid by shaitand · · Score: 1

      I rest my case.

    37. Re:how stupid by Anonymous Coward · · Score: 0

      I have an account; I just don't want to attach fuzzy comments to it, sometimes. :-)

      The comment wasn't really widely relevant, so that you read it is enough to justify not engaging in using a "B" account for this type of thing.

      I was not agreeing with the comment you replied to. I was also not agreeing with yours.

      The theme is: it's fairly easy for programs on modern OSes to manage memory themselves -- they simply have to maximize locality of reference.

      Shockingly there are runtimes (some for the languages in the post you initially replied to) that almost pessimize for locality of reference, by creating sparse structures that are accessed relatively infrequently. Extensive memory use, rather than intensive. This is a losing strategy compared to intensive memory use/reuse in modern operating environments, especially ones that are memory constrained at one or more levels of the storage hierarchy (small caches, small RAM memory...).

      Intensive memory use is a solved problem; compacting collectors have done this since the 1970s.

      The problem is that compacting collectors require some thought about object location, particularly in the presence of simultaneous collection and access, to avoid expensive locking. The "broken heart" forwarding pointer and precise identification of pointers and atomic objects help enormously.

      Unforunately not many systems have hardware support for tagged pointers and objects, so there are a variety of tradeoffs which can be made to make up for it. One of these is to use a conservative collector (which can leak, and which can lead to hugely sparse pages as conservative collectors typically cannot move objects safely (and therefore cannot compact)) which has the lowest CPU impact. Another is to rob bits from integers and pointers to simulate tags (typically meaning that integer boundaries are two or three bits narrower than the native word size, and that objects must be word-aligned) which allows for compaction at the cost of shifts and ands when dealing with integers and pointers, respectively. A third is to do explicit allocate-and-release as with the POSIX *alloc/free system, possibly with some sugar to do autoallocate/autorelease objects (as with Objective-C and some C++ frameworks) -- but these approaches also don't usually support any object moving, they can leak, and they can be very expensive when allocating memory.

      Since almost all of these approaches can be chosen straightforwardly at programming time (there are lots of gc libraries and frameworks for C-like language) and they usually come with some syntactic sugar to hide the guts of the allocation system from the programmer, there is really no reason to spend enormous time on worrying at programming about how a user program should manage its slice of linear virtual memory, provided there is still a trend towards intensive rather than extensive memory use.

      1) objects should die young [the allocator will create new objects in the "graves" of these]

      2) structures should be dense [cache hits/crossing cache hierarchy bounds (e.g. disk page faults) are much more costly than executing a few extra bit-twiddling instructions]

      3) compactify structures rather than hang on to sparse ones, or choose structures which do this on their own (red-black trees have some nice properties, breadth-first copies pack better, etc.)

      Finally

      4) choose a programming environment (language, runtime, library) which tries to have the narrowest possible footprint without an explosively large amount of code (which may be code that spills out of I cache space, or code which creates lots of pipeline bubbles). If in doubt, and you can't code for several possible environments, choose the envrionment where developers talk a lot about locality of reference issues. :-)

      5) otherwise, don't panic too much, and beware of premature optimization, and all that usual stuff. Lots of big software systems that deal with big amounts of data are coded in

    38. Re:how stupid by Zspdude · · Score: 1

      It's not a compile time feature. attr_accessor is a method just like any other method, and as such, performs its action at runtime. Slapping attr_accessor in your code is just a method invocation.

      Additionally, because in Ruby you can redefine methods at any point in time, what attr_accessor actually does could be different at different points in (run)time, depending if the interpreter has hit code redefining it or not. It's only its default implementation which generates accessors ;-). If you run the code after loading the wrong library, you could see strange effects. Google "monkey patching".

      Conceivably you *could* write a C implementation which would either alter your compiled binaries or dynamically compile new ones at runtime to achieve the same effect. When you were done, it would look a lot like an... interpreter.

      --
      What's in a Sig?
    39. Re:how stupid by shish · · Score: 1

      Yeah, perhaps you should have read the entire post. For the sake of hackishness just about everything has been done but that doesn't mean you are going to roll it out onto the production floor of a major operating system.

      Perhaps you should have read any of the post o_O Java is compiled to native binary by default, it just happens behind the scenes; and java is rolled out to pretty much everywhere...

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    40. Re:how stupid by crucini · · Score: 1

      Thank you. It still seems to me that the more beneficial part of attr_accessor (automating accessor boilerplate) can be done at compile time.

      The term "Monkey Patching" is new to me. If you wanted to (and I shudder at the thought) you could probably apply it to virtual methods in C++ since their addresses are stored in a class vtable.

    41. Re:how stupid by FrangoAssado · · Score: 1

      From what I can tell, Microsoft is indeed doing system programming in C#.

      What's your source? I kind of doubt it because of things like these.

    42. Re:how stupid by Anonymous Coward · · Score: 0

      >> C is indeed statically typed, but also weakly typed.

      > That's generally true, but it's not purely statically typed in the same way as, say, ML.

      Merely having a "void" pointer doesn't make C dynamically typed!

  18. Open source != popularity by nsayer · · Score: 2, Insightful

    One thing that PHB types need to be made aware of is that the level of use within open source projects does not necessarily imply usage in general. I would expect PHP to be used less to make open source projects. Rather, I would expect it to be used to build websites, which tend to be heavily customized things that don't need to be replicated across sites the same way that open source software tends to be.

    Obviously there are exceptions for things like Squirrelmail or PHPBB, but they don't invalidate my argument.

    1. Re:Open source != popularity by htnmmo · · Score: 2, Interesting

      PHP?

      Java still dominates PHP in the web application job market. Just do a search in most major job sites.

      http://www.indeed.com/jobtrends?q=java%2C+php%2C+j2ee&l=

    2. Re:Open source != popularity by InfiniteLoopCounter · · Score: 1

      One thing that PHB types need to be made aware of is that the level of use within open source projects does not necessarily imply usage in general.

      I know you are trying to stick up for PHP; and that is admirable. However, what C, C#, and C++ have shown here is that PHP has too many letters in it for a fully capitalized name. Either they should drop a letter and make it 'PH'... wait. No that would be too easily confused with pH... or they should just call it the 'P' programming language. And god help the 'PHPBB' language. You'd think they would have learned all this after COBOL and QBASIC.

  19. God wrote in Lisp by argent · · Score: 2, Informative

    Perl and Ruby are the same class of language as C.

    Perl and Ruby are much higher level languages than C. They're no Lisp, but they're nothing like C.

    1. Re:God wrote in Lisp by againjj · · Score: 2, Funny
  20. Abusing the numbers by DragonWriter · · Score: 1

    Note that 47+28 = 75, so that leaves 25%. Is C++ really that small? And let's just conveniently forget about C#, Objective C, and the odd app here or there written in lisp/scheme, an ML-like language (SML, ocaml, haskell), ada, pascal, eiffel, fortran, ...

    Note that the survey counts the number of projects that use a language, and TFA explicitly notes that the survey found that most projects use more than one language, so that you can't say that the percent that use some language other than C or Java = 100% - (percent using C) - (percent using Java).

    [Scripting: js=20, pl=18, php=11, rb=6]

    That's 20+18+11+6 = 55 (percent), leaving 45 percent to be fought over by languages not attracting more than 6% of the projects. That takes at least eight languages.

    Scripting and !Scripting do not appear to separate universes, looking both at TFA and the press release it is based on; they appear to be presenting the percentage of the total pool of ~17,000 new projects that use each language, and just grouping the numbers for the scripting and non-scripting languages (but not taking them out of separate pools). So this conclusion appears to be invalid as well.

    1. Re:Abusing the numbers by jonaskoelker · · Score: 1

      so that you can't say that the percent that use some language other than C or Java = 100% - (percent using C) - (percent using Java).

      That's true. I can say, though, that languages other than C or Java which are in the !scripting category must take up at least (100 - $C - $JAVA) percent.

      That is, unless you can have a program written in zero or fewer languages ;)

      But then again, I don't know what makes a project written in a particular language. If my C code compiles fine with g++, is it written in C++? Why not? :)

    2. Re:Abusing the numbers by DragonWriter · · Score: 1

      That's true. I can say, though, that languages other than C or Java which are in the !scripting category must take up at least (100 - $C - $JAVA) percent.

      No, you can't, because the percentages aren't out of different universes for scripting and non-scripting. You can say that the total using any languages that aren't C or Java must be at least (100 - $C - $JAVA) percent, but so what?

      But then again, I don't know what makes a project written in a particular language. If my C code compiles fine with g++, is it written in C++?

      Now, that's an interesting question.

  21. RTFA by DragonWriter · · Score: 2, Informative

    47 + 28 + 20 + 18 + 11 + 6 = 130

    The percentages are the percentages of projects that used the language.

    TFA notes that most projects used more than one language.

    Ergo, if you add up the percentages of the projects that use each language for every language in the survey (not all are reported in TFA), you will get some number > 150% (since more than half of the projects used at least two languages) and possibly much greater than that.

  22. Small translation by DiegoBravo · · Score: 1

    Survey says C dominated new '08 O.S. projects

    TO:

    Survey finds most '08 new Open source projects causing vulnerabilities for the following years.

  23. In other news: by pha3r0 · · Score: 1

    the grammar police have arrested well known /.'er timothy for vulgar abuses of the term "per cent" while implying a percentage of a number... More at 11

  24. eval() == interpreted language by tepples · · Score: 2, Informative

    Being "interpreted" is not a property of the language

    If a language has its translation mechanism easily available to the program, then the language itself is designed to be interpreted (or at least bytecode-compiled). ECMAScript and the three P's all have this, and it's called eval() in all four.

    merely of some implementation of the language.

    Under that definition, a "scripting" language is one whose dominant implementations are all interpreters.

    1. Re:eval() == interpreted language by RegularFry · · Score: 1

      Being "interpreted" is not a property of the language

      If a language has its translation mechanism easily available to the program, then the language itself is designed to be interpreted (or at least bytecode-compiled). ECMAScript and the three P's all have this, and it's called eval() in all four.

      There's a C eval() implementation out there for GCC that cropped up on reddit a few months back. It's quite neat, I'll have to see if I can dig it up.

      merely of some implementation of the language.

      Under that definition, a "scripting" language is one whose dominant implementations are all interpreters.

      So you allow for a scripting language to become a non-scripting language over time, when the dominant implementation gains a compiler? Using the word "language" implies something static and fundamental - for example, you have "dynamic-typed language" or "object-oriented language," which are features that you explicitly cannot change without changing the language you're speaking about. To shanghai implementation-specific details into the language definition looks like a mistake.

      --
      Reality is the ultimate Rorschach.
    2. Re:eval() == interpreted language by Anonymous Coward · · Score: 0

      Almost all implementations of Common Lisp are native compilers, yet the language has an eval() method (or rather, an (eval) method). The trick is to pass the argument to a compiler that returns a vector a machine code, then call the machine code.

      For access to existing global variables and methods all you need is a symbol table, which is conceptually the same as the dynamic linker available in all common operating systems.

      In other words, it is not always easy to classify even a single language implementation as an interpreter or a compiler.

    3. Re:eval() == interpreted language by tepples · · Score: 1

      So you allow for a scripting language to become a non-scripting language over time, when the dominant implementation gains a compiler?

      The dominant method of software distribution would also have to change, from people installing the software as source code to people compiling the software before distribution (in the case of proprietary software) or before installation (in the case of free software).

      Using the word "language" implies something static and fundamental - for example, you have "dynamic-typed language" or "object-oriented language," which are features that you explicitly cannot change without changing the language you're speaking about.

      Adding a variant type to any language results in a language that can be used as a dynamic-typed language.

    4. Re:eval() == interpreted language by jbolden · · Score: 1

      For people reading this. In Lisp's hayday, Lisps were really compiled down to Lisp primitives (byte code essentially, except it was in Lisp) and that was executed on dedicated hardware.

      That isn't really much different than what most JVMs or Parrot do except the bytecode language and the primary language are closer.

    5. Re:eval() == interpreted language by Anonymous Coward · · Score: 0

      What timeframe are you defining "Lisp's heyday"?

      If you mean ca. 1984 (when CommonLisp was first agreed) there were, inter alia:

      Zetalisp : compiled to machine code on Symbolics workstations

      Maclisp : well past Ncomplr - compiled to machine code on PDP10

      CCL/MCL/Mac Allegro : compiled to native 68k code

      Interlisp-VAX: compiled to DEC VAX machine code (including its own uploaded microcoded machine words)

      VAX LISP : ditto

      Spice Lisp : counts, compiled to native PERQ, which is heavily microcoded

      Franz almost certainly compiled to native machine languages in 85, Liszt (the compiler) was outputting native code for the Sun-1 after all.

      CMUCL : compiled to PERQ, and "sort-of" to the IBM PC RT (in early 85 it did RT, MIPS, and SPARC machine code at least)

      Sure there were lots of emulators/byte-code-interpreters/pure-interpreters too (InterLisp/BBN LISP, XLISP, ...), but in 1985 it was easy enough to emit machine code for big-stack machines with wide words (e.g. 36 bits, with 4 bits robbed for tagging, typing and optimizing precise GC), since that was really what gave the CADR such an edge. JIT/partial compilation was also several years old by the arrival of CommonLisp.

      Finally, and most importantly, the T compiler system had been rototilled a couple of years earlier, and the state of the art in compliation technology, period, was in Scheme-like languages:

      http://www.paulgraham.com/thist.html [seriously worth reading if you have any doubts about the compilability of fast code from Lisp-like languages in the early 1980s]

    6. Re:eval() == interpreted language by jbolden · · Score: 1
    7. Re:eval() == interpreted language by RegularFry · · Score: 1

      So you allow for a scripting language to become a non-scripting language over time, when the dominant implementation gains a compiler?

      The dominant method of software distribution would also have to change, from people installing the software as source code to people compiling the software before distribution (in the case of proprietary software) or before installation (in the case of free software).

      This really doesn't make a lot of sense to me. What you're saying, in effect, is that C is a scripting language to people who use Gentoo, because the dominant distribution method for them is uncompiled source code.

      Besides, what does software distribution have to do with language definition? You're using the word "language" in almost precisely the same way I'd use the word "implementation," and they are not the same thing at all.

      I think my problem here is that calling something a "scripting language" is meaningless; there's no useful definition that I'm aware of which doesn't fall apart under inspection.

      Using the word "language" implies something static and fundamental - for example, you have "dynamic-typed language" or "object-oriented language," which are features that you explicitly cannot change without changing the language you're speaking about.

      Adding a variant type to any language results in a language that can be used as a dynamic-typed language.

      Yes, and you get a different language as a result, probably a superset of the one you started with.

      --
      Reality is the ultimate Rorschach.
    8. Re:eval() == interpreted language by mfnickster · · Score: 1

      I think my problem here is that calling something a "scripting language" is meaningless; there's no useful definition that I'm aware of which doesn't fall apart under inspection.

      The loose functional definition I've always used is: programming languages are used to develop applications, and scripting languages are used to tell those applications what to do.

      There's a lot of wiggle room, of course - you can develop applications in Perl, for example, and issue command-line instructions from C, but in general I find this distinction holds true.

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
  25. An alternative list by sien · · Score: 4, Interesting

    Tiobe maintains a list that is updated every month that tells a different story.

    For January 2009, rounded; Java, 19%; C, 16%; C++, 10%; VB, 9%; PHP, 10%.

    1. Re:An alternative list by Anonymous Coward · · Score: 0

      Tiobe confirms it, C++ is dead

    2. Re:An alternative list by SpinyNorman · · Score: 1

      It's not really much different in terms of the #1 and #2 places. TFA seems to lump C & C++ together and gives them 47% vs 28% for Java, whereas that Tiobi list gives a total of 16+10% to C/C++ and 19% to Java.

      IOW, in both lists C/C++ is #1, and Java in #2. In one list the C/Java ratio is 47/28 = 1.67, and in the other (16+10)/19 = 1.36.

      The big picture is therefore pretty much the same in either case.

  26. C dominates new open source projects... by Lars512 · · Score: 4, Funny

    ...as measured by lines of code

    (ducks)

  27. No, they didn't. by Anonymous Coward · · Score: 3, Informative

    Actually, I think these guys know what they're talking about. It's just the Slashdotted, watered down version which makes them look as if they don't.

    1. Re:No, they didn't. by mfnickster · · Score: 2, Informative

      Take another look. On this page they say:

      "Over 90% of open source code is written in the major languages: C, C++, Java, Javascript and C#"

      And on this page they say:

      "47% of these newly created projects used the C language. Java came in as the number two language of choice at nearly 28%. Third was Javascript at over 20%."

      ...which adds up to 95%, so unless there's some seriously bad math here, they included C++ and C# in that 47% which they refer to as "the C language."

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    2. Re:No, they didn't. by DragonWriter · · Score: 1

      Take another look.

      Take your own advice.

      On this page they say:

      "Over 90% of open source code is written in the major languages: C, C++, Java, Javascript and C#"

      And on this page they say:

      "47% of these newly created projects used the C language. Java came in as the number two language of choice at nearly 28%. Third was Javascript at over 20%."

      Both your links went to the same page, which doesn't include the first quote. The first quote (which comes from this page, not the one you linked) refers to the percentage of lines of code in the 170,000 open source projects in Black Duck's database that are in one of the four languages listed in that quote, the second refers to the percentage of 17,000 newly created open source projects from 2008 that use one or more of the languages listed in that quote. They aren't measuring the same thing (one measures lines of code, the other measues projects using any code in the languages, not the lines of code used), and they aren't drawing from the same universe (one is 170,000 open source projects, most of which are not new; the other is the 17,000 of those projects that are new in 2008.) You are drawing an invalid conclusion by ignoring these differences.

    3. Re:No, they didn't. by mfnickster · · Score: 1

      Sorry, I thought I vetted those links thoroughly in preview before posting. The first quote does appear on this page as of today.

      You're right, though, I did gloss over the difference between "using a language" in a project and using it exclusively for that project. But the point still stands that they did not break down the second set of numbers, so whichever of these new projects use C++ or C# (with or without C), they had to come in at less than 20% (Javascript's total).

      What's their methodology? How can you tell a valid line of C from its valid C++ equivalent? It's too bad the actual numbers are locked away in Blackduck's proprietary knowledge base. Maybe if it were open source, we could find out which projects use a single language and which use more than one.

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
  28. The spectrum of "C" and it's ilk vs "scripting" by Anonymous Coward · · Score: 2, Interesting

    A lot of C and C++, moderate Java, lots of perl...

        In C I "believe" I know almost always have a good idea of what's happening at the machine level. How many instructions (up to a constant), how many nanoseconds (ditto). I may be wrong up to small constants (especially taking account of caching effects, parallelism, blah blah) but I don't think I'm radically off much. I also have a good (IMO) feeling for what optimization is doing.
        In C++, I feel the same way but I also think this is more arguable, and more of a nontrivial skill to acquire.

        In perl, I absolutely don't. What's the time
    to evaluate this regex? Yes, I know some of the
    underylying theory and could probably do a decent
    job if I thought hard about it, but the point is I don't. And ditto for other high level constructs
    in perl. And if I start to fret about such things,
    maybe perl is the wrong language for whatever I'm
    doing at the time.

        Java puzzles me. It's a bit opaque in terms
    of quick "what's the metal [/silicon?] doing?" but ultimately manageable if you understand the "interpreter/VM/..." and your own "low level" code. Yet many developers - including developers of core java libraries - clearly are more in the perl mode of obliviousness. So it's a grey area whether Java is overall for someone who has to care about speed/efficiency vs productivity.

    Nevertheless, I think the point is that
    there is a performance vs quick-productivity
    spectrum, and no answer is universally right, but
    it is one reason why the "low level" vs "scripting" continuum actually isn't arbitrary
    or unwelcome.

  29. can algebra ever die? by heroine · · Score: 2, Insightful

    For C to die is like saying algebraic notation is going to die. Suspect if it wasn't for the need to eat, we would all program C & figure out ways to get the same features of our day job languages in C.

    1. Re:can algebra ever die? by m50d · · Score: 1
      Suspect if it wasn't for the need to eat, we would all program C & figure out ways to get the same features of our day job languages in C.

      Huh? That makes very little sense, unless you're comparing Java. If it weren't for the need to eat, I would program everything in python, and I don't think I'm alone.

      --
      I am trolling
  30. iphone influence by heroine · · Score: 1

    Don't forget the iPhone influence. Those "apps" have to be written in objective C & people wrote zillions of those. Even Android buyers are bypassing the Java frameworks & just running native programs on their phones. This is still mostly a grassroots effect. Corporate investment is still focused on using the Android frameworks & standards based programming.

  31. Ruby and Javascript by weston · · Score: 1

    categorized Ruby and Javascript together must be completely ignorant of programming

    Perhaps I am completely ignorant of programming, though it seems likely that over 25 years of practicing I've learned a few things.

    But while I can see some differences between the two languages, I can't say I see enough difference to justify vehement insistence that they couldn't be considered similar. To me, they both appear to be dynamically typed interpreted languages with first class functions and sophisticated object systems. They both have a number of different implementations, they both run on the JVM.

    Maybe this is an opportunity for me to learn something new, though.

  32. Quantity... by MadAhab · · Score: 1

    ... meet quality. Use a telescope.

    --
    Expanding a vast wasteland since 1996.
  33. Leave this nit alone by symbolset · · Score: 1

    Being "interpreted" is not a property of the language, merely of some implementation of the language.

    I wrote an interpreter for assembler once as a proof of concept. It worked. I got class credit. It's not even hard to do.

    By your definition then, even assembler is therefore an "interpreted" language. That's just silly.

    --
    Help stamp out iliturcy.
    1. Re:Leave this nit alone by OneSmartFellow · · Score: 1

      It could be argued that the cpu 'interprets the instructions. Perhaps there's a better word for it, but interpret is pretty close to what it does

    2. Re:Leave this nit alone by shish · · Score: 1

      By your definition then, even assembler is therefore an "interpreted" language. That's just silly.

      I think what he was saying is that "interpreted" is an implementation detail, not a language detail, and as far as I can see you just proved him right -- or are you saying that your "assembler interpreter" is not "an interpreted implementation of assembly" o_O?

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  34. There's plenty of Java by Giant+Electronic+Bra · · Score: 1

    Not only are a large percentage of your line of business type systems written in Java, but it is a perfectly fine language for writing applications in. I can build an application on top of RCP and avoid reinventing MANY large wheels, and when I'm done I have an application which will run on pretty much any OS. I can reuse the code to make a mobile version or some mobile mini apps. I can share code libraries between the client and the server, and it took me 2 hours of coding and testing the other day to include javascript in the client (and it can instantly call any function in the client).

    Got nothing against other languages and toolsets, but Java development is a fine place to be right now. Applets may not be that great, but JWS fills a niche that is useful too.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  35. Every thread like this must reference TOP by symbolset · · Score: 1

    The Tao of Programming

    The Tao gave birth to machine language. Machine language gave birth to the assembler.

    The assembler gave birth to the compiler. Now there are ten thousand languages.

    Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.

    But do not program in COBOL if you can avoid it.

    --
    Help stamp out iliturcy.
  36. 14,000+ new projects? by Pseudonym · · Score: 4, Funny

    What's the bet that most of the 7,000 new open source projects were GNOME bindings for "Hello World"?

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    1. Re:14,000+ new projects? by Yvanhoe · · Score: 1

      It is modded funny but the insightful part is that many of such projects are probably students projects that were begun while they were learning the language of choice of their uni (usually java or C/C++/C#) I would like to see how much projects reached the "stable" state. That would be fairly interesting. Languages like python are said to make for easy prototyping. Are there a lot of finished python products ? C/C++ is considered to be clumsy, does this really translate in terms of abandoned projects ?

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
  37. Less than valid claims by Anonymous Coward · · Score: 0

    I was actually intrigued by the findings. C is a dominant language in open source? But as I read these responses, I'm left thinking I'm not sure if C is dominant, or if C, C#, and C++ collectively are dominant. The fact that one could potentially not distinguish between these three languages which are, by any engineers standards, distinct, is cause enough to consider the findings anecdotal.

  38. Why are people surprised? by bsdhacker · · Score: 1

    I don't understand why people are so surprised that C is still very popular. C is the king of performance and likely always will be. Many amateur developers don't like it because it takes a bit more effort to learn and use correctly. C > C++ > C# > Java They may have combined C and C++ staticstics, but to include C# would have been completely obsurd.

    1. Re:Why are people surprised? by maxwell+demon · · Score: 0, Troll

      C isn't the slightest bit more performant than C++. Everything you can do in C, you can do in C++ with exactly the same performance (often even by using exactly the same code). However, in C++ you can restrict that low-level stuff to those tiny parts of your application where ultimate performance matters, and use higher level stuff everywhere else. Not that always higher-level stuff is less performant anyway; unless you have a very good optimizer for C, I'd bet that an optimal C++ std::sort implementation consistently beats an optimal C qsort implementation, despite being higher level (no messing with void*).

      --
      The Tao of math: The numbers you can count are not the real numbers.
  39. I thought PHP is much more popular than this! by Dixcuxx.com · · Score: 1, Interesting

    WoW..Look like PHP is not even popular at all...Any reason for this kind of result? I am learning php by myself and thought it is going to be a much bigger deal in recent years, but seem like the open source project programming language isn't going to the direction that everyone expected.

    1. Re:I thought PHP is much more popular than this! by oliderid · · Score: 1

      Don't really know. I still quite surprised by the supposed popularity of Perl. I was forced few years ago to switch to PHP to meet clients requirements.

      It truly challenges my own personal experience (+10 years). I feel like they live in some kind of parallel universe. But well I'm just a web developer.

      Anyway associating C and C# is err quite surprising. I know C#, I would hardly call myself a C coder.

  40. off-topic by howlingmadhowie · · Score: 1
    if we're going to massacre song texts, here's an off-topic one for people who speak german:

    uptown girl

    du musst den kuehlschrank wieder uptown girl.

  41. follow the allmighty by allcoolnameswheretak · · Score: 1

    Google uses Python. 'nuff said.

  42. PHP is dying by chrysalis · · Score: 1

    Netcraft confirms it!

    --
    {{.sig}}
  43. Link to Actual Report by littlewink · · Score: 1

    is here.

  44. Java? by Anonymous Coward · · Score: 0

    What about the darling programming language Java?

    The write-once, debug-everywhere, need 20 different versions of the JRE, and a crapload of different libraries never included.

  45. Re:Wait till Perl 6 arrives by maxwell+demon · · Score: 1

    Yes ... but will it arrive before Hurd 1.0?

    --
    The Tao of math: The numbers you can count are not the real numbers.
  46. Write in C by pauljlucas · · Score: 2, Funny
    (Sing as if you were singing "Let it Be".)

    When I find my code in tons of trouble,
    Friends and colleagues come to me,
    Speaking words of wisdom:
    Write in C.

    As the deadline fast approaches,
    And bugs are all that I can see,
    Somewhere, someone whispers:
    Write in C.

    Write in C, write in C,
    Write in C, oh, write in C.
    LOGO's dead and buried,
    Write in C.

    I used to write a lot of FORTRAN,
    For science it worked flawlessly.
    Try using it for graphics!
    Write in C.

    If you've just spent nearly 30 hours,
    Debugging some assembly,
    Soon you will be glad to
    Write in C.

    Write in C, Write in C,
    Write in C, yeah, Write in C.
    BASIC's not the answer.
    Write in C.

    Write in C, Write in C
    Write in C, oh, Write in C.
    Pascal won't quite cut it.
    Write in C.

    --
    If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
  47. Skewed? by Anonymous Coward · · Score: 1, Funny

    I guess when they surveyed half of the Perl projects, they assumed it was meaningless gibberish and left them out of the survey

    *runs from angry mob*