Follow Slashdot stories on Twitter


Forgot your password?
Programming Perl Apple

Something For (Almost) Every Developer 263

First up, reader martinjlogan sends along a tutorial for setting up a workable Erlang/OTP development environment on a Mac. Next, reader acid06 notes news of Perl 5.12, including what may be the first delivered fix for the Y2K38 bug. (Hit the Read More link below for some details on Perl's new release strategy.) "After two years of development, the new major version of Perl is now available. Notable new features are: better Unicode support, proper support for time after the Y2038 barrier, new APIs to allow developers to extend Perl with 'pluggable' keywords and syntax, warnings for deprecated features and more. From the linked post: You can get it from the CPAN right now or wait for a platform-specific release (such as Strawberry Perl for Windows)." Finally, from reader snydeq: "InfoWorld's Martin Heller provides an in-depth review of Visual Studio 2010 and finds Microsoft taking several large steps away from its legacy IDE code. 'Visual Studio 2010 is a major upgrade in functionality and capability from its predecessor. Developers, architects, and testers will all find areas where the new version makes their jobs easier. Despite the higher pricing for this version, most serious Microsoft-oriented shops will upgrade to Visual Studio 2010 and never look back,' Heller writes. Chief among the improvements are Microsoft's revamping the core editing and designer views to use WPF, its overhaul of IntelliSense and support for test-driven development, and its intelligent support for multiple versions of the .Net Framework."

Re: Perl. This release cycle marks a change to a time-based release process. Beginning with version 5.11.0, we make a new development release of Perl available on the 20th of each month. Each spring, we will release a new stable version of Perl. One month later, we will make a minor update to deal with any issues discovered after the initial ".0" release. Future releases in the stable series will follow quarterly. In contrast to releases of Perl, maintenance releases will contain fixes for issues discovered after the .0 release, but will not include new features or behavior.
This discussion has been archived. No new comments can be posted.

Something For (Almost) Every Developer

Comments Filter:
  • VS upgrade cycle (Score:5, Insightful)

    by QuantumG ( 50515 ) * <> on Tuesday April 13, 2010 @09:26PM (#31841008) Homepage Journal

    most serious Microsoft-oriented shops will upgrade to Visual Studio 2010 and never look back

    Of course, implying that you're not a serious Microsoft-oriented shop if you don't upgrade. This is the exact opposite of the case. As Microsoft regularly changes stuff in VS that no-one wants, most people don't upgrade until necessity forces it on them. It's entirely network effects. If you're using precompiled third party libraries and they upgrade, chances are you'll be forced to upgrade. If Microsoft made it easier to use the new IDE without upgrading the compilers, the standard lib, the header install, etc, I imagine more people would accept the feature improvements (and the bug fixes!) to the IDE without trepidation.

    • Re:VS upgrade cycle (Score:5, Informative)

      by AndrewStephens ( 815287 ) on Tuesday April 13, 2010 @09:33PM (#31841052) Homepage

      Agreed. I work in a "serious Microsoft shop" and we have just migrated our projects to VS2008. Experience has taught us that although the Microsoft Dev environments are of high quality, for the first 12 months there will be service packs and patches. We do not want to have to migrate our whole team and our projects every 3 months just to keep up.

      That said, I am looking forward to using VS2010 eventually. I couldn't care less about .NET but the new C++ language features are neat.

      • Re: (Score:3, Insightful)

        by Sponge Bath ( 413667 )

        ...we have just migrated our projects to VS2008.

        They can have my MSVC 6 when they pry it from my cold dead GLURK, gaaasssspp...

        One problem I've had is the new redistributable requirements of each release. Not insurmountable, but a real concern when considering an upgrade.

    • The problem you are facing is the fact that it isn't the serious Microsoft-oriented shop don't want to upgrade but they're programming skills are at a level where they can't upgrade. Using 3rd party libraries are always risky, and should be avoided unless it is really doing something that will take you much longer to accomplish. However a lot of the Microsoft shops have very poor programers or the odd hack who thinks he is a programmer by glueing a bunch of 3rd party tools even ones that already come wit

      • by h4rr4r ( 612664 )

        Using 3rd party libraries are always risky, and should be avoided unless it is really doing something that will take you much longer to accomplish.

        So reinventing the wheel is a good thing?
        I do not do MS related development, but from where I stand reinventing the wheel is nuts. Do you think all of CPAN is there just for the heck of it?

        • by QuantumG ( 50515 ) *

          reinventing the wheel

          is a kinda naive way to refer to horizontal integration of the industry.. and considering that you were replying to a guy who I thought was very naive, I'm overdosing on naivety here. Vertical integration has some great virtues but is not representative of a mature industry.

        • Re: (Score:3, Interesting)

          by jellomizer ( 103300 )

          I think CPAN is there to make you go nuts trying to get a downloaded Perl Script to work as you dig around trying to find the right libraries to make the freakin program work... But I am not a fan of Perl so I digress...

          The 3rd party problem isn't a case of reinventing the wheel. But getting new wheels that already exist just because they are slightly different, eg a grid control that automaticly populates from the database vs. Loading it from 3 other commands...

          But... Sometimes for programming reinventin

          • Re: (Score:3, Insightful)

            by h4rr4r ( 612664 )

            CPAN installs everything you need, that is why the tool cpan exists. If it takes extra work, you are doing it wrong.

            1. if it does not do what you want, don't use it
            2. just fix the code like you would fix your own, or replace it.
            3. if you don't have source don't use it. No blackboxes that way.
            4. So long as code is all internal who cares.
            5. Use the features you need.
            6. Again if you don't have source you are a fool to use it.
            7. No, this is wrong. This is why every damn windows apps brings along it's own copy o

          • by micheas ( 231635 )


            1. Easier for others to follow. If someone else is tracing you code and you get a 3rd party tool, it is either a black box application that you are referencing where you need to break your trace to see what the heck it is for. Or there is source and you go in there and it being code by a different person it is like you are in Wonderland were all coding styles have changed.


            Although, if you use a well known and used library, it can make it easier to find a programmer that knows their way around at least part of your program, and can may get up to speed quickly. Although this applies to frameworks more than libraries, it still holds true to an extent.

            This is more true if you are using opensource libraries.

          • Your statement about CPAN bothers me. But I am a fan of Perl so I digress...

            I agree with most of your points about libraries, but I feel you missed a big one: bugs. My job involves gluing together a few third-party libraries to fit our product. (various Apache stuff, mostly). Now and then, we hit bugs. Not major ones, but significant enough to cause a few hours of lost productivity.

        • Re:VS upgrade cycle (Score:5, Interesting)

          by GoatEnigma ( 586728 ) on Tuesday April 13, 2010 @10:52PM (#31841486) Homepage
          If no one ever reinvented the wheel, we'd all be running around on stone wheels.
          • But I for one wish simply to drive my car rather than build it. You gonna have me reinvent the wheel yet again?

          • If no one ever reinvented the wheel, we'd all be running around on stone wheels.

            Furthermore, most of them would be square. Some of them would be triangular. And there'd be all sorts of marketing twonks saying things like "horsepower's cheap: they'll turn round just fine if you put enough power behind them". And "don't go complaining about the bumpy ride. It's not our fault if you're too cheap to pay for decent suspension".

            Reinventing the wheel is allowed. Just make sure your version has more corners th

      • Using 3rd party libraries are always risky, and should be avoided unless it is really doing something that will take you much longer to accomplish.

        ...unless you want to finish your project in half the time.

        Third party libraries, frameworks, and toolkits exist for a purpose: to make your life easier.

        Do you program GUIs by manipulating pixels in the video frame buffer? Do you manage files by communicating directly with the file system layer of the kernel? Interpret mouse clicks by talking to the mouse driver?

        • They are not 3rd party tool... They are the developments language mainline tools...
          There is a difference.
          Mainline tools you know they are there and if you move to a different development environment they are still there. 3rd party tool you take your code and move it to a new system it will not run until you reinstall the other tools.

          And as I stated in my post that you added as the quote "unless it is really doing something that will take you much longer to accomplish."

          Meaning that 3rd party tools are not e

    • Re:VS upgrade cycle (Score:5, Informative)

      by yuriks ( 1089091 ) on Tuesday April 13, 2010 @10:01PM (#31841232)

      Actually, one of the features of 2010 is that you can target old compiler versions (starting with VS2008) with the new IDE.

    • by DAldredge ( 2353 )
      What does regularly change in VS that no one wants?
      • by QuantumG ( 50515 ) *

        some random examples of the 2005 to 2008 transition:

        * The entire Tool menu is different, in particular, Lookup Error is gone.. annoys me daily.
        * The solution file format didn't change but they still added the "convert solution" nonsense that means you have to maintain two sln files to maintain backwards compatibility with 2005.. and means people who are using 2008 simply can't supply sln files to 2005 users.. and the vcproj files often need hacking. Why can't they maintain backwards compatibility... it's a

        • * The Build Order dialog is completely gone. In 2008 Microsoft decides your build order, no control for you.

          Really? That's funny that I brought up the exact dialog box [] that you claim doesn't exist.

          • by QuantumG ( 50515 ) *

            See how it says "use the dependencies tab to change the build order" ... no Microsoft, *I* want to change the build order. I had control, you took it away.. why?

    • This is the fourth release of Visual Studio (.NET, 2005, 2008, 2010) since VB6 and while many shops clung on to VB6 rather than convert to .NET, this is the point where a code rewrite is starting to make sense and it's time to get with the latest. 2010 has been available in a time-limited public beta and a non-limited MSDN release for months now... this year seems to be great for VB-based programmers.
    • Re: (Score:3, Informative)

      most people don't upgrade until necessity forces it on them.

      My "day job" is C#, using Visual Studio, and yes, I'd agree with this in general. Not exactly for the reasons you mention, but close enough to it. My job is basically maintaining and extending an SDK that's handed down from our parent company and then handing it over further to third party development companies (plus a bit of in-house coding ourselves, using the same SDK) and providing code level support for them. The current release of our SDK is entirely .NET 2.0 with VS2005 solution files. We've only

      • Re: (Score:3, Interesting)

        by vivian ( 156520 )

        My "day job" is C#

        Sorry to hear that. Mine used to be too - then I started using QT and QtCreator for my main project. Bliss! Finally I am able to easily write apps that will run on multiple platforms, but still has a rich library of UI controls ( widgets) and plenty of abstract data types.
        I really cant see me going back to C# - I just don't see a need for it any more, now it is so easy to write GUI intensive apps in C++. I have been working on my current project for a couple of years in C#, but it has only taken me a few mo

    • Unfamiliar with grabbing the platform SDK are we? Grabbing that is free and can be used on older versions of the IDE.
  • Whew! (Score:2, Funny)

    by Anonymous Coward

    proper support for time after the Y2038 barrier

    Good to know that my time machine written in PERL will no longer malfunction due to improperly handled timestamps! Now to test this baby out. This knob here, this button here, and... %^$%^$%^$%^$%^ NO CARRIER

    • by suso ( 153703 ) *

      Oh wow, I didn't know the Time::Warp module did that. I always ignored that module.

      Perl has a module for everything.

    • by Valdrax ( 32670 ) on Tuesday April 13, 2010 @11:30PM (#31841638)

      %^$%^$%^$%^$%^ NO CARRIER

      Just to clarify, does that actually do something in Perl?

  • Stereotyping? (Score:2, Insightful)

    So almost every developer either: a) Uses Erlang and a Mac b) Uses Perl or c) Uses VS2010? Is it just me, it would there still be a fair chunk of developers not included?
  • So... (Score:5, Insightful)

    by FlyingBishop ( 1293238 ) on Tuesday April 13, 2010 @09:34PM (#31841058)

    We've started churning out pointless stories all day and then cramming four actual news posts into a single thread?

  • I wonder what other developers think of IDEs.

    I really like the intelliSense etc as an idea. But in practice the whole IDE thing gets in my way.

    IntelliSense does let me write code faster, but I find that I don't spend most of the day actually typing in code as fast as I can. I spend a large amount of time using git (revision control tool) on the command line, or debugging and profiling the app, using strace, nm and other command line tools, and so on. The IDE really gets in my way most of the time.

    If I sw

    • Re:IDEs (Score:4, Interesting)

      by badboy_tw2002 ( 524611 ) on Tuesday April 13, 2010 @09:47PM (#31841152)

      When your project size starts getting large and the number of classes/functions/types/etc starts heading to the thousands its pretty nice to have something that will quickly show you the organization of the code base and help you find things faster. Stuff like "I'm in a source file, open the corresponding header" or "show me all the places that call this function" or "rename this function everywhere it was used" or even "let me browse through the 10 versions of the function to see the right one without having to load the header file and stare at it". Also, when there's tight checkout integration its nice to click on another file, check it out, etc. without having to drop to the command line or move to something else. That's not to say that the command line isn't useful - I still find it easier to sometimes run makes or grep or whatever so there's always one handy, but personally I get a lot more done than with a plain old editor.

      • by QuantumG ( 50515 ) *

        agreed. A good IDE is superior to grep.. and that's the right metric. That said, often VS fails so hard at being better than grep that I reach for the built-in grep (it's called Find In Files). If anyone wants to try beating Microsoft at making a better IDE than VS, study the way people use Find In Files and make it better.. for example, if I they added a dropdown on the Find In Files which let me select "function calls", or "templates" or "class definitions", that'd be great.

        • Re: (Score:3, Interesting)

          by JohnFluxx ( 413620 )

          grep is an interesting point actually.

          Okay, so the IDE lets you search all files. Just like doing:

              git grep someword

          How do I now use the IDE to search all the files.. in all of time? e.g. I remember that the code once had a certain string somewhere, but it seems to have been deleted. How do I find that?
          With git it's a single command.

    • Re:IDEs (Score:4, Interesting)

      by jellomizer ( 103300 ) on Tuesday April 13, 2010 @09:58PM (#31841224)

      I use IDE as a tool.

      The problem is some people use it as a crutch... "If the IDE doesn't handle it then it cant be done" mindset

      But it is a tool to keep in your cap. I know Visual Studio 2008 is good at showing me methods and properties I can access from the variables which is handy to let you know what is going on in a datatype/class you don't use much.
      However sometime I will take the file out of Visual Studios to do some additional coding because Visual Studios Expects you to code in Top Down in this order...
      IF (x == y)

      However real life has it more like this...


      run test...

      Up arrow Return
      if (x == y) {
      return down arrow to go past the msgbox command

      For this case the IDE is a pain because it will try to close my if statments {} which if I am not paying attention it will give me an extra } that I need to dig around and find when I get a compile error.

  • by msobkow ( 48369 ) on Tuesday April 13, 2010 @09:39PM (#31841100) Homepage Journal

    I've been working with Erlang for about 9 months now. It's an interesting language, but prone to some of the most bizarre runtime problems because it doesn't do type checking (for example if you typo a "+" instead of "++" when concatenating strings it'll defer the error to runtime, when it reports an "arith error".)

    One thing that really impresses me about Erlang is how tight the code is. We've been working on a PBX application (with Freeswitch and PostgreSQL) and it's not even 30,000 lines of code in Erlang, including database I/Os and client/server GUI access. C++ would have weighed in at around 100,000 lines for the same functionality.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      In many languages ++ means concat the lists, so I assume that if a string is a list of characters then its a concat of the two lists? I'd guess that once you understand the underlying concepts and seen a few functional languages then its not too confusing to debug. It is frustrating to have to wait until runtime to find errors that a decent IDE would identify immediately..

      I always wondered how well Erlang handles caching. An LRU is generally a list crosscutting a hash-table and is done O(1) by reordering th

    • Re: (Score:3, Interesting)

      by Algan ( 20532 )

      I've been using Erlang as my primary language for the past 2 years and I have to say that you are essentially correct. My worst typo-leading-to-weird-bug situation was forgetting a comma in a list of strings. Apparently ["foo", "bar" "baz"] is interpreted as ["foo", "barbaz"]. That led to some subtle failures in a totally different part of the code.

      However, occasional weird issues aside, it does reduce the size of the code and the number of bugs by a factor of 4 or 5. I have been able to write non-trivial p

  • Talking about Perl, this is the official Perl 6 site: []

    Srsly :P

  • 2K38? (Score:5, Insightful)

    by the_humeister ( 922869 ) on Tuesday April 13, 2010 @09:46PM (#31841148)

    Would it hurt to just write 2038? No space is saved writing it the other way.

    • Re:2K38? (Score:5, Funny)

      by moteyalpha ( 1228680 ) on Tuesday April 13, 2010 @09:54PM (#31841200) Homepage Journal
      I think that 2K-10 is even better. 2K-10=(1024*2)-10=2048-10=2038=(2^11)-10
      • by Burdell ( 228580 )

        What does "2K-10" mean? How can you subtract 10 from 2 Kelvin? You can't go below absolute zero. Oh, you meant "2k-10", but that's 2000-10 or 1990.

        In any case, using an "abbreviation" that is longer than the original is pretty pointless.

      • I think that 2K-10 is even better. 2K-10=(1024*2)-10=2048-10=2038=(2^11)-10

        Of course, you should specify that you're using kibiyears.

    • It's a shortened version of "Y2K38", [] in homage to "the Y2K bug" (which is itself a conveniently shortened version of "the Y2KOMGWTFBBQwereallgonnadie!1!eleven bug").

    • by Trogre ( 513942 )

      That still doesn't stop people saying "double-you double-you double-you" instead of "world wide web", or the dreaded "dub dub dub".

  • Strawberry Perl has been doing betas all the way through the 5.12.0 RC process, so the production release should be out in a week or so.

    What the summary doesn't mention is that there's some stuff in 5.12 that allows Strawberry to add:

    GCC-based 64-bit support for Windows servers

    Strawberry Portable (flash drive) stuff finally works in a first-class manner (with separate core/vendor/site installation targets).

    • by Nimey ( 114278 )

      Since I'm too lazy to google (it's almost bedtime), WTF is Strawberry Perl?

      • by sowth ( 748135 ) *

        A strawberry pearl is just a pink one. You see, in some tropical areas, oysters feed on human flesh. All the blood turns the pearls pink.

      • by Phroggy ( 441 ) <slashdot3&phroggy,com> on Wednesday April 14, 2010 @02:00AM (#31842250) Homepage

        In contrast to ActiveState's ActivePerl (a Windows port of Perl, sponsored by Microsoft, which works well but changes things enough that you generally can't just download some random CPAN module and compile it, you have to use one of the precompiled binary modules they make available), Strawberry Perl is a Windows port of Perl that tries to remain as close as possible to the original UNIX version, but tweaking just enough to get it to work well on the platform. I believe the goal is to move toward Vanilla Perl, which would be essentially taking the plain old normal Perl that runs on UNIX, and just running that on Windows without changing anything.

  • by Anonymous Coward on Tuesday April 13, 2010 @10:24PM (#31841348)
    While you're waiting for Strawberry Perl to put out a release, why not try a package from a company that has their stuff together? Activestate's ActivePerl 5.12.0 is free-for-non-commercial-use and already out []. 32- and 64-bit builds for Windows, Mac, and select Linux distros are available.
  • wtf? (Score:5, Insightful)

    by MagicM ( 85041 ) on Tuesday April 13, 2010 @10:43PM (#31841442)

    Awesome. From now on, let's just post 1 story on Slashdot per day with all of the good stuff in it, so that we may discuss everything in it in one big unrelated clusterfsck of comments.

  • I've been waiting nearly a decade for Perl 6. Oh well.
    • Re:Perl 5.12? (Score:5, Informative)

      by mr_mischief ( 456295 ) on Tuesday April 13, 2010 @11:45PM (#31841698) Journal

      Perl 6 is mainly usable, and some form of it is being used in production at multiple sites. It's just not ready for public "launch" yet. If you really want it, you can get it. [] has it.

      Perl 5 hasn't exactly been sitting still the past decade. The changes between 5.6 and 5.8 or 5.8 and 5.10 are huge. I haven't looked over the full changes list for 5.12 yet, but it sure isn't the language Perl 5 was in 2000.

    • by Phroggy ( 441 )

      I've been waiting nearly a decade for Perl 6.

      Why? Just because you've heard the hype?

      • I heard they were just waiting for the Duke Nuk'em team to finish up. After all, it's Duke Nukem Forever being written in Perl 6 for the Phantom console, right?

  • Visual Studio 2010 still hasn't fixed one of the major bugs that has been around since .NET 1.0.
    When you run a forms based program in debug mode on an x64 system, and the form's load event throws an exception, the program will happily continue running without reporting the exception. Execution skips directly to the end of the load sub without running any lines of code after the exception, yet the program continues to run as if nothing went wrong. Everything works as expected if you are working on an x86 b

  • no brainer? (Score:4, Informative)

    by thoughtsatthemoment ( 1687848 ) on Tuesday April 13, 2010 @11:53PM (#31841750) Journal

    I've been using VC++ Express 2008 and was excited to get an upgrade. But instead I was surprised by a few seemingly "dumb" moves:

    1. The default fonts for the editor and tool windows have been changed to a font that looks very blurry on Windows XP. To change them back, you have to change them one by one for every window.

    2. The drag'n Drop capability to add buttons to the tool bars is gone. You have to find the button from another dialog and then click "MoveUp/Down" several times to move it to the place you want.

    3. The GUI I used the most in the Option Dialog, the directories of Exe/Include/Lib, is moved to a place that I haven't yet found.

    4. The startup time is much longer than that of 2008.

    5. The new GUI has a high contrast. Maybe it's just me, but after staring at it for a long time, I feel like I am starting to see ghost images.

  • by MrCrassic ( 994046 ) < minus caffeine> on Wednesday April 14, 2010 @12:53AM (#31841990) Journal

    A few days ago, I used a copy of Visual Studio 2010 that I got from my MSDN Academic Alliance account. It looks really nice, but it ran absolutely dog slow. And this was for debugging VBScript!

    I gave it another shot with Visual Studio 2010 Web Developer Express, which I heard can debug VBScript just like the full devenv can. It was a little faster (though still slower than VS2008), but it nor Visual Basic 2010 Express would debug my VBScript.

    I haven't tried coding on it for real (I also do C/C++ development; can't wait to port that script over to a REAL effin' language), but if it's as slow as I remember it being, I can see lots of companies turning back really quickly.

    • For a developer, your question has very few details. Kind of like asking why does my program crash without any details.

      Anyways, post some details.

Order and simplification are the first steps toward mastery of a subject -- the actual enemy is the unknown. -- Thomas Mann