Something For (Almost) Every Developer
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.
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.
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.
How we know is more important than what we know.
We've started churning out pointless stories all day and then cramming four actual news posts into a single thread?
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.
I do not fail; I succeed at finding out what does not work.
Would it hurt to just write 2038? No space is saved writing it the other way.
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.
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).
Eclipse might be better than VS, but I've never been able to get it to run fast enough to be usable.
Last time I installed it the person advocating it to me looked over my shoulder and said "yeah, I think you need to upgrade your video drivers".
How we know is more important than what we know.
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.
It's considered trolling because that's purely what it is.
Perhaps you'd like to enlighten us with some examples of "byzantine syntax", since Greek and Latin aren't valid Perl. Perhaps you meant "British" syntax, since the language is based more off of English than other programming languages. Yes, I'm aware this places it in the same group as COBOL, but hear me out.
Perl's syntax is based off natural language. You should be able to tell the computer what to do in the same way you'd tell another person, with some obvious extra clarity needed. In this regard, it is the opposite of INTERCAL. In Perl, when you want to run a function 'foo' if and only if 'bar' is true, the statement is very close to what I've just said.
foo if bar;
Sure, it's not like C, but why should we limit our thinking? Alternatively, just as in English you can say "If 'bar' is true, run 'foo'":
if (bar) { foo }
Perl is a language for people who use language. Even the more ugly syntax makes perfect sense with a bit of thought:
s/foo/bar/g;
That's a full statement, saying "substitute foo with bar globally". It applies to whatever you happen to be working on at the moment, just like how there are many statements in English that carry an implied 'you'.
The syntax of the Perl language is only ugly if you try to forget that it is a language. Perhaps other languages should try to emulate Perl's features, and actually gain some readability. Sometimes, it just makes more sense to express things differently. Would COBOL be so bad if it allowed BASIC's syntax as well (and allowing non-computer people to write in it carried the death penalty)?
You do not have a moral or legal right to do absolutely anything you want.
I really hate Eclipse actually. I find it buggy, slow, and non-intuitive in a lot of ways. For Java stuff, IntelliJ IDEA is really great. For non-MS C and C++...I'm not really sure anymore. I mostly end up using Vim and the command line.
%^$%^$%^$%^$%^ NO CARRIER
Just to clarify, does that actually do something in Perl?
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
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. Perl6.org 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.
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.
bugs would creep in, undoubtedly
Impossible, if you follow Micosoft's guidelines, such as those published in the Microsoft Programming Series book by Steve Maguire: "Writing Solid Code: Microsoft Techniques for Developing Bug-free C" ISBN 978-1556155512
Microsoft uses these very techniques themselves, in every single one of their bug-free programs. Uh, on second thoughts...
Those who can make you believe absurdities can make you commit atrocities. - Voltaire